自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

十大流行的無腳本測試方案

譯文
開發(fā) 測試
目前,市面上有許多種無需學習編程語言,即可實現(xiàn)自動化測試的工具。它們大幅節(jié)省了軟件測試團隊的人工干預、以及編寫、執(zhí)行和維護測試用例的時間。本文和您討論其中最為流行的十種方案。

 

[[281777]]

【51CTO.com快譯】在傳統(tǒng)的軟件開發(fā)中,測試專業(yè)人​​員除了手動進行各種測試以外,更多時候需要依賴自動化的測試工具,來反復執(zhí)行某些相同的測試任務。對于一些按照硬編碼值執(zhí)行、且無需任何修改的簡單測試任務而言,記錄和回放工具能夠通過錄入用戶的操作步驟,在相同的條件下,以相同的方式多次執(zhí)行相同的步驟。

雖然自動化測試的優(yōu)勢在于減少了測試大量用例所耗費的時間,但是其劣勢在于必須使用相應的自動化測試腳本。因此,測試人員往往需要花費時間去學習測試目標所對應的編程語言,以滿足特定的測試需求,或是需要四處尋找現(xiàn)有的腳本資源。同時,他們需要維護現(xiàn)有的測試用例,按需進行調整,以跟上測試目標的修改。

另外,自動化測試的缺點還包括:

  • 受限的可定制性:只有當測試人員具有一定的編程技能,并且測試工具能夠支持將測試用例按照其首選的語言予以導出時,才能提供對于測試記錄的定制。
  • 受限于屏幕的大小與分辨率:測試工具在錄制測試對象所處的屏幕位置時,可能會因為在不同場景下,顯示器分辨率的調整,以及應用程序的大小變化,而失去原有的定位和功能。

顯而易見,由于大多數(shù)自動化測試任務,都要求能夠使用一系列的測試數(shù)據(jù),而且能夠在不同的條件下、以及不同的環(huán)境中執(zhí)行測試,因此,記錄和回放工具只能自動化其中一小部分。

當然,客觀而言,記錄和回放工具對于那些自動化測試的初學者,以及對于應用程序更改并不頻繁的場景而言,確實是理想的解決方案。

在測試界,人們往往把“無腳本自動化測試工具”與“記錄和回放工具”混為一談。記錄和回放為工作腳本提供了經由硬編碼的輸入值,用戶可以在此基礎上對其進行自定義。而借助無腳本自動化測試,您可以根據(jù)目標應用上的用例,自動生成相應的測試腳本,這是對于傳統(tǒng)記錄和回放功能的升級。因此,無腳本測試自動化是一種更有條理的模型。通過可重用的腳本,用戶能夠輕松地自動化大多數(shù)測試用例。

經歷了多年的發(fā)展與迭代,如今市面上有著許多易于編寫和維護的無腳本測試方案。下面我們來一起討論其中最為流行的十種方案:

1.自然語言處理(NLP)

目前,一些最新的無腳本自動化測試工具能夠通過采用NLP語法,來創(chuàng)建各種測試用例。就像編寫簡單的英語語句一樣,用戶可以輕松地實現(xiàn)測試用例的自動化。此類工具一般會帶有AI驅動的內核,因此大幅節(jié)省了用戶對其維護的時間。

