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