《軟件測試52講》
測試新技術篇
43——探索式測試
什么是探索式測試?
首先,探索式測試是一種軟件測試風格,而不是一種具體的軟件測試技術。
其次,探索式測試強調獨立測試工程師的個人自由和責任,其目的是為了持續優化其工作的價值。
最后,探索式測試建議在整個項目過程中,將測試相關學習、測試設計、測試執行和測試結果解讀作為相互支持的活動,並行執行。
44——測試驅動開發(Test-Driven Development TDD)
它的核心思想,是在開發人員實現功能代碼前,先設計好測試用例的代碼,然后再根據測試用例的代碼編寫產品的功能代碼,最終目的是讓開發前設計的測試用例代碼都能夠順利執行通過。
TDD的優勢
1、保證開發的功能一定是符合實際需求的
2、更加靈活的迭代方式
3、保證系統的可擴展性
4、更好的質量保證
5、測試用例即文檔
《重構:改善既有代碼的設計》
45——精准測試
精准測試
所謂精准測試,就是借助一定的技術手段、通過算法的輔助對傳統軟件測試過程進行可視化、分析以及優化的過程。
精准測試的核心思想
借助一些高效的算法和工具,收集、可視化並且分析原生的測試數據,從而建立起一套測試分析系統。
特征:
1、精准測試是對傳統測試的補充
2、精准測試采用的是黑盒測試與白盒測試相結合的模式
3、精准測試的數據可信度高
4、精准測試過程中,不直接面對產品代碼
5、精准測試是與平台無關的、多維度的測試分析算法系統
《星雲精准測試白皮書》http://www.threadingtest.com/index.html
46——滲透測試
滲透測試指的是,由專業安全人員模擬黑客,從其可能存在的位置對系統進行攻擊測試,在真正的黑客入侵前找到隱藏的安全漏洞,從而達到保護系統安全的目的
滲透測試的常用方法
有針對性的測試
外部測試
內部測試
盲測
雙盲測試
執行滲透測試的步驟
1、規划和偵察
包含了定義測試的范圍和目標、初步確定要使用的工具和方法、明確需要收集的情報(例如,網絡和域名,郵件服務器),以更好地了解目標的工作方式及其潛在的安全漏洞。
2、安全掃描
安全掃描包括靜態分析和動態分析兩個階段。
靜態分析階段工具。目前,主流工具有 Fortify SCA 和 Checkmarx Suite。
3、獲取訪問權限
4、維持訪問權限
5、入侵分析
滲透測試的常用工具
Nmap、Aircrack-ng、SQLmap、Wifiphisher、AppScan 這五種常用工具
47——基於模型的測試
基於模型的測試,即 Model-Based-Testing,簡稱 MBT
MBT,是自動化測試的一個分支。它是將測試用例的設計依托於被測系統的模型,並基於該模型自動生成測試用例的技術。其中,這個被測系統的模型表示了被測系統行為的預期,也可以說是代表了我們對被測系統的預期。
MBT 的基本原理
MBT 的基本原理是通過建立被測系統的設計模型,然后結合不同的算法和策略來遍歷該模型,以此生成測試用例的設計。
MBT 工具簡介
常見的 MBT 工具,包括:BPM-X、fMBT、GraphWalker。
