【全程測試】之測試和編程的交互

單元測試的概念,實質(zhì)是強(qiáng)調(diào)一個基本的質(zhì)量思想和軟件開發(fā)的理念——如果要保證一個系統(tǒng)的質(zhì)量门岔,首先要保證構(gòu)成這個系統(tǒng)的所有組成單元的質(zhì)量爱致。

1 程序代碼的審查

(1).主要方法有:有軟件開發(fā)和編程經(jīng)驗的技術(shù)人員集體進(jìn)行;依靠一些軟件工具

(2).其優(yōu)勢:程序代碼的審查(code review)是一種靜態(tài)測試寒随,其效率是非常高的糠悯,據(jù)有關(guān)數(shù)據(jù)統(tǒng)計,代碼中缺陷60%以上可以通過代碼審查發(fā)現(xiàn)出來妻往。

1.1 代碼省查的方法和范圍

通常合格的代碼應(yīng)具備正確性互艾、清晰性、

規(guī)范性讯泣、一致性和高效性等纫普。

(1).正確性是指代碼邏輯必須正確,能夠?qū)崿F(xiàn)預(yù)期的功能好渠;

(2).清晰性是指代碼必須簡明昨稼、易懂节视、注釋準(zhǔn)確沒有歧義;

(3).規(guī)范性是指代碼必須符合企業(yè)或部門所定義的共同規(guī)范假栓,包括命名規(guī)則寻行、代碼風(fēng)格等;

(4).一致性是指代碼必須在命名上匾荆、風(fēng)格上保持一致拌蜘;

(5).高效性是指代碼不但要滿足以上性質(zhì),而且需要盡可能地降低代碼的執(zhí)行時間牙丽。

代碼審查的方法有:互查(peer-to-peer)拦坠、走查(walk-through)、會議評審(inspection)剩岳,代碼展示(code-show)

(1).互查是處在相同模塊或相近模塊的編程人員互相檢查對方的代碼;

(2).走查入热,從頭到尾將寫好的程序檢查一遍拍棕;

(3).會議評審更為正式,主要是審查關(guān)鍵性的代碼勺良。

(4).代碼展示绰播,主要是隨機(jī)抽取開發(fā)的代碼,由其向其他人講解自己的源程序尚困,一方面可以督促開發(fā)重視自己的代碼質(zhì)量蠢箩,另一方面及時發(fā)現(xiàn)代碼問題,包括不同代碼模塊事甜、函數(shù)之間互相依賴谬泌、沖突的關(guān)聯(lián)問題。最后有更多的人明白他人寫的代碼逻谦,今后代碼的維護(hù)也變得容易掌实。

單元測試

1.1 廣義上的單元測試包括靜態(tài)測試動態(tài)測試,靜態(tài)測試就是上面說的代碼審查系列邦马,而動態(tài)測試是使用單元測試用例贱鼻、測試工具來執(zhí)行程序。

1.2 單元測試的對象是構(gòu)成軟件產(chǎn)品或系統(tǒng)的最小的獨立單元滋将,如封裝的類或?qū)ο罅谛ⅹ毩⒌暮瘮?shù)、進(jìn)程随闽、子過程父丰、組件或模塊等;單元測試搶到被測試對象的獨立性橱脸,所有有時候某個組件比較大時础米,需要拆分到一個可接受的程度分苇。

1.3 單元測試的目的是檢驗每個軟件單元是否正確的試下其功能,滿足性能和接口要求屁桑,還要驗證程序和詳細(xì)設(shè)計說明的一致性医寿。

1.4 單元測試應(yīng)該貫穿整個編程階段,秉承測試驅(qū)動開發(fā)思想蘑斧,在編程的過程(初始階段和修改缺陷階段)中隨時根據(jù)需要進(jìn)行單元測試靖秩,

舉例:工匠A在砌墻時,先拉一根水平線竖瘾,砌每一塊磚時沟突,都與這根水平線進(jìn)行比較,使得每一塊磚都保持水平捕传;工匠B惠拭,等一排磚都砌完后,再拉上一根水平線庸论,看看哪些磚有哦問題职辅,對有問題的已砌好的磚進(jìn)行調(diào)整。

1.5 單元測試方法

