1.什么是自動化
讓程序代替人為去驗證程序功能的過程
自動化測試是把以人為驅動的測試行為轉化為機器執行的一種過程
2.為什么要進行自動化
1、解決回歸測試
2、解決壓力測試
3、解決兼容測試
4、提高測試效率,保證產品質量
3.自動化測試的所屬分類
1.黑盒測試(功能測試)
2.灰盒測試(接口測試)
3.白盒測試(單元測試)
注意:Web自動化測試屬於黑盒測試(功能測試)
4.自動化測試優缺點
1.優點
1.以較少時間運行更多的測試用例
2.自動化腳本可重復使用
3。減少人為的錯誤
4.測試數據存儲
2.缺點
1.不能取代手工測試
2.手工測試比自動化測試發現的缺陷多,實際測試里邊,手工bug 80%,自動化工具 20% (性能和功能)
3.測試人員技能要求,要懂編碼
5.自動化測試過程
自動化測試與軟件開發過程從本質上來講是一樣的,無非是利用自動化測試工具(相當於軟件開發工具),經過對測試需求的分析(軟件過程中的需求分析),設計出自動化測試用例(軟件過程中的需求規格),從而搭建自動化測試的框架(軟件過程中的概要設計),設計與編寫自動化腳本(詳細設計與編碼),測試腳本的正確性,從而完成該套測試腳本(即主要功能為測試的應用軟件)。
6.什么是web自動化測試
讓程序代替人為去驗證web項目功能的過程
7.什么web項目適合自動化測試
1.需求變動不頻繁
2.項目周期足夠長
3.自動化測試腳本可重復使用(項目需要回歸測試)
8.主流測試工具
Web自動化測試工具:selenium、QTP(全名HP QuickTest Professional software ), Robot Framework功能自動化測試框架
性能自動化測試工具:loadrunner、jmeter。
接口自動化測試工具:SoapUI、postman,jmeter,restclient
移動(app)自動化測試工具:robotium(Android自動化測試框架)、appium。monkey(壓力測試,隨機測試工具)、monkeyrunner
雲測平台:testin
9.功能測試工具Selenium簡介
1.Selenium是什么
python中核心庫有哪些說出常用的5個:
https://blog.csdn.net/alice_tl/article/details/89815949?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~first_rank_v2~rank_v28-1-89815949.nonecase&utm_term=python%E5%B8%B8%E7%94%A8%E5%BA%93%E6%9C%89%E5%93%AA%E4%BA%9B&spm=1000.2123.3001.4430
Selenium是一款基於web應用程序的開源測試工具。
Selenium測試直接運行在瀏覽器中,就像真正的用戶在操作一樣。
它支持Firefox、ie等眾多瀏覽器。
它同時支持JAVA、C#、Ruby、Python、PHP、Perl等眾多的主流語言。
Java+selenium
Python+selenium
Selenium原理/機制
https://blog.csdn.net/lemo_ice/article/details/102852147
https://blog.csdn.net/p312011150/article/details/80672703
10.Selenium特點
開源、跨平台,運行在瀏覽器中
簡單靈活、支持很多種語言
11.Selenium核心組件
Selenium Core:支持DHTML 的測試案例(效果類似數據驅動測試),它是Selenium IDE 和Selenium RC的引擎
Selenium IDE 是一個Firefox 瀏覽器的一個插件,可以實現對瀏覽器的簡單操作的錄制與回放功能。一般用於測試人員在測試過程中發現bug,通過Selenium IDE 將重測試驟錄制下來,快速創建了bug 重現腳本,從而供開發人員容易重現bug。IDE 除了錄制回放外還可以導出錄制的腳本,並導出成多種語言,不同版本的Selenium 腳本,供測試人員快速開發腳本。
Selenium RC:Selenium Remote Control。Selenium RC 使用的是javascript注入的方式跟瀏覽器打交道。這樣 Selenium RC 需要啟動一個Server,然后將操作頁面元素的API 轉成javascript腳本,再把這段腳本注入到瀏覽器中去執行。而通過這種javascript注入的方式一來太依賴翻譯成javascript質量的好壞,二來javascript存在同源問題。這使測試變得不那么容易。
Selenium Grid:允許同時並行地、在不同的環境上運行多個測試任務,極大地加快Web 應用的功能測試。
