天天看點

自動化測試基礎

  2、自動化測試的優勢

  回歸測試更友善可靠 ;可運作更多,更繁瑣的測試,且快速高效;可執行一些手工測試執行相當困難或者做不到的測試,如大量的使用者并發;更好的利用資源,具有一緻性和可重複性的特點,自動化測試腳本完全可複用;提升了軟體的可信度;多環境下測試等。

  3、自動化測試無法做到的事以及劣勢

  手工測試發現的缺陷遠比自動化多。自動化測試是幾乎無法發現新缺陷的,最大的用途是用來回歸,確定曾經的bug沒有在新的版本上重新出現。

  自動化測試工具是死的,它不具備任何想象力。自動化測試的好壞,完全取決于測試工程師。

  成本投入高,風險大。對測試人員的技術要求高,對測試工具同樣有要求。

  4、合适引入自動化

  項目周期長,系統版本不斷,并且需求不會頻繁變更,此時是适合引入自動化測試的。

  系統的測試對象基本可以正常識别,以及對無法識别的控件能否提供一個解決方案。

  系統中不存在大量的第三方控件。

  5、不适合自動化

  項目周期短,需求頻繁變更。即使是周期長的項目,如果經常需求變更,也不适合做自動化。

  軟體版本還沒有穩定的情況下,主功能或大量功能有被重新更改的可能話,也不适合做自動化。

  沒有明确的項目測試自動化計劃,措施和管理。

  多數對象無法識别,以及腳本維護頻繁與艱難,二者有其一,自動化必定失敗。

  6、自動化測試的流程

自動化測試基礎

<a href="http://www.51testing.com/batch.download.php?aid=35092" target="_blank">合理的自動化切入點:通常,項目隻有經曆了完整的系統測試之後才算具備了基本的引入測試自動化的條件。</a>

<a href="http://www.51testing.com/batch.download.php?aid=35092" target="_blank">  測試自動化分析:</a>

<a href="http://www.51testing.com/batch.download.php?aid=35092" target="_blank">  (1)可行性分析</a>

<a href="http://www.51testing.com/batch.download.php?aid=35092" target="_blank">  (2)抽樣demo分析,demo一般選取冒煙測試用例,檢查腳本是否能夠成功運作通過,已設計的測試點是否全部執行</a>

<a href="http://www.51testing.com/batch.download.php?aid=35092" target="_blank">  (3)測試需求分析,分析哪些功能點準備進行自動化</a>

<a href="http://www.51testing.com/batch.download.php?aid=35092" target="_blank">  測試計劃定制:自動化測試計劃越全面,後期越能循規蹈矩的去實施,自動化測試的成功率越高</a>

<a href="http://www.51testing.com/batch.download.php?aid=35092" target="_blank">  自動化測試設計階段:主要分為自動化測試架構和自動化測試用例。</a>

<a href="http://www.51testing.com/batch.download.php?aid=35092" target="_blank">  (1)自動化測試架構的設計,開發與搭建:應能保證測試的分布執行,腳本子產品化,資料驅動,日志分析,錯誤截圖,報表回收,共享對象庫,公共函數庫,環境配置,統一設計模式,異常處理,場景恢複的一個無人值守的,針對每個獨立項目的測試架構</a>

<a href="http://www.51testing.com/batch.download.php?aid=35092" target="_blank">  (2)自動化測試用例設計三部曲:手工測試用例是從無到有,然後自動化測試用例是根據手工測試用例來寫的。首先,篩選手工測試用例。然後轉換手工測試用例,最後新增&amp;補充自動化測試用例。</a>

<a href="http://www.51testing.com/batch.download.php?aid=35092" target="_blank">  為什麼不能用手工測試用例完全替代自動化測試用例?</a>

<a href="http://www.51testing.com/batch.download.php?aid=35092" target="_blank">  自動化測試用例的範圍往往是核心業務流程或者重複執行率高的,自動化測試的覆寫率不能達到手工測試的覆寫率。自動化測試的用例選擇一般以正向為主,而反向的情況卻有很多,但是并不是所有反向情況自動化測試都會涵蓋,而是有篩選的選取一部分。也并不是所有的手工測試用例都可以用來做自動化的,如頁面布局的檢查。手工測試可以不需要回原點,但是自動化測試往往是必須的。自動化測試用例與手工測試用例不同,不需要每個步驟都寫預期結果。</a>

<a href="http://www.51testing.com/batch.download.php?aid=35092" target="_blank">  測試腳本設計與開發:</a>

<a href="http://www.51testing.com/batch.download.php?aid=35092" target="_blank">  測試腳本大緻可劃分為五種,</a>

<a href="http://www.51testing.com/batch.download.php?aid=35092" target="_blank">  (1)線性腳本:通過錄制直接産生的線性可執行的腳本</a>

<a href="http://www.51testing.com/batch.download.php?aid=35092" target="_blank">  (2)結構化腳本:具有順序,循環,分支等結構的腳本</a>

<a href="http://www.51testing.com/batch.download.php?aid=35092" target="_blank">  (3)可共享腳本:可以被多個測試用例使用,被其他腳本調用的腳本</a>

<a href="http://www.51testing.com/batch.download.php?aid=35092" target="_blank">  (4)資料驅動腳本:測試資料跟業務流程控制分離的腳本,通過讀入資料檔案來驅動流程進行的腳本</a>

<a href="http://www.51testing.com/batch.download.php?aid=35092" target="_blank">  (5)關鍵字驅動腳本:腳本,資料,業務分離,資料和關鍵字在不同的資料表中,通過關鍵字來驅動測試業務邏輯。關鍵字驅動的特點是,它更像是描述一個測試用例在做什麼,而不是如何做。</a>

<a href="http://www.51testing.com/batch.download.php?aid=35092" target="_blank">  自動化測試執行:</a>

<a href="http://www.51testing.com/batch.download.php?aid=35092" target="_blank">  (1)無人值守的測試:環境搭建,部署與配置;自動化測試用例與測試腳本互相綁定;自動化測試用例執行順序排列與組合</a>

<a href="http://www.51testing.com/batch.download.php?aid=35092" target="_blank">  (2)異常處理與場景恢複</a>

<a href="http://www.51testing.com/batch.download.php?aid=35092" target="_blank">  送出自動化測試産物:大緻需要送出執行情況,測試結果,分析報表,測試報告,品質情況等。</a>

<a href="http://www.51testing.com/batch.download.php?aid=35092" target="_blank">  測試腳本維護:嚴格來講,每個階段都在做測試腳本維護。一個不值得維護的自動化測試項目是不值得立項的。</a>

====================================分割線================================

最新内容請見作者的github頁:http://qaseven.github.io/

繼續閱讀