如何通過自動(dòng)化隨著時(shí)間的推移增加測(cè)試覆蓋率

當(dāng)涉及到軟件質(zhì)量時(shí)筝闹,我們希望盡可能多地以人工測(cè)試代碼,實(shí)際上腥光,對(duì)于每個(gè)測(cè)試周期关顷,重要的是要考慮多種策略來衡量測(cè)試覆蓋率,并將系統(tǒng)部署到位武福。
測(cè)試覆蓋率是測(cè)試質(zhì)量的度量之一议双,它告訴我們被測(cè)試的應(yīng)用程序有多少已經(jīng)過測(cè)試。你可以把它想象成打掃房子的地板捉片。想象一下平痰,如果我的清掃范圍標(biāo)準(zhǔn)只包括清掃臥室。按照這個(gè)標(biāo)準(zhǔn)伍纫,如果我打掃了100%的臥室宗雇,那是否意味著整個(gè)房子是干凈的?不莹规,因?yàn)檫€有廚房赔蒲,餐廳,浴室…你懂的良漱!因此舞虱,必須始終小心測(cè)試覆蓋率,認(rèn)識(shí)到有時(shí)它有局限性债热。
測(cè)試覆蓋率用于定義軟件的某些部分砾嫉,以便用測(cè)試覆蓋它們。它還告訴我們何時(shí)進(jìn)行了充分的測(cè)試窒篱,讓我們知道還需要測(cè)試什么(從而擴(kuò)大覆蓋范圍)焕刮,并幫助我們定量地了解測(cè)試的范圍舶沿。這是一個(gè)很好的衡量標(biāo)準(zhǔn),即使有 100% 的測(cè)試覆蓋率配并,我們也不能保證我們的應(yīng)用程序 100% 沒有錯(cuò)誤括荡。
有很多方法可以考慮測(cè)試覆蓋率。在這里溉旋,我們將檢查代碼覆蓋率畸冲、面向數(shù)據(jù)的覆蓋率以及測(cè)試人員可以使用的大量其他技術(shù)。


代碼覆蓋率

代碼覆蓋率是衡量測(cè)試覆蓋率最常用的指標(biāo)观腊。它測(cè)量測(cè)試用例覆蓋的行數(shù)邑闲,報(bào)告代碼中的行總數(shù)和測(cè)試執(zhí)行的行數(shù)。本質(zhì)上梧油,它是測(cè)試套件運(yùn)行時(shí)程序源代碼的執(zhí)行程度苫耸。代碼覆蓋率越高,未被發(fā)現(xiàn)的bug進(jìn)入生產(chǎn)的可能性就越小儡陨。這種測(cè)量也可以分解為不同的層次褪子;不僅包括代碼行,還包括分支骗村、邏輯構(gòu)造函數(shù)內(nèi)部的決策等嫌褪。


面向數(shù)據(jù)的覆蓋

在面向數(shù)據(jù)的覆蓋范圍中,有輸入和輸出參數(shù)胚股,每個(gè)參數(shù)都有自己的域(它們可以擁有的可能值的范圍)笼痛。如果考慮所有的可能性,你會(huì)得到一個(gè)笛卡爾積琅拌,因?yàn)榭梢詼y(cè)試每一個(gè)可能的組合雁乡。


其他類型的保險(xiǎn)

除了前面提到的方法之外囤官,還有其他幾種方法可以涵蓋正在測(cè)試的產(chǎn)品,如狀態(tài)機(jī)陕见、決策表泣侮、決策樹即彪、等價(jià)劃分和邊界值等。每種技術(shù)都有“錯(cuò)誤理論”的支持活尊。錯(cuò)誤理論考慮了程序員犯下的典型錯(cuò)誤隶校。例如,等價(jià)分區(qū)和邊界值考慮了使用“<”而不是“<=”的錯(cuò)誤蛹锰,誤解了業(yè)務(wù)邏輯等深胳。
此外,還有其他類型的測(cè)試覆蓋率與代碼行或輸入測(cè)試數(shù)據(jù)無關(guān)铜犬。我們必須涵蓋的一點(diǎn)是移動(dòng)碎片化:我們是否涵蓋了主要的移動(dòng)設(shè)備舞终、操作系統(tǒng)和屏幕尺寸轻庆?當(dāng)談到瀏覽器和操作系統(tǒng)時(shí),我們必須考慮我們的web系統(tǒng)在操作系統(tǒng)和瀏覽器的任何組合中的行為敛劝,以及我們應(yīng)該測(cè)試多少個(gè)組合余爆。最后,我們必須考慮測(cè)試環(huán)境夸盟、上下文等蛾方。


