Web自动化测试理论知识
Web 自動化理論知識
1、自動化測試概述
概念:用工具代替/輔助人工完成完成軟件測試活動的過程
特點:
? ? 可以對程序的新版本自動執(zhí)行回歸測試
? ? 可以執(zhí)行一些手工測試困難或不可能進行的測試
? ? 可以更好地利用資源
? ? 測試具有一致性和可重復(fù)性
誤區(qū):
? ? 期望自動化測試發(fā)現(xiàn)大量新故障
? ? 安全性錯覺
? ? 自動化測試的維護開銷
2、自動化測試的優(yōu)勢
重復(fù)多次執(zhí)行測試時節(jié)省很多時間
提高測試覆蓋率和測試精度
實現(xiàn)自動化回歸測試減少工作量
減少手工測試人為產(chǎn)生的錯誤
提供規(guī)范化的過程和一致性
更好的文檔記錄
3、自動化測試的局限性
手工測試比自動化測試發(fā)現(xiàn)的故障更多,自動化測試只能發(fā)現(xiàn)約15%的bug
自動化測試不能提高測試的有效性,只能用于提高測試的效率
自動化測試不具有想象力,沒人聰明
自動化測試不能代替手工測試,下列情況不適合于自動化測試:
? ? 測試頻度很低
? ? 軟件不穩(wěn)定
? ? 結(jié)果很容易通過人驗證的測試(人式實施較為高效)
? ? 涉及物理硬件設(shè)備交互的測試
4、自動化測試的內(nèi)容
測試數(shù)據(jù)自動生成
自動化輸入
測試結(jié)果自動比較
測試自動執(zhí)行
自動化測試用例的管理
在線監(jiān)控
5、自動化腳本技術(shù)
線性腳本:? 錄制、回放
結(jié)構(gòu)化腳本:? 含有控制腳本執(zhí)行的指令,支持順序、選擇和循環(huán)
共享腳本:? 可以被多個測試用例使用,腳本之間可以互相調(diào)用
數(shù)據(jù)驅(qū)動腳本:? 數(shù)據(jù)驅(qū)動腳本是將測試輸入存儲在獨立的文件中,腳本中只存放控制信息
關(guān)鍵字驅(qū)動腳本:? 關(guān)鍵字驅(qū)動腳本實際上是較重復(fù)的數(shù)據(jù)驅(qū)動技術(shù)的邏輯擴展 ,即測試用例的執(zhí)行步驟(操作,操作對象,操作值)存放在文件中,直接執(zhí)行
6、Web自動化測試的基本原理:
找到要操作的元素-->操作元素-->獲取操作后的結(jié)果-->實際結(jié)果和期望結(jié)果對比-->測試結(jié)果-->記錄測試結(jié)果-->發(fā)送測試報告給相關(guān)人-->修改Bug
7、需要的基本知識:Html、Css、Js、熟悉(Java、Python、.net、ruby)其中的一種、MysqL的基本sql知識、unittest的基本使用方法
參考網(wǎng)站:www.w3school.com
8、需要用到的工具包和工具:
瀏覽器:IE、Firefox、Chrome、safari
Selenium browser drivers: geckodriver Chrome Driver InternetExplorer Driver
Selenium tools: Selenuim Webdriver client driver Selenium Standalone Server
集成開發(fā)環(huán)境:Pycharm
BDD框架工具:lettuce
其他工具:AutoIt、Win32api
9、自動化測試的類型:
單元測試-執(zhí)行速度最快
接口測試-執(zhí)行速度較快
UI測試-執(zhí)行速度最慢
10、自動化測試需要的條件:
軟件需求變動不頻繁
項目周期足夠長
自動化腳本可重復(fù)使用
有編程和設(shè)計能力的測試開發(fā)人員
研發(fā)團隊的支持
11、使用自動化的一此典型場景:
驗證原有功能是否依舊可以使用,適合進行大量回歸測試的場景
使用自動化沒測試技術(shù)注入測試數(shù)據(jù)
敏捷開發(fā)的TDD模式,行為驅(qū)動開發(fā)模式
機械并頻繁的測試,每次需要輸入相同、大量的一些數(shù)據(jù),并且在一個項目中運行的周期比較長
做業(yè)務(wù)運行狀態(tài)監(jiān)控
12、自動化實踐的一些建議
從上到下的支持和協(xié)作
先找小項目進行試點
測試人員需要有較強的編程能力和設(shè)計能力
開發(fā)需要不斷提高軟件的可測試性
多鼓勵單元測試、接口測試
UI測試使用并行測試方式提高執(zhí)行速度
13、關(guān)于UI自動化的一些建議
需要根據(jù)自己的測試業(yè)務(wù)類型,量身定做適合自己的測試框架
讓不懂開的測試人員也能使用測試框架來進行自動化測試
使用分層的結(jié)構(gòu)來設(shè)計框架
使用截屏技術(shù)提高一些測試效率
不斷積累自動化測試技術(shù),對開發(fā)提可測試性的要求
14、自動化測試實施失敗的因素
期望值過高,就像管理人員要求完全測試一樣,期望100%的自動化測試,也同樣是一個不現(xiàn)實的需求
對收益和成本認識不清。拋開工具的購買成本和培訓(xùn)成本,自動化測試的成本應(yīng)該還包括兩部分(實現(xiàn)成本中還隱含了測試準備成本):成本=實現(xiàn)成本+運行維護成本
自動化測試的收益是由測試的重復(fù)運行次數(shù),或自動化測試腳本的利用率決定的
15、什么時候開始實施自動化
可預(yù)見的需求不影響自動化測試用例的設(shè)計
16、如何實施自動化測試
獲取信息和測試需求分析:總體把握系統(tǒng)架構(gòu)和設(shè)計,分析出系統(tǒng)的測試需求
設(shè)計:設(shè)計測試用例,并且挑選出需要自動化實現(xiàn)的測試用例
實現(xiàn):編寫、調(diào)試和實現(xiàn)測試腳本
執(zhí)行:執(zhí)行腳本的過程,需要不斷分析執(zhí)行過程中的異常
測試結(jié)果分析:分析哪些是Bug,哪些是測試框架本身的問題
維護:自動化測試腳本的維護是一個難以解決又必須要解決的問題
總結(jié):在自動化測試過程中總結(jié)自動化實踐的投入產(chǎn)出比
17、什么是測試框架(framework)
整個或部分系統(tǒng)的可重用設(shè)計,表現(xiàn)為一組抽象構(gòu)件以及構(gòu)件實例間交互的方法;可被開發(fā)者定制的應(yīng)用骨架
轉(zhuǎn)載于:https://www.cnblogs.com/test-chen/p/10300024.html
總結(jié)
以上是生活随笔為你收集整理的Web自动化测试理论知识的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SqlServer 的IDENTITY_
- 下一篇: 使用FTP获取RFC文档