軟件測試工作的基本流程詳解(軟件測試工作的基本流程詳解圖)
測試流程
首先,作為測試人員需要學(xué)習(xí)并了解業(yè)務(wù),分析需求點
為什么測試人員要參加需求分析?也就是進(jìn)行測試需求分析的目的是什么?
第一、把用戶需求轉(zhuǎn)化為功能需求:
1、對測試范圍進(jìn)度量
2、對處理分支進(jìn)行度量
3、對需求業(yè)務(wù)的場景進(jìn)行度量
4、明確其功能對應(yīng)的輸入、處理和輸出
5、把隱式需求轉(zhuǎn)變?yōu)槊鞔_。
第二、明確測試活動的五個要素:測試需求是什么、決定怎么測試、明確測試時間、確定測試人員、確定測試環(huán)境:測試中需要的技能,工具以及相應(yīng)的背景知識,測試過程中可能遇到的風(fēng)險等等。測試需求需要做到盡可能的詳細(xì)明確,以避免測試遺漏和誤解。
怎么進(jìn)行測試需求分析?
第一、確認(rèn)功能(業(yè)務(wù)功能、輔助功能、數(shù)據(jù)約束、易用性需求、編輯約束、參數(shù)需求、權(quán)限需求、性能約束):
1、業(yè)務(wù)功能:與用戶實際業(yè)務(wù)直接相關(guān)的功能或者細(xì)節(jié)
2、輔助功能:輔助完成業(yè)務(wù)功能的一些功能或者細(xì)節(jié),例如:設(shè)置過濾條件
3、數(shù)據(jù)約束:功能的細(xì)節(jié),主要是用于控制在執(zhí)行功能時,數(shù)據(jù)的顯示范圍,數(shù)據(jù)之間的關(guān)系等
4、易用性需求:功能的細(xì)節(jié),產(chǎn)品中必須提供,便于功能操作使用的一些細(xì)節(jié),例如:快捷鍵等
5、編輯約束:功能的細(xì)節(jié),在功能執(zhí)行時,對輸入數(shù)據(jù)項目的一些約束條件,例如:只能輸入數(shù)字等
6、參數(shù)需求:功能的細(xì)節(jié),在功能執(zhí)行時,需要根據(jù)參數(shù)設(shè)置不同,進(jìn)行不同處理的細(xì)節(jié)
7、權(quán)限需求:功能的細(xì)節(jié),在功能執(zhí)行的過程,根據(jù)不同的權(quán)限進(jìn)行不同的處理,不包括直接限制某個功能的權(quán)限
8、性能約束:功能的細(xì)節(jié),執(zhí)行功能時,必須滿足的性能需求
第二、場景分析
1、考慮場景的調(diào)用者:考慮每一個場景提供的服務(wù)是供哪些外部模塊或者系統(tǒng)調(diào)用的,找出所有調(diào)用者。調(diào)用前提,約束都要考慮。每一個調(diào)用都可以考慮成一個大的業(yè)務(wù)流程(一般和外部有交互的業(yè)務(wù)出錯率比較大,需要重點關(guān)注)
2、考慮系統(tǒng)內(nèi)部各個場景之間的:形成內(nèi)部業(yè)務(wù)流程,需要分析每個場景之間的約束關(guān)系,執(zhí)行條件,組織出各種業(yè)務(wù)流程圖
第三、挖掘隱性需求
這需要測試工程師的經(jīng)驗積累:
1)常用的或者規(guī)定的業(yè)務(wù)流程 2)各個業(yè)務(wù)流程分支的遍歷 3)明確規(guī)定不可使用的業(yè)務(wù)流程 4)沒有明確規(guī)定但是應(yīng)該不可使用的業(yè)務(wù)流程 5)其他異?;蛘卟环弦?guī)定的操作
以上是粗略的講解了如何進(jìn)行測試需求分析,詳細(xì)的測試需求方法可以參考《軟件測試需求分析方法》這篇博客。在需求分析過程中編寫整個測試計劃,在這個過程中需要參考需求規(guī)格說明書,這個階段一般情況下是測試主管編寫的。包括測試人員,測試時間,測試工具,以及測試方法等。這是在測試需求分析中的產(chǎn)物《測試計劃》,如何編寫測試計劃,請參考以下文章《如何編寫一個好的測試計劃》。
接下來就是測試用例設(shè)計
測試用例是測試工作的最核心的模塊,在執(zhí)行任何測試之前,首先必須完成測試用例的編寫。測試用例是指導(dǎo)你執(zhí)行測試,幫助證明軟件功能或發(fā)現(xiàn)軟件缺陷的一種說明。用例設(shè)計好后進(jìn)行審核。這個地方該講的東西就多了,如何設(shè)計測試用例,設(shè)計測試用的方法,怎么進(jìn)行測試用例的審核等等。
第一、如何進(jìn)行測試用例的設(shè)計
編寫測試用例之前我們需要對項目的需求有清晰的了解,對要測試什么,按照什么順序測試,覆蓋哪些需求做到心中有數(shù),作為測試用例的編寫者不僅了解要有常見的測試用例編寫方法,同時需要了解被測軟件的設(shè)計、功能規(guī)格說明、用戶試用場景以及程序/模塊的結(jié)構(gòu)。
步驟:
1、測試需求分析:從項目部拿到軟件的需求規(guī)格說明書后,開始對項目的需求進(jìn)行分析,通過自己的分析、理解,整理成為測試需求, 清楚分析出被測試對象具有哪些功能。 明確測試用例中的測試集用例與需求的關(guān)系,即一個或多個測試用例集對應(yīng)一個測試需求。
2、業(yè)務(wù)流程分析:分析完需求后,明確每一個功能的業(yè)務(wù)處理流程,不同的功能點作業(yè)務(wù)的組合,以及項目的隱式需求。如遇復(fù)雜的測試用例設(shè)計前,先畫出軟件的業(yè)務(wù)流程。從業(yè)務(wù)流程上,應(yīng)得到以下信息:
A、 主流程是什么?
B、 條件備選流程是什么?
C、 數(shù)據(jù)流向是什么?
D、 關(guān)鍵的判斷條件是什么?
3、測試用例設(shè)計
完成以上兩步則可進(jìn)行測試用例設(shè)計,功能測試用例,應(yīng)盡量考慮邊界、異常、性能的情況,以便發(fā)現(xiàn)更多的隱藏問題。設(shè)計測試用例的常見方法:
1)等價類 2)邊界值 3)因果圖 4) 判定表 5)數(shù)據(jù)遷移 6) 正交實驗 7) 場景法 8) 錯誤推斷(注意:編寫測試用例時,我們盡可能取的不應(yīng)該是有效等價類而應(yīng)該是無效等價類)
4.編寫完成后自我檢查以及部門內(nèi)部評審:
1)測試用例本身的描述是否清晰,語言準(zhǔn)確;是否存在二義性;
2)測試用例內(nèi)容是否完整,是否清晰的包含輸入和預(yù)期輸出的結(jié)果;測試步驟是否清晰;
3)測試用例中使用的測試數(shù)據(jù)是否恰當(dāng),準(zhǔn)確;
4)測試用例是否具有指導(dǎo)性,是否能靈活的指導(dǎo)軟件測試工程師通過測試用例發(fā)現(xiàn)更多的缺陷,而不是限制他們的思維;
5)是否考慮到測試用例執(zhí)行的效率。對于不斷重復(fù)執(zhí)行的步驟,是否保證了驗證點相同;或者測試用例的設(shè)計是否存在冗余性等。這些都可能導(dǎo)致測試用例執(zhí)行效率低下;
6)畫出軟件需求跟蹤矩陣,驗證測試用例是否完全覆蓋了需求,驗證測試用例的覆蓋性;
7)測試用例是否完全遵守了軟件需求的規(guī)定。這一點其實有一些難做到。考慮到時間/成本的關(guān)系,應(yīng)該視具體情況而定。
具體詳細(xì)內(nèi)容可參考《如何有效的進(jìn)行測試用例評審》
5.測試用例更新完善
測試用例編寫完成之后需要不斷完善,如遇需求更改或功能新增時,測試用例必須配套修改更新,同時在測試過程中發(fā)現(xiàn)設(shè)計測試用例時考慮不周,需要對測試用例進(jìn)行修改完善;在軟件交付使用后客戶反饋的軟件缺陷,而缺陷又是因測試用例存在漏洞造成,也需要對測試用例進(jìn)行完善。
緊接著就是在測試過程中占很大一部分比重得測試用例執(zhí)行過程
首先搭建測試環(huán)境,準(zhǔn)備好測試數(shù)據(jù),進(jìn)行預(yù)測,預(yù)測通過之后,按照測試用例進(jìn)入正式測試,有效的測試執(zhí)行可以將測試用例發(fā)揮最大的價值。因此,測試用例規(guī)范執(zhí)行有助于更好的發(fā)現(xiàn)代碼中存在的缺陷。根據(jù)個人測試工作經(jīng)驗,好的測試執(zhí)行應(yīng)該包含如下內(nèi)容:
1、測試執(zhí)行中評估測試執(zhí)行時間不足,需及時上報風(fēng)險。滿足質(zhì)量優(yōu)先,進(jìn)度其次原則。
2、測試用例按優(yōu)先級順序執(zhí)行,通常是基本、詳細(xì)和異常順序執(zhí)行。
3、未執(zhí)行用例、標(biāo)志為刪除或者無效的用例,需注明原因。
4、執(zhí)行過程中有疑問的測試用例(場景、操作步驟、檢查點等)需找測試設(shè)計人員澄清。
5、測試執(zhí)行需對用例描述的檢查點逐一檢查,避免遺漏。
6、重視不易重現(xiàn)的缺陷場景,可能是一個bug。
7、執(zhí)行過程中發(fā)現(xiàn)有前期設(shè)計遺漏用例需補充到用例文檔并執(zhí)行驗證。
8、建議測試人員交叉執(zhí)行重復(fù)測試用例,用例執(zhí)行對相同測試人員有免疫性。避免可能的缺陷一直遺漏到現(xiàn)網(wǎng)。
9、如有需要,建議保留測試結(jié)果,結(jié)果可視。也便于不同版本間的測試結(jié)果對比。
10、已確認(rèn)問題需及時按照問題單提單要求(規(guī)范和缺陷定級)提單。
11、跟蹤問題單修復(fù)情況并回歸驗證問題單。
12、每輪次測試結(jié)束,find一下是否有core文件產(chǎn)生。
13、測試結(jié)束,將最終測試用例文檔上傳到歸檔目錄,實現(xiàn)用例重用。
標(biāo)簽:軟件測試報告、測試流程
軟件測評報告請聯(lián)系王經(jīng)理18684048962
更多資訊請關(guān)注公眾號:軟件測評閑聊站