一、什么是app測(cè)試?什么是app自動(dòng)化測(cè)試?
概念:所謂app測(cè)試也稱之為移動(dòng)測(cè)試,通俗易懂的理解就是測(cè)試我們平時(shí)手機(jī)使用的程序。那什么是app自動(dòng)化測(cè)試呢?通常情況下是隨app產(chǎn)品不斷迭代更新,給測(cè)試?員也增加了測(cè)試?作量,特別是?量繁瑣的回歸測(cè)試。?動(dòng)化測(cè)試是應(yīng)對(duì)產(chǎn)品不斷迭代更新的輔助測(cè)試?段(主要是針對(duì)回歸測(cè)試),最終?的是為了保證產(chǎn)品質(zhì)量。簡(jiǎn)而言之就是自動(dòng)化的有點(diǎn)就是可重復(fù)、效率高,增加軟件信任度。
? 300G軟件測(cè)試自學(xué)教程 [全套完整版]分享一波學(xué)習(xí)資料:測(cè)試猿課堂為大家準(zhǔn)備了一份總量達(dá)300G左右的【軟件測(cè)試全套自學(xué)教程】
包含完整的課件+PPT+實(shí)戰(zhàn)項(xiàng)目源碼+千套測(cè)試模板,內(nèi)容極其珍貴,千萬不要錯(cuò)過:
? 獲取資料包暗號(hào):【ceshi169】
二、app測(cè)試的主要內(nèi)容有那些
1、功能測(cè)試 : 查看功能是否正常,主要針對(duì)每一個(gè)功能點(diǎn)進(jìn)行一一測(cè)試,主要核心就是把驗(yàn)證的每個(gè)測(cè)試點(diǎn)都滿足需求的對(duì)應(yīng)功能,驗(yàn)證標(biāo)準(zhǔn)就是讓預(yù)期結(jié)果和實(shí)際結(jié)果保持一致。2、安裝卸載測(cè)試:首先要測(cè)試的點(diǎn)必須是軟件可以正常的安裝和卸載,并且保證最基本系統(tǒng)的正常運(yùn)行。
3、升級(jí)測(cè)試:測(cè)試點(diǎn)是軟件的狀態(tài),就是更新迭代升級(jí)前后的區(qū)別和變化,確保舊版本功能正常實(shí)現(xiàn),新功能不會(huì)出問題。
4、兼容性測(cè)試:測(cè)試點(diǎn):屏幕尺寸,以及系統(tǒng)適配等問題。主要對(duì)目前市場(chǎng)上比較流行的設(shè)備進(jìn)行安裝軟件進(jìn)行測(cè)試,保證可以正常的使用具體測(cè)試點(diǎn)如下:
Android系統(tǒng)版本 廠商二次開發(fā)版本 不同的分辨率 不同的網(wǎng)絡(luò) 網(wǎng)絡(luò)切換、中斷測(cè)試 使用中來電話、短信 橫豎屏切換 健壯性:電池耗電量、流量消耗情況、崩潰恢復(fù)等等三、App測(cè)試如何搭建環(huán)境
1、首先我們需要安裝環(huán)境java sdk的環(huán)境:版本jdk1.62以上,2、配置 JAVA_HOME 和 PATH
右擊“我的電腦”–>然后找到"屬性"–>點(diǎn)擊"高級(jí)系統(tǒng)設(shè)置"–>選擇"高級(jí)"–>點(diǎn)擊"環(huán)境變量"
在系統(tǒng)變量里新建"JAVA_HOME"變量,變量值為:D:\Pro\jdk1.8.0_60(具體根據(jù)jdk的安裝路徑配置)
在系統(tǒng)變量里新建一個(gè)"classpath"變量,變量值為:
:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar (需要重點(diǎn)注意變量值前面有一個(gè).需要加到變量值里面去)然后找到path變量(如果已經(jīng)存在了這個(gè)變量值,那就不需要去新建了)接下來就是進(jìn)行添加變量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
3、安裝Android的測(cè)試開發(fā)環(huán)境,到官網(wǎng)下載Android SDK進(jìn)行安裝
4、同樣在自己電腦上面,配置 ANDROID_HOME 和 PATH路徑
5、虛擬機(jī)安裝**:**推薦使用-(夜神模擬器)
6、python環(huán)境安裝:建議使用3.6版本,安裝時(shí)切記勾選配置環(huán)境變量
手動(dòng)配置:配置環(huán)境變量-電腦屬性系統(tǒng)變量添加python根目錄
溫馨提示:以上所有安裝包和環(huán)境,有需要可以私信我,可以分享安裝包鏈接以及詳情操作步驟。
關(guān)于使用手機(jī)模擬器的話也可以使用真機(jī)測(cè)試步驟如下:
a:手機(jī)通過usb線 連接到電腦
b:在手機(jī)上打開文件傳輸(通知欄,手機(jī)正在充電)
c:在電腦上會(huì)發(fā)現(xiàn)多了一個(gè)CD驅(qū)動(dòng)器,里面是手機(jī)的驅(qū)動(dòng)
d:安裝驅(qū)動(dòng),電腦的設(shè)備管理器中就可以看到型號(hào)了
e:開啟開發(fā)者模式: 手機(jī) – 設(shè)置 – 關(guān)于手機(jī) – 版本號(hào) (多次點(diǎn)擊)
f:打開USB調(diào)試: 手機(jī) – 設(shè)置 開發(fā)者選項(xiàng) – usb調(diào)試(打開)
四、app測(cè)試的ADB服務(wù)
1、定義就是一個(gè) Android Debug Bridge 安卓調(diào)試橋
即包含ADB服務(wù),也包含了與服務(wù)對(duì)應(yīng)的Client
2、關(guān)系
會(huì)在電腦上創(chuàng)建出來一個(gè)服務(wù)(ADB服務(wù))
手機(jī)連上電腦后,都會(huì)與服務(wù)建立連接
要想發(fā)送指令給手機(jī), 需要把指令發(fā)送到服務(wù)中。
3、作用
通過命令行去操作手機(jī)
4、主要命令
a:服務(wù) (如果發(fā)現(xiàn)代碼連不上手機(jī)了)
adb kill-server
adb start-server
b:查看設(shè)備
adb devices
c:進(jìn)入手機(jī)終端
adb shell
d:獲取信息
adb shell getprop ro.build.version.release 獲取手機(jī)android版本
adb shell dumpsys window windows | findstr mFocusedApp 獲取手機(jī)當(dāng)前運(yùn)行的程序和界面的名稱
e:文件傳輸
adb push 電腦上的文件 手機(jī)上的位置
adb pull 手機(jī)上的文件 電腦上的位置
f:軟件安裝卸載
adb install 電腦上的apk文件路徑 安裝應(yīng)用
adb uninstall 應(yīng)用的包名
g:獲取其他信息
adb shell am start -W 包名/.啟動(dòng)名
五、自動(dòng)化測(cè)試工具
一般我們?nèi)プ鯽pp自動(dòng)化會(huì)選取 Appium測(cè)試工具優(yōu)點(diǎn):支持的語言多、支持的平臺(tái)多
環(huán)境搭建:
安裝appnium的程序 在python中安裝 Appium-Python-Client 安裝selenium和appium的客戶端 安裝被測(cè)試app六、編寫python自動(dòng)化代碼
1. 連接設(shè)備組裝一個(gè)字典,注明平臺(tái)、系統(tǒng)版本、名稱
#注明要打開的應(yīng)用和界面的名稱
from appium import webdriver
# server 啟動(dòng)參數(shù)
desired_caps = {}
desired_caps["platformName"] = "Android"
desired_caps["platformVersion"] = "5.1"
desired_caps["deviceName"] = "192.168.56.101:5555"
desired_caps["appPackage"] = "com.android.settings"
desired_caps["appActivity"] = ".Settings"
# 從appium庫里面導(dǎo)入driver對(duì)象
# driver = webdriver.Remomte("appnium程序的地址","一個(gè)字典,要獲取設(shè)置的要求")
driver = webdriver.Remote("http://127.0.0.1:4723/wd/hub", desired_caps)
2. 執(zhí)行操作
# driver.xxx
# element = driver.find_element_by_xx()
# element.xxx
# 退出
driver.close_app()
driver.quit()
七、風(fēng)險(xiǎn)評(píng)估和分析事項(xiàng)
自動(dòng)化測(cè)試的主要風(fēng)險(xiǎn)分析主要有一下幾點(diǎn):(1)測(cè)試用例的覆蓋率。測(cè)試人員開發(fā)的測(cè)試用例覆蓋率是否足夠全面,影響了最終的測(cè)試效果和測(cè)試執(zhí)行效率。
(2)測(cè)試結(jié)果的準(zhǔn)確程度。測(cè)試結(jié)果的準(zhǔn)確度直接影響最終產(chǎn)品的質(zhì)量,以及后續(xù)對(duì)項(xiàng)目進(jìn)行二次改動(dòng)和調(diào)試的工作難度。
(3)自動(dòng)化代碼維護(hù)。因?yàn)樽詣?dòng)話的腳本需要進(jìn)行編寫和維護(hù)這個(gè)時(shí)間精力成本比較大。(一些數(shù)據(jù)和關(guān)鍵字驅(qū)動(dòng)的自動(dòng)化測(cè)試框架,應(yīng)該盡可能的減少代碼的更改和優(yōu)化量。自動(dòng)化框架的搭建和開發(fā)應(yīng)該盡可能使用面向?qū)ο蟮木幊趟季S進(jìn)行搭建)。
(4)版本開發(fā)以及測(cè)試的時(shí)間進(jìn)度。一般如果項(xiàng)目比較穩(wěn)定,功能更新和迭代周期較長(zhǎng)的,都建議選擇自動(dòng)化測(cè)試,可以提高測(cè)試效率并且高精度的保障產(chǎn)品質(zhì)量。
(5)開發(fā)對(duì)控件元素增修改的程度。需開發(fā)人員盡可能地用name元素,并且盡量保證開發(fā)結(jié)果和UI設(shè)計(jì)保持一致,不要大幅度的修改。這樣做的目的是測(cè)試工程師能夠根據(jù)需求中的設(shè)計(jì)做準(zhǔn)確性測(cè)試,也方便測(cè)試工程師編寫自動(dòng)化腳本提高工作效率。
責(zé)任編輯:Rex_08