一、什么是app测试?什么是app自动化测试?

概念:所谓app测试也称之为移动测试,通俗易懂的理解就是测试我们平时手机使用的程序。那什么是app自动化测试呢?

通常情况下是随app产品不断迭代更新,给测试⼈员也增加了测试⼯作量,特别是⼤量繁琐的回归测试。⾃动化测试是应对产品不断迭代更新的辅助测试⼿段(主要是针对回归测试),最终⽬的是为了保证产品质量。简而言之就是自动化的有点就是可重复、效率高,增加软件信任度。

>> 下载300G软测学习资料包【视频教程+PPT+课件+项目源码】


二、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

3. 退出

driver.close_app()
driver.quit()

七、风险评估和分析事项

自动化测试的主要风险分析主要有一下几点:

(1)测试用例的覆盖率。测试人员开发的测试用例覆盖率是否足够全面,影响了最终的测试效果和测试执行效率。

(2)测试结果的准确程度。测试结果的准确度直接影响最终产品的质量,以及后续对项目进行二次改动和调试的工作难度。

(3)自动化代码维护。因为自动话的脚本需要进行编写和维护这个时间精力成本比较大。(一些数据和关键字驱动的自动化测试框架,应该尽可能的减少代码的更改和优化量。自动化框架的搭建和开发应该尽可能使用面向对象的编程思维进行搭建)。

(4)版本开发以及测试的时间进度。一般如果项目比较稳定,功能更新和迭代周期较长的,都建议选择自动化测试,可以提高测试效率并且高精度的保障产品质量。

(5)开发对控件元素增修改的程度。需开发人员尽可能地用name元素,并且尽量保证开发结果和UI设计保持一致,不要大幅度的修改。这样做的目的是测试工程师能够根据需求中的设计做准确性测试,也方便测试工程师编写自动化脚本提高工作效率。

App自动化测试怎么做?实战分享App自动化测试全流程相关推荐

  1. 33题实战“泰坦尼克号生存预测”全流程

    33题实战"泰坦尼克号生存预测"全流程 点击以上链接

  2. 金融类APP应该怎么做?券商APP该何去何从?

    当下金融类APP,尤其以手机证券APP为首,发展至今,存在一些普遍性问题: 1.从用户角度:产品同质化高,体验较差: 2.从技术角度:投产比较低,知识欠缺不垂直,产品迭代困难: 3.从业务运营角度:抓 ...

  3. 详解一个Python库,用于构建精美数据可视化web app,练习做个垃圾分类app

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 醉卧沙场君莫笑,古来征战几人回? ...

  4. 全排列 流程图_[分享]给排水工程全流程施工详解,看看精品工程是怎样施工的!...

    给排水工程是机电安装五大分部之一,也是贯穿建筑工程施工全过程的重要内容,本文是基于工程实例对给排水施工工艺的全流程解读,可供大家参考实施! ----------多图预警分割线,流量党慎滑------- ...

  5. 记录一次Oracle自动化测试工具 - OATS实战分享

    #前言 项目上线过程会经历各种阶段,如测试.灾难备份.恢复演练.压力测试,本次便是分享一篇关于压力测试的实战文章. #环境准备 Window10/Window7系统一台 OATS:Oracle App ...

  6. 类似美团外卖APP测试怎么做?测试要点有哪些?

    随着智能化生活的推进,APP外卖带来新的餐饮模式.目前市场上比较活跃的比如美团外卖.饿了么外卖.百度外卖等为餐厅提供外送服务的APP已经深入影响人们的生活.由于外卖APP使用人群范围广泛,对客户信息保 ...

  7. android开发入门与实践_我的新书《Android App开发入门与实战》已经出版

    前言 工作之余喜欢在CSDN平台上写一些技术文章,算下时间也有两三年了.写文章的目的一方面是自己对技术的总结,另一方面也是将平时遇到的问题和解决方案与大家分享,还有就是在这个平台上能和大家共同交流. ...

  8. 菜谱分享APP/基于android菜谱分享系统

    摘 要 随着现代生活水平的不断提升,人们越来越关注健康,关注美食,大部分人都希望吃得美味的同时也要吃得健康,所以,有的人喜欢在家自己动手制作美食,但是却缺少这方面的资讯来源.菜谱分享APP是一个使用H ...

  9. 【软件测试7】web自动化测试——12306购票实战

    web自动化测试--12306购票实战 一.自动化购票流程 登录 进入购票 填写信息 选择车次 预定 选择购票人 二.自动化环境配置 软件环境:Python+selenium Python安装:Pyt ...

  10. python app自动化测试框架_appium+python,app自动化测试框架

    基于appium的app自动化测试框架 基于appium框架的app自动化测试 App自动化测试主要难点在于环境的搭建,appium完全是基于selenium进行的扩展,所以app测试框架也是基于we ...

最新文章

  1. log_pipe日志收集分析系统介绍
  2. Java学习笔记15
  3. 智点创科机器人_秒会机器人教育_秒会机器人教育加盟_秒会机器人教育加盟费多少钱-武汉智点创科机器人科技发展有限公司-项目网...
  4. xpath解析库的语法及使用
  5. java url api_深入阅读java api之URL
  6. 从零开始数据科学与机器学习算法-简单感知器-05
  7. 【TensorFlow-windows】部分损失函数测试
  8. 设计素材画面太平淡?优秀案例网页教你如何用色彩丰富画
  9. win11系统通知怎么取消 Windows11取消系统通知的步骤方法
  10. JDK动态代理运行期生成的字节码文件class,获取反编译方法
  11. 最新最全git使用大全
  12. M.2接口 通道SATA,PCI-Ex2,PCI-Ex4,B key,M key,BM key,NVMe,AHCI都是什么
  13. revit二次开发之插件安装包制作
  14. 网证CTID是一种什么业务?有什么前景?
  15. 推荐学习方法——费曼技巧,以教促学,教学相长
  16. 腾讯数据分析师认证!
  17. 3D建模需要什么电脑配置?什么样的电脑可以用作游戏建模?
  18. 神秘国度的爱情故事——广州大学课程设计
  19. Swift 3.1 更新了什么
  20. 情人节 玫瑰花表白源码

热门文章

  1. Jenkins进阶系列之——02email-ext邮件通知模板
  2. 使用Eclipse编写Helloworld!并通过Eclipse中的插件Egit上传至gethub.
  3. 数学笔记11——微分和不定积分
  4. vi命令下编辑文件时,按insert键文件底部无法编辑
  5. MFC——Listcontrol 添加背景颜色
  6. cesium--entity
  7. 《DFS》《剪枝》Problem C. 买蛋糕
  8. 最易被误读的十大职业排行榜
  9. git rebase origin/develop
  10. CKEditor编辑器的详细使用