【摘要】 軟件測試從哪里開(kāi)始到哪里結束?中間要經(jīng)過(guò)哪些環(huán)節以及各環(huán)節要注意哪些事項。本文就有關(guān)問(wèn)題結合個(gè)人實(shí)際工作經(jīng)驗進(jìn)行闡述,鑒于每個(gè)環(huán)節都可以做為一個(gè)專(zhuān)題來(lái)進(jìn)行探討,所以受篇幅和時(shí)間限制,本文對有關(guān)問(wèn)題未做深入剖析,只做一個(gè)宏觀(guān)上的介紹。
【關(guān)鍵詞】測試流程、需求分析、測試用例、測試計劃、缺陷管理
一、概述
一般而言,軟件測試從項目確立時(shí)就開(kāi)始了,前后要經(jīng)過(guò)以下一些主要環(huán)節:
需求分析→測試計劃→測試設計→測試環(huán)境搭建→測試執行→測試記錄→缺陷管理→軟件評估→RTM.
在進(jìn)行有關(guān)問(wèn)題闡述前,我們先明確下分工,一般而言,需求分析、測試用例編寫(xiě)、測試環(huán)境搭建、測試執行等屬于測試開(kāi)發(fā)人員工作范疇,而測試執行以及缺陷提交等屬于普通測試人員的工作范疇,測試負責人負責整個(gè)測試各個(gè)環(huán)節的跟蹤、實(shí)施、管理等。
說(shuō)明:
1.以上流程各環(huán)節并未包含軟件測試過(guò)程的全部,如根據實(shí)際情況還可以實(shí)施一些測試計劃評審、用例評審,測試培訓等。在軟件正式發(fā)行后,當遇到一些嚴重問(wèn)題時(shí),還需要進(jìn)行一些后續維護測試等。
2.以上各環(huán)節并不是獨立沒(méi)聯(lián)系的,實(shí)際工作千變萬(wàn)化,各環(huán)節一些交織、重疊在所難免,比如編寫(xiě)測試用例的同時(shí)就可以進(jìn)行測試環(huán)境的搭建工作,當然也可能由于一些需求不清楚而重新進(jìn)行需求分析等。這就和我們國家提出建設有中國特色的社會(huì )主義國家一樣,只所以有中國特色,那是因為國情不一樣。所以在實(shí)際測試過(guò)程中也要做到具體問(wèn)題具體分析,具體解決。
二、測試流程
需求分析
需求分析(Requirment Analyzing)應該說(shuō)是軟件測試的一個(gè)重要環(huán)節,測試開(kāi)發(fā)人員對這一環(huán)節的理解程度如何將直接影響到接下來(lái)有關(guān)測試工作的開(kāi)展。
可能有些人認為測試需求分析無(wú)關(guān)緊要,這種想法是很不對的。需求分析不但重要,而且至關(guān)重要!
一般而言,需求分析包括軟件功能需求分析、測試環(huán)境需求分析、測試資源需求分析等。
其中最基本的是軟件功能需求分析,測一款軟件首先要知道軟件能實(shí)現哪些功能以及是怎樣實(shí)現的。比如一款Smartphone包括VoIP、Wi-Fi以及Bluetooth等功能。那我們就應該知道軟件是怎樣來(lái)實(shí)現這些功能的,為了實(shí)現這些功能需要哪些測試設備以及如何搭建相應測試環(huán)境等,否則測試就無(wú)從談起!
既然談了需求分析,那么我們根據什么來(lái)分析呢?總不能憑空設想吧。
總得說(shuō)來(lái),做測試需求分析的依據有軟件需求文檔、軟件規格書(shū)以及開(kāi)發(fā)人員的設計文檔等,相信管理一些規范的公司在軟件開(kāi)發(fā)過(guò)程中都有這些文檔。
測試計劃
測試計劃(Test Plan)一般由測試負責人來(lái)編寫(xiě)。
測試計劃的依據主要是項目開(kāi)發(fā)計劃和測試需求分析結果而制定。測試計劃一般包括以下一些方面:
1. 測試背景
a. 軟件項目介紹;
b. 項目涉及人員(如軟硬件項目負責人等)介紹以及相應聯(lián)系方式等。
2. 測試依據
a. 軟件需求文檔;
b. 軟件規格書(shū);
c. 軟件設計文檔;
d. 其他,如參考產(chǎn)品等。
3. 測試資源
a. 測試設備需求;
b. 測試人員需求;
c. 測試環(huán)境需求;
d. 其他。
4. 測試策略
a. 采取測試方法;
b. 搭建哪些測試環(huán)境;
d. 對測試人員進(jìn)行培訓等。
5. 測試日程
a. 測試需求分析;
b. 測試用例編寫(xiě);
c. 測試實(shí)施,根據項目計劃,測試分成哪些測試階段(如單元測試、集成測試、系統測試階段,α、β測試階段等),每個(gè)階段的工作重點(diǎn)以及投入資源等。
6. 其他。
測試計劃還要包括測試計劃編寫(xiě)的日期、作者等信息,計劃越詳細越好了。
計劃趕不上變化,一份計劃做的再好,當實(shí)際實(shí)施的時(shí)候就會(huì )發(fā)現往往很難按照原有計劃開(kāi)展。如在軟件開(kāi)發(fā)過(guò)程中資源匱乏、人員流動(dòng)等都會(huì )對測試造成一定的影響。所以,這些就要求測試負責人能夠從宏觀(guān)上來(lái)調控了。在變化面前能夠做到應對自如、處亂不驚那是最好不過(guò)了。
測試設計
測試設計主要包括測試用例編寫(xiě)和測試場(chǎng)景設計兩方面。
一份好的測試用例對測試有很好的指導作用,能夠發(fā)現很多軟件問(wèn)題。關(guān)于測試用例編寫(xiě),請參見(jiàn)前面寫(xiě)的《也談測試用例》一文,里面有詳細闡述。
測試場(chǎng)景設計主要也就是測試環(huán)境問(wèn)題了。
測試環(huán)境搭建
不同軟件產(chǎn)品對測試環(huán)境有著(zhù)不同的要求。如C/S及B/S架構相關(guān)的軟件產(chǎn)品,那么對不同操作系統,如Windows系列、unix、linux甚至蘋(píng)果OS等,這些測試環(huán)境都是必須的。而對于一些嵌入式軟件,如手機軟件,如果我們想測試一下有關(guān)功能模塊的耗電情況,手機待機時(shí)間等,那么我們可能就需要搭建相應的電流測試環(huán)境了。當然測試中對于如手機網(wǎng)絡(luò )等環(huán)境都有所要求。
測試環(huán)境很重要,符合要求的測試環(huán)境能夠幫助我們準確的測出軟件問(wèn)題,并且做出正確的判斷。
原文轉自:http://kjueaiud.com