1 全程軟件測試圖解
傳統的軟件測試,可以簡(jiǎn)單描述為下圖所示:
圖-1-傳統交付測試
開(kāi)發(fā)人員完成任務(wù)之后,最后交付給測試人員,這種模式下,測試人員不能及早發(fā)現需求階段的缺陷,同時(shí)測試工作的開(kāi)展也滯后了,產(chǎn)品質(zhì)量得不到有效的過(guò)程控制和分析,總體進(jìn)度可能會(huì )由于返工問(wèn)題造成拖延。
那什么是全程軟件測試,如下圖所示:
(點(diǎn)擊圖像放大)
圖-2-全程軟件測試圖
在整個(gè)SDLC中,三條角色主線(xiàn)和四個(gè)階段。
三條角色主線(xiàn):開(kāi)發(fā)、QA、測試,文中主要講解測試。
四個(gè)階段:需求、開(kāi)發(fā)、發(fā)布、日常運營(yíng)。
簡(jiǎn)單來(lái)說(shuō)可以歸納為下圖所示:
圖-3-全程軟件測試概述
測試人員貫穿這四個(gè)階段,開(kāi)展測試活動(dòng),試實(shí)踐活動(dòng)簡(jiǎn)單描述如下圖所示:
(點(diǎn)擊圖像放大)
圖-4-全程軟件測試概述
每個(gè)階段也有開(kāi)發(fā)人員對應的活動(dòng),以及QA人員對應的活動(dòng)。
對于產(chǎn)品而言,每次版本迭代,都會(huì )經(jīng)歷:需求、開(kāi)發(fā)、發(fā)布,最后推向日常運營(yíng),發(fā)布階段虛線(xiàn)指向的需求階段和日常運營(yíng)階段,并不是一個(gè)終止階段,而是不斷迭代的過(guò)程。
那測試人員是如何開(kāi)展全程軟件測試活動(dòng)的呢?
2 需求階段測試
在需求階段,開(kāi)發(fā)人員、測試人員、QA人員主要做的事情,如下表所示:
階段 |
開(kāi)發(fā)人員 |
測試人員 |
QA人員 |
需求階段 |
|
|
|
作為測試人員的主要實(shí)踐如下:
參與用戶(hù)故事分析、挖掘故事含混性
在sprint會(huì )議上,對用戶(hù)故事進(jìn)行分析,檢查功能性需求和非功能性需求是否描述清晰,其中可以將非功能性需求作為驗收要點(diǎn),例如一個(gè)用戶(hù)故事:
“客戶(hù)希望提高響應時(shí)間”
測試人員應當協(xié)助開(kāi)發(fā)人員消除故事的含混性:提高什么的響應時(shí)間和響應時(shí)間為多少?可以建議修改為:
“客戶(hù)信息普通查詢(xún)返回結果的響應時(shí)間為5s內”
說(shuō)明在“客戶(hù)信息”模塊,進(jìn)行“普通查詢(xún)”操作,返回結果的時(shí)間在5s內,這個(gè)陳述句已經(jīng)清晰表達了,也達到了消除含混性的效果。同樣,測試人員可以編寫(xiě)提高查詢(xún)效率的用戶(hù)故事:
“客戶(hù)在信息查詢(xún)模塊,進(jìn)行普通查詢(xún),能夠在5s內返回結果”
“備注:5s為非功能性需求,也是驗收要點(diǎn)”
參考經(jīng)驗庫質(zhì)疑開(kāi)發(fā)的時(shí)間估算
在sprint會(huì )議上,開(kāi)發(fā)人員根據經(jīng)驗出牌(團隊自己定義的規則,用撲克牌)估算時(shí)間,當給出最終結果的時(shí)候,測試人員應當對其進(jìn)行質(zhì)疑。測試人員借鑒歷史經(jīng)驗庫:開(kāi)發(fā)人員在某方面的技能如何、該模塊曾經(jīng)產(chǎn)生過(guò)何種程度的缺陷、修復缺陷的消耗時(shí)間是多少等等,綜合考慮,提出疑問(wèn),讓開(kāi)發(fā)估算最終的時(shí)間,盡可能考慮這些因素。當然,測試人員能夠質(zhì)疑的其中一個(gè)前提是:測試人員具備相關(guān)開(kāi)發(fā)經(jīng)驗。
小結:在需求階段,測試人員要發(fā)揮作用,減少含混性需求引入到開(kāi)發(fā)階段、同時(shí)協(xié)助開(kāi)發(fā)做好時(shí)間估算。
3 開(kāi)發(fā)階段測試
在開(kāi)發(fā)階段,開(kāi)發(fā)人員、測試人員、QA人員主要做的事情,如下表所示:
階段 |
開(kāi)發(fā)人員 |
測試人員 |
QA人員 |
開(kāi)發(fā)階段 |
|
|
原文轉自:http://www.infoq.com/cn/articles/whole-software-testing-practice-requirements-to-operational