qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          自動化測試基礎

           1、什么是自動化測試

            以程序測試程序,以代碼代替思維,以腳本的運行代替手工測試。自動化的測試涵蓋了:功能(黑盒)自動化測試,功能(白盒)自動化測試,性能測試,壓力測試,GUI(Graphical User Interface)測試,安全性測試等。

            2、自動化測試的優勢

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

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

            永遠不可能完全替代手工測試,自動化測試無法做到手工測試的覆蓋率,不是每個測試用例都適合做成自動化,如建議一個頁面的布局是否正確。

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

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

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

            4、合適引入自動化

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

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

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

            需要反復測試,如可靠性測試需要進行上千次的系統測試。

            5、不適合自動化

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

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

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

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

            6、自動化測試的流程




          合理的自動化切入點:通常,項目只有經歷了完整的系統測試之后才算具備了基本的引入測試自動化的條件。

            測試自動化分析:

           ?。?)可行性分析

           ?。?)抽樣demo分析,demo一般選取冒煙測試用例,檢查腳本是否能夠成功運行通過,已設計的測試點是否全部執行

           ?。?)測試需求分析,分析哪些功能點準備進行自動化

            測試計劃定制:自動化測試計劃越全面,后期越能循規蹈矩的去實施,自動化測試的成功率越高

            自動化測試設計階段:主要分為自動化測試框架和自動化測試用例。

           ?。?)自動化測試框架的設計,開發與搭建:應能保證測試的分布執行,腳本模塊化,數據驅動,日志分析,錯誤截圖,報表回收,共享對象庫,公共函數庫,環境配置,統一設計模式,異常處理,場景恢復的一個無人值守的,針對每個獨立項目的測試框架

            (2)自動化測試用例設計三部曲:手工測試用例是從無到有,然后自動化測試用例是根據手工測試用例來寫的。首先,篩選手工測試用例。然后轉換手工測試用例,最后新增&補充自動化測試用例。

            為什么不能用手工測試用例完全替代自動化測試用例?

            自動化測試用例的范圍往往是核心業務流程或者重復執行率高的,自動化測試的覆蓋率不能達到手工測試的覆蓋率。自動化測試的用例選擇一般以正向為主,而反向的情況卻有很多,但是并不是所有反向情況自動化測試都會涵蓋,而是有篩選的選取一部分。也并不是所有的手工測試用例都可以用來做自動化的,如頁面布局的檢查。手工測試可以不需要回原點,但是自動化測試往往是必須的。自動化測試用例與手工測試用例不同,不需要每個步驟都寫預期結果。

            測試腳本設計與開發:

            測試腳本大致可劃分為五種,

           ?。?)線性腳本:通過錄制直接產生的線性可執行的腳本

            (2)結構化腳本:具有順序,循環,分支等結構的腳本

           ?。?)可共享腳本:可以被多個測試用例使用,被其他腳本調用的腳本

           ?。?)數據驅動腳本:測試數據跟業務流程控制分離的腳本,通過讀入數據文件來驅動流程進行的腳本

            (5)關鍵字驅動腳本:腳本,數據,業務分離,數據和關鍵字在不同的數據表中,通過關鍵字來驅動測試業務邏輯。關鍵字驅動的特點是,它更像是描述一個測試用例在做什么,而不是如何做。

            自動化測試執行:

            (1)無人值守的測試:環境搭建,部署與配置;自動化測試用例與測試腳本相互綁定;自動化測試用例執行順序排列與組合

           ?。?)異常處理與場景恢復

            提交自動化測試產物:大致需要提交執行情況,測試結果,分析報表,測試報告,質量情況等。

            測試腳本維護:嚴格來講,每個階段都在做測試腳本維護。一個不值得維護的自動化測試項目是不值得立項的。

          posted on 2012-09-11 10:12 順其自然EVO 閱讀(286) 評論(0)  編輯  收藏 所屬分類: selenium and watir webdrivers 自動化測試學習

          <2012年9月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 崇阳县| 营口市| 柏乡县| 宜宾县| 历史| 富宁县| 龙陵县| 江源县| 南澳县| 张家口市| 许昌县| 旬邑县| 澎湖县| 廊坊市| 洛阳市| 营山县| 张掖市| 恭城| 泽普县| 南乐县| 青浦区| 天镇县| 阜康市| 萨嘎县| 修文县| 涟源市| 长海县| 柞水县| 玉山县| 克东县| 商洛市| 依安县| 冷水江市| 连南| 嵊泗县| 潮州市| 苍溪县| 收藏| 尚志市| 濮阳市| 措勤县|