qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請訪問 http://qaseven.github.io/

          自動化測試基礎(chǔ)

           1、什么是自動化測試

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

            2、自動化測試的優(yōu)勢

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

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

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

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

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

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

            4、合適引入自動化

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

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

            系統(tǒng)中不存在大量的第三方控件。

            需要反復測試,如可靠性測試需要進行上千次的系統(tǒng)測試

            5、不適合自動化

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

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

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

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

            6、自動化測試的流程




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

            測試自動化分析:

            (1)可行性分析

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

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

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

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

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

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

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

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

            測試腳本設計與開發(fā):

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

            (1)線性腳本:通過錄制直接產(chǎn)生的線性可執(zhí)行的腳本

            (2)結(jié)構(gòu)化腳本:具有順序,循環(huán),分支等結(jié)構(gòu)的腳本

            (3)可共享腳本:可以被多個測試用例使用,被其他腳本調(diào)用的腳本

            (4)數(shù)據(jù)驅(qū)動腳本:測試數(shù)據(jù)跟業(yè)務流程控制分離的腳本,通過讀入數(shù)據(jù)文件來驅(qū)動流程進行的腳本

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

            自動化測試執(zhí)行:

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

            (2)異常處理與場景恢復

            提交自動化測試產(chǎn)物:大致需要提交執(zhí)行情況,測試結(jié)果,分析報表,測試報告,質(zhì)量情況等。

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

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

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

          導航

          統(tǒng)計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 新密市| 仁怀市| 纳雍县| 莱芜市| 桑日县| 上饶县| 昌江| 嘉定区| 中西区| 邵阳市| 南昌市| 台东市| 襄城县| 久治县| 常州市| 明水县| 海城市| 册亨县| 遵义县| 兖州市| 山阳县| 西乡县| 奎屯市| 阿克苏市| 清水河县| 林甸县| 宿迁市| 阿鲁科尔沁旗| 临湘市| 凌云县| 武汉市| 徐水县| 蒙山县| 吴川市| 特克斯县| 厦门市| 英德市| 顺义区| 齐河县| 桂东县| 双牌县|