<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è)試常見(jiàn)問(wèn)題總結(jié)?。ㄟm合新手團(tuán)隊(duì))

          共 3157字,需瀏覽 7分鐘

           ·

          2021-12-17 01:12


          自動(dòng)化測(cè)試是近幾年比較火熱的一個(gè)話(huà)題,想要在軟件測(cè)試這個(gè)行業(yè)繼續(xù)前行,就必須擁有核心競(jìng)爭(zhēng)力,掌握自動(dòng)化測(cè)試技術(shù),是必不可少的一個(gè)技能。

          在《Google軟件測(cè)試之道》一書(shū)中有介紹到:在Google,70%的自動(dòng)化測(cè)試工作集中于單元測(cè)試,20%集中于接口測(cè)試,剩下10%才是UI測(cè)試。

          誠(chéng)然,我們沒(méi)有Google那么完善的機(jī)制和工程師文化,沒(méi)必要一切照搬Google,但Google作為互聯(lián)網(wǎng)2.0時(shí)代最耀眼的一個(gè)公司,它的技術(shù)發(fā)展方向,流程管理等可以說(shuō)是不久的將來(lái),我們也要到達(dá)的方向。選擇適合自己的,落地應(yīng)用,是當(dāng)下我們應(yīng)該做的。目前國(guó)內(nèi)的互聯(lián)網(wǎng)行業(yè),大環(huán)境來(lái)說(shuō),還處在一個(gè)快速發(fā)展,需要流程化標(biāo)準(zhǔn)化的時(shí)期,如何跟上不斷變幻發(fā)展的節(jié)奏,除了不斷了解接觸新的東西,還需要不斷學(xué)習(xí),提升自身,以?xún)?nèi)在的驅(qū)動(dòng)力,去緊跟時(shí)代浪潮。即使做不了弄潮兒,也不能變成時(shí)代淘汰的那一批。


          自動(dòng)化測(cè)試簡(jiǎn)介


          1

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


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

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

          ③回歸的覆蓋率不足;

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

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

          ⑥上線(xià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è)試;


          4

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

          接口自動(dòng)化框架常用組合:

          方案一:Java+TestNG/Junit+Maven/ANT/Gradle+Jenkins+Mysql+Testlink/Redmine
          方案二:JMeter+Maven/ANT/Gradle+Jenkins+Mysql+Testlink/Redmine
          方案三:Python+Unittest/Pytest+Jenkins+Testlink/Redmine
          方案四:Python+Robot Framework+Jenkins+Testlink/Redmine

          UI自動(dòng)化測(cè)試框架常用組合:

          方案一:Java+Selenium/Appium+TestNG/Junit+Maven/ANT/Gradle+Jenkins+Mysql+Testlink/Redmine
          方案二:Python+Selenium/Appium+Unittest/Pytest+Jenkins+Testlink/Redmine
          方案三:Python+Selenium/Appium+Robot Framework+Jenkins+Testlink/Redmine


          通過(guò)上面的一些常見(jiàn)框架,你發(fā)現(xiàn)了什么?它們都擁有共同特性:編程語(yǔ)言+單元測(cè)試框架+掃描編譯工具+持續(xù)集成工具+數(shù)據(jù)庫(kù)+項(xiàng)目管理工具。

          • 編程語(yǔ)言:編寫(xiě)測(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ì)管理;

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


          接口測(cè)試的意義和必要性

          接口,即API,應(yīng)用程序編程接口。以下主要說(shuō)說(shuō)接口測(cè)試的必要性和意義:

          接口測(cè)試實(shí)施在多系統(tǒng)的平臺(tái)架構(gòu)下,有著極為高效的成本收益比(當(dāng)然,單元測(cè)試收益更高,但實(shí)施單元測(cè)試的成本投入更大,技術(shù)要求更高,所以應(yīng)該選擇更適合自身的才是最好的方案)。

          接口測(cè)試天生為高復(fù)雜性的平臺(tái)帶來(lái)高效的缺陷檢測(cè)和質(zhì)量監(jiān)督能力,平臺(tái)復(fù)雜,系統(tǒng)越龐大,接口測(cè)試的效果越明顯。

          總的來(lái)說(shuō),接口測(cè)試是保證高復(fù)雜性系統(tǒng)質(zhì)量的內(nèi)在要求和低成本的經(jīng)濟(jì)利益驅(qū)動(dòng)作用下的最佳方案,主要體現(xiàn)在如下三個(gè)方面:


          1

          節(jié)省測(cè)試成本


          根據(jù)數(shù)據(jù)模型推算,底層的一個(gè)程序BUG可能引發(fā)上層的8個(gè)左右BUG,而且底層的BUG更容易引起全網(wǎng)的死機(jī);接口測(cè)試能夠提供系統(tǒng)復(fù)雜度上升情況下的低成本高效率的解決方案。


          2

          接口測(cè)試不同于單元測(cè)試


          接口測(cè)試是站在用戶(hù)的角度對(duì)系統(tǒng)接口進(jìn)行全面高效持續(xù)的檢測(cè)。


          3

          效益更高

          將接口測(cè)試實(shí)現(xiàn)為自動(dòng)化和持續(xù)集成,當(dāng)系統(tǒng)復(fù)雜度和體積越大,接口測(cè)試的成本就越低,相對(duì)應(yīng)的,效益產(chǎn)出就越高。


          開(kāi)展接口測(cè)試必備的技能


          開(kāi)展接口測(cè)試需要的技能,基本就是以下幾點(diǎn):

          業(yè)務(wù)流:了解系統(tǒng)及內(nèi)部各個(gè)組件之間的業(yè)務(wù)邏輯交互;

          數(shù)據(jù)流:了解接口的I/O(input/output:輸入輸出);

          協(xié)議:包括HTTP協(xié)議,TCP/IP協(xié)議族;

          工具:工具可以輔助我們更好更高效的完成工作,常用的接口測(cè)試工具有:Jmeter、LoadRunner、SoapUI、Postman等;

          數(shù)據(jù)庫(kù)知識(shí):無(wú)論是從數(shù)據(jù)庫(kù)獲取知識(shí),還是確認(rèn)數(shù)據(jù)落地,抑或接口對(duì)數(shù)據(jù)執(zhí)行了哪些操作,都需要確認(rèn),因此數(shù)據(jù)庫(kù)知識(shí)(其實(shí)就是增刪改查)就很有必要;

          接口文檔的幾個(gè)必要點(diǎn):完整性、一致性、容錯(cuò)性;



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


          1

          如何開(kāi)展接口測(cè)試?


          • 首先,調(diào)試單個(gè)接口,保證單個(gè)接口的正確和通暢(類(lèi)似于性能測(cè)試中的基準(zhǔn)測(cè)試);

          • 其次,明確數(shù)據(jù)流,業(yè)務(wù)流;

          • 最后,將N個(gè)接口測(cè)試腳本串起來(lái),執(zhí)行即可;

          最重要的一點(diǎn),別想太多太復(fù)雜的層面,先把最基礎(chǔ)最簡(jiǎn)單的做起來(lái),就成功一大半了,至于擴(kuò)展性的第三方接口、https、定時(shí)任務(wù)、自動(dòng)出測(cè)試報(bào)告、自動(dòng)發(fā)郵件等等功能,這都是不斷累計(jì)和優(yōu)化的,想太多不如行動(dòng)起來(lái),讓接口自動(dòng)化測(cè)試落地,才是我們首先需要考慮的。



          2

          開(kāi)展之前需要明確的問(wèn)題?


          ①現(xiàn)在的測(cè)試對(duì)象包含幾個(gè)頁(yè)面?

          ②每個(gè)頁(yè)面涉及幾個(gè)接口?

          ③分別在哪一步調(diào)用?

          ④每個(gè)接口包含哪些字段?

          ⑤各個(gè)字段對(duì)應(yīng)數(shù)據(jù)庫(kù)哪張表?

          ⑥每個(gè)表中各個(gè)字段是什么意思?

          ⑦各個(gè)接口對(duì)表產(chǎn)生了怎樣的操作?



          3

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


          什么是框架?你可以理解為一個(gè)完整的環(huán),也可以理解為讓接口測(cè)試腳本運(yùn)行的一整套環(huán)境,平臺(tái),隨便什么都可以;一般一個(gè)自動(dòng)化測(cè)試框架包含以下幾點(diǎn)。

          數(shù)據(jù)池:即測(cè)試數(shù)據(jù)的存儲(chǔ)管理,一般集成為一個(gè)data包,其中包括:

          log(日志文件)、report(測(cè)試報(bào)告文件,一般為xml格式)、case-data(單個(gè)接口的測(cè)試數(shù)據(jù),一般為json格式)、server-data(接口業(yè)務(wù)串聯(lián)的數(shù)據(jù),可以用excel管理)

          腳本管理中心:接口測(cè)試腳本的統(tǒng)一管理、存儲(chǔ)、調(diào)度中心,常用的工具有maven、ant等,或者可以使用編程語(yǔ)言中的單元測(cè)試框架提供的功能,選擇自己適用的即可;

          運(yùn)行平臺(tái)一般是借助工具來(lái)運(yùn)行這些測(cè)試腳本,工具可以使用上面提及到的幾種(jemter、loadrunner、soapui等),同樣,選擇合適的很重要;

          持續(xù)集成工具:最常見(jiàn)的就是Jenkins,它的作用就是監(jiān)控外部程序的調(diào)用執(zhí)行,定時(shí)或者觸發(fā)調(diào)度任務(wù),測(cè)試腳本執(zhí)行等功能;

          通信服務(wù):dubbo、spring_boot、thrift等RPC、REST同步調(diào)用服務(wù);

          測(cè)試結(jié)果統(tǒng)計(jì)管理中心:比如testlink,目的是為了測(cè)試結(jié)果自動(dòng)更新上傳,更好的統(tǒng)計(jì)測(cè)試結(jié)果,以便后期的優(yōu)化;

          總而言之,接口自動(dòng)化測(cè)試的意義就是:數(shù)據(jù)與腳本分離,測(cè)試結(jié)果自動(dòng)提交通知,提高測(cè)試腳本和測(cè)試數(shù)據(jù)的維護(hù)便利等等。


          end


          瀏覽 25
          點(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>
                  手机天堂手机板 | 精品一区入口 | 亚洲天堂免费 | 青网草久草视频 | 伊人五月丁香婷婷大香蕉 |