由于用戶只需要了解用于創(chuàng)建測試用例的正確語法,并根據(jù)實際情況將其運用于繁簡不同的測試場景中。此類工具的學習曲線并不陡峭。目前市場上用到NLP的典型自動化測試工具包括:Testsigma(https://testsigma.com/)和Functionize(https://www.functionize.com/)等。

2.基于模型的測試

不同于多數(shù)只創(chuàng)建測試腳本的工具,以TOSCA(https://www.tricentis.com/products/automate-continuous-testing-tosca/)為代表的基于模型的測試技術(https://dzone.com/articles/three-ways-to-crack-the-test-design-code-with-mode),可以為被測應用創(chuàng)建自動單元測試(AUT)模型。此類工具一般具有測試用例自動化所需的三個組件:AUT技術細節(jié)、測試方案邏輯和測試數(shù)據(jù),它們可以在測試中被合并使用。

每當檢測到AUT中的任何更改時,中央模型會自動更新已存儲的有關AUT的所有技術細節(jié)。因此,此類測試技術更適合于處理那些需要頻繁進行維護的繁瑣任務。

為了能夠覆蓋所有需要測試的用例,同時忽略掉那些無需涉及的部分,TOSCA除了用到了基于模型的測試技術之外,還會利用基于風險的測試技術(https://dzone.com/articles/risk-based-testing),來按需執(zhí)行測試用例。

3.錄制屏幕截圖

采用“錄制屏幕截圖”作為測試步驟與動作的工具,主要針對的是視覺效果方面的應用測試。當已有的屏幕快照與當前的待測應用之間存在差異時,它們會立即生成相應的報告。

Testim(https://www.testim.io/)和Screenster(https://screenster.io/)是使用此類方法的兩款典型工具:

  • Testim.io以錄制屏幕截圖的形式,記錄下用戶每次操作時測試用例。同時,該工具還提供了重新分組和重用測試步驟的選項。如果出現(xiàn)運行的測試用例與錄制的屏幕截圖不匹配,它認為所記錄的測試用例無效。這款工具旨在通過使用AI,來識別和糾正UI元素的位置、名稱或外觀等變化,進而維護現(xiàn)有的測試用例。
  • 使用類似方法的Screenster,在每次用戶操作完成后,都會捕獲UI屏幕和DOM快照,并將其設置為可視化的基線,用以在測試期間予以比較。在實際測試期間,Screenster會及時獲取UI上新的屏幕截圖,并報告與現(xiàn)有基線之間的差異。Screenster也使用AI來維護各種測試用例。Screenster的智能選擇器會自動定位已被移動或更改的頁面元素。通過發(fā)現(xiàn)并調整各種timeouts,它能夠使用AI來判斷并等待正確的時間點,以執(zhí)行下一步操作。

4.基于圖像的無腳本自動化

Eggplant(https://www.eggplantsoftware.com/)是一款用到了基于圖像的無腳本自動化的工具。它使用圖像匹配技術來識別被測系統(tǒng)(SUT)中的任何缺陷與故障。

Eggplant使用的是雙模型系統(tǒng)。其中的控制器系統(tǒng)可用來創(chuàng)建與驅動測試,而被測系統(tǒng)則通過VNC連接到控制器上。通過圖像匹配,腳本語言可以在被測系統(tǒng)的UI上自動執(zhí)行各項操作。

5.基于拖放的對象映射

作為另一種無腳本的自動化測試工具,Ascentialtest(https://www.zeenyx.com/AscentialTest.html)直接通過網站拖放,來創(chuàng)建測試動​​作。您只需在被支持的瀏覽器中打開目標應用,然后將所有需要測試的操作逐一拖放到測試工具中即可。針對不同的自動化測試場景,用戶可以按照不同的順序放置不同的測試數(shù)據(jù),以進行后續(xù)的測試。

6.關鍵字驅動的測試

關鍵字驅動的測試是事先定義好待操作的關鍵字。當帶有這些關鍵字的測試用例發(fā)生變化時,后續(xù)的測試就能夠輕松地捕獲到。而且,用戶無需學習那些用于創(chuàng)建此類測試腳本的編程語言。Testcomplete(https://smartbear.com/product/testcomplete/overview/)是使用關鍵字驅動的測試工具之一。

7.對象驅動測試

作為無腳本測試的另一種方式,對象驅動測試能夠在應用程序中標識出要測試的對象,然后通過向這些對象添加操作,來創(chuàng)建相應的測試步驟。Worksoft(https://www.worksoft.com/worksoft-continuous-automation-platform/)工具就用到了此類方法。它可以識別自動化的企業(yè)級應用程序(如:SAP),并對其執(zhí)行各種操作。

8.通過流程圖進行可視化測試

Codefuse(http://codefuse.io/)允許用戶以流程圖,而不是腳本的形式,來自動化測試各種流程。此類測試專注于流程圖中的兩種組件:條件與動作。用戶不需要掌握任何腳本知識,只需要明白流程圖的基本知識、以及流程所適用的場景,便可根據(jù)不同條件,在同一套工作流中自動執(zhí)行多個分支。

9.將測試記錄為腳本

將測試記錄為腳本,是Selenium IDE(https://www.seleniumhq.org/docs/02_selenium_ide.jsp)、Katalon IDE(https://www.katalon.com/resources-center/blog/katalon-automation-recorder/)、以及Ranorex(https://www.ranorex.com/help/latest/ranorex-studio-fundamentals/ranorex-recorder/introduction/)采用的傳統(tǒng)測試方法??勺鳛闉g覽器擴展的Selenium IDE和Katalon IDE只能記錄瀏覽器的行為。而Ranorex則不僅限于測試網站,它提供單獨的應用程序來打開相應的集成記錄器。

此類測試工具通過命令和選擇器的詳細信息,來記錄用戶的所有操作。而相應的測試步驟記錄,既可以被直接執(zhí)行,也可以被導出為不同的編程語言。通過增加更多的功能與條件,用戶可以進一步豐富其導出的測試用例。

10.用于測試自動化的AI機器人

此類工具主要注重用戶的測試體驗,并能夠及時提供用戶的反饋。作為使用AI機器人開展測試自動化的“先驅”,Test.ai(https://www.test.ai/)通過了解用戶使用移動應用的各項行為,進而根據(jù)他們的偏好來采取測試。

原文標題:Scriptless Testing Is Not Just Record and Playback: Top 10 Scriptless Testing Approaches,作者: Shruti Sharma

【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】

 

責任編輯:龐桂玉 來源: 51CTO
相關推薦

2021-08-12 09:00:00

開發(fā)測試工具

2016-11-15 16:21:26

開發(fā)編程方法

2020-12-20 18:10:32

物聯(lián)網傳感器物聯(lián)網傳感器

2010-01-12 10:44:32

Silverlight

2019-12-10 08:37:43

勒索病毒惡意軟件網絡安全

2019-03-28 14:19:18

大數(shù)據(jù)誤區(qū)數(shù)據(jù)

2010-03-17 15:22:46

2021-01-14 11:43:19

攻擊安全工具網絡罪犯

2010-11-19 14:52:56

2021-12-14 16:55:18

人工智能機器學習算法

2021-08-11 08:00:00

腳本測試開發(fā)

2016-11-23 15:03:42

編程技術IT

2024-01-30 14:21:13

2019-05-30 14:19:58

區(qū)塊鏈加密貨幣編程語言

2021-05-24 15:31:23

軟件測試工具軟件測試開發(fā)

2009-04-09 14:41:08

PHP框架MVCPHP

2009-06-29 13:41:00

敏捷測試

2023-02-08 16:45:21

2016-12-15 13:51:30

開源數(shù)據(jù)可視化

2020-12-19 10:51:16

勒索軟件即服務RaaS網絡攻擊w
點贊
收藏

51CTO技術棧公眾號