制定計(jì)劃以優(yōu)化長(zhǎng)期覆蓋范圍

假設(shè)我們?cè)诓煌臑g覽器上測(cè)試不同的特性,并且用不同的測(cè)試套件組織了不同的測(cè)試用例上陕,每個(gè)測(cè)試套件都有自己的優(yōu)先級(jí)桩砰。我們需要針對(duì)所有瀏覽器執(zhí)行最關(guān)鍵的命令,但其余的释簿,我們可以決定在不同的瀏覽器上執(zhí)行亚隅。我們永遠(yuǎn)不能保證我們已經(jīng)完成了測(cè)試,但是當(dāng)時(shí)間緊迫時(shí)辕万,必須明智地盡最大努力降低風(fēng)險(xiǎn)枢步。

結(jié)論

測(cè)試覆蓋標(biāo)準(zhǔn)非常有用,但它們并不能保證任何事情渐尿。一些標(biāo)準(zhǔn)與其他標(biāo)準(zhǔn)相關(guān)醉途,我們需要使用最適合我們需求的模塊,還要考慮每個(gè)模塊的優(yōu)先級(jí)砖茸,并根據(jù)優(yōu)先級(jí)和復(fù)雜性定義每個(gè)模塊的覆蓋范圍隘擎。最后,我們可以應(yīng)用長(zhǎng)期覆蓋率標(biāo)準(zhǔn)來優(yōu)化測(cè)試覆蓋率凉夯。
演示工具:www.eolinker.com

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末货葬,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子劲够,更是在濱河造成了極大的恐慌震桶,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,366評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件征绎,死亡現(xiàn)場(chǎng)離奇詭異蹲姐,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)人柿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門柴墩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人凫岖,你說我怎么就攤上這事江咳。” “怎么了哥放?”我有些...
    開封第一講書人閱讀 165,689評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵歼指,是天一觀的道長(zhǎng)爹土。 經(jīng)常有香客問我,道長(zhǎng)东臀,這世上最難降的妖魔是什么着饥? 我笑而不...
    開封第一講書人閱讀 58,925評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮惰赋,結(jié)果婚禮上宰掉,老公的妹妹穿的比我還像新娘。我一直安慰自己赁濒,他們只是感情好轨奄,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,942評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著拒炎,像睡著了一般挪拟。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上击你,一...
    開封第一講書人閱讀 51,727評(píng)論 1 305
  • 那天玉组,我揣著相機(jī)與錄音,去河邊找鬼丁侄。 笑死惯雳,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的鸿摇。 我是一名探鬼主播石景,決...
    沈念sama閱讀 40,447評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼拙吉!你這毒婦竟也來了潮孽?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,349評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤筷黔,失蹤者是張志新(化名)和其女友劉穎往史,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體佛舱,經(jīng)...
    沈念sama閱讀 45,820評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡怠堪,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,990評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了名眉。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,127評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡凰棉,死狀恐怖损拢,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情撒犀,我是刑警寧澤福压,帶...
    沈念sama閱讀 35,812評(píng)論 5 346
  • 正文 年R本政府宣布掏秩,位于F島的核電站,受9級(jí)特大地震影響荆姆,放射性物質(zhì)發(fā)生泄漏蒙幻。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,471評(píng)論 3 331
  • 文/蒙蒙 一胆筒、第九天 我趴在偏房一處隱蔽的房頂上張望邮破。 院中可真熱鬧,春花似錦仆救、人聲如沸抒和。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,017評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)摧莽。三九已至,卻和暖如春顿痪,著一層夾襖步出監(jiān)牢的瞬間镊辕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,142評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工蚁袭, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留征懈,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,388評(píng)論 3 373
  • 正文 我出身青樓撕阎,卻偏偏與公主長(zhǎng)得像受裹,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子虏束,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,066評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容