軟體測試基礎理論
- 1 測試工程師心态
- 2 基本概念
-
- 2.1 何為軟體
- 2.2 何為軟體測試
- 3 測試知識
-
- 3.1 軟體測試的目的
- 3.2 軟體測試的原則
- 3.3 測試類型
-
- 3.3.1 按測試階段劃分
- 3.3.2 按是否檢視代碼劃分
- 3.3.3 按是否運作程式劃分
- 3.3.4 按手段劃分
- 3.4 測試用例設計方法
- 3.5 測試流程
- 3.6 常用測試工具
- 3.7 中間件
- 3.8 資料庫
1 測試工程師心态
如果要從事測試行業或者開展測試工作,首先要擺正心态:
你所有要做的工作的目的是要盡可能多的發現問題(bug),而不是去驗證系統是正确的
2 基本概念
2.1 何為軟體
軟體是計算機系統中的程式和相關檔案或文檔的總稱。
2.2 何為軟體測試
使用人工或自動的手段來運作或測量軟體系統的過程,以檢驗軟體系統是否滿足規定的要求,并找出與預期結果之間的差異。
3 測試知識
3.1 軟體測試的目的
目的是用最少的人力、物力和時間找出軟體中潛在的各種錯誤和權限,通過修正錯誤和缺陷來提高軟體品質,回避軟體釋出後由于潛在的軟體缺陷和錯誤造成的隐患帶來的商業風險。
3.2 軟體測試的原則
-
測試标準是使用者的需求
所有的測試都應當追溯到使用者的需求,測試人員需要始終站在使用者的角度去看問題、去判斷缺陷的影響,系統中最嚴重的的問題是那些導緻程式無法滿足使用者需求的缺陷。
-
事先定義好産品的品質标準
有了品質标準,才能依據标準對軟體的品質進行正确的分析和評估。
-
應當“盡早地和不斷地進行軟體測試”
軟體開發生命周期早起引入的錯誤占軟體過程中出現錯誤總數的50%~60%,缺陷存在放大趨勢。如:需求階段一個錯誤可能會導緻N個設定錯誤。越到後期修複缺陷付出的代價越大。
- 制定測試計劃,避免随意性
- 制定周密的測試用例,不可将測試用例抛開
- 充分注意叢集現象
- 避免測試自己開發的程式
-
完全測試是不可能的,測試需要終止
窮盡測試是不可能的,當滿足準出原則時終止測試。
-
回歸測試
修改程式後需要重新進行測試,已确認沒有引發新的錯誤。
- 妥善保管一切測試過程文檔
3.3 測試類型
3.3.1 按測試階段劃分
- 單元測試
- 內建測試
- 系統測試
- 回歸測試
- 驗收測試
3.3.2 按是否檢視代碼劃分
- 黑盒測試
- 灰盒測試
- 白盒測試
3.3.3 按是否運作程式劃分
- 靜态測試
- 動态測試
3.3.4 按手段劃分
- 功能測試
- 自動化測試
- 性能測試
- 安全測試
- 相容性測試
3.4 測試用例設計方法
又叫黑盒測試方法、功能測試方法
-
等價類劃分法
有效等價類:對于程式規格說明書來說是合理的、有意義的輸入資料的集合
無效等價類:對于程式規格說明書來說是不合理的、無意義的輸入資料的集合
舉例說明:使用者名輸入框規則隻支援輸入字母、數字
有效等價類包括:ABCabc等字母、123999等數字、abc123等字母數字組合
無效等價類包括:!@#等特殊符号、abc!@#等字母符号組合、123_!!!等數字元号組合、中國666等漢字數字組合。。。。(還有很多)
-
邊界值分析法
舉例說明:使用者名輸入框規定了長度8~16位
設計用例時需要設計 7、8、9、15、16、17位、空等輸入資料
-
錯誤推測法
錯誤推測法是基于經驗和直覺推測程式中所有可能存在的各種錯誤,有針對性的設計測試用例的方法。
- 因果圖法
- 判定表驅動法
-
正交試驗法
适用于平台參數配置的測試,可設計出最好的用例,達到最有效的測試目的。
- 功能圖法
- 場景法
3.5 測試流程
接到測試任務是如何開展測試工作的
- 産品經理講解需求
- 需求評審
- 開發、測試進行需求反講
- 制定測試計劃
- 測試計劃評審
- 設計測試用例
- 評審測試用例
- 準備測試環境、測試資料
- 測試執行
- 測試封版
- 上線跟蹤測試
- 測試總結、财富歸檔
3.6 常用測試工具
測試管理工具:禅道、bugfree、jira、QC等
性能測試工具:loadrunner、jmeter、nmon、jprofiler等
自動化測試工具:QTP、selenium、appium等
接口測試工具:postman、apifox、yapi等
安全測試工具:appscan、xscan、sqlmap、nmap等
其他工具:fiddler、jenkins、Navicat等
3.7 中間件
tomcat、tongweb、websphere、jboss等
3.8 資料庫
mysql、oracle、redis、mongodb、db2等