写给Android开发者的UI自动化测试上手指南

发表于:2016-10-20 13:32

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:keep_thinking    来源:51Testing软件测试网采编

  我们常常听到这样的问题:“为什么软件的开发者们不适合测试他们自己开发的软件?”。事实上,要回答这个问题需要明白开发者去进行测试的目的。本篇文章不会深入到自动化测试的具体细节,是对如何减少重复测试进行简单实践,让业务开发人员能够简单快速上手才是最终目的。
 
  开发人员测试自己所开发软件的行为就像学生在完成考试后对自己的成绩进行评估,所以可能会出现下面的问题:
  · 开发人员对其所写代码有主观认同感
  · 开发人员对软件过于乐观的心态
  · 开发人员对需求易产生偏差与混淆
  · 开发人员擅长修复但不擅长拆解
  · 开发人员缺乏对软件后续开发的展望
  · 开发人员缺乏测试经验和方法
  · 开发者测试的目的
  就如前面所说,软件开发者测试自己开发的程序好像并没多大意义,测试工程师具有很多优势条件,那作为开发者进行自动化测试的目的是什么?
  其实从下面的图就能解释一切,程序员这个职业存在的意义不就是最大化利用机器,通过自动化来完成工作吗?
  作为软件开发者需求很明显,当需要对自己开发的功能进行验证时,总是需要反复调试后才能提测。这不可避免的需要我们重复UI操作去覆盖测试路径,通过查看界面内容和日志输出验证问题。而UI自动化测试恰恰可以满足这一点,减少我们重复操作ui验证的步骤。
  Android自动化测试介绍
  关于Android自动化测试,可以去官网看一下介绍Getting Started with Testing。
  本篇文章不会对深入到自动化测试的细节进行描述,只是作为开发人员对如何减少重复工作量进行简单的实践,所以这里直接推荐腾讯U测社区的一篇文章:5个最佳的Android测试框架,有兴趣的童鞋可以了解一下目前主流的自动化测试框架。
  解放你的双手
  作为一个业务开发人员,解放双手进行功能验证性测试才是最根本的需求,所以下面介绍一下使用Espresso进行UI自动化测试的流程。
  为什么选择Espresso测试框架?
  很简单,Espresso是Google针对Android平台开源的一款最新的Android自动化测试框架。不用考虑跨平台、兼容性等各种问题,最贴合需求才是最好的。
  UI自动化测试依据
  UI自动化测试的基本思路:把自己当成用户,只关注我能看到的东西。
  我们把自己作为使用程序的最终用户,要让机器模拟我的测试过程,那么就需要针对那些我能看到的东西,也就是UI组件进行验证。
  比如说,作为用户并不关心某个网络请求返回值的具体数据是否正确,我关心的是能在UI上看到希望看到的结果。
  基于此,做各个测试用例的一个通用的思路就是:找到某个元素,做一些操作,检查结果。这里包含了三个流程:
  · 找元素:找到UI上测试所针对的元素;
  · 做操作:给这个元素做一些操作;
  · 检查结果:这个元素做出了我期望的行为。
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号