自動化測試中的測試執行自動化

2021-09-17 07:42:52 字數 2332 閱讀 3601

「自動化測試」這個術語的使用是如何對團隊深挖自動化益處產生束縛作用的,richard bradshaw 在agile testing days 2015上對此進行了**分析。

\\ infoq有幸採訪到了bradshaw,就測試和檢查的不同之處以及為什麼兩者都很重要、自動化能怎樣支援測試、自動化框架的使用以及為什麼測試人員應當時刻緊盯測試中的問題等話題與其進行了交流。

\\infoq:請您詳細說明一下測試和檢查二者之間的區別。

\\

\

bradshaw關於這點,我建議每個人都去讀一下james bach及michael bolton寫的精析測試與檢查這篇文章,形成下自己的看法,我的觀點目前和兩位作者在文章中所闡述的一致。對我來說,測試和檢查的主要區別在於是否以學習為中心。學習是知識的獲取。我們通過測試軟體來獲得軟體自身的知識,這些知識實質是業務需求,後面做出明智的決策均基於此基礎上。在測試的時候,我們可以自由隨意地研究系統,遵循啟發式思路,在已有結果的基礎上進行研究,去探尋新的資訊。在這個過程中,我們在不斷學習。而檢查,確切地說,就是只有檢查。我們依靠某些模型來檢查系統,去檢測有違模型的變化之處。我們所執行的只不過是一系列的演算法步驟。這中間沒有學習。我們還得評估所有這些檢查的結果,為了找出其中是否存在問題。而這些只有人方能辦到。

\

\\

infoq:您為什麼認可這兩者都是重要的呢?

\\

\

bradshaw它們二者互相補充。在我看來,二者若缺其一,剩下的乙個也將獨木難支。我們需要對系統的關鍵行為進行檢查,尤其是那些會消耗商業資源或破壞商業聲譽的行為。當然了,你也可以說所有的bug都會造成這樣的後果,所以我說的是諸如不能在亞馬遜上下單,或者不能在slack裡傳送資訊之類的重要事件。與此同時,還要測試系統的新功能,儘管從業務層面能夠理解系統行為,但我們的測試還是要做,得弄清楚這些新功能是怎樣影響系統其它部分的。檢查有助於引導此類測試活動,檢查活動就像當檢測到了某一部分的變化時,對外發出公開邀請,以對變化部分做進一步的探索和測試。

\

\\

infoq:您在講演中提到,自動化應是對測試形成支援,而不是去替代測試。請您解釋下這個觀點。

\\

\

bradshaw在以前的工作裡,別人告訴我,自動化的目標是替代測試活動,主要是替代回歸測試。好幾次我甚至還碰到過這樣的討論,說自動化實際上能夠替代測試工程師。這當然不過是空談。講演中提及這個觀點的主要原因,是為了保持我在測試和檢查上的觀點的一致性。在我看來,大多數人口中的自動化測試,實際上只是自動化檢查。他們為系統制定了乙個模型,照著這個模型做檢查。但正如前面所說的,我們還需要測試,所以需要理解的是,這些自動化檢查支撐了我們的測試成果,而不是替代測試成果。另外,如果認可測試是必需的話,我們應當去研究怎樣才能讓測試變得更快、更深入,或者研究如何才能進一步延拓測試範圍。什麼樣的工具我們能用來支撐測試,完成像資料管理、狀態控制以及日誌檔案解析等事務。

\

\\

infoq:您正在用哪些自動化框架?您在測試過程中是如何應用它們來達成自動化的?請舉些例子談談。

\\

\

bradshaw

\\

infoq:在測試和自動化方面,您有什麼心得體會想和其他測試人員分享的?

\\

\

bradshaw我們對自動化的看法及其討論都需要改變。應牢記我們所要解決的是測試問題,而不是「我們需要自動化」的問題。嚴肅認真地思考下你面臨的測試問題,在最適合的環節使用工具,同時別忘了工具自有其侷限性。

\\ 我想要表達的觀點是,我目睹了很多公司盲目追求自動化,自動化好像是它非要不可的玩具一樣。我也遇到過團隊將自動化單純地視為端到端的指令碼,其中包含了一些啟動項、一些動作項和一些斷言語句。應破除這些模子。以批判性的眼光來審視測試過程中需要改進的部分,如果自動化對此能有所幫助,就加入相應部分的自動化。分析測試方法中的瓶頸之處,深入的挖掘分析,不要止步於比如回歸測試耗時太長這種層次的分析。究竟是哪一部分的回歸測試耗時過長?別只盯著瓶頸自動化,很多時候這遠不是事情的全部。

\\ 最後一點,別忘了自動化本質上是笨呆的,實現自動化需要持續不斷的培訓。這會花費很多時間,你確定有這麼多的時間嗎?而測試人員作為乙個鮮活的人,時刻都在不停學習,想象下,如果你手頭上有一些趁手好使的工具,那該能對你的測試起到多麼大的改善作用啊?

\

\\

檢視英文原文:automation in testing over test automation

自動化測試中的測試執行自動化

自動化測試 這個術語的使用是如何對團隊深挖自動化益處產生束縛作用的,richard bradshaw 在agile testing days 2015上對此進行了 分析。infoq有幸採訪到了bradshaw,就測試和檢查的不同之處以及為什麼兩者都很重要 自動化能怎樣支援測試 自動化框架的使用以及為...

自動化測試執行指令碼(python)

自動化測試指令碼,以qq空間為例 賬號 密碼 使用者名稱根據實際情況填寫 1 寫測試用例 import unittest from selenium import webdriver import time 建立測試類 繼承unittest.testcase class testspace unit...

自動化測試 web自動化測試

自動化 由機器裝置代替人為完成制定目標的過程 優點 提高工作效率 減少勞動力 產品規格同一標準 批量生產 自動化測試 讓程式代替人為去驗證程式功能的過程,即在預設條件下執行程式系統 流程確定 搭建自動化框架 編寫測試用例,將其轉化為soupui 介面 自動化測試指令碼 執行自動化測試指令碼 輸出執行...