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