大家都是如何實(shí)施單元測(cè)試的呢?|環(huán)球熱文
單元測(cè)試已成為IT行業(yè)的重點(diǎn)關(guān)注內(nèi)容。
無論做開發(fā)工作還是做測(cè)試工作,都需要對(duì)自己編寫的后端代碼實(shí)施單元測(cè)試。
(資料圖片)
按測(cè)試方法劃分,測(cè)試主要分為兩大類:黑盒測(cè)試與白盒測(cè)試。
一、黑盒測(cè)試
通過運(yùn)行軟件根據(jù)結(jié)果輸出來分析軟件功能的正常性。
例如:給你一個(gè)登錄功能
1、用戶輸入用戶名和密碼,點(diǎn)擊登錄,
2、如果系統(tǒng)登錄成功進(jìn)入系統(tǒng)主界面
3、如果系統(tǒng)登錄失敗,界面提示用戶名或密碼錯(cuò)誤,這也是我們生活中最常見的案例。
黑盒測(cè)試不需要考慮功能的內(nèi)部邏輯結(jié)果,根據(jù)前后端提供的界面就可以錄入測(cè)試數(shù)據(jù),進(jìn)行登錄,根據(jù)功能測(cè)試用例分析預(yù)期結(jié)果與實(shí)際結(jié)果的正常性,來判斷功能與需求的一致性。
二、白盒測(cè)試
單元測(cè)試是一種白盒測(cè)試,用戶在實(shí)施過程中通過閱讀或者測(cè)試程序的代碼來完成工作。
工作原理如下圖所示:
且如今的python語(yǔ)言或java語(yǔ)言都自帶了JUnit框架,Python中的單元測(cè)試框架主要使用Unittest。
上述登錄案例的代碼如下:
1. 通過鍵盤錄入用戶名和密碼2. 判斷用戶是否登錄成功
* 如果用戶名與密碼正確,則用戶登錄成功,反之,則用戶登錄失敗
實(shí)現(xiàn)代碼如下:
今天主要來講解如何使用Java程序編寫單元測(cè)試用例。
需求:分享一個(gè)計(jì)算器中的加、減法單元測(cè)試案例。
具體實(shí)現(xiàn)步驟如下:
一、創(chuàng)建一個(gè)類。
在java的世界中一切皆對(duì)象,咱們優(yōu)先創(chuàng)建一個(gè)計(jì)算機(jī)類,代碼如下 圖所示:
二、編寫單元測(cè)試用例方法
創(chuàng)建一個(gè)計(jì)算機(jī)測(cè)試類,實(shí)例化對(duì)象,代碼實(shí)現(xiàn)如下圖所示:
加法案例執(zhí)行結(jié)果如下:
減法案例代碼執(zhí)行過程:
通過上述單元測(cè)試案例的設(shè)計(jì),也得出了單元測(cè)試結(jié)果,但大家有沒有發(fā)現(xiàn)以上單元測(cè)試用例存在缺陷。
也就是說我執(zhí)行單個(gè)加法運(yùn)算或者執(zhí)行單個(gè)減法運(yùn)算,需要將前一個(gè)對(duì)象注解才能執(zhí)行,這樣操作起來非常不方便。
實(shí)際查看結(jié)果好像沒問題,但以上代碼并沒有實(shí)際結(jié)果與預(yù)期結(jié)果之分,這樣我們無法分辨單元測(cè)試結(jié)果的正確性。
故我們需要對(duì)以上單元測(cè)試代碼進(jìn)行一步優(yōu)化。
三、程序腳本優(yōu)化
給單元測(cè)試方法添加修飾符@Test與預(yù)期結(jié)果
加法方法優(yōu)化一:
減法方法優(yōu)化二:
三、單元測(cè)試結(jié)果分析
單元左邊三角形批量執(zhí)行用例,最終達(dá)到單元測(cè)試的效果
執(zhí)行結(jié)果如下圖:
總之,測(cè)試用例占據(jù)測(cè)試工作中60%的工作量,大部分在概設(shè)、詳細(xì)設(shè)計(jì)、編碼過程,測(cè)試人員都投入大量的時(shí)間與成本來設(shè)計(jì)測(cè)試點(diǎn)和編寫測(cè)試用例。
如果不學(xué)會(huì)沉淀一些經(jīng)驗(yàn)和技巧,將會(huì)降低測(cè)試工作的效率,要想快速提升測(cè)試工作效率,學(xué)會(huì)歸納總結(jié)抽取App測(cè)試共性功能是重中之重。
關(guān)鍵詞: