原創(chuàng)|使用教程|編輯:鄭恭琳|2020-12-03 10:12:27.580|閱讀 318 次
概述:您如何在短短幾秒鐘內(nèi)得到幾十個(gè)REST API測(cè)試用例的套件,這些用例都具有非常大的請(qǐng)求負(fù)載?采用科學(xué)的測(cè)試方法有助于建立與REST API測(cè)試自動(dòng)化的一致性,但即使是科學(xué)家,也時(shí)不時(shí)需要幫助。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
您如何在短短幾秒鐘內(nèi)得到幾十個(gè)REST API測(cè)試用例的套件,這些用例都具有非常大的請(qǐng)求負(fù)載?采用科學(xué)的測(cè)試方法有助于建立與REST API測(cè)試自動(dòng)化的一致性,但即使是科學(xué)家,也時(shí)不時(shí)需要幫助。
測(cè)試人員是我們的應(yīng)用程序與日益精通技術(shù)的受眾之間的最后一道防線。如果我們將存在缺陷或性能問(wèn)題的應(yīng)用程序部署到市場(chǎng)中,那么我們的客戶將無(wú)法忍受。結(jié)果,測(cè)試人員必須精明并且能夠以最有影響力的方式測(cè)試現(xiàn)代應(yīng)用程序。但是測(cè)試是一門科學(xué),需要您采用系統(tǒng)的方法來(lái)驗(yàn)證應(yīng)用程序。
但是,即使采用科學(xué)的測(cè)試方法,軟件測(cè)試也并非如此簡(jiǎn)單。測(cè)試人員通常會(huì)經(jīng)歷以下過(guò)程:
測(cè)試不是一件容易的事,因此我們需要獲得構(gòu)建這些有意義的實(shí)驗(yàn)所需的所有支持,這些實(shí)驗(yàn)可以提供有意義的反饋以確保我們的應(yīng)用程序正確構(gòu)建。作為測(cè)試人員,我們之間相互交流發(fā)現(xiàn)的任何方法都非常重要,這對(duì)使測(cè)試變得更加容易!在這里,這些方法之一。下面,我將解釋我最近遇到的REST API測(cè)試挑戰(zhàn),并分享如何解決該問(wèn)題。
現(xiàn)代的Web應(yīng)用程序?qū)?/span>RESTful JSON API調(diào)用從瀏覽器發(fā)送到服務(wù)器,因?yàn)?/span>JSON數(shù)據(jù)易于被JavaScript代碼使用。但是使用JSON數(shù)據(jù)創(chuàng)建測(cè)試自動(dòng)化腳本并不總是那么容易。最近,由于我正在測(cè)試的服務(wù)中存在大量JSON請(qǐng)求有效負(fù)載,我遇到了測(cè)試上的頭痛事,不過(guò)我能夠使用Parasoft SOAtest的新Smart API Test Generator來(lái)提供幫助。
與大型請(qǐng)求有效負(fù)載不同,大型響應(yīng)有效負(fù)載易于測(cè)試人員處理。致電服務(wù),保存響應(yīng),然后與將來(lái)的響應(yīng)進(jìn)行比較。去除所有可能隨時(shí)更改的值,例如日期或時(shí)間戳。沖洗并重復(fù)。但是,所有這些都首先要調(diào)用服務(wù)。對(duì)于較大的請(qǐng)求有效負(fù)載,您需要在進(jìn)行每個(gè)服務(wù)調(diào)用之前配置大量數(shù)據(jù),并且需要確保所有數(shù)據(jù)都是正確的。當(dāng)然,您可以從瀏覽器開發(fā)人員工具中復(fù)制和粘貼,但是通過(guò)許多REST API調(diào)用,這意味著大量復(fù)制和粘貼。這就是為什么現(xiàn)在能夠使用Smart API Test Generator令人興奮。
我最近的項(xiàng)目涉及一個(gè)用于與LDAP和Active Directory服務(wù)器集成的Web配置頁(yè)面。這個(gè)概念很簡(jiǎn)單:配置設(shè)置,然后通過(guò)列出用戶帳戶和組帳戶進(jìn)行測(cè)試。問(wèn)題在于LDAP配置中有很多設(shè)置,而測(cè)試這些設(shè)置需要在請(qǐng)求有效負(fù)載中發(fā)送所有設(shè)置。此外,需要額外的電話來(lái)測(cè)試每個(gè)組的成員資格。每個(gè)請(qǐng)求最終都是幾百行JSON數(shù)據(jù)。
我正在努力增加對(duì)新會(huì)員策略的支持。我關(guān)心的唯一JSON數(shù)據(jù)在第10行,但是仍然需要其他所有數(shù)據(jù)行才能使整個(gè)過(guò)程正常運(yùn)行。因此,我將配置頁(yè)面設(shè)置為指向具有測(cè)試數(shù)據(jù)的LDAP服務(wù)器,然后使用Parasoft SOAtest Smart API Test Generator擴(kuò)展(適用于Chrome)打開了錄制功能。我單擊按鈕來(lái)測(cè)試用戶和組,然后展開每個(gè)組以查看成員。每次單擊時(shí),都會(huì)對(duì)Web服務(wù)器進(jìn)行一些REST API調(diào)用。
假設(shè)是,成員資格策略將影響預(yù)覽中的組和成員。我在配置頁(yè)面上更改了成員資格策略,然后再次單擊測(cè)試數(shù)據(jù)。在視覺(jué)上,我可以在對(duì)話框中看到不同的組成員資格結(jié)果。我對(duì)手動(dòng)測(cè)試感到滿意,因此停止了記錄并生成了一套非常智能的API測(cè)試:
就是這樣——在幾秒鐘內(nèi),我進(jìn)行了一套包含幾十個(gè)REST API測(cè)試的套件,這些套件都具有非常大的請(qǐng)求有效負(fù)載。在請(qǐng)求之間僅更改了一些屬性,例如組名和成員資格策略,但這足以獲得響應(yīng)的變化并為每個(gè)請(qǐng)求保存差異控件。它甚至足夠聰明,可以從第一個(gè)組預(yù)覽響應(yīng)中提取組名并將其存儲(chǔ)在數(shù)據(jù)庫(kù)中,以便在以下測(cè)試中進(jìn)行參數(shù)化使用。看到所有測(cè)試均通過(guò),這使我有信心我的新會(huì)員策略功能可以正常工作。
所有這些都是使用帶有測(cè)試數(shù)據(jù)的LDAP服務(wù)器而不是真實(shí)用戶帳戶完成的。我可以確保測(cè)試數(shù)據(jù)不會(huì)改變,但是真實(shí)的用戶會(huì)隨著時(shí)間的流逝而變化。更改數(shù)據(jù)會(huì)在自動(dòng)測(cè)試回歸控件中產(chǎn)生大量噪音。如果您的應(yīng)用程序沒(méi)有穩(wěn)定的測(cè)試數(shù)據(jù),建議您檢查一下Parasoft Virtualize提供的Web服務(wù)或數(shù)據(jù)庫(kù)虛擬化。
正如我在本文開頭所討論的那樣,采用科學(xué)的測(cè)試方法有助于建立一致性。但是,即使是最好的科學(xué)家,也時(shí)不時(shí)需要幫助!我上面描述的技術(shù)就像使用高倍顯微鏡而不是放大鏡。這是一個(gè)非常復(fù)雜的過(guò)程,這是一個(gè)重大的飛躍,至少對(duì)我而言,這極大地幫助了我加快了測(cè)試挑戰(zhàn)。希望對(duì)您也一樣。測(cè)試愉快!
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn