• 
    

      <legend id="6xqnl"></legend>
      北京龍騰測(cè)試

      400-888-9073

      全國(guó)學(xué)習(xí)專線 8:00-22:00
      北京龍騰測(cè)試
      是一家高端測(cè)試培訓(xùn)機(jī)構(gòu),致力于培養(yǎng)中國(guó)軟件測(cè)試行業(yè)中高端人才  為客戶提供軟件測(cè)試解決方案為行業(yè)培養(yǎng)優(yōu)秀的中高端軟件測(cè)試人才  全部小班上課,課后提供視頻,這期學(xué)不會(huì),下期免費(fèi)再學(xué)  
      您當(dāng)前的位置: >北京瑾學(xué)網(wǎng) >北京培訓(xùn)學(xué)校 >Java測(cè)試開發(fā)小技巧

      軟件開發(fā)學(xué)校新聞

      Java測(cè)試開發(fā)小技巧

      發(fā)布時(shí)間:2023-01-12 13:10:50 已幫助: 來(lái)源:北京龍騰測(cè)試

      Java測(cè)試開發(fā)小技巧

      隨著it時(shí)代的發(fā)展JAVA已然是軟件測(cè)試工程師深受歡迎的,那么要如何才能掌握正確的Java測(cè)試開發(fā)操作流程呢,今天小編就教大家七個(gè)小妙招讓你瞬間成為JAVA工程師職業(yè)高手,一起跟我來(lái)了解下吧。

      Java測(cè)試開發(fā)小技巧
       1.使用框架來(lái)用于單元測(cè)試

      Java提供了若干用于單元測(cè)試的框架。TestNG和JUnit是最流行的測(cè)試框架。JUnit和TestNG的一些重要功能:

      ●易于設(shè)置和運(yùn)行。

      ●支持注釋。

      ●允許忽略或分組并一起執(zhí)行某些測(cè)試。

      ●支持參數(shù)化測(cè)試,即通過在運(yùn)行時(shí)指定不同的值來(lái)運(yùn)行單元測(cè)試。

      ●通過與構(gòu)建工具,如Ant,Maven和Gradle集成來(lái)支持自動(dòng)化的測(cè)試執(zhí)行。

      EasyMock是一個(gè)模擬框架,是單元測(cè)試框架,如JUnit和TestNG的補(bǔ)充。EasyMock本身不是一個(gè)完整的框架。它只是添加了創(chuàng)建模擬對(duì)象以便于測(cè)試的能力。例如,我們想要測(cè)試的一個(gè)方法可以調(diào)用從數(shù)據(jù)庫(kù)獲取數(shù)據(jù)的DAO類。在這種情況下,EasyMock可用于創(chuàng)建返回硬編碼數(shù)據(jù)的MockDAO。這使我們能夠輕松地測(cè)試我們意向的方法,而不必?fù)?dān)心數(shù)據(jù)庫(kù)訪問。

      2.謹(jǐn)慎使用測(cè)試驅(qū)動(dòng)開發(fā)!

      測(cè)試驅(qū)動(dòng)開發(fā)(TDD)是一個(gè)軟件開發(fā)過程,在這過程中,在開始任何編碼之前,我們基于需求來(lái)編寫測(cè)試。由于還沒有編碼,測(cè)試最初會(huì)失敗。然后寫入最小量的代碼以通過測(cè)試。然后重構(gòu)代碼,直到被優(yōu)化。

      目標(biāo)是編寫覆蓋所有需求的測(cè)試,而不是一開始就寫代碼,卻可能甚至都不能滿足需求。TDD是偉大的,因?yàn)樗鼘?dǎo)致簡(jiǎn)單的模塊化代碼,且易于維護(hù)??傮w開發(fā)速度加快,容易發(fā)現(xiàn)缺陷。此外,單元測(cè)試被創(chuàng)建作為TDD方法的副產(chǎn)品。

      然而,TDD可能不適合所有的情況。在設(shè)計(jì)復(fù)雜的項(xiàng)目中,專注于最簡(jiǎn)單的設(shè)計(jì)以便于通過測(cè)試用例,而不提前思考可能會(huì)導(dǎo)致巨大的代碼更改。此外,TDD方法難以用于與遺留系統(tǒng),GUI應(yīng)用程序或與數(shù)據(jù)庫(kù)一起工作的應(yīng)用程序交互的系統(tǒng)。另外,測(cè)試需要隨著代碼的改變而更新。

      因此,在決定采用TDD方法之前,應(yīng)考慮上述因素,并應(yīng)根據(jù)項(xiàng)目的性質(zhì)采取措施。

      3.測(cè)量代碼覆蓋率

      代碼覆蓋率衡量(以百分比表示)了在運(yùn)行單元測(cè)試時(shí)執(zhí)行的代碼量。通常,高覆蓋率的代碼包含未檢測(cè)到的錯(cuò)誤的幾率要低,因?yàn)槠涓嗟脑创a在測(cè)試過程中被執(zhí)行。測(cè)量代碼覆蓋率的一些做法包括:

      ●使用代碼覆蓋工具,如Clover,Corbetura,JaCoCo或Sonar。使用工具可以提高測(cè)試質(zhì)量,因?yàn)檫@些工具可以指出未經(jīng)測(cè)試的代碼區(qū)域,讓你能夠開發(fā)開發(fā)額外的測(cè)試來(lái)覆蓋這些領(lǐng)域。

      ●每當(dāng)寫入新功能時(shí),立即寫新的測(cè)試覆蓋。

      ●確保有測(cè)試用例覆蓋代碼的所有分支,即if/else語(yǔ)句。

      測(cè)試是開發(fā)的一個(gè)非常重要的方面,可以在很大程度上決定一個(gè)應(yīng)用程序的命運(yùn)。良好的測(cè)試可以在早期捕獲導(dǎo)致應(yīng)用程序崩潰的問題,但較差的測(cè)試往往總是導(dǎo)致故障和停機(jī)。

      雖然有三種主要類型的軟件測(cè)試:?jiǎn)卧獪y(cè)試,功能測(cè)試和集成測(cè)試,但是在這篇博文中,我們將討論開發(fā)人員級(jí)單元測(cè)試。在我深入講述具體細(xì)節(jié)之前,讓我們先來(lái)回顧一下這三種測(cè)試的詳細(xì)內(nèi)容。

      軟件開發(fā)測(cè)試的類型

      單元測(cè)試用于測(cè)試各個(gè)代碼組件,并確保代碼按照預(yù)期的方式工作。單元測(cè)試由開發(fā)人員編寫和執(zhí)行。大多數(shù)情況下,使用JUnit或TestNG之類的測(cè)試框架。測(cè)試用例通常是在方法級(jí)別寫入并通過自動(dòng)化執(zhí)行。

      集成測(cè)試檢查系統(tǒng)是否作為一個(gè)整體而工作。集成測(cè)試也由開發(fā)人員完成,但不是測(cè)試單個(gè)組件,而是旨在跨組件測(cè)試。系統(tǒng)由許多單獨(dú)的組件組成,如代碼,數(shù)據(jù)庫(kù),Web服務(wù)器等。集成測(cè)試能夠發(fā)現(xiàn)如組件布線,網(wǎng)絡(luò)訪問,數(shù)據(jù)庫(kù)問題等問題。

      功能測(cè)試通過將給定輸入的結(jié)果與規(guī)范進(jìn)行比較來(lái)檢查每個(gè)功能是否正確實(shí)現(xiàn)。通常,這不是在開發(fā)人員級(jí)別的。功能測(cè)試由單獨(dú)的測(cè)試團(tuán)隊(duì)執(zhí)行。測(cè)試用例基于規(guī)范編寫,并且實(shí)際結(jié)果與預(yù)期結(jié)果進(jìn)行比較。有若干工具可用于自動(dòng)化的功能測(cè)試,如Selenium和QTP。

      如前所述,單元測(cè)試可幫助開發(fā)人員確定代碼是否正常工作。在這篇博文中,我將提供在Java中單元測(cè)試的有用提示。

      1.使用框架來(lái)用于單元測(cè)試

      Java提供了若干用于單元測(cè)試的框架。TestNG和JUnit是最流行的測(cè)試框架。JUnit和TestNG的一些重要功能:

      ●易于設(shè)置和運(yùn)行。

      ●支持注釋。

      ●允許忽略或分組并一起執(zhí)行某些測(cè)試。

      ●支持參數(shù)化測(cè)試,即通過在運(yùn)行時(shí)指定不同的值來(lái)運(yùn)行單元測(cè)試。

      ●通過與構(gòu)建工具,如Ant,Maven和Gradle集成來(lái)支持自動(dòng)化的測(cè)試執(zhí)行。

      EasyMock是一個(gè)模擬框架,是單元測(cè)試框架,如JUnit和TestNG的補(bǔ)充。EasyMock本身不是一個(gè)完整的框架。它只是添加了創(chuàng)建模擬對(duì)象以便于測(cè)試的能力。例如,我們想要測(cè)試的一個(gè)方法可以調(diào)用從數(shù)據(jù)庫(kù)獲取數(shù)據(jù)的DAO類。在這種情況下,EasyMock可用于創(chuàng)建返回硬編碼數(shù)據(jù)的MockDAO。這使我們能夠輕松地測(cè)試我們意向的方法,而不必?fù)?dān)心數(shù)據(jù)庫(kù)訪問。

      2.謹(jǐn)慎使用測(cè)試驅(qū)動(dòng)開發(fā)!

      測(cè)試驅(qū)動(dòng)開發(fā)(TDD)是一個(gè)軟件開發(fā)過程,在這過程中,在開始任何編碼之前,我們基于需求來(lái)編寫測(cè)試。由于還沒有編碼,測(cè)試最初會(huì)失敗。然后寫入最小量的代碼以通過測(cè)試。然后重構(gòu)代碼,直到被優(yōu)化。

      目標(biāo)是編寫覆蓋所有需求的測(cè)試,而不是一開始就寫代碼,卻可能甚至都不能滿足需求。TDD是偉大的,因?yàn)樗鼘?dǎo)致簡(jiǎn)單的模塊化代碼,且易于維護(hù)。總體開發(fā)速度加快,容易發(fā)現(xiàn)缺陷。此外,單元測(cè)試被創(chuàng)建作為TDD方法的副產(chǎn)品。

      然而,TDD可能不適合所有的情況。在設(shè)計(jì)復(fù)雜的項(xiàng)目中,專注于最簡(jiǎn)單的設(shè)計(jì)以便于通過測(cè)試用例,而不提前思考可能會(huì)導(dǎo)致巨大的代碼更改。此外,TDD方法難以用于與遺留系統(tǒng),GUI應(yīng)用程序或與數(shù)據(jù)庫(kù)一起工作的應(yīng)用程序交互的系統(tǒng)。另外,測(cè)試需要隨著代碼的改變而更新。

      因此,在決定采用TDD方法之前,應(yīng)考慮上述因素,并應(yīng)根據(jù)項(xiàng)目的性質(zhì)采取措施。

      3.測(cè)量代碼覆蓋率

      代碼覆蓋率衡量(以百分比表示)了在運(yùn)行單元測(cè)試時(shí)執(zhí)行的代碼量。通常,高覆蓋率的代碼包含未檢測(cè)到的錯(cuò)誤的幾率要低,因?yàn)槠涓嗟脑创a在測(cè)試過程中被執(zhí)行。測(cè)量代碼覆蓋率的一些做法包括:

      ●使用代碼覆蓋工具,如Clover,Corbetura,JaCoCo或Sonar。使用工具可以提高測(cè)試質(zhì)量,因?yàn)檫@些工具可以指出未經(jīng)測(cè)試的代碼區(qū)域,讓你能夠開發(fā)開發(fā)額外的測(cè)試來(lái)覆蓋這些領(lǐng)域。

      ●每當(dāng)寫入新功能時(shí),立即寫新的測(cè)試覆蓋。

      ●確保有測(cè)試用例覆蓋代碼的所有分支,即if/else語(yǔ)句。高代碼覆蓋不能測(cè)試是完美的,所以要小心!

      4.盡可能將測(cè)試數(shù)據(jù)外部化

      在JUnit4之前,測(cè)試用例要運(yùn)行的數(shù)據(jù)必須硬編碼到測(cè)試用例中。這導(dǎo)致了限制,為了使用不同的數(shù)據(jù)運(yùn)行測(cè)試,測(cè)試用例代碼必須修改。但是,JUnit4以及TestNG支持外部化測(cè)試數(shù)據(jù),以便可以針對(duì)不同的數(shù)據(jù)集運(yùn)行測(cè)試用例,而無(wú)需更改源代碼。

      5.使用斷言而不是Print語(yǔ)句

      許多新手開發(fā)人員習(xí)慣于在每行代碼之后編寫System.out.println語(yǔ)句來(lái)驗(yàn)證代碼是否正確執(zhí)行。這種做法常常擴(kuò)展到單元測(cè)試,從而導(dǎo)致測(cè)試代碼變得雜亂。除了混亂,這需要開發(fā)人員手動(dòng)干預(yù)去驗(yàn)證控制臺(tái)上打印的輸出,以檢查測(cè)試是否成功運(yùn)行。更好的方法是使用自動(dòng)指示測(cè)試結(jié)果的斷言。

      6.構(gòu)建具有確定性結(jié)果的測(cè)試

      一些方法不具有確定性結(jié)果,即該方法的輸出不是預(yù)先知道的,并且每一次都可以改變。例如,考慮以下代碼,它有一個(gè)復(fù)雜的函數(shù)和一個(gè)計(jì)算執(zhí)行復(fù)雜函數(shù)所需時(shí)間(以毫秒為單位)的方法:

      7.除了正面情景外,還要測(cè)試負(fù)面情景和邊緣情況

      通常,開發(fā)人員會(huì)花費(fèi)大量的時(shí)間和精力編寫測(cè)試用例,以確保應(yīng)用程序按預(yù)期工作。然而,測(cè)試負(fù)面測(cè)試用例也很重要。負(fù)面測(cè)試用例指的是測(cè)試系統(tǒng)是否可以處理無(wú)效數(shù)據(jù)的測(cè)試用例。例如,考慮一個(gè)簡(jiǎn)單的函數(shù),它能讀取長(zhǎng)度為8的字母數(shù)字值,由用戶鍵入。除了字母數(shù)字值,應(yīng)測(cè)試以下負(fù)面測(cè)試用例:

      ●用戶指定非字母數(shù)字值,如特殊字符。

      ●用戶指定空值。

      ●用戶指定大于或小于8個(gè)字符的值。


      上一篇:美國(guó)留學(xué)有什么優(yōu)勢(shì)
      下一篇:軟件測(cè)試工程師的前景怎么樣
      關(guān)于我們 | 聯(lián)系我們 | 北京龍騰測(cè)試地址:北京市朝陽(yáng)區(qū)立路218號(hào)湯立路218號(hào) 咨詢電話:400-888-9073
      滬ICP備18018862號(hào)-2 網(wǎng)站地圖 注冊(cè) 登錄 招生合作 版權(quán)/投訴 免責(zé)聲明 更新時(shí)間:2025-06-05
      日韩在线视频播放一区二区三区_亚洲女人自慰精品久久迅雷_国产高级高潮一级毛片_亚洲AV极品无码专区亚洲AV

      • 
        

          <legend id="6xqnl"></legend>
          亚洲一本之道精品乱码 | 久久免费看少妇A级精品视频 | 日本人妖资源站在线观看 | 在线播放国产精品一区二区 | 天天看片免费在线播放 | 先锋影音资源影音中在线不卡 |