轉帖|行業資訊|編輯:鄭恭琳|2020-06-12 14:34:08.130|閱讀 163 次
概述:在這篇文章中,客座博客作家Software Development Technologies首席執行官Ed Kit規定,現在每個人都應該接受API測試的時間,并向我們提供13個啟發技巧,以積累能量來完成它。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
在這篇文章中,客座博客作家Software Development Technologies首席執行官Ed Kit規定,現在每個人都應該接受API測試的時間,并向我們提供13個啟發技巧,以積累能量來完成它。
在領導《財富》雜志200強公司的許多軟件工程項目25年之后,我取得了重大成就。應用程序接口(API)測試比用戶界面(UI)測試更為重要。用宣言的術語來說,API測試超過UI測試。這并不是要減少UI測試的價值——我只是希望激發您更多地重視左側的項目(API測試)!
我們最終可以消除API測試生產力方面的差距,并為開發和測試團隊提供與UI和單元測試相比等效或更好的級別功能。可以在API測試和UI測試之間進行比較,以公平地批評在整個生命周期內有效進行API測試的程度。每個測試級別都提出了獨特的挑戰,獨特的設計方法和獨特的工具,但是當前的見識、技術、培訓和新的第三方服務已經改變了API測試的方法。
我們將很快獲得重要的鼓舞人心的事實和建議,但首先,這里簡要概述了為什么API測試現在如此重要。
使用公共語言或應用程序接口,應用程序可以高效、強大地相互通信。在用戶界面測試和單元測試之間,API級別的測試是技術軟件測試的關鍵部分。通過API測試,可以直接測試API,以確定它們是否滿足對功能、可靠性、性能和安全性的期望。如果未對API進行充分的測試且其行為不正常,則可能會導致質量、隱私和安全缺陷(可能非常重要)。
在API級別,我們可以自動執行以下測試:
聲音具有壓倒性嗎?測試API是技術性的,因此一開始可能會感到有些恐懼-也就是說,直到我們了解真正涉及的內容為止。我認為API測試是最重要的測試類型,大多數組織通常都不會對此進行測試。
好消息是,作為一個行業,我們現在正在從測試角度考慮API——我們不必決定要使用RESTful還是SOAP。我們只需要揭露與被測特定API相關的信息。
作為一家已經運營了25年并且關注趨勢的測試公司的首席執行官,我很高興地向您報告,API測試是我公司軟件開發技術(SDT)現在最受歡迎的測試形式。實際上,今年是SDT的轉折點。我從未預料到過,但是在提供每種類型的測試服務25年之后,今年是我們為客戶進行API測試的第一年,超過了任何其他類型的測試。
聽起來似乎很明顯,但是由于應用程序通信發生在API級別,因此這是執行測試的最有效級別。在API級別設計、實施和執行的測試將直接與基礎API交互。但是,有很多團隊沒有測試API——有時結果是客戶為我們進行測試,這極大地困擾了他們。
因此,這是我對API測試的13點啟發和建議,我將其歸類如下。
1.物聯網(IoT)如今觸及每個人,并且由于那里不存在典型的用戶界面,因此API測試至關重要。API測試是完成IoT測試工作所必需的。
2.黑客將在API級別攻擊易受攻擊的軟件,因此安全測試必須在API級別進行。我們通過在API級別執行惡意滲透攻擊測試等來保護客戶。
3.使用敏捷Agile,快速反饋勝過較慢的反饋。API測試提供快速的反饋,因此客戶不必等待高質量的交付。
4.在知道UI之前,可以在開發過程的早期設計API測試。與UI相比,針對UI的測試花費的時間更長。誰可以承擔由于更長的UI測試執行時間而導致的構建周期延遲?
5.當我們在UI測試用例之前執行API測試用例時,我們可以跳過不需要的沒有添加值的UI測試用例。
6. API測試不如UI測試脆弱,因此可以更好地承受軟件隨時間的變化。
7. API測試由于具有重點,因此往往更易于調試。
8.當您有足夠數量的API測試時,所需的UI測試就更少了。UI測試用例仍然占有重要地位。
9. API測試比UI測試具有更長的保存期限。進行API測試后,與UI測試相比,它保持最新狀態的時間更長。這是因為從長遠來看,當前的方法和技術會導致更可維護的解決方案。
10.您可以將具有CI/CD/CT(持續集成/持續交付/持續測試)的API測試納入您的開發過程中——在SDT,我們通常使用Jenkins。
11.找到合適的所有者進行API測試。在最近的一項研究中,有80%的開發人員說測試組織負責API測試,而70%的測試人員說開發組織負責API測試!聽起來像是在開玩笑——但這不是在開玩笑。
在大多數組織中,期望開發人員擁有API測試是不現實的。如果您的開發人員已經擁有了這項所有權,并且正在做得很好,很棒,讓他們擁有它,但是根據我的經驗,在大多數組織中,他們現在不這樣做,也不會很快開始做它。他們的盤子已經滿了——如果他們在單元測試方面做得很好,不勝感激。
也許測試團隊應該進行API測試,但是我的經驗表明,測試人員不知道如何測試API——從技術上講,這遠遠超出了普通測試團隊普通人的能力和帶寬。
考慮與專門從事API測試的經驗豐富的獨立第三方服務提供商合作-可以證明自己在API測試和相關技術方面的技能和經驗的人。一個熱衷于API測試以及流程和技術的合作伙伴可以設計和實現測試框架,并幫助您快速啟動和運行。至少,與潛在合作伙伴進行對話以決定他們可以帶來的價值是值得的。
12.找到正確的API測試工具很重要。API測試工具過去一直很薄弱,但此后已得到解決。
手動測試工具可以幫助您開始進行API測試。我們的SDT測試服務團隊已使用Postman進行初始手動測試——探索API并協助API測試設計。但是,沒有自動化的手動測試是失敗的秘訣——手動重復運行相同的測試將無法滿足當今敏捷世界的需求,并且無法充分涵蓋當今軟件的復雜性。
許多人都熟悉使用關鍵字測試來解決與云、Web、客戶端/服務器、Java、大型機、嵌入式設備、移動設備和桌面相關的關鍵測試企業挑戰,但是這種出色的方法也適用于API測試!
關鍵字是關鍵字驅動測試設計的基本,可重用的構建基塊。關鍵字測試用例是帶有參數的一系列關鍵字,關鍵字定義驅動或從應用程序元素獲取信息的操作。較高級別的關鍵字通常由較低級別的關鍵字組成。重用關鍵字可確保快速進行測試開發并簡化維護。API可以看作是構建塊,就像關鍵字一樣。
開源工具Robot Framework添加了關鍵字驅動的測試用例范例,以提供對工件(低級關鍵字、高級關鍵字、測試用例和測試集)的重用,并內置了一個庫來減少測試開發工作并簡化保養。
就像Selenium是Robot Framework的插件一樣,它可以驅動Web應用程序的行為并使用豐富的方法庫(低級關鍵字)來驗證結果,HTTPLibrary和Requests庫也是驅動API測試的插件。Python語言通常用于創建自定義的低級關鍵字。
13.準備就緒后,您會發現一些重要的驅動因素,這些信號表明該考慮采用企業解決方案了。
首先,最重要的是希望在更復雜的用例中獲得更高水平的測試覆蓋率。非SOAP和REST接口、微服務、ESB或數據庫。在這個成熟階段,組織將尋求企業API測試解決方案。當您準備好用于API測試的全功能商業解決方案時,請查看Parasoft的SOAtest。Parasoft SOAtest被公認為是API測試的領先企業級解決方案,它將幫助您進入下一級別的API測試,并通過下一級別的技術和功能進行擴展。
API測試正在經歷UI測試已經經歷的熱潮。可能您目前最大的提高軟件質量的機會就是API測試。想要為您的公司做點大事嗎?解決API測試–成為冠軍–使用此博客來幫助您解決問題–為您的公司編寫自己的微型宣言,并讓我知道進展如何。我是認真的。
Randy Rice Consulting開設了SOA測試課程,其中包括API的動手測試://www.riceconsulting.com/home/index.php/Cloud-and-SOA/testing-service-oriented-architectures-a-business -process-oriented-approach.html
Parasoft SOAtest://www.parasoft.com/products/soatest
Martin Fowler的測試金字塔://martinfowler.com/bliki/TestPyramid.html
敏捷軟件開發宣言://agilemanifesto.org/
為什么API測試很重要(GUI不再是國王)://www.joecolantonio.com/the-gui-is-no-longer-king-why-api-testing-is-important/
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自: