淺析軟件測試過程

題設:給定一個帶通配符問號的數W,問號可以代表任意一個一位數字。再給定一個整數X,和W具有同樣的長度。問有多少個整數符合W的形式並且比X大?其中輸入格式:爲多組數據,每組數據兩行,第一行輸入W,第二行輸入X,它們長度相同,且在[1..10]之間。輸出格式:每行一個整數表示結果。

 

測試如此需求描述,如何思考?如何分析?如何設計?如何測試?

測試過程的PDCA如何實現?測試個人能力的PDCA曲線如何完成?

以小見大,淺析軟件測試過程。

 

需求描述是什麼?

把複雜的問題簡單化:比較兩個數的大小。

用自己的語言描述問題:

1、輸入多組W、X數據,第組數據兩行,第一行W,第二行X

2、W、X兩個位數相同(10位以內)的整數

3、W帶有通配符:?

4、輸出W>X的個數,每行一個整數結果

 

有問題嗎?

1、W中的通配符“?”個數有限制嗎?

2、控制檯的命令行行式實現?還是圖形化界面?

3、……(更多的問題)

 

測試過程實現

測試分析

1、核心問題是什麼?

 比較輸入數據的大小 -- 如何將複雜的問題簡單化?如何抓住對象問題的核心?

2、開發實現猜想(構建自己的原型)

 1)命令行:輸入數據-->邏輯處理-->輸出結果

 2)圖形化:界面設計-->輸入數據-->邏輯處理-->輸出結果

 3)邏輯處理:按位比較大小並判斷個數?

 4)面向過程?面向對像?

3、哪裏會出錯?

 1)數據與數據交互模塊:輸入、輸出(可以統通爲接口:內部或外部)

 2)數據邏輯處理模塊

4、爲什麼會出錯?

 1)數據格式處理異常

  2)核心邏輯處理缺陷

5、會出什麼樣的問題 

  1)直接問題:輸出結果不正確 

  2)間接問題:問題處理的效率

6、測試分析輸出 

  1)需求核心描述 

  2)需求限定條件 

  3)假想問題列表

 

測試設計

1、測試的優先級

 1)核心邏輯處理

 2)處理過程限定

 3)最終實現形式

2、邏輯處理(測試假想)

wKiom1NaHSKxJqGHAAE20CzfQTQ351.jpg

 1)判斷W輸入的正確性、有效性 -- 1

 2)判斷X輸入的正確性、有效性 -- 1

 3)比較W和X:>、=、<(大於、等於、小於)-- 2

 4)輸出最終結果

3、測試方法

 1)黑盒測試:輸入數據,查看結果

 2)白盒測試:核心邏輯,處理效率

 3)灰盒測試:經常用到的,集成了白盒與黑盒測試的特點,增加測試覆蓋率,提高測試效率和效果

4、測試數據描述

 方法:等價類、邊界值......

 

全是數字

全是“?”

不全爲“?”

第1位

數字 、?、其它字符組合

 

數字取值範圍

0~9999999999

 

第1位是?

第1位不是?

0

非0

 

每位取值範圍

0~9

N/A

N/A

N/A

   

N/A

N/A

N/A

N/A

N/A

   

y:適用;N/A不適用

   

5、完善測試設計(測試設計評審過程)

 1)發現差異:開發者與實現者的溝通,發現理想與現實的差異

 2)充實設計:發現差異,充實測試設計,彌補測試設計缺陷

6、測試設計輸出

 1)測試計劃:明確描述測試實現的6W1H

 2)測試用例

 

測試實現

1、測試執行

 1)執行測試設計輸出,記錄測試過程

 2)提交問題、跟蹤問題、驗證問題修改

 3)驗證並實現測試目標

2、測試總結與回顧

 1)需求分析理解

 2)測試設計盲點

 3)測試效果滿意度:測試目標達成度、干係人滿意度

 

軟件測試需要不斷的實踐、總結、思考。

軟件測試是門藝術,是個過程,是門科學。

 

注:1、PDCA:

 1)P (plan) 計劃,確認方針和目標,制定方法和規則。

 2)D (Do) 執行,根據計劃,執行計劃,實現計劃目標。

 3)C (check) 檢查,分析和總結計劃執行的結果,確認效果,發現問題,明析問題。

 4)A (action) 處理,問題的改進與處理,標準化先進成果,更正和改進不足,提出下輪PDCA循環。

2、6W1H:

 1)Who—責任人?

 2)For whom—干係人?(關鍵人、合作者)

 3)Why—對像的詳盡描述?(需求的分析、理解)

 4)What—目標是什麼?(時間、成本、範圍、質量)

 5)Where—從哪裏來到哪裏去,環境如何?

 6)When—關鍵時間限制?(關鍵節點時間計劃)

 7)How—如何設計、執行、實現?(過程計劃,問題和風險)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章