51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2641|回复: 0
打印 上一主题 下一主题

[转贴] 关于移动应用自动化测试的那些事

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-5-19 15:45:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
互联网产品的迭代速度远高于传统软件,尤其是移动APP不但更新频繁,还需要在不同硬件、系统版本的环境下进行大量兼容测试,这就给传统测试方法和测试工具带来了巨大挑战。为满足产品敏捷开发、快速迭代的app测试需求,自动化测试逐渐流行起来。自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。
自动化测试工具的优点很多,简单罗列几条:避免重复工作、提高测试效率、保证每次测试地一致性和可重复性、更好的利用资源、节省人力资源、增加软件信任度、缩短软件开发测试周期让产品更快投放市场、提高软件测试的准确度和精确度,添加软件信任度。
并不是任何应用产品都适合做自动化测试,选择自动化测试之前必须确认你的项目符合以下要求:软件需求变动不频繁、产品更新维护周期长、比较频繁的回归测试、自动化测试脚本可重复使用,否则光是准备大量的测试脚本就足以让测试人员崩溃。
自动化测试的主要类型
1、 基于代码的自动化测试,在方法上可以分为白盒测试和灰盒测试
白盒测试的特点:
白盒测试深入被测代码的逻辑细节
白盒测试关注代码覆盖率和运行路径
白盒测试通过测试桩(Stub,Mock)实现代码隔离
白盒测试通过测试驱动(Test Fixture)执行测试用例
灰盒测试的特点:
灰盒测试关注接口与参数,不关注代码实现
灰盒测试适用白盒测试用例设计方法
2、基于界面的自动化测试
利用代码或工具模拟鼠标和键盘的操作
界面级自动化测试的核心是对象识别和操作
工具比较多,如:Selenium/QTP等
3、协议级自动化测试
代码级自动化测试更多的用于服务端
界面级自动化测试更多的用于客户端
协议自动化测试用于测试客户端和服务端的通信,弥补代码级和界面级的不足
协议级自动化测试更适合于可靠性、安全性、性能等测试
移动app自动化测试工具的选择
APP:
1、Android:
UIAutomator 谷歌官方提供,只能做原生APP的自动化测试,语言java
Monkey 理论上不算UI自动测试框架,更大作用测试app的稳定性
MonkeyRunner 可录制,但是脚本根据坐标轴定位,兼容性差
Robotium 使用的人较多,文档也比较齐全,也支持webview,不支持跨进程, 语言java
Appium 支持Hybrid app,也支持跨进程,可以用众多语言编写脚本java,ruby,python,c#……目前不支持安卓toast的获取
Calabash 语言Java ,底层Robotium 同样不支持跨进程
2、IOS
UIAutomation 苹果自家的
Appium 同时支持android, 提供的api也基本一致,代码复用率高
Calabash 同时支持android, 提供的api也基本一致,代码复用率高

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-9-20 05:21 , Processed in 0.062192 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表