<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          自動(dòng)化測(cè)試框架,YYDS

          共 2748字,需瀏覽 6分鐘

           ·

          2022-01-19 10:47

          無(wú)論是在自動(dòng)化測(cè)試實(shí)踐,還是日常交流中,經(jīng)常聽(tīng)到一個(gè)詞:框架。之前學(xué)習(xí)自動(dòng)化測(cè)試的過(guò)程中,一直對(duì)“框架”這個(gè)詞知其然不知其所以然。


          最近看了很多自動(dòng)化相關(guān)的資料,加上自己的一些實(shí)踐,算是對(duì)“框架”有了一些理解,這篇文就聊聊自動(dòng)化框架的一些事吧。




          01
          什么是框架


          框架(framework)是一個(gè)框子—指其約束性,也是一個(gè)架子—指其支撐性。是一個(gè)基本概念上的結(jié)構(gòu),用于去解決或者處理復(fù)雜的問(wèn)題。


          在軟件工程中,框架(Framework)是整個(gè)或部分系統(tǒng)的可重用設(shè)計(jì),表現(xiàn)為一組抽象構(gòu)件及構(gòu)件實(shí)例間交互的方法;

          另一種定義認(rèn)為,框架是可被應(yīng)用開(kāi)發(fā)者定制的應(yīng)用骨架,前者是從應(yīng)用方面而后者是從目的方面給出的定義。

          ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ——?百度百科

          上面的概念比較抽象,換另一個(gè)角度解釋:

          • 框架本身一般不完整到可以解決特定問(wèn)題;

          • 框架天生就是為擴(kuò)展而設(shè)計(jì)的;

          • 框架里面可以為后續(xù)擴(kuò)展的組件提供很多輔助性、支撐性的方便易用的工具,也就是說(shuō)框架是配套了一些幫助解決某類問(wèn)題的庫(kù)(libraries)或工具(tools)。


          約束性:針對(duì)解決特定問(wèn)題的軟件框架會(huì)首先定義問(wèn)題的邊界,進(jìn)而將相關(guān)的軟件組件約束在這個(gè)邊界內(nèi),保持框架在解決問(wèn)題方面上的內(nèi)聚性。

          支撐性:框架本身不解決什么問(wèn)題,但給了解決問(wèn)題的相關(guān)組件一個(gè)組合底子,這個(gè)底子的科學(xué)性和易用性直接影響在此之上進(jìn)一步開(kāi)發(fā)的科學(xué)性和方便性。 

          ——?知乎

          上面的2個(gè)對(duì)框架的解釋和定義,看起來(lái)也并沒(méi)有很簡(jiǎn)單直白的說(shuō)清楚什么是框架,下面是我的一些理解:

          定義:
          為解決某些特定問(wèn)題而約束邊界,支撐整個(gè)問(wèn)題解決方案,配套了一些解決問(wèn)題的組件而構(gòu)成的工具。
          • 特定問(wèn)題:什么問(wèn)題?——自動(dòng)化測(cè)試
          • 約束邊界:為什么約束?——明確測(cè)試范圍和目的
          • 解決方案:用什么方案解決問(wèn)題?——編程語(yǔ)言+工具+其他
          • 構(gòu)成工具的組件:哪些組件?—— 用例、腳本、數(shù)據(jù)、日志、報(bào)告、通知
          • 工具:特點(diǎn)是什么?—— 靈活性、可擴(kuò)展性、高內(nèi)聚低耦合




          02
          自動(dòng)化測(cè)試


          1、為什么要進(jìn)行自動(dòng)化測(cè)試?

          • 黑盒測(cè)試回歸效率低

          • 手動(dòng)測(cè)試的偶然性和不確定性

          • 回歸的覆蓋率不足

          • 交付的產(chǎn)品質(zhì)量無(wú)法保證,全靠評(píng)估

          • 系統(tǒng)越復(fù)雜,問(wèn)題越多

          • 上線時(shí)間長(zhǎng)、構(gòu)件失敗率高導(dǎo)致的蝴蝶效應(yīng)(迭代快,加班多)


          2、自動(dòng)化測(cè)試能解決什么問(wèn)題?

          • 提高出現(xiàn)問(wèn)題后的響應(yīng)速率

          • 降低回歸成本

          • 提高回歸覆蓋率

          • 提高回歸效率

          • 提高回歸的穩(wěn)定性


          3、自動(dòng)化測(cè)試的不足有哪些?

          • 無(wú)法減少成本投入,而是為了加快測(cè)試結(jié)果反饋,提升測(cè)試質(zhì)量

          • 自動(dòng)化適用于回歸和冒煙,而不是發(fā)現(xiàn)BUG

          • 錄制回放功能是雞肋,可視化并不是一個(gè)很好的做法

          • 不是所有所有系統(tǒng)所有功能都適合做自動(dòng)化測(cè)試

          • 微信搜索公眾號(hào):Java項(xiàng)目精選,回復(fù):java 領(lǐng)取資料 。




          03
          自動(dòng)化測(cè)試框架


          構(gòu)成框架的組件,最起碼應(yīng)該具備以下的功能:


          • Log:日志記錄和管理功能,針對(duì)不同的情況,設(shè)置不同的日志級(jí)別,方便定位問(wèn)題;

          • Report:測(cè)試報(bào)告生成和管理以及即時(shí)通知,測(cè)試結(jié)果快速響應(yīng);

          • Source:配置文件、靜態(tài)資源的管理,遵循高內(nèi)聚低耦合原則;

          • Common:公共函數(shù)、方法以及通用操作的管理,遵循高內(nèi)聚低耦合原則;

          • TestCase:測(cè)試用例管理功能,一個(gè)功能點(diǎn)對(duì)應(yīng)一個(gè)或者多個(gè)case,盡可能的提高覆蓋率;

          • TestData:測(cè)試數(shù)據(jù)管理功能,數(shù)據(jù)與腳本分離,降低維護(hù)成本,提高可移植性;

          • TestSuite:測(cè)試組件管理功能,針對(duì)不同場(chǎng)景不同需求,組裝構(gòu)建不同的測(cè)試框架,遵循框架的靈活性和擴(kuò)展性;

          • Statistics:測(cè)試結(jié)果統(tǒng)計(jì)管理功能,每次執(zhí)行測(cè)試的結(jié)果統(tǒng)計(jì)、分析、對(duì)比以及反饋,數(shù)據(jù)驅(qū)動(dòng),為軟件優(yōu)化和流程改進(jìn),提供參考;

          • Continuous:持續(xù)集成環(huán)境,即CI環(huán)境,包括測(cè)試文件提交、掃描編譯、執(zhí)行測(cè)試、生成報(bào)告及時(shí)通知等功能,持續(xù)集成是自動(dòng)化測(cè)試的核心!




          04
          常見(jiàn)的自動(dòng)化測(cè)試框架


          1、接口自動(dòng)化框架:

          java+testNG/Junit+Maven/Ant/Gradle+Jenkins+MySQL+testlink/redmine

          python+unittest/pytest+Git+Jenkins+MySQL+testlink/redmine

          python+rebot framework+unittest/pytest+Git+Jenkins+MySQL+testlink/redmine

          jmeter+Maven/Ant+Jenkins+MySQL+testlink/redmine


          2、UI自動(dòng)化測(cè)試框架

          java+selenium/appium+testNG/Junit+Maven/Ant/Gradle+Jenkins+MySQL+testlink/redmine

          python+selenium/appium+unittest/pytest+Git+Jenkins+MySQL+testlink/redmine

          python+rebot framework+unittest/pytest+Git+Jenkins+MySQL+testlink/redmine


          通過(guò)上面的一些常見(jiàn)框架,你發(fā)現(xiàn)了什么?

          它們都擁有共同特性:編程語(yǔ)言+單元測(cè)試框架+掃描編譯工具+持續(xù)集成工具+數(shù)據(jù)庫(kù)+項(xiàng)目管理工具

          • 編程語(yǔ)言:編寫測(cè)試腳本、日志記錄和輸出;

          • 單元測(cè)試框架:提供測(cè)試腳本運(yùn)行、異常校驗(yàn)等一些列的配置;

          • 掃描編譯工具:測(cè)試文件掃描編譯,一般配合持續(xù)集成工具使用效果更佳;

          • 持續(xù)集成工具:Jenkins,經(jīng)典的持續(xù)集成工具;

          • 數(shù)據(jù)庫(kù):測(cè)試數(shù)據(jù)管理;

          • 項(xiàng)目管理工具:測(cè)試結(jié)果統(tǒng)計(jì)管理;


          PS:自動(dòng)化測(cè)試工具太多,上面只是列舉了使用率較高以及我個(gè)人還算了解的一些開(kāi)源工具,具體的框架選型,需要根據(jù)具體項(xiàng)目特點(diǎn)和團(tuán)隊(duì)、個(gè)人技術(shù)特點(diǎn)來(lái)決定!


          2022年,我們一起加油(班)!


          往期推薦


          空降的大廠 CTO,半年內(nèi)成功把團(tuán)隊(duì)帶垮了!
          程序員床上二三事 …
          “阿里味” PUA 編程語(yǔ)言,火上GitHub熱榜,標(biāo)星2.7K!



          長(zhǎng)按進(jìn)入小程序,進(jìn)行打卡簽到


          小程序送書福利更新啦!

          (更多精彩值得期待……)


          2T技術(shù)資源大放送!包括但不限于:C/C++,Linux,Python,Java,人工智能,考研,軟考,英語(yǔ),等等。在公眾號(hào)內(nèi)回復(fù)「資源」,即可免費(fèi)獲取!回復(fù)「社群」,可以邀請(qǐng)你加入讀者群!


          “在看”點(diǎn)一點(diǎn)

          知足常樂(lè)??

          ???????

          瀏覽 28
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  拍拍拍拍拍拍拍拍拍拍拍拍拍拍拍拍拍电影 | 狼友在线视频观看 | h网址在线观看 | 天堂va欧美ⅴa亚洲va一夜 | 国产爱搞|