1. 程式人生 > >Web自動化測試理論知識

Web自動化測試理論知識

tools 不可 知識 提高 autoit 多次 重用 適合 安全性

Web 自動化理論知識

1、自動化測試概述
概念:用工具代替/輔助人工完成完成軟件測試活動的過程
特點:
可以對程序的新版本自動執行回歸測試
可以執行一些手工測試困難或不可能進行的測試
可以更好地利用資源
測試具有一致性和可重復性
誤區:
期望自動化測試發現大量新故障
安全性錯覺
自動化測試的維護開銷

2、自動化測試的優勢
重復多次執行測試時節省很多時間
提高測試覆蓋率和測試精度
實現自動化回歸測試減少工作量
減少手工測試人為產生的錯誤
提供規範化的過程和一致性
更好的文檔記錄

3、自動化測試的局限性
手工測試比自動化測試發現的故障更多,自動化測試只能發現約15%的bug
自動化測試不能提高測試的有效性,只能用於提高測試的效率
自動化測試不具有想象力,沒人聰明
自動化測試不能代替手工測試,下列情況不適合於自動化測試:
測試頻度很低
軟件不穩定
結果很容易通過人驗證的測試(人式實施較為高效)
涉及物理硬件設備交互的測試

4、自動化測試的內容
測試數據自動生成
自動化輸入
測試結果自動比較
測試自動執行
自動化測試用例的管理
在線監控

5、自動化腳本技術
線性腳本: 錄制、回放
結構化腳本: 含有控制腳本執行的指令,支持順序、選擇和循環
共享腳本: 可以被多個測試用例使用,腳本之間可以互相調用
數據驅動腳本: 數據驅動腳本是將測試輸入存儲在獨立的文件中,腳本中只存放控制信息
關鍵字驅動腳本: 關鍵字驅動腳本實際上是較重復的數據驅動技術的邏輯擴展 ,即測試用例的執行步驟(操作,操作對象,操作值)存放在文件中,直接執行

6、Web自動化測試的基本原理:
找到要操作的元素-->操作元素-->獲取操作後的結果-->實際結果和期望結果對比-->測試結果-->記錄測試結果-->發送測試報告給相關人-->修改Bug

7、需要的基本知識:Html、Css、Js、熟悉(Java、Python、.net、ruby)其中的一種、MysqL的基本sql知識、unittest的基本使用方法
參考網站: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
集成開發環境:Pycharm
BDD框架工具:lettuce
其他工具:AutoIt、Win32api

9、自動化測試的類型:
單元測試-執行速度最快
接口測試-執行速度較快
UI測試-執行速度最慢

10、自動化測試需要的條件:
軟件需求變動不頻繁
項目周期足夠長
自動化腳本可重復使用
有編程和設計能力的測試開發人員
研發團隊的支持

11、使用自動化的一此典型場景:
驗證原有功能是否依舊可以使用,適合進行大量回歸測試的場景
使用自動化沒測試技術註入測試數據
敏捷開發的TDD模式,行為驅動開發模式
機械並頻繁的測試,每次需要輸入相同、大量的一些數據,並且在一個項目中運行的周期比較長
做業務運行狀態監控

12、自動化實踐的一些建議
從上到下的支持和協作
先找小項目進行試點
測試人員需要有較強的編程能力和設計能力
開發需要不斷提高軟件的可測試性
多鼓勵單元測試、接口測試
UI測試使用並行測試方式提高執行速度

13、關於UI自動化的一些建議
需要根據自己的測試業務類型,量身定做適合自己的測試框架
讓不懂開的測試人員也能使用測試框架來進行自動化測試
使用分層的結構來設計框架
使用截屏技術提高一些測試效率
不斷積累自動化測試技術,對開發提可測試性的要求

14、自動化測試實施失敗的因素
期望值過高,就像管理人員要求完全測試一樣,期望100%的自動化測試,也同樣是一個不現實的需求
對收益和成本認識不清。拋開工具的購買成本和培訓成本,自動化測試的成本應該還包括兩部分(實現成本中還隱含了測試準備成本):成本=實現成本+運行維護成本
自動化測試的收益是由測試的重復運行次數,或自動化測試腳本的利用率決定的

15、什麽時候開始實施自動化
可預見的需求不影響自動化測試用例的設計

16、如何實施自動化測試
獲取信息和測試需求分析:總體把握系統架構和設計,分析出系統的測試需求
設計:設計測試用例,並且挑選出需要自動化實現的測試用例
實現:編寫、調試和實現測試腳本
執行:執行腳本的過程,需要不斷分析執行過程中的異常
測試結果分析:分析哪些是Bug,哪些是測試框架本身的問題
維護:自動化測試腳本的維護是一個難以解決又必須要解決的問題
總結:在自動化測試過程中總結自動化實踐的投入產出比

17、什麽是測試框架(framework)
整個或部分系統的可重用設計,表現為一組抽象構件以及構件實例間交互的方法;可被開發者定制的應用骨架

Web自動化測試理論知識