一、測試流程
測試流程:需求分析-->編寫測試計划-->測試設計-->測試執行-->測試結果輸出
需求分析階段:閱讀需求,理解需求,主要就是對業務的學習,分析需求點,參與需求評審會議。
測試計划階段:主要任務就是編寫測試計划,參考軟件需求規格說明書制定項目總體計划,內容包括測試范圍,環境資源的准備,進度安排,人力物力的分配,整體測試策略的制定,風險評估與規避措施有一個制定。
測試設計階段:主要是編寫測試用例,會參考需求文檔(原型圖),概要設計,詳細設計等文檔,用例編寫完成之后會進行評審。
測試執行階段:搭建環境,執行冒煙測試,然后按照測試用例進入正式測試,進行bug跟蹤管理直到測試結束。
測試結果輸出:出測試報告,確認是否可以上線
詳細測試流程:了解用戶需求-->參考需求規格說明書-->測試計划-->編寫測試用例-->評審用例-->搭建環境-->冒煙測試-->執行測試用例-->bug跟蹤處理-->測試報告輸出-->版本上線-->上線驗證-->面向用戶
二、測試用例設計方法
軟件測試用例的基本要素包括測試用例編號、測試標題、重要級別、測試輸入、操作步驟、預期結果
測試用例設計常用的7種方法:等價類、邊界值、場景設計法、判定表、因果圖、正交法、錯誤猜測法。
1.等價類
等價類是指某個輸入域的子集合。在該子集合中,各個輸入數據對於揭露程序中的錯誤都是等效的,並合理地假定:測試某等價類的代表值就等於對這一類其他值的測試,因此,可以把全部輸入數據合理划分為若干等價類,在每一個等價類中取一個數據作為測試的輸入條件就可以用少量代表性的測試數據取得較好的測試結果。等價類划分有兩種不同的情況:有效等價類和無效等價類。
(1)有效等價類
是指對於程序的規格說明來說是合理的、有意義的輸入數據構成的集合。利用有效等價類可檢驗程序是否實現了規格說明所規定的功能和性能。
(2)無效等價類
指對程序的規格說明是不合理的或無意義的輸入數據所構成的集合。對於具體的問題,無效等價類至少應有一個,也可能多個。
設計測試用例時,要同時考慮這兩種等價類。因為軟件不僅要能接收合理的數據,也要能經受意外的考驗,這樣的測試才能確保軟件具有更高的可靠性。
2.邊界值
邊界值分析法就是對輸入或輸出的邊界值進行測試的一種黑盒測試方法。通常邊界值分析法是作為對等價類划分法的補充,這種情況下,其測試用例來自等價類的邊界。
與等價划分的區別:
(1)邊界值分析不是從某等價類中隨便挑一個作為代表,而是使這個等價類的每個邊界都要作為測試條件。
(2)邊界值分析不僅考慮輸入條件,還要考慮輸出空間產生的測試情況。
3.場景設計法
通過運用場景來對系統的功能點或業務流程的描述,從而提高測試效果的一種方法。用例場景來測試需求是指模擬特定場景邊界發生的事情,通過事件來觸發某個動作的發生,觀察事件的最終結果,從而用來發現需求中存在的問題。
基本流:是經過用例的最簡單的路徑(無任何差錯,程序從開始直接執行到結束)
備選流:一個備選流可能從基本流開始,在某個特定條件下執行,然后重新加入基本流中,也可以起源於另一個備選流,或終止用例,不在加入到基本流中;(各種錯誤情況)
場景法的運用:
例:有一個在線購物的實例,用戶進入一個在線購物網站進行購物,選購物品后,進行在線購買,這時需要使用帳號登錄,登錄成功后,進行付錢交易,交易成功后,生成訂購單,完成整個購物過程。
· 基本流
· 備選流: 1)進入購物網站,選擇物品,登錄賬號,付費,生成訂單
2)賬號不存在
3)賬戶余額不足
更多的備選流。。。。。。
4.判定表
判定表是分析和表達多邏輯條件下執行不同操作的情況的工具。
1)條件樁:在左上部,列出了問題的所有條件。通常認為列出的條件的次序無關緊要。
2)動作樁:在左下部,列出了問題規定可能采取的操作。這些操作的排列順序沒有約束。
3)條件項:在右上部,列出針對它左列條件的取值。在所有可能情況下的真假值。
4)動作項:在右下部,列出在條件項的各種取值情況下應該采取的動作。
判定表的建立步驟:
1)確定規則的個數.假如有n個條件。每個條件有兩個取值(0,1),故有2的n次方種規則。
2)列出所有的條件樁和動作樁。
3)填入條件項。
4)填入動作項。得到初始判定表。
5)簡化.合並相似規則(相同動作)
判定表實例:
例1:思想品德好,身體好,學習好,全部合格才能成為三號學生,否則不能成為
A.確定規則個數:3個條件,故規則個數= 2^3 =8
B.得到條件樁和動作樁。
C.生成判定表
例2:需要確保電腦有打印機的驅動,打印機正常工作、打印機的紙張充足、打印機墨粉充足才能滿足打印。
A.確定規則個數:4個條件,故規則個數= 2^4 =16
B.得到條件樁和動作樁
C.生成判定表
* 其中出現多個動作項的情況,按照最先觸發的情況給出。
D.簡化
1)在2/3/4/6/7/10/12/15列中,結果都為X2,所以只要C1=0,就用不管C2/C3/C4是什么,那么這幾列就可以合並;
2)在1/8/9/13列中,結果都是X3,所以只要C1=1,C2=0,就不用管C3/C4是什么,那么這幾列就可以合並;
3)在5/14列中,結果都是X4,所以只要C1=1,C2=1,C3=0,就不用管C4是什么,那么這兩列就可以合並;
化簡后如下:
4.錯誤推測法
錯誤推測法是指:在測試程序時,人們可以根據經驗或直覺推測程序中可能存在的各種錯誤,從而有針對性地編寫檢查這些錯誤的測試用例的方法。
例如, 輸入數據和輸出數據為0的情況;輸入表格為空格或輸入表格只有一行。 這些都是容易發生錯誤的情 況。可選擇這些情況下的例子作為測試用例。
例如,測試手機終端的通話功能,可以設計各種通話失敗的情況來補充測試用 例:
1) 無SIM 卡插入時進行呼出(非緊急呼叫)
2) 插入已欠費SIM卡進行呼出
3) 射頻器件損壞或無信號區域插入有效SIM卡呼出
4) 網絡正常,插入有效SIM卡,呼出無效號碼(如1、888、333333、不輸入任何號碼等)
5) 網絡正常,插入有效SIM卡,使用“快速撥號”功能呼出設置無效號碼的數字
例如,測試一個對線性表(比如數組)進行排序的程序,可推測列出以下幾項需要特別測試的情況:
1) 輸入的線性表為空表;
2) 表中只含有一個元素;
3) 輸入表中所有元素已排好序;
4) 輸入表已按逆序排好;
5) 輸入表中部分或全部元素相同。
未完待續。。。