說說軟件測試覆蓋率統(tǒng)計的相關(guān)事情
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2012/4/13 9:22:10 ] 推薦標簽:
既然測試覆蓋率不能證明代碼是正確的,那么它存在又有什么意義了?有過開發(fā),測試經(jīng)驗的同學(xué)都能體會到,覆蓋率能夠幫助我們發(fā)現(xiàn)代碼的一些問題,如下:
1、被測系統(tǒng)中有沒有存在代碼,沒有被當(dāng)前的測試用例集所覆蓋的
2、找出冗余的代碼,提高開發(fā)質(zhì)量
3、可以及時反饋當(dāng)前系統(tǒng)的測試質(zhì)量,間接衡量測試的質(zhì)量。
HOW
介紹一個工具:
1、Cobertura的使用步驟:
a)插樁: 通過修改指定class文件的字節(jié)碼來插入統(tǒng)計標簽,插樁信息會保存在cobertura.ser中
b)部署 : 將插樁完的jar包重新打包,替換掉原來的包
c)執(zhí)行測試件 : 需確保所調(diào)用服務(wù)與所部署環(huán)境的正確對應(yīng)
d)生成報告 : 通過腳本結(jié)束服務(wù), 讀取cobertura.ser生成報告
2、需要掌握的插樁命令
?includeClasses 需要包括的類名
?excludeClasses 需要排除的類名
?ignoreTrivial 將set方法,get方法,構(gòu)造方法排除在統(tǒng)計范圍之外
3、覆蓋率報告
生成報告的命令: sh cobertura_war.sh report
4、使用工具前,應(yīng)該知道的事
A)你要統(tǒng)計的應(yīng)用類型: jar包,war包或者是ear包?
B)如果是web應(yīng)用,那么所用的java容器是jetty還是jboss? 啟動目錄在哪里?
C)閱讀應(yīng)用的啟動腳本,確定它是如何工作的,使用的是哪個包
D)請確定你需要統(tǒng)計覆蓋率的范圍
E)是否需要忽略掉對一些模型的無關(guān)代碼的統(tǒng)計,例如模型的set,get,構(gòu)造方法
當(dāng)然還有很多其他的工具,不過目前在用的是Cobertura,相關(guān)的工具可以去google去搜搜!
相關(guān)推薦
相關(guān)產(chǎn)品

最新發(fā)布
性能測試之測試環(huán)境搭建的方法
2020/7/21 15:39:32軟件測試是從什么時候開始被企業(yè)所重視的呢?
2020/7/17 9:09:11Android自動化測試框架有哪些?有什么用途?
2020/7/17 9:03:50什么樣的項目適合做自動化?自動化測試人員應(yīng)具備怎樣的能力?
2020/7/17 8:57:06幾大市面主流性能測試工具測評
2020/7/17 8:52:11RPA機器人能夠快速響應(yīng)企業(yè)需求,是怎么做到的?
2020/7/17 8:48:05Bug可以真正消滅嗎?為什么?
2020/7/17 8:43:03軟件測試基本概念是怎么來的?軟件測試生命周期的形成歷經(jīng)了什么?
2020/7/16 9:11:10