概念:所谓app测试也称之为移动测试,通俗易懂的理解就是测试我们平时手机使用的程序。那什么是app自动化测试呢?
通常情况下是随app产品不断迭代更新,给测试⼈员也增加了测试⼯作量,特别是⼤量繁琐的回归测试。⾃动化测试是应对产品不断迭代更新的辅助测试⼿段(主要是针对回归测试),最终⽬的是为了保证产品质量。简而言之就是自动化的有点就是可重复、效率高,增加软件信任度。
1、功能测试 : 查看功能是否正常,主要针对每一个功能点进行一一测试,主要核心就是把验证的每个测试点都满足需求的对应功能,验证标准就是让预期结果和实际结果保持一致。
2、安装卸载测试:首先要测试的点必须是软件可以正常的安装和卸载,并且保证最基本系统的正常运行。
3、升级测试:测试点是软件的状态,就是更新迭代升级前后的区别和变化,确保旧版本功能正常实现,新功能不会出问题。
4、兼容性测试:测试点:屏幕尺寸,以及系统适配等问题。主要对目前市场上比较流行的设备进行安装软件进行测试,保证可以正常的使用具体测试点如下:
1、首先我们需要安装环境java sdk的环境:版本jdk1.62以上,
2、配置 JAVA_HOME 和 PATH
右击“我的电脑”–>然后找到"属性"–>点击"高级系统设置"–>选择"高级"–>点击"环境变量"
在系统变量里新建"JAVA_HOME"变量,变量值为:D:\Pro\jdk1.8.0_60(具体根据jdk的安装路径配置)
:.;%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调试(打开)
1、定义
2、关系
3、作用
4、主要命令
a:服务 (如果发现代码连不上手机了)
b:查看设备
c:进入手机终端
d:获取信息
e:文件传输
f:软件安装卸载
g:获取其他信息
一般我们去做app自动化会选取 Appium测试工具
优点:支持的语言多、支持的平台多
环境搭建
1. 连接设备
组装一个字典,注明平台、系统版本、名称
#注明要打开的应用和界面的名称
from appium import webdriver
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
3. 退出
driver.close_app()
driver.quit()
自动化测试的主要风险分析主要有一下几点:
(1)测试用例的覆盖率。测试人员开发的测试用例覆盖率是否足够全面,影响了最终的测试效果和测试执行效率。
**(2)测试结果的准确程度。**测试结果的准确度直接影响最终产品的质量,以及后续对项目进行二次改动和调试的工作难度。
**(3)自动化代码维护。**因为自动话的脚本需要进行编写和维护这个时间精力成本比较大。(一些数据和关键字驱动的自动化测试框架,应该尽可能的减少代码的更改和优化量。自动化框架的搭建和开发应该尽可能使用面向对象的编程思维进行搭建)。
**(4)版本开发以及测试的时间进度。**一般如果项目比较稳定,功能更新和迭代周期较长的,都建议选择自动化测试,可以提高测试效率并且高精度的保障产品质量。
**(5)开发对控件元素增修改的程度。**需开发人员尽可能地用name元素,并且尽量保证开发结果和UI设计保持一致,不要大幅度的修改。这样做的目的是测试工程师能够根据需求中的设计做准确性测试,也方便测试工程师编写自动化脚本提高工作效率。
最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
全套资料获取方式: