为啥要做App自动化测试
更新时间:2021-12-27 09:45:26 作者:多测师 浏览:272
1.1 概述
什么是App自动化?为什么要做App自动化?
App自动化是指给 Android或iOS上的软件应用程序做的自动化测试。
手工测试和自动化测试的对比如下:
手工测试优势:不可替代、发现更多bug、包含了人的想象力与理解力。
注意,不是所有功能都需要自动化。
自动化测试优势:可重复、效率高,增加软件信任度。
App测试自动化的目的如下:
执行自动化测试只会发现很少的bug。
执行自动化冒烟测试或回归测试是用来验证系统状态,而不是找出更多bug。
-执行自动化测试可以让测试同事有更多的精力来关注复杂场景,做更多更深层次的测试。
-编写自动化测试过程中会发现一部分bug,发现后要及时记录。
1.2 风险分析
自动化测试的主要风险分析如下:
(1)测试用例覆盖率(覆盖率决定测试效率,选择合适用例,应约占功能用例集的20%~50%)
(2)测试结果准确度(准确度决定了测试有效性,应尽可能减少误报)。
(3)自动化代码维护(维护决定了成本,数据关键字驱动自动化框架,代码应尽可能优化和少改动)。
(4)版本开发和测试时间进度(当项目需求和功能较为稳定时,建议用自动化)。
(5)开发对控件元素增修改的程度(需开发人员尽可能地用name元素,并且和UI设计一致,修改变动程度不大,测试人员可根据提供的元素提前介入,开发自动化脚本)。
App源码权限控制,iOS上测试需要源码。实际测试只需SVN下载权限,而不需要上传权限。防止改动SVN上的源码。
1.3 软硬件需求
自动化测试的软硬件需求如下。
硬件:
Mac电脑、iPhone手机。
Windows电脑、Android手机。
软件:
Appium测试框架:运行App驱动的平台,通过识别的控件元素,模拟用户的手工操作,支持iOS和Android系统。
AdbWireless:安卓手机和电脑间的无线连接。
Jenkins:持续集成自动构建和执行任务。
TestNG:测试插件初始化、测试、断言、清理。
JDK、Eclipse、Ant、SVN运行和Java语言开发编写环境。
1.4 测试计划
用一周时间做出演示demo,如果是从0开始的小白可用3到6个月时间做出演示demo。
用一个月时间试运行冒烟测试用例,如果是从0开始的小白可用半年到一年试运行测试冒烟测试用例。
目前计划:
采用自动化关键字数据驱动模式设计,即表格驱动测试或者基于动作的测试。关键字驱动框架的基本工作是将测试用例分成了四个部分:一是测试步骤,二是测试步骤中的对象,三是测试对象执行的动作(Action),四是测试对象需要的数据(Test Data)。
后期计划:
把测试用例、控件元素等放入数据库或页面进行展示操作。做到写自动化测试用例完全不用增修改代码,而是由用例自动生成代码,自由管理大量用例和测试数据,最终做成自动化平台,需要一个测试开发团队进行实现,具体内容参见本书附录A。
1.5 Appium移动自动化框架
使用Appium移动自动化测试框架需要掌握的技能如下(第1章到第4章都会用到):
(1)Appium API、WebDriver基础知识和环境搭建(见第1.5节)。
(2)TestNG等测试框架 (见第1.6节)。
(3)Android/iOS开发测试基础以及环境搭建(见第2章和第3章)。
(4)开发移动自动化项目Java语言或Python语言等 (第4章)。
说明:如果想用Python语言编写自动化测试框架,那么读者可以参考本书的Java和TestNG的代码逻辑,使用Python和unittest编写测试脚本。
Appium自动化测试框架的功能概括如下:
(1)支持iOS、Android,支持各种机型适配。
测试集:关联Excel测试用例和脚本配置。
测试数据:Excel存储输入数据、控件元素、测试结果。
测试脚本:由Java和TestNG编写,分层结构case、log、config、report以及data。
(2)自动测试用例覆盖率。
功能测试用例抽取覆盖。
支持用例failed时自动截屏。
failed用例自动重复执行数遍。
(3)持续集成环境Jenkins,定时自动构建和执行测试任务
多台机器上并行App自动化,测试机型适配。
测试结果报告展示,自动邮件展示。
以上内容为大家介绍了为啥要做App自动化测试,希望对大家有所帮助,如果想要了解更多接口自动化测试相关知识,请关注多测师。https://www.aichudan.com/xwzx/
上一篇:自动化测试如何计算ROI
下一篇:制定自动化测试实施计划