JavaShuo
欄目
標籤
【刷題】麪筋-測開-自動化測試原理與框架
時間 2020-06-08
標籤
刷題
麪筋
自動化
測試
原理
框架
欄目
測試自動化
简体版
原文
原文鏈接
目錄
自動化測試
自動化框架
常見的自動化測試框架
自動化測試的流程
自動化測試工具腦圖
參考連接
自動化測試
概述
自動化測試,就是把以人爲驅動的測試行爲轉化爲機器執行的過程。
自動化測試每每經過一些測試工具或框架,編寫自動化測試用例,來模擬手工測試過程。
階段:通常落後於新功能的手工測試階段,能夠在手工用例執行完成或功能上線後,再補充。
分類
自動化測試廣義說法包括,白盒自動化測試,GUI自動化測試,性能自動化測試
GUI自動化測試的原理:經過軟件模擬用戶實際的鼠標和鍵盤操做,實現自動化執行和操做的過程。
性能自動化測試的原理:經過客戶端模擬多個虛擬用戶併發請求,來檢驗服務器的性能行爲是否知足系統要求。
自動化測試的優勢:
一、經過錄制,編寫腳本執行測試,減小回歸測試
二、執行手工測試困難,或不可能作得測試,(模擬多個用戶併發測試)
三、更好的利用資源,(將繁瑣的任務自動化,利用晚上或週末的時間進行執行自動化測試)
四、測試具備一致性和可重複性,(重複屢次相同的測試,在不一樣配置下執行,能夠在不一樣的操做系統測試)
五、測試的複用性
六、縮短測試的時間和週期
自動化測試侷限:
一、不能取代手工測試:手工測試比自動化測試發現的bug要多;
二、自動化測試對測試人員的要求相對更高;
三、測試用例須要根據版本迭代進行更新,有必定維護成本;
四、工具自己不具備想象力
五、對測試質量的依賴性極大
但願藉助自動化流程解決的問題
一、測試時間緊張,手工測試可能覆蓋不全,容易錯過某些邊界狀況;
二、模塊間強耦合時,單純從頁面進行測試時,比較難深刻發現問題;
三、迴歸測試時,須要投入較大的人力和工時;
四、實現手工測試沒法達成的測試任務,如併發;
五、經過編寫測試用例,加深對業務/數據的認知,有助於下階段迭代中發現隱藏的問題。
引入自動化測試的前提條件
項目週期長,需求變更不頻繁;
自動化測試腳本可重複使用;
測試任務手工測試難以實現;
作自動化測試須要具有的能力
編碼能力;
熟悉被測系統;
掌握一個自動化測試框架/工具;
不斷學習;
自動化測試用例設計原則
保持case的獨立性;
保持case的可遷移性;
提高case的執行效率;
自動化框架
概述
定義:爲解決某些特定問題而約束邊界,支撐整個問題解決方案,配套了一些解決問題的組件而構成的工具。
特定問題:什麼問題?——自動化測試
約束邊界:爲何約束?——明確測試範圍和目的
解決方案:用什麼方案解決問題?——編程語言+工具+其餘
構成工具的組件:哪些組件?—— 用例、腳本、數據、日誌、報告、通知
工具:特色是什麼?—— 靈活性、可擴展性、高內聚低耦合
圖示
組件
Log:日誌記錄和管理功能,針對不一樣的狀況,設置不一樣的日誌級別,方便定位問題;
Report:測試報告生成和管理以及即時通知,測試結果快速響應;
Source:配置文件、靜態資源的管理,遵循高內聚低耦合原則;
Common:公共函數、方法以及通用操做的管理,遵循高內聚低耦合原則;
TestCase:測試用例管理功能,一個功能點對應一個或者多個case,儘量的提升覆蓋率;
TestData:測試數據管理功能,數據與腳本分離,下降維護成本,提升可移植性;
TestSuite:測試組件管理功能,針對不一樣場景不一樣需求,組裝構建不一樣的測試框架,遵循框架的靈活性和擴展性;
Statistics:測試結果統計管理功能,每次執行測試的結果統計、分析、對比以及反饋,數據驅動,爲軟件優化和流程改進,提供參考;
Continuous:持續集成環境,即CI環境,包括測試文件提交、掃描編譯、執行測試、生成報告及時通知等功能,持續集成是自動化測試的核心!
常見的自動化測試框架
一、接口自動化框架:
①、java+testNG/Junit+Maven/Ant/Gradle+Jenkins+MySQL+testlink/redmine
②、python+unittest/pytest+Git+Jenkins+MySQL+testlink/redmine
③、python+rebot framework+unittest/pytest+Git+Jenkins+MySQL+testlink/redmine
④、jmeter+Maven/Ant+Jenkins+MySQL+testlink/redmine
二、UI自動化測試框架
①、java+selenium/appium+testNG/Junit+Maven/Ant/Gradle+Jenkins+MySQL+testlink/redmine
②、python+selenium/appium+unittest/pytest+Git+Jenkins+MySQL+testlink/redmine
③、python+rebot framework+unittest/pytest+Git+Jenkins+MySQL+testlink/redmine
總結
它們都擁有共同特性:編程語言+單元測試框架+掃描編譯工具+持續集成工具+數據庫+項目管理工具。
編程語言:編寫測試腳本、日誌記錄和輸出;
單元測試框架:提供測試腳本運行、異常校驗等一些列的配置;
掃描編譯工具:測試文件掃描編譯,通常配合持續集成工具使用效果更佳;
持續集成工具:Jenkins,經典的持續集成工具;
數據庫:測試數據管理;
項目管理工具:測試結果統計管理;
面試總結
框架:6項 -- 編程語言+單元測試框架+掃描編譯工具+持續集成工具+數據庫+項目管理工具。
具體:10項
日誌記錄和管理功能;測試報告;配置文件、靜態資源;公共函數、方法以及通用操做;測試用例;測試數據;測試組件;測試結果統計;持續集成環境。
自動化測試的流程
分析自動化測試需求,通常在手工測試以後開始;
根據項目的特色、選擇合適的自動化測試工具,並搭建測試環境
測試用例設計和開發:設計測試用例;或提取手工測試的測試用例,轉化爲自動化測試用例
開發自動化軟件測試框架和測試腳本
執行:經過工具、代碼實現自動化的構造輸入、自動檢測輸出結果是否知足預期
生成自動測試報告
持續改進、腳本優化
遊戲自動化測試的思考
參考文章:
遊戲自動化測試三三二二
自動化測試工具腦圖
參考連接
自動化測試原理和優勢以及限制
最明白的自動化原理
自動化測試框架總結
聊聊自動化測試框架
web自動化測試
6種自動化測試框架(總有一款適合你)
幾種常見自動化測試框架
END
相關文章
1.
【刷題】麪筋-測開-對淘寶搜索框進行測試
2.
自動化測試框架原理
3.
【刷題】麪筋-測開-登陸界面測試
4.
【刷題】麪筋-測開-軟件測試概述/對測試的理解
5.
【刷題】麪筋-測開-比較壓力測試、負載測試、性能測試
6.
測試自動化框架
7.
自動化測試框架
8.
【刷題】麪筋-測開-Web測試要點
9.
【刷題】麪筋-測開-軟件測試的階段
10.
【刷題】麪筋-測開-軟件測試的生命週期
更多相關文章...
•
Maven 構建 & 項目測試
-
Maven教程
•
Maven 自動化部署
-
Maven教程
•
Java Agent入門實戰(三)-JVM Attach原理與使用
•
IntelliJ IDEA中SpringBoot properties文件不能自動提示問題解決
相關標籤/搜索
自動化測試
測試面試
自動檢測
web自動化測試
UI自動化測試
測試題
測試理論
測試
測試開發
測測
測試自動化
Spring教程
MyBatis教程
PHP教程
面試
架構
開發工具
0
分享到微博
分享到微信
分享到QQ
每日一句
每一个你不满意的现在,都有一个你没有努力的曾经。
最新文章
1.
《給初學者的Windows Vista的補遺手冊》之074
2.
CentoOS7.5下編譯suricata-5.0.3及簡單使用
3.
快速搭建網站
4.
使用u^2net打造屬於自己的remove-the-background
5.
3.1.7 spark體系之分佈式計算-scala編程-scala中模式匹配match
6.
小Demo大知識-通過控制Button移動來學習Android座標
7.
maya檢查和刪除多重面
8.
Java大數據:大數據開發必須掌握的四種數據庫
9.
強烈推薦幾款IDEA插件,12款小白神器
10.
數字孿生體技術白皮書 附下載地址
本站公眾號
歡迎關注本站公眾號,獲取更多信息
相關文章
1.
【刷題】麪筋-測開-對淘寶搜索框進行測試
2.
自動化測試框架原理
3.
【刷題】麪筋-測開-登陸界面測試
4.
【刷題】麪筋-測開-軟件測試概述/對測試的理解
5.
【刷題】麪筋-測開-比較壓力測試、負載測試、性能測試
6.
測試自動化框架
7.
自動化測試框架
8.
【刷題】麪筋-測開-Web測試要點
9.
【刷題】麪筋-測開-軟件測試的階段
10.
【刷題】麪筋-測開-軟件測試的生命週期
>>更多相關文章<<