天天看點

測試設計經驗總結

 軟體測試過程中,産品需求到傳遞測試執行這個流程中,測試設計是重中之重,結合自己的工作經驗,個人認為:測試設計就是軟體需求轉換成測試需求,通過模組化,從測試角度羅列功能對象,了解,分析被測對象,并不斷和相關者溝通,确認,最終得到驗證該模型的測試用例過程.

  引用rick d. craig and stefan p. jaskiel大師的一張圖,說的是白盒測試+黑盒測試能改進軟體的品質達60%,如圖:

  是以,測試之前很有必要對測試對象進行分析設計,以下是我在黑盒測試設計以及白盒(目前做sdk項目)測試設計的心得:

  黑盒設計經驗總結:

  1.設計過程是一個反複溝通,反複确認的過程.多問幾個為什麼

  2.關注重點和難點,單個測試風險和整體測試風險,80%的精力集中到重點和難點,一定不要低估這個地方.

  3.白盒的手段,黑盒的思想.看代碼為補充.

  4.白盒的思想,黑盒的手段,基于功能點分析.

  5.黑盒思想,黑盒手段,場景很重要.

  6.根據線上bug設計保持最新狀态,個人認為:測試設計有效性,以項目上線1-3個月為次元,調整設計,激發測試思想.

  7.探索性測試為補充(取消法,後退法,逆向思考很重要)

  8.單元腳本也是測試設計的參考

  9.測試設計曆程(個人了解):基于需求的設計->基于經驗的設計->基于風險的設計.

  10.設計評審很重要,測試設計很有必要專門安排時間

  11.設計過程關注單子產品,多子產品之間的耦合(bug都來自此)

  12.根據不同項目,熟練使用測試用例方法,增強測試用例發現bug幾率.(一般情況,開發自測測到的點不容易發現問題,考慮沒測到的點容易發現問題.).

  13.設計過程考慮測試類型,安全,性能,相容.

  14.不同産品測試設計特性不同,web産品(缺陷容忍度高)電信,金融産品(業務複雜,流程重.修複長,具體到某個sql字段)移動app産品(适配).

  白盒或者說接口設計經驗總結:

  1. 熟悉代碼,一個sdk的代碼量不是很多,通過不斷和開發溝通,弄清楚分支,然後特定場景是否有異常處理;

  2. 如果一個sdk有ui層,有接口層,先做ui層的黑盒測試 設計,然後做接口層基于接口入參,出參設計,以及基于核心function的測試設計,因為在做黑盒也就是業務層的設計時,回報給開發,提升開發代碼的相容和遺漏.sdk目前個人歸納為這麼四類: 有ui層的sdk, 內建mtop接口的sdk,包含so包的sdk,以及隻包含java層的sdk,不同的sdk産品,測試設計的重點不同. ui層的sdk側重适配測試, 內建mtop的sdk側重異常處理,包含so包的側重接口和适配,java層的sdk側重接口.

  3.sdk設計,看代碼同時除了學習設計模式外,更重要是為做測試設計分析服務,發現溝通漏洞.

  4.基于底層的function設計,有些邏輯複雜的,要細分,想辦法把每個節點測試到.

  5.測試過程中,白盒測試不要脫離了黑盒測試,有些系統複雜的,白盒測試單個節點測試了沒問題,但是聯調有問題.

  6.sdk demo測試不能覆寫所有的邏輯,一定要針對demo也要有測試思路,争取全面覆寫接口分支,代碼邏輯分支.

  7.寫好的用例後,加入持續內建,能有度量工具對代碼度量(satement coverage,分支度量,路徑度量),關注未測試到的代碼.

  最後,推薦這幾天一直在看的幾篇文章,很有思考價值:

  <<不能成為專業測試的十大理由>>,

  <<怎樣做測試?>>

  <<測試人員需要經曆的階段>>