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