有沒有一種自動化測試是不需要編寫測試指令碼的呢?瞭解一下

博為峰網校發表於2022-03-30

自動化測試的痛點

說到功能自動化測試,我們可能首先會想到QTP、Selenium等諸多的自動化測試工具和解決方案,如何使指令碼開發變得簡單、如何使指令碼維護變得容易、如何提高指令碼開發的效率等話題,一直以來都是自動化測試領域關注的焦點問題。 加我VX:atstudy-js 回覆“測試”,進入 自動化測試學習交流群~~

然而無論是哪種工具哪種解決方案,都離不開測試指令碼的開發,有過指令碼開發經歷的人應該有體會,雖然設計良好的自動化測試架構可以簡化指令碼開發,但是面對成百上千上萬的功能,開發和維護指令碼始終不是一件容易的事,其複雜度絕不亞於一個開發專案。

指令碼開發和維護工作量會與被測系統的複雜程度和變更有關,下面是一些舉例:

頁面輸入項越多,指令碼編寫工作量越大;

頁面輸入項名稱的改變,指令碼也需要調整修改,例如將“行動電話”改成了“手機號碼”;

頁面必填輸入項的增減,會使得指令碼不得不跟著調整;

頁面輸入項的型別改變,指令碼也必然要做修改,例如“學歷欄位”原來是文字輸入框,後來改成了下拉選擇框;

選單名稱修改,測試選單的指令碼需要調整。

自動化測試之所以實施起來困難重重,究其根源還是測試指令碼導致,那麼有沒有一種自動化測試是不需要編寫一個個測試指令碼的呢?

做過安全測試的應該知道AppSan這個工具,只要告訴AppSan要檢測的系統地址,進行一些簡單的使用者登入的配置,AppScan就可以自動對被測系統進行檢測,找出可能的安全性問題並生成報告,不需要去寫任何的測試用例和測試指令碼(手動探測還是需要錄製指令碼的)。

如果在做功能自動化測試時,也有一個像AppScan之類的工具,不需要寫那些繁瑣的測試用例和測試指令碼,只要掃描一下,就能測試出系統的功能性問題,那將是多麼令人興奮的事情!

然而,市場上並沒有也不可能有這樣的通用工具,畢竟功能測試與非功能測試不同,是與被測試系統緊密相關的,即使有這樣一個工具也一定是專門針對某一個被測系統的。

幸運的是,筆者的被測系統是典型的資訊處理類的web系統,模組多、選單多、功能點多、頁面風格及互動方式統一規範,正是由於這些特點,使得這種無指令碼自動化測試成為可能。

下面就來介紹一下這種掃描式的自動化測試是如何進行的。

掃描式自動化測試

針對被測系統的特點,採用的自動化測試策略是:只針對基本的增刪改查功能進行自動化測試。

按照粗略的統計,被測系統中的功能模組近30個,選單近800個,按照平均一個選單內有5個功能點計算,總的功能個數將達到4000個(實際功能數應該遠高於此),假設在這4000個功能中,基本的增刪改查功能佔到25%,將會有1000個功能需要進行自動化測試。

如果每個功能對應一個測試指令碼,將會有至少1000個測試指令碼需要開發和維護。

針對以上需求和特點,結合過往自動化測試的實踐經歷,筆者提出了“掃描式自動化測試”的方案。

其核心思想就是將操作步驟類似的測試用例或者測試指令碼,抽取出通用的測試規則,針對測試規則去編寫掃描測試程式,只要是符合測試規則的功能,都可以自動被掃描發現並被自動測試,無需編寫一個一個的測試指令碼。

……

因作者版權要求,我們只顯示文章的一部分,完整版文章閱讀,可以私信我獲取。

最後:

可以我的個人V:atstudy-js,可以免費領取一份10G軟體測試工程師面試寶典文件資料。以及相對應的視訊學習教程免費分享!,其中包括了有基礎知識、Linux必備、Mysql資料庫、抓包工具、介面測試工具、測試進階-Python程式設計、Web自動化測試、APP自動化測試、介面自動化測試、測試高階持續整合、測試架構開發測試框架、效能測試等。

這些測試資料,對於做【軟體測試】的朋友來說應該是最全面最完整的備戰倉庫,這個倉庫也陪伴我走過了最艱難的路程,希望也能幫助到你!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2885030/,如需轉載,請註明出處,否則將追究法律責任。

相關文章