移动自动化测试工程的开展(上)

发表于:2016-1-14 08:11

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

 作者:潜龙0318    来源:51Testing软件测试网采编

  今天翻了一下博客,发现这个Appium+python的手机自动化测试教程还没有写完呢!上一章写的是时候是十月份,后来忙来忙去也就没有顾上写了。在公司努力补充自己的不足之处,学了不少以前不会的东西。平时也在尝试着自己的做一些儿其他的事情,虽然15年过的有不如意的地方,但总体还说还算不错。在这最近几个月算是对15年做了个总结吧,16年毕然是一个开心幸福,充满希望的一年。
  闲话不多说了,通过我们前五章的介绍,我们了解了什么是Appium,Appium+python测试环境的搭建,Appium Api函数,真机运行测试用例以及如何定位手机app的元素。通过这几章的内容,你应该可以编写自己的自动化测试用例,将手工测试用例转化成python语言编写的测试脚本并能运行成功。可是如果让你从零开始对一个app做自动化测试,你仍然会感觉到无从下手,那应该如何实施一个自动化测试工程呢?
  1、手机自动化测试工程实施的步骤
  一个好的自动化测试开发工程师,需要做的不仅仅是能将手工自动化测试用例转化成脚本编写的自动化测试脚本。而是需要将自动化测试实施成一个完整的工程项目,并且能传承下去,根据不同的业务需要来进行灵活的使用。所以在实施之前还是要考虑很好事情,下面都是我们要考虑的问题及实施步骤:
  (1)熟悉被测试应用的业务
  (2)分析并提出测试用例
  (3)规划自动化测试工程
  (4)设计自动化测试工程的架构
  (5)编写自动化测试用例代码
  2、熟悉被测试应用的业务
  孙子曰:“知已知彼,百战不殆。”在我们做自动化测试的时候也是一样的,在我们不了解公司业务的时候,接到一个要实施自动化测试的时候,你不可能马上就开始写代码吧?
  在你在公司接到实施自动化测试的时候,首先要考虑的问题不是用什么框架,什么语言来编写测试用例。而是要梳理一下业务流程,主要的业务是什么,应该怎么操作?哪些儿是主要业务?主业务流上的用户压力有多大等等 。这些儿问题你要搞清楚,如果有相关的业务流程图,好好熟悉一下。如果没有,就找业务比较熟悉的同事去请教,自己画出业务流程图来。
  这个阶段是和代码没有任何关系的,所以这个阶段的产出就是业务流程图,把业务理清楚。然后分析出重点业务,核心流程,把这些儿都搞清楚,罗列出来,此阶段就算完成。
  3、分析并提出测试用例
  在了解了业务逻辑后,就要提取重点业务,核心流程的测试用例,这个是我们做自动化测试的前提。自动化测试工程是很庞大的,所以不可能一下子就完成的,得分个主次。第一个版本需要覆盖哪些儿业务,哪些儿用例就是此时需要分析的。
  在开始做自动化测试的时候,首先需要覆盖重点业务的核心用例,像下面这几种测试用例是无法实现自动化的:
  (1)支付相关的测试用例。
  很多公司自己没有在线支付的资格的,所用到的支付都是第三方支付,测试的时候只测试到支付页就可以了,再往下测试就到第三方了,没有这个必要。而且支付一般是真实支付,这运行一遍支付一次,花的钱有人报销不?
  (2)验证码相关测试用例。
  目前在注册,快速登录这一块都会引入验证码验证,有的时候图形码,有的是手机短信验证码,目的就是防止恶意注册或是刷新。这一块一直是自动化测试的软肋,有两种方法可以实现,对于图形验证码,一是利用图形识别技术,二是添加万能码!对于手机验证码,一是调用短信接口,获取短信内容,二是添加万能码。当然这是非正常的手段,以应付必须编写测试用例的时候,这类用例尽量避免。
  (3)样式相关的测试用例。
  自动化测试用例是注重业务逻辑的,我们用例代码来替代人工来做业务逻辑的回归,对于样式相关的测试用例,是无法用代码来完成检测的。这类测试用例也是在自动化测试用例排除在外的,不要考虑这类用例是如何编写的。
  排除了以上几种测试用例,我们挑选出适合做自动化测试的测试用例,然后分出主次,分批次完成我们的自动化测试工程。
  4、规划自动化测试工程
  通过上面的分析,我们已经完全了解了我们要测试的对象业务逻辑,要编写的测试用例的范围及相应的时间等,可以说到了开展我们的自动化测试工程的阶段了。此时也要不着急,规划一下我们的自动化测试工程,这个规划不是代码级别的,而是人员级别的。
  (1) 工程性质。这个自动化测试工程的使用场景是什么?这个工程是个人开发,还是由一个团队开发?团队规模有多大?这些儿都是需要提前考虑的,然后才能更好地规划出工程的架构 ,开发模式及规则等。
  (2) 团队的性质。你这个开发团队是什么水平?大家擅长什么语言?哪些儿人能做架构设计,哪些儿人能补充具体的代码,又有哪些儿人能检测代码存在的bug?这些儿也是需要考虑的。
  (3) 框架的性质。我们要做的自动化测试工程,目前市场上哪些开源的框架,它们的优缺点是什么?支持团队是什么情况?更新速度如何?这些直接关系着我们后续的工程进展的程度。
  (4) 编码规则。团队开发必须有统一的编码规则,不然你写的我看不懂,我写的你又看不明白,那还怎么合作共事啊?虽然前面我们强调编码规则会挺讨厌的,但是等大家都习惯后,就能发现其中的好处。
21/212>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号