文中劃線部分是亮點~是日後鑽研的方向,將開發中的設計模式思想引入自動化測試時怎麼一回事呢,目前還不太知道....目前只能做到框架層面.
一.背景(測試現狀)
公司的業務不斷擴充套件,專案越來越多,長期需要更新且更新頻繁的專案也越來越多。而測試人員已經不能滿足這麼多專案的測試,測試壓力也很大。許多公升級的專案或只做少量更改的專案,只能針對修改的部分進行測試。而回歸測試更只能簡單的跑跑流程。
二.存在的問題
1. 大部分專案的冒煙測試未充分,導致後期測試無法正常進行;
2. 專案更新比較頻繁,投入的人力大;
3. 版本更新的專案測試不夠充分;
4. 有時需要準備案件資料,使用人工錄製,用時長,效率低;
5. 測試重複性勞動比較多,不僅投入大,而且測試人員也容易受此影響工作效率;
6. 回歸測試不充分;
三.解決方法
可以通過應用自動化測試來改善以上的問題。自動化測試的乙個顯著特點就是使用計算機進行自動化測試。因為計算機不會感覺累也不會感覺枯燥,且執行速度快,因此能有效的改善以上的問題。自動化測試比較適合驗證功能是正確的,對於要驗證功能是不正確的,那就得對指令碼做很多處理,也需要在開發軟體時做很多規範性的工作。
要採用自動化測試來改善以上問題,就需要考慮以下問題:
1. 為什麼要使用自動化
為什麼要使用自動化測試呢?那是因為現在的測試現狀存在上面所列問題,而自動化測試能解決或改善以上的問題。
2. 自動化測試的投資和回報
投資:● 軟體成本:購買自動化測試軟體產品的成本;
● 硬體成本:購買適用自動化軟體的電腦的成本;
● 培訓成本:培訓測試人員編寫自動測試指令碼和使用自動化測試的成本;
● 使用成本:編寫測試用例和測試指令碼的勞動力成本。
回報:● 降低勞動量;
● 提高測試的全面性;
● 加快測試速度;
● 提供規範化的過程;
● 提高測試的重用性;
● 提高測試精確度並提早發現更多錯誤;
● 降低測試成本;
● 自動化還有潛在的隱性效益,如提高測試人員的士氣和對工作的滿意度。
3. 如何正確使用自動化(哪些專案適合自動化)
正確使用自動化非常關鍵,否則可能不僅不能體驗到自動化帶來的好處,還可能增加測試負擔和測試成本。
自動化測試有自動化測試的特點。自動化測試主要是利用電腦來模擬人的操作,因此要自動化測試實現什麼功能,比如驗證正確的功能還是驗證不正確的功能及如何驗證都需要人來告訴它。既然自動化測試是模擬人來操作,那麼自動化測試工具就必須能識別測試人員所做的操作的物件(控制項),這樣自動化測試工具才能對這些物件進行操作。而自動化測試工具對物件的識別是需要制定規則的。雖然自動化工具有內建了大部份常用的物件的識別機制,但現在畢竟第三方外掛程式和自己開發外掛程式越來越多。自動化測試工具對這些控制項並沒有識別機制和,因此並不能識別這些控制項,這時就需要測試人員針對這些控制項的特點和自動化測試工具提供的功能尋找出繞過此控制項或操作此控制項的方法。而尋找和制定這些方法有可能需要耗費大量的工時,有可能會導致得不償失。如果不考慮這些因素,可能會為了實現自動化測試而投入大量的人力成本,導致自動化測試的優勢不能得以顯示,且還會提高的測試的成本。
從以上的分析可以看出,自動化測試最適合使用的地方是用於實現規範化開發的軟體的回歸測試。但使用自動化測試並不是這麼死板,可以根據測試工具的特點和提供的功能,實現其他應用。
針對自動化測試的特點和公司目前的專案狀況,我認為,公司目前適合實現一些生命週期長更新頻繁的測試專案。如,*****,*****,*****等。而對於這些專案並不適合都實現自動化測試。目前公司在這些專案實現自動化測試,適合使用在冒煙測試,回歸測試及一些功能的驗證上(如驗證統計表下鑽資料的正確性)。至於將來如果專案更規範化後,可以考慮把自動化測試擴充套件的各個功能的測試。
4. 什麼時候開始進行自動化測試
最好是能在專案進行設計後就考慮自動化測試問題。如,要使用乙個第三方外掛程式或開發乙個外掛程式時,得考慮將來自動化測試工具能不能識別和操作的問題,是否需要留乙個介面,可以先用自動化測試工具對這些外掛程式進行測試一下。而專案設計完成後,就可以根據專案的功能和模組劃分對自動化指令碼進行一些整體上的規劃和框架設計。當功能模組開發完成並比較穩定時,就可以先對這些模組進行自動化指令碼開發(不需要等整個系統都完成才開發自動化指令碼)。等到專案進入測試階段後,就可以開始所有指令碼的開發,並使用指令碼進行回歸測試了。
5. 自動化測試需要怎樣的人員構成
經過實踐,以公司現在的規模,自動化測試需要有
五、六個人員組成的自動化測試小團隊,而這個自動化測試小團隊的
五、六個人員中需要有
一、兩個人員為自動化測試技術的支援人員。
四.公司自動化應用規劃
1. 按發展時期劃分
● 早期引入
剛引入自動化時,可以先在幾個比較有大的產品或專案中實現自動化測試。可以先使用自動化測試實現冒煙測試和簡單的回歸測試。
● 專案推廣
在此階段,可以把自動化測試推廣到大部分適合自動化測試的專案中去。首先也是重點要實現冒煙測試和更完整的回歸測試。然後才是實現一些特殊功能的自動化測試。
● 技術推進
技術推進時期,需要不斷優化自動化指令碼並提高自動化指令碼的共享和復用。從而大大減小自動化指令碼後期維護的工作量。
2. 按應用級別劃分
● 簡單應用
主要是使用自動化測試工具進行錄製回放,並實現簡單的引數化和指令碼處理。此應用比較簡單,實際價值並不太大,因此適合在引入初期或試驗時期應用。
● 使用框架
使用框架設計實現指令碼的可配置,及公用指令碼的復用。此應用比較有價值,因此在實現專案自動化測試時適合從此級別應用開始使用。
● 使用設計模式
等自動化應用進一步深入後,可以應用設計模式的思想來設計自動化測試的框架的指令碼。如指令碼與資料分離,邏輯與功能分離等等。利用設計模式思想能設計出適應性更強的自動化框架,能編寫定製性更強的自動化指令碼,從而進一步降低指令碼維護成本。
● 與其他語言結合
自動化工具(qtp)提供了與其他語言的介面。如c#、vb、vbs等等。因此可以通過這些語言編寫出操作qtp的工具,完全可以把qtp只當作乙個執行工具。這樣就可以實現更強大的自定義指令碼功能。
五.應用難點
1. 引入時期需要培養一些自動化測試人員;
2. 沒有比較完善的自動化測試模式可以參考,需要自己摸索;
3. 專案選型較困難,即選擇適合自動化的專案或專案中的功能模組。
自動化測試 web自動化測試
自動化 由機器裝置代替人為完成制定目標的過程 優點 提高工作效率 減少勞動力 產品規格同一標準 批量生產 自動化測試 讓程式代替人為去驗證程式功能的過程,即在預設條件下執行程式系統 流程確定 搭建自動化框架 編寫測試用例,將其轉化為soupui 介面 自動化測試指令碼 執行自動化測試指令碼 輸出執行...
測試自動化 自動化測試的定義
相關術語 automated testing test tool,automated testing test suite,automated testing test script等.具體參見 http en.wikipedia.org wiki test automation 推薦書籍 1 軟體...
測試自動化
自動化測試有兩種含義 開發過程的自動化單元測試和功能驗證階段的自動化黑盒測試。這兩者融合到daily build中,是daily build的最重要核心。daily build和自動化單元測試另文詳述,此處主要說說自動化功能測試。自動化測試的投入產出比以及實際應用效果其實不高 自動化測試作為提高測試...