• <menu id="w2i4a"></menu>
  • logo Parasoft 行業(yè)資訊(一)

    文檔首頁>>Parasoft 行業(yè)資訊(一)>>Parasoft:利用自動(dòng)化來創(chuàng)建高覆蓋率的API測(cè)試套件

    Parasoft:利用自動(dòng)化來創(chuàng)建高覆蓋率的API測(cè)試套件


    Parasoft:利用自動(dòng)化來創(chuàng)建高覆蓋率的API測(cè)試套件

    應(yīng)用程序編程接口(API)是應(yīng)用程序的服務(wù)層。它們連接數(shù)據(jù)層和表示層(UI),并驅(qū)動(dòng)用戶與應(yīng)用程序交互的方式。

    如果API無法正確響應(yīng)用戶活動(dòng),則說明該應(yīng)用程序已損壞。開發(fā)人員和測(cè)試人員有責(zé)任確保所連接的API在其應(yīng)用程序中正常工作。

    API測(cè)試對(duì)于識(shí)別應(yīng)用程序多層中的缺陷并確保無縫的客戶體驗(yàn)是必不可少的。 API測(cè)試包括:

    • 服務(wù)測(cè)試
    • 合同測(cè)試
    • 組件測(cè)試
    • 場(chǎng)景測(cè)試
    • 負(fù)載/性能測(cè)試
    • 安全測(cè)試
    • 全渠道測(cè)試


    執(zhí)行API測(cè)試具有挑戰(zhàn)性,因?yàn)樗枰环N技術(shù)方法來針對(duì)各種消息格式和協(xié)議設(shè)計(jì)測(cè)試用例。它還需要了解組織的業(yè)務(wù)規(guī)則,以一起正確使用正確的API。嘗試使用手動(dòng)方法測(cè)試API非常耗時(shí),并且可能導(dǎo)致測(cè)試推遲到開發(fā)周期的后期。

    自動(dòng)化的API測(cè)試使您能夠?qū)?yīng)用程序進(jìn)行防彈防御。它可以盡早發(fā)現(xiàn)錯(cuò)誤,評(píng)估構(gòu)建的強(qiáng)度,并導(dǎo)致更快的軟件發(fā)布。由于API測(cè)試可以自動(dòng)化并且可以連續(xù)運(yùn)行,因此您可以確保應(yīng)用程序符合業(yè)務(wù)期望,同時(shí)還可以驗(yàn)證功能準(zhǔn)確性。


    自動(dòng)化API測(cè)試的利弊


    有了正確的API測(cè)試工具和流程,您的團(tuán)隊(duì)將獲得自動(dòng)化的所有好處。沒有它們,API測(cè)試會(huì)很快變得不堪重負(fù)。

    優(yōu)點(diǎn)

    • 提供端到端方案的可維護(hù)的自動(dòng)化。
    • 打開開發(fā)人員與測(cè)試之間的溝通渠道。
    • 減少診斷和修復(fù)時(shí)間。

    缺點(diǎn)

    • 測(cè)試人員不知道如何測(cè)試API或如何使用API。
    • 需要專業(yè)技能和工具才能獲得全面的測(cè)試范圍。
    • 沒有人愿意這樣做。

    您可以通過將高級(jí)測(cè)試技術(shù)集成到現(xiàn)有測(cè)試中來克服這些挑戰(zhàn)。首先,讓我們看一下API測(cè)試的創(chuàng)建。


    創(chuàng)建API測(cè)試的挑戰(zhàn)


    建立API測(cè)試自動(dòng)化實(shí)踐的最大挑戰(zhàn)之一就是創(chuàng)建API測(cè)試。適當(dāng)?shù)臏y(cè)試提出了入門(或擴(kuò)展現(xiàn)有的API測(cè)試套件)的障礙。

    此問題的一部分是純粹基于技術(shù)知識(shí)或書面API規(guī)范(如果存在)編寫API測(cè)試所需的領(lǐng)域知識(shí)。這不是測(cè)試人員的常用領(lǐng)域。大多數(shù)具備必要知識(shí)的開發(fā)人員都不會(huì)參與此級(jí)別的測(cè)試。他們?cè)谄渌胤接袃?yōu)先事項(xiàng)。

    考慮兩種互補(bǔ)的方法:

    • 自上而下的方法。測(cè)試方案是根據(jù)常規(guī)應(yīng)用程序的使用和測(cè)試創(chuàng)建的。
    • 自下而上的方法。測(cè)試基于設(shè)計(jì)意圖。


    結(jié)合使用自頂向下和自底向上方法進(jìn)行API測(cè)試創(chuàng)建


    大多數(shù)應(yīng)用程序提供并使用多個(gè)API。有些是眾所周知的。有些甚至可能被記錄在案。引擎蓋下通常有很多活動(dòng)部件,因此開始進(jìn)行API測(cè)試非常困難。

    在自上而下的方法中,API交互是通過工具自動(dòng)化發(fā)現(xiàn)的,這是通常使用和集成測(cè)試的一部分。

    另一個(gè)攻擊角度是自下而上的方法,是根據(jù)設(shè)計(jì)意圖創(chuàng)建API測(cè)試。它通常是組件測(cè)試的一部分,并借助工具進(jìn)行輔助。

    自上而下(集成測(cè)試)和自下而上(組件測(cè)試)方法的結(jié)合克服了測(cè)試創(chuàng)建的障礙,并增加了API測(cè)試的覆蓋范圍。請(qǐng)參見下圖。

    按用途創(chuàng)建API測(cè)試

    捕獲API測(cè)試方案的最佳方法之一是在生產(chǎn)和測(cè)試中都使用產(chǎn)品的現(xiàn)有用法。利用智能記錄和回放功能,可以創(chuàng)建可重復(fù)使用的測(cè)試和方案。

    使用SOAtest Smart API Test Generator等工具,您可以記錄在應(yīng)用程序內(nèi)部發(fā)生的API交互。該工具使用機(jī)器學(xué)習(xí)將復(fù)雜的流量組織成API使用模式。這樣就可以使用現(xiàn)有的手動(dòng)測(cè)試來創(chuàng)建一套API測(cè)試,以使用UI提取、過濾和創(chuàng)建API測(cè)試方案。

    然后,SOAtest使用AI來識(shí)別模式并建立數(shù)據(jù)關(guān)系以創(chuàng)建API測(cè)試模板。您可以修改和重復(fù)使用帶有變體的模板。這些測(cè)試可用于安全性和性能測(cè)試。更重要的是,這些測(cè)試一旦創(chuàng)建,便會(huì)與UI和基礎(chǔ)應(yīng)用程序分離,并且其依賴關(guān)系可以僅通過API測(cè)試來行使。

    API流量記錄和分析到測(cè)試場(chǎng)景中,可以擴(kuò)展到使用Selenium等工具進(jìn)行的自動(dòng)化UI測(cè)試。發(fā)起API調(diào)用的應(yīng)用程序的任何使用,無論是手動(dòng)還是自動(dòng)的,都可以用來創(chuàng)建API測(cè)試。也可以將錄制的方案與可追溯性要求相關(guān)聯(lián)。

    記錄后,可以在SOAtest中對(duì)這些方案進(jìn)行調(diào)查和修改,如下所示。

    SOAtest檢測(cè)各種API調(diào)用和發(fā)生的數(shù)據(jù)交互。然后可以根據(jù)需要修改方案和數(shù)據(jù)有效載荷。一旦理解了模式,就可以將斷言插入場(chǎng)景中以驗(yàn)證正確的值和行為。

    完全基于現(xiàn)有測(cè)試技術(shù)創(chuàng)建即用型API測(cè)試套件的能力可以快速創(chuàng)建具有重用和擴(kuò)展功能的測(cè)試。這是通過API測(cè)試的最大障礙之一的捷徑。

    通過(服務(wù))設(shè)計(jì)創(chuàng)建API測(cè)試

    您可能會(huì)想,“我們不知道API的設(shè)計(jì)。其中大多數(shù)都沒有記錄!”在大多數(shù)情況下,這是正確的。但是,仍然可以通過查看應(yīng)用程序中顯式或隱式的服務(wù)定義和協(xié)定,將現(xiàn)有信息中的API測(cè)試組合在一起,以幫助從下至上擴(kuò)展API測(cè)試的覆蓋范圍。

    API規(guī)范而言,大多數(shù)服務(wù)在swagger文檔或WSDL中都有定義。SOAtest可以閱讀這些定義并創(chuàng)建API測(cè)試方案模板。它包括定義中所有客戶端的測(cè)試用例。您可以編輯和操作模板以創(chuàng)建有意義的API測(cè)試。

    SOAtest提供了許多用于從模板創(chuàng)建無腳本測(cè)試的選項(xiàng),包括基于隨機(jī)數(shù)的參數(shù)化數(shù)據(jù)或先前的測(cè)試結(jié)果,如下例所示。

    通過使用簡單的復(fù)制和粘貼技術(shù),無腳本的測(cè)試創(chuàng)建以及靈活的測(cè)試數(shù)據(jù)管理,SOAtest提供了一種構(gòu)建測(cè)試套件的簡便方法。這并不是要取代自上而下的方法,而是要對(duì)其進(jìn)行補(bǔ)充。如果手動(dòng)或UI測(cè)試缺少API的重要部分(由覆蓋結(jié)果告知),則自下而上的方法將填補(bǔ)這些空白。但是,如果不了解覆蓋范圍,就很難確定要測(cè)試的內(nèi)容和缺少的內(nèi)容。


    了解測(cè)試范圍


    覆蓋范圍取決于上下文,意味著幾件事。通常,它是代碼、API和要求范圍。您需要了解所有這些內(nèi)容,以清晰了解測(cè)試工作的完成程度。

    • 單元測(cè)試——關(guān)注的是代碼覆蓋率。有多少代碼具有與執(zhí)行相關(guān)的測(cè)試?
    • API——重要的是要知道要測(cè)試哪些,以及每個(gè)API的使用程度。
    • 需求——每個(gè)需求都必須進(jìn)行測(cè)試,以證明其正確實(shí)施。

    這些重疊的問題在項(xiàng)目生命周期的不同時(shí)間都很重要。例如,如果您要跟蹤的是API測(cè)試覆蓋率,則重要的是要確保測(cè)試充分覆蓋了API,并在缺少的地方進(jìn)行現(xiàn)有測(cè)試。最好的方式是從服務(wù)定義中進(jìn)行查看,如下圖所示。

    SOAtest跟蹤執(zhí)行的每個(gè)測(cè)試以及涵蓋的API:完全、部分或根本不包括。知道缺少哪些測(cè)試,可以讓我們根據(jù)服務(wù)定義進(jìn)行自下而上的測(cè)試,或者在可能的情況下基于新的基于UI的測(cè)試。它還指出測(cè)試失敗的地方(紅色),將我們的注意力轉(zhuǎn)移到需要更新或植入中有問題的測(cè)試。

    Parasoft DTP(開發(fā)測(cè)試平臺(tái))充當(dāng)各種測(cè)試實(shí)踐結(jié)果的中央存儲(chǔ)庫和樞紐,并根據(jù)不同類型的覆蓋范圍提供了項(xiàng)目所在位置的高級(jí)視圖,如以下儀表板所示。

    此視圖合并了靜態(tài)代碼分析、單元測(cè)試、API以及手動(dòng)和自動(dòng)UI測(cè)試的匯總結(jié)果。這是測(cè)試金字塔的全部色域。它從各個(gè)方面提供了完整的覆蓋范圍:API、需求和代碼覆蓋范圍。

    JIRA中保存的用戶故事的角度考慮需求范圍。功能測(cè)試儀表板(如下所示)包括JIRA Story Status小部件,這是跟蹤需求覆蓋率的一種方法。

    更仔細(xì)地查看JIRA狀態(tài),鼠標(biāo)懸停信息指示通過、未通過、未完成或未通過測(cè)試的測(cè)試數(shù)量。

    您可以在詳細(xì)的可跟蹤性報(bào)告中進(jìn)一步深入了解,以找出缺少哪些需求,未通過其測(cè)試等等。

    您可以通過深入研究可追溯性報(bào)告來進(jìn)一步調(diào)查,以了解哪些測(cè)試正在影響這個(gè)故事。

    此外,您可以根據(jù)需要將此覆蓋范圍鏈接到API和代碼覆蓋范圍。您可以從此處導(dǎo)航至API測(cè)試,以確定需要進(jìn)行哪些更改以及需要進(jìn)行哪些其他測(cè)試。這種全面的匯總視圖提供了最完整的測(cè)試狀態(tài)信息。隨著開發(fā)人員聚集在一個(gè)完整的應(yīng)用程序上,隨著時(shí)間的推移,測(cè)試覆蓋率“增長”,新的代碼被API和為相關(guān)需求創(chuàng)建的單元測(cè)試“覆蓋”。


    總結(jié)


    API測(cè)試的重要性已為軟件開發(fā)組織所認(rèn)可,但是他們經(jīng)常難以充分采用該實(shí)踐。努力的一部分是建立一組測(cè)試,因?yàn)槭謩?dòng)測(cè)試的創(chuàng)建很復(fù)雜并且需要熟悉的技術(shù)知識(shí)。甚至采用API測(cè)試的團(tuán)隊(duì)也面臨著增加其API測(cè)試覆蓋面的挑戰(zhàn),因?yàn)槠渲性S多沒有記錄在案。

    諸如SOAtest之類的高級(jí)功能測(cè)試工具可以基于分析手動(dòng)測(cè)試和常規(guī)應(yīng)用程序使用中的使用行為,使用自上而下的方法來幫助自動(dòng)化API測(cè)試創(chuàng)建。這種智能的測(cè)試生成功能可幫助團(tuán)隊(duì)快速,輕松地根據(jù)現(xiàn)有實(shí)踐創(chuàng)建測(cè)試。

    使用SOAtest自動(dòng)化可以同時(shí)采用互補(bǔ)的自下而上的方法,以根據(jù)服務(wù)定義構(gòu)建無腳本測(cè)試。隨著完整的覆蓋率分析,您可以使用自上而下和自下而上的技術(shù)隨著時(shí)間的推移來擴(kuò)展API測(cè)試的覆蓋率。由于API測(cè)試的工作水平遠(yuǎn)低于UI測(cè)試,因此您可以放心,所構(gòu)建的一致而全面的測(cè)試將持續(xù)很長時(shí)間。


    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();