軟件測試生命周期(Software Testing Life Cycle)的八個階段詳情:
演變:
60年代:

90年代:

2000年:

測試的趨勢和能力也一直在變化。測試人員現(xiàn)在被要求做更多的面向技術(shù)和流程方面的事情。測試現(xiàn)在不僅僅限制在找bug,而且有一個更廣闊的工作范圍,從項(xiàng)目開始階段甚至需求還沒正式定下來的時候就被需要,被安排工作。
測試也是標(biāo)準(zhǔn)化的。就像軟件開發(fā)那樣有生命周期一樣,測試也有自己的生命周期。在后面的內(nèi)容,我將會討論什么是測試生命周期以及軟件測試是怎么相關(guān)聯(lián)的。
什么是生命周期?
“生命周期”這個簡單的詞是指從一個形式(狀態(tài))到另外一個形式(狀態(tài))的一系列的變化。這些變化可以發(fā)生有形或無形的事情上。每個實(shí)體都有生命周期,從開始到死亡/結(jié)束。
類似的,軟件也是個實(shí)體。就像開發(fā)軟件包括一系列的步驟,測試也有很多步驟,這些步驟按照一定順序去執(zhí)行。
通過系統(tǒng)的有計(jì)劃的執(zhí)行測試活動的現(xiàn)象被叫做測試生命周期。
什么是軟件測試生命周期(STLC)
它是指測試流程,這個流程是按照一定順序執(zhí)行的一系列特定的步驟,去保證產(chǎn)品質(zhì)量符合需求。在STLC流程中,每個活動都按照計(jì)劃的系統(tǒng)的執(zhí)行。每個階段有不同的目標(biāo)和交付產(chǎn)物。在STLC中每個組織有不同的階段;但是基本的是一樣的。
下面是STLC的8個階段:
1.需求階段(Requirements phase)
2.計(jì)劃階段(Planning Phase)
3.分析階段(Analysis phase)
4.設(shè)計(jì)階段(Design Phase)
5.實(shí)施階段(Implementation Phase)
6.執(zhí)行階段(Execution Phase)
7.總結(jié)階段(Conclusion Phase)
8.結(jié)束階段(Closure Phase)
#1.需求階段:
在這個階段,是分析和學(xué)習(xí)需求的階段。和其他團(tuán)隊(duì)一起頭腦風(fēng)暴,努力去查找需求是不是可測的。這個階段幫助去辨認(rèn)測試的范圍。如果任何功能是不可測試的,及時溝通,做出一些減輕策略(減小風(fēng)險)的計(jì)劃。
#2.計(jì)劃階段:
在實(shí)際場景中,測試計(jì)劃是測試流程的第一步。在這個階段我們辨別出哪些活動和資源能匹配測試目標(biāo)。我們也努力去辨別測試指標(biāo),測試方法以及如何追蹤這些指標(biāo)。
計(jì)劃的基礎(chǔ)是什么?只有需求嗎?
答案是NO。需求只是一種基礎(chǔ),然而還有其他2方面的因素影響測試計(jì)劃。他們是:
-組織的測試策略
-風(fēng)險分析/風(fēng)險管理和減輕
#3.分析階段:
STLC定義“WHAT”被測試。一般地,我們通過需求文檔、產(chǎn)品風(fēng)險和其他測試依據(jù)去辨別測試條件。測試條件應(yīng)該可以被追溯到需求。有很多因素可以影響測試條件的辨別:
-測試的層次和深度
-產(chǎn)品的復(fù)雜性
-產(chǎn)品和項(xiàng)目風(fēng)險
-軟件開發(fā)生命周期被涉及
-測試管理
-團(tuán)隊(duì)的知識和技能
-相關(guān)干系人的可用性
我們應(yīng)該努力用一種很詳細(xì)的方式把測試條件寫下來。例如,一個電子商務(wù)網(wǎng)站,你有一個測試條件為“用戶應(yīng)該可以支付”?;蛘吣憧梢栽敿?xì)的描述為“用戶應(yīng)該可以通過信用卡,微信、支付寶等支付”。把詳細(xì)的測試條件寫下來最大的好處是可以提高測試覆蓋率,因?yàn)闇y試用例就是通過這些測試條件寫的,這些詳情觸發(fā)寫出更多的測試用例。同時,也可以分辨出退出測試的標(biāo)準(zhǔn),比如哪些條件決定可以終止測試。
#4.設(shè)計(jì)階段:
這個階段都有“HOW”去測試。包括以下的任務(wù):
-詳述測試條件。拆分測試條件為多個子條件去提供覆蓋率。
-辨別和獲取測試數(shù)據(jù)
-辨別和搭建測試環(huán)境
-創(chuàng)建需求跟蹤指標(biāo)
-創(chuàng)建測試覆蓋指標(biāo)
#5.實(shí)施階段:
這個階段最主要的任務(wù)是創(chuàng)建詳細(xì)的測試用例。測試用例的優(yōu)先級以及哪些用例會成為回歸測試的一部分。在最終決定測試用例之前,審核測試用例的正確性是非常重要的。同時在真正執(zhí)行開始之前也不要忘了sign off(署名,比如新版本發(fā)布前的最終測試報(bào)告需要發(fā)送sign off報(bào)告)測試用例。如果你的項(xiàng)目設(shè)計(jì)自動化,分辨哪些用例適合自動化以及準(zhǔn)備測試腳本。不要忘記審核。
#6. 執(zhí)行階段:
從名字可以知道,這個階段是STLC的真正執(zhí)行階段。但在你執(zhí)行之前,確保你的標(biāo)準(zhǔn)是和需求匹配的。執(zhí)行測試用例,報(bào)bug如果有任何的不匹配。同時填寫追蹤指標(biāo)去跟蹤你的進(jìn)度。
#7.總結(jié)階段:
這個階段聚焦在檢驗(yàn)標(biāo)準(zhǔn)和報(bào)告。依賴你的項(xiàng)目和干系人選擇,你能決定是發(fā)日報(bào)還是周報(bào)等等。有不同的報(bào)告類型(日報(bào),周報(bào))你可以發(fā)送,但重點(diǎn)是,報(bào)告的內(nèi)容是根據(jù)你發(fā)送對象的不同而變化的。如果項(xiàng)目經(jīng)理屬于測試背景的,那么他們對技術(shù)方面更感興趣,因此在報(bào)告中包含技術(shù)方面的內(nèi)容(用例的pass個數(shù),fail個數(shù),bug個數(shù),嚴(yán)重bug等等)。但是如果你向更高層的干系人報(bào)告,他們可能對技術(shù)方面不感興趣,可以給他們發(fā)送一些風(fēng)險相關(guān)的,比如通過測試減輕風(fēng)險的發(fā)生。
#8.結(jié)束階段:
這個階段的任務(wù)包括:
-檢查測試的完成度。是否所有的用例被執(zhí)行或是有意減輕一些。檢查是否還有S1的bug是激活狀態(tài)。
-經(jīng)驗(yàn)總結(jié)會議及書寫相關(guān)文檔。包括哪些做得好,哪些需要提高和如何提高
總結(jié):
一起來總結(jié)一下STLC。

作者:洛書說測試
鏈接:http://www.itdecent.cn/p/21b84e176e12
來源:簡書
簡書著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請聯(lián)系作者獲得授權(quán)并注明出處。