最近差不多一年從事自動化的測試工作,從開始對自動化一點都不了解到現在能從實現用例、手動命令行執行用例、自制工具來執行用例,感覺進步還是有的。
自動化測試對于手動測試應該是有不小的優勢的,雖然在自動化的用例實現中剛開始的時候會顯得很麻煩,但是它是一個一勞永逸的工作,尤其是版本變 更或者是有些用例需要重復執行的時候,這個優點會顯得極其明顯,它能夠極大的節約人力成本和時間成本。而且,感覺人工測試有時候會或多或少的出現錯誤,而 自動化測試會極大的降低這些錯誤。雖然如此,但是自動化測試也有一些缺性,比如需要維護,而且如果軟件不穩定,測試的用例經常的修改,則會花費大量的時間 在修改代碼上面。而且自動化測試不能去測試一些直觀的特性比如整體美觀效果、聲音等等。
在自動化測試的工作中也遇到過很多的問題:
1. 工作中大部分的時間都是在實現用例,這一部分遇到的問題主要可以分為2個,一個是如何查找和定位頁面元素,這一問題我會通過Cucumber學習筆記來進 行描述。另一個是環境問題,環境問題主要是由于環境中瀏覽器會自動的升級而導致舊的web-driver沒有及時的更新,從而導致用例不能正常的執行。記 得的環境問題主要有打開了瀏覽器后不能正常的跳轉到測試頁面,一些元素不能用初始的方法找到,Api發生了變化。這個問題可以通過降級瀏覽器,或者升級 web-driver來進行解決,如果升級了web-driver之后發現有使用的方法發生了變化,則修改相應的方法即可。
2. 在工作中遇到的第二個問題是手工命令行執行用例不能滿足要求。在剛開始進行自動化工作的時候,也是這個項目剛開始的時候,項目中基本沒有實現的用例,工作 中要求每天需要執行實現的用例,那個時候,由于實現的用例十分的少,即使每天使用命令行來進行執行實現的用例,也還算十分的輕松。后來,隨著用例的增加, 手動的執行已經急劇的印象到我其他工作的進行,重復而且繁瑣的手動執行那些用例十分的痛苦也感覺非常的Low。于是就想,自己是否可以做一個簡單的程序來 進行這項重復而且繁瑣工作呢?經過幾天業余的時間,于是自動化執行腳本V1.0就誕生了,這個版本是個winform版本,主要是可以選擇用例,然后可以 一鍵執行選擇的用例,并且生成html版本的測試用例報告。現在看來,這個版本雖然極其的簡陋,但是卻也很開心,畢竟減少了我大量的工作,而且在白天的上 班時間也不用去執行那些用例,每天下班離開的時候,選擇所需要執行的用例并且運行起來,第二天早上過來查看結果并且發送報告,還算也小有成就。再后來,用 例繼續的增加,由于在項目中每一個用例都會生成一個報告,查看報告也會占用大量的時間,而且大家也基本只會查看那些有問題的報告。v2.0版本也在這個時 候誕生了,這個版本依舊是個winform的小程序,它除了擁有第一個版本的特性之外,還會對生成的報告來進行分析,將有問題的用例和一些失敗的信息提取 出來,然后我只用去關注這些有問題的用例然后發送對應的報告即可。再后來,用例依舊增加,所有的用例在單個的機器上面一個晚上已經不能執行完畢,而且每天 發送測試報告也十分的繁瑣。于是這個時候,V3.0版本也應運而生了。V3.0版本有原來的winform版本改為了web版,是用asp.net mvc5做的,在這個版本中主要解決了用例執行分配到不同的機器、直觀的在web上面查看所有的用例執行結果、能確保每次的執行是最新的代碼、可以進行制 定相應的執行計劃。由于bug的存在,這個版本也改過了許多次,但是至今也仍然在使用。這個系統我會在之后的文章中進行分享的。
今天的文章就寫到這里了。