(1).白盒方法的單元測試

應(yīng)用技術(shù)有邏輯驅(qū)動法和基本路徑測試法聂示。

語句覆蓋:測試用例覆蓋程序每一條可執(zhí)行語句

判定覆蓋:測試用例覆蓋程序每一個分支判斷的可能結(jié)果

條件覆蓋:測試用例覆蓋程序每一個分支判斷中的每一個條件的可能結(jié)果

判定/條件覆蓋:測試用例同時滿足判定覆蓋和條件覆蓋

條件組合覆蓋:測試用例覆蓋程序每一個分支判斷中的每一個條件的每一種可能組合結(jié)果

(2).黑盒方法的單元測試

單元測試域携,不僅要驗證軟件的功能表現(xiàn),而且要驗證代碼結(jié)構(gòu)上的可靠性鱼喉、健全性和性能秀鞭。在功能性測試方法,通常會利用3中數(shù)據(jù)來進(jìn)行測試扛禽,即正常數(shù)據(jù)锋边、邊緣數(shù)據(jù)和錯誤數(shù)據(jù)。

(3).單元測試模塊

驅(qū)動模塊(被測系統(tǒng)的上級模塊):調(diào)用被測模塊的程序用于模擬被測模塊的上級模塊旋圆,驅(qū)動模塊接受測試數(shù)據(jù)宠默,把相關(guān)的數(shù)據(jù)傳送給被測的模塊,啟動/完成對該模塊的測試灵巧。比如對函數(shù)的調(diào)用搀矫,類的引用。

樁模塊(被測系統(tǒng)的下級模塊):替代下層模塊的程序用于模擬被測模塊工作過程中所調(diào)用的模塊刻肄,樁模塊使上層模塊不需要調(diào)用真實模塊就能獲得所需要的參數(shù)瓤球、返回值等。比如模擬器

(4). 單元測試用例設(shè)計

對白盒測試用例設(shè)計敏弃,需要達(dá)到下列測試要求:

|對程序模塊所有獨立的執(zhí)行路徑至少要測試一次卦羡;

|對所有的邏輯判斷,其結(jié)果為真、假的兩種情況至少要測試一次绿饵;

|對程序進(jìn)行辯解檢查欠肾;

|檢查內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性;

舉例拟赊,設(shè)計圖示的邏輯測試用例

圖1 程序邏輯圖
圖2 對圖1設(shè)計的測試點(判斷-條件-路徑覆蓋)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末刺桃,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子吸祟,更是在濱河造成了極大的恐慌瑟慈,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件屋匕,死亡現(xiàn)場離奇詭異葛碧,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)过吻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進(jìn)店門进泼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人纤虽,你說我怎么就攤上這事缘琅。” “怎么了廓推?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長翩隧。 經(jīng)常有香客問我樊展,道長,這世上最難降的妖魔是什么堆生? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任专缠,我火速辦了婚禮,結(jié)果婚禮上淑仆,老公的妹妹穿的比我還像新娘涝婉。我一直安慰自己,他們只是感情好蔗怠,可當(dāng)我...
    茶點故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布墩弯。 她就那樣靜靜地躺著,像睡著了一般寞射。 火紅的嫁衣襯著肌膚如雪渔工。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天桥温,我揣著相機(jī)與錄音引矩,去河邊找鬼。 笑死,一個胖子當(dāng)著我的面吹牛旺韭,可吹牛的內(nèi)容都是我干的氛谜。 我是一名探鬼主播,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼区端,長吁一口氣:“原來是場噩夢啊……” “哼值漫!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起珊燎,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤惭嚣,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后悔政,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體晚吞,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年谋国,在試婚紗的時候發(fā)現(xiàn)自己被綠了槽地。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,059評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡芦瘾,死狀恐怖捌蚊,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情近弟,我是刑警寧澤缅糟,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站祷愉,受9級特大地震影響窗宦,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜二鳄,卻給世界環(huán)境...
    茶點故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一赴涵、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧订讼,春花似錦髓窜、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至脖苏,卻和暖如春擂啥,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背帆阳。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工哺壶, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留屋吨,地道東北人。 一個月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓山宾,卻偏偏與公主長得像至扰,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子资锰,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,792評論 2 345

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