《微软的软件测试之道》读书笔记 之 结构测试技术
《微軟的軟件測(cè)試之道》讀書筆記 之 結(jié)構(gòu)測(cè)試技術(shù)
2014-07-18
我們需要結(jié)構(gòu)測(cè)試嗎?
微軟的一項(xiàng)試驗(yàn)說(shuō)明了結(jié)構(gòu)測(cè)試的在代碼覆蓋中起到的效果:
超過(guò)3000名測(cè)試員參與了這項(xiàng)實(shí)驗(yàn),每25人一組,實(shí)驗(yàn)結(jié)果在所有組中都是一致的。在這項(xiàng)研究中,
- 腳本化測(cè)試:根據(jù)樣式書設(shè)計(jì)的腳本化測(cè)試在被測(cè)程序上達(dá)到了標(biāo)稱83%的代碼覆蓋率。
- 探索性測(cè)試:然后,實(shí)驗(yàn)參與者允許進(jìn)行每人15分鐘,累計(jì)5小時(shí)的探索性測(cè)試。令人驚訝的是,代碼覆蓋率平均只增加了3個(gè)百分點(diǎn)。
- 結(jié)構(gòu)測(cè)試:但是,當(dāng)實(shí)驗(yàn)參與者能夠分析探測(cè)過(guò)的(Instrumented)代碼的運(yùn)行結(jié)果并使用白盒技術(shù)設(shè)計(jì)測(cè)試以后,不到20分鐘的時(shí)間代碼覆蓋率就提高到了 91%(這是不使用代碼突變或故障注入所能達(dá)到的最大實(shí)際代碼覆蓋率)。同時(shí),測(cè)試員們也能夠更好的從代價(jià)和收益的角度解釋為什么剩下的9%未覆蓋代碼是不可測(cè)試的。
下圖顯示了不同測(cè)試技術(shù)的代碼覆蓋效果。
圖1 不同測(cè)試技術(shù)的代碼覆蓋效果
?
塊測(cè)試
?
此書把塊測(cè)試、決策測(cè)試、條件測(cè)試、基礎(chǔ)路徑測(cè)試都?xì)w入結(jié)構(gòu)測(cè)試技術(shù)。這里主要講一下塊測(cè)試。
塊覆蓋和語(yǔ)句覆蓋
- 語(yǔ)句覆蓋測(cè)量一個(gè)程序在測(cè)試過(guò)程中被執(zhí)行過(guò)的語(yǔ)句的數(shù)量。
- 塊覆蓋測(cè)量無(wú)分支的連續(xù)語(yǔ)句組的數(shù)量。導(dǎo)致控制流程轉(zhuǎn)向分支的條件語(yǔ)句可以包含若干塊。
這個(gè)看起來(lái)似乎只是一個(gè)極小的區(qū)別,然而,語(yǔ)句測(cè)試和塊測(cè)試的區(qū)分是相當(dāng)重要的。因?yàn)橄噍^于語(yǔ)句測(cè)試,塊測(cè)試對(duì)控制流程提供了更好的敏感度。
?代碼塊的計(jì)算?
?
塊測(cè)試小結(jié)
塊測(cè)試是用于單元測(cè)試的一種普遍方法:
優(yōu)勢(shì):它非常適合于迅速地評(píng)估某函數(shù)的基本功能。對(duì)于設(shè)計(jì)用于執(zhí)行switch/case語(yǔ)句和異常處理程序控制流程的測(cè)試來(lái)說(shuō),它也是一個(gè)很有價(jià)值的技術(shù)。
劣勢(shì):然而,塊測(cè)試是健壯的結(jié)構(gòu)測(cè)試中相對(duì)較弱的標(biāo)準(zhǔn),它還可能漏掉控制流程的一些重要的分支。此外,塊測(cè)試還容易忽略一些潛在的問(wèn)題,特別是在我們測(cè)試的目的只是要提高代碼覆蓋率而不是要仔細(xì)分析被測(cè)試代碼的情況下。
轉(zhuǎn)載于:https://www.cnblogs.com/Ming8006/p/3853904.html
總結(jié)
以上是生活随笔為你收集整理的《微软的软件测试之道》读书笔记 之 结构测试技术的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Git教程学习(四)
- 下一篇: jboss7(01)服务器开启和关闭命令