<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      如何開展單元測(cè)試

      1、是什么

      單元測(cè)試(Unit Testing)又稱為模塊測(cè)試,是針對(duì)程序模塊來進(jìn)行正確性檢驗(yàn)的測(cè)試工作。

      • 程序模塊是軟件設(shè)計(jì)的最小單位,程序單元是應(yīng)用的最小可測(cè)試部件

        ? 在面向過程編程中,一個(gè)單元就是單個(gè)程序、函數(shù)、過程等

        ? 在面向?qū)ο缶幊讨校钚卧褪欠椒ǎɑ悾ǔ悾⒊橄箢悺⒒蛘吲缮悾ㄗ宇悾┲械姆椒?/span>

      2、測(cè)什么

      1、并不是所有的項(xiàng)目都需要單元測(cè)試,一次性的項(xiàng)目不需要單元測(cè)試,持續(xù)迭代的產(chǎn)品需要單元測(cè)試,
      通常只有底層模塊或者核心模塊的測(cè)試中才會(huì)采用單元測(cè)試 2、并不是所有的"單元"都需要單元測(cè)試,服務(wù)代碼、管理者代碼、存儲(chǔ)代碼都應(yīng)該是簡(jiǎn)單的順序執(zhí)行、沒有邏輯的代碼,
      不需要單元測(cè)試。同理,單元測(cè)試的代碼不需要單元測(cè)試——單元測(cè)試的代碼應(yīng)該只包含簡(jiǎn)單的順序執(zhí)行、沒有邏輯的代碼

      2.1 單元測(cè)試規(guī)則

      1、必須進(jìn)行測(cè)試的是通用、公共的Utils函數(shù) 2、復(fù)雜交互操作需要進(jìn)行一定的測(cè)試 3、網(wǎng)絡(luò)請(qǐng)求可以交給系統(tǒng)測(cè)試,或者不進(jìn)行測(cè)試

      2.2 可測(cè)試的代碼

      對(duì)于一個(gè)邏輯單元(方法),依賴于兩個(gè)方面:一個(gè)是輸入的參數(shù),另一個(gè)是對(duì)外部的方法調(diào)用
      只要確保輸入?yún)?shù)不包含外部環(huán)境的上下文,同時(shí)內(nèi)部代碼對(duì)外部的調(diào)用也不包含環(huán)境上下文的訪問,這個(gè)方法就是可單元測(cè)試的

      2.3 判斷可測(cè)試的代碼

      1、方法的運(yùn)行是否需要mock
      2、方法是否可以直接運(yùn)行
      3、方法的參數(shù)是否可以自由模擬,不依賴外部環(huán)境

      2.4 改造代碼

      如果代碼里有邏輯,但是不可單元測(cè)試的話,就需要改造代碼
      首先隔離邏輯代碼和外部環(huán)境代碼,再對(duì)邏輯代碼進(jìn)行單元測(cè)試

      3、怎么測(cè)

      3.1 單元測(cè)試的寫法

      1、通過提供預(yù)期的輸入和預(yù)期的結(jié)果,與單元的實(shí)際運(yùn)行結(jié)果進(jìn)行對(duì)比,就可以知道單元的工作是否和預(yù)期的一致
      2、各種輸入?yún)?shù)的邊界條件都需要測(cè)試到
      3、單元測(cè)試的覆蓋率可以幫助識(shí)別單元測(cè)試是否存在沒有運(yùn)行到的代碼

      3.2 命名方法

      1、測(cè)試代碼和業(yè)務(wù)代碼的組織架構(gòu)要保持一致,一一對(duì)應(yīng)
      2、單元測(cè)試的類名后加Test
      3、單元測(cè)試的方法前加test
      4、處于同一包名下,方便訪問protected類型的方法

      3.3 單元測(cè)試執(zhí)行

      1、構(gòu)建輸入?yún)?shù),并預(yù)測(cè)該輸入所產(chǎn)生的輸出
      2、調(diào)用要測(cè)試的目標(biāo)方法,獲取輸出
      3、Assert目標(biāo)方法的輸出是否和預(yù)期的輸出一致

      3.3.1 輸入數(shù)據(jù)

      1、被測(cè)試函數(shù)的輸入?yún)?shù)
      2、被測(cè)試函數(shù)內(nèi)部需要讀取的全局靜態(tài)變量
      3、被測(cè)試函數(shù)內(nèi)部需要讀取的成員變量
      4、函數(shù)內(nèi)部調(diào)用子函數(shù)獲得的數(shù)據(jù)
      5、函數(shù)內(nèi)部調(diào)用子函數(shù)改寫的數(shù)據(jù)
      6、嵌入式系統(tǒng)中,在中斷調(diào)用時(shí)改寫的數(shù)據(jù)

      3.3.2 預(yù)計(jì)輸出

      1、被測(cè)試函數(shù)的返回值
      2、被測(cè)試函數(shù)的輸出參數(shù)
      3、被測(cè)試函數(shù)所改寫的成員變量
      4、被測(cè)試函數(shù)所改寫的全局變量
      5、被測(cè)試函數(shù)中進(jìn)行的文件更新
      6、被測(cè)試函數(shù)中進(jìn)行的數(shù)據(jù)庫(kù)更新
      7、被測(cè)試函數(shù)中進(jìn)行的消息隊(duì)列更新

      3.4 原則

      1、覆蓋分支和循環(huán)條件的所有路徑
      2、每個(gè)理想的測(cè)試Case獨(dú)立于其它Case

      4、誰來測(cè)

      單元測(cè)試更偏技術(shù),它們通常關(guān)注代碼細(xì)節(jié),甚或是編程語言特有的概念,所以編寫單元測(cè)試主要應(yīng)該由研發(fā)負(fù)責(zé)
      測(cè)試人員更了解如何制定測(cè)試計(jì)劃,根據(jù)特定分析,如等價(jià)類劃分和邊界值分析,定義有價(jià)值的值。
      因此,程序員需要從測(cè)試人員那里“竊取”這類知識(shí),
      或者,他們可以和測(cè)試人員結(jié)對(duì),一起討論需要編寫的測(cè)試,但是,之后應(yīng)該由程序員實(shí)現(xiàn)它們 條件允許,結(jié)對(duì)是最好的選擇

      5、何時(shí)測(cè)

      開發(fā)過程中,單元測(cè)試應(yīng)該來測(cè)試那些可能會(huì)出錯(cuò)的地方,或是那些邊界情況
      維護(hù)過程中,單元測(cè)試應(yīng)該跟著QA的bug report來走,每一個(gè)bug都應(yīng)該有個(gè)單元測(cè)試。
      于是研發(fā)就會(huì)對(duì)自己的代碼變更有兩個(gè)自信,一是bug被fixed,二是相同的bug不會(huì)再次出現(xiàn)

      6、怎么測(cè)

      團(tuán)隊(duì)制度,單元測(cè)試是團(tuán)隊(duì)成熟度的基本標(biāo)志
      把單元測(cè)試執(zhí)行、代碼覆蓋率統(tǒng)計(jì)和持續(xù)集成流水線做集成,以確保每次代碼遞交,都會(huì)自動(dòng)觸發(fā)單元測(cè)試,
      并在單元測(cè)試執(zhí)行過程中自動(dòng)統(tǒng)計(jì)代碼覆蓋率,最后以“單元測(cè)試通過率”和“代碼覆蓋率”為標(biāo)準(zhǔn)來決定本次代碼遞交是否能夠被接受。

      7、局限

      1、單元測(cè)試只測(cè)試程序單元自身的功能
      2、單元測(cè)試只能表明測(cè)到的問題,不能表明不存在未測(cè)試到的錯(cuò)誤
      3、單元測(cè)試不能發(fā)現(xiàn)集成錯(cuò)誤、性能問題、或者其他系統(tǒng)級(jí)別的問題,結(jié)合其他軟件測(cè)試活動(dòng)更為有效

      研發(fā)可以向QA學(xué)習(xí)一些設(shè)計(jì)測(cè)試用例的方法。

      不能忽視的是,單元測(cè)試還要考慮成本和收益

       

      posted @ 2024-11-04 20:02  海布里Simple  閱讀(559)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 午夜爽爽爽男女污污污网站| 97欧美精品系列一区二区| 久久国产精品不只是精品| 国产一级黄色片在线观看| 亚洲av永久无码天堂影院| 日韩欧美不卡一卡二卡3卡四卡2021免费| 久久国产成人高清精品亚洲| 人人爽亚洲aⅴ人人爽av人人片| 天堂在线最新版在线天堂| 国产精品福利自产拍久久| 久久精品国产99国产精品严洲| 久久人体视频| 国产特级毛片aaaaaa毛片| 日韩中文字幕亚洲精品| 激情综合五月| 国产91精品丝袜美腿在线| 成在线人视频免费视频| 自拍偷拍视频一区二区三区| 日韩av裸体在线播放| 国产精品夜夜春夜夜爽久久小说| 日韩视频一区二区三区视频| 国产91特黄特色A级毛片| 久久综合久中文字幕青草| 国产久久热这里只有精品| 国产毛片三区二区一区| 人妻少妇久久久久久97人妻| 国产精品一区二区三区av| 亚洲AV高清一区二区三区尤物| 色欲av久久一区二区三区久| 少妇熟女久久综合网色欲| 欧美亚洲一区二区三区在线| 4480yy亚洲午夜私人影院剧情| 九九热在线免费视频播放| 国产精品va无码一区二区| 国产精品国产亚洲区久久| 东京热一精品无码av| 国产成人精品一区二区三区无码| 热久久美女精品天天吊色| 久久月本道色综合久久| 宜昌市| 国产第一页浮力影院入口|