分享同事整理的 关于"iOS 无限monkey测试解决方案" 的记录

无限monkey解决方案

一、什么是monkey,目的

  • 软件稳定性测试,向系统发送伪随机用户事件流实现压力测试。
  • 目的:解放双手,告别点点点。
  • 优点:提升应用稳定性,能测出一些不可知的情况还有手动点点点无法测出的问题。
  • 局限性:一般用来测试UI的问题。

二、monkey 与单元测试的区别

  • monkey 是模拟事件流,并随机分发;
  • 单元测试是指针对某个 case 进行指定的测试。

三、黑盒与白盒

  • 黑盒:在不知道代码的情况下对应用进行测试,一般无侵入性;
  • 白盒:在知道代码的情况下对应用进行测试,一般具有侵入性。

四、比较流行的解决方案,曾经比较流行的解决方案

  • 较早使用 UIAutomation + js 脚本 现已经被移除。
  • CrashMonkey4IOS 曾经是比较流行的通用解决方案。
  • monkeytalk 也很好用,但是国内用的比较少,后来被收了,转商用。代码部分开源。
  • Appium 现在黑盒中比较流行的解决方案。
    • 好处:黑盒,开源,国内现在有许多开发者在支持。对于 iOS 内部支持已改为 UI Testing 。
    • 缺点:环境搭建费劲。运行慢。
  • macaca, Robotium… 我也不太熟。

五、我们使用的monkey解决方案

  • SwiftMonkey 老外写的 uitesting 白盒 monkey 解决方案。通过 uitesting 私有方法随机产生事件流来进行 monkey。

六、什么是无限monkey,为什么要无限monkey

  • 无限 monkey 是一套更加完善的客户端自动化测试解决方案。
  • 传统意义的monkey,当客户端crash 之后就结束了,无法重新启动。无限monkey的意义在于 当客户端crash 之后可以重新吊起,并会将崩溃时的 crash 日志与 log 日志 打包发送邮件给开发人员,这样就真正意义实现了一套完全自动化的 monkey。

七、技术点

  • monkey 框架引入
  • 判断被测 app 是否crash。
  • crash hook 与 crash 文件
  • log 重定向输出
  • 下载log,crash 日志
  • 将邮件发送给负责人。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值