基于JUnit的安卓接口测试脚本编写

基于JUnit的安卓接口测试脚本编写
一、 摘要
经验案例描述的是基于JUnit的安卓接口测试脚本编写案例。全文从背景描述、JUnit基本使用、JUnit实例、总结等方面对案例进行说明。本案例中的方法已经应用于部分产品安卓接口的测试过程中。读者可以参考案例中提出或总结的方法论,在安卓产品接口测试中应用。文档后面有Junit教程、安卓官方测试资料、安卓SDK测试规范、JUnit框架源码资料等内容,可参考阅读。
二、 背景描述
安卓产品对外发布时,会给外部用户及内部用户提供一套完整的安卓接口。安卓的接口的质量需要进行保证,包括jar包内接口的质量及接口说明文档的质量。基于以上原因进行安卓接口测试,根据安卓接口测试经验完成本文撰写。此外,接口也可以在功能测试中进行应用,进而提高复杂功能用例的执行效率。
三、 JUnit基本使用
1 Junit概述
JUnit 是一个 Java 编程语言的单元测试框架。JUnit 在测试驱动的开发方面有很重要的发展,是起源于 JUnit 的一个统称为 xUnit 的单元测试框架之一。
JUnit 促进了“先测试后编码”的理念,强调建立测试数据的一段代码,可以先测试,然后再应用。这个方法就好比“测试一点,编码一点,测试一点,编码一点……”,增加了程序员的产量和程序的稳定性,可以减少程序员的压力和花费在排错上的时间。
2 Junit测试脚本的基本编写流程
在这里插入图片描述

图3.2
3 Android Studio中Junit测试脚本编辑界面
在这里插入图片描述

图3.3
4 Junit注解&断言方法
Junit提供包括@BeforeClass、@AfterClass、@Before 、@After、@Test等注解方式。其中@BeforeClass表示在类中的任意public static void方法执行之前执行;@AfterClass 表示在类中的任意public static void方法执行之后执行;@Before 表示在任意使用@Test注解标注的public void方法执行之前执行;@After – 表示在任意使用@Test注解标注的public void方法执行之后执行;@Test – 使用该注解标注的public void方法会表示为一个测试方法。Junit提供下面表格所示的断言方法:
序号 方法和描述
1 void assertEquals(boolean expected, boolean actual)
检查两个变量或者等式是否平衡
2 void assertTrue(boolean expected, boolean actual)
检查条件为真
3 void assertFalse(boolean condition)
检查条件为假
4 void assertNotNull(Object object)
检查对象不为空
5 void assertNull(Object object)
检查对象为空
6 void assertSame(boolean condition)
assertSame() 方法检查两个相关对象是否指向同一个对象
7 void assertNotSame(boolean condition)
assertNotSame() 方法检查两个相关对象是否不指向同一个对象
8 void assertArrayEquals(expectedArray, resultArray)
assertArrayEquals() 方法检查两个数组是否相等
表3.1
5 Junit测试脚本执行后报错的常见形式及排查方法
JUnit脚本执行后会有两种情况出现执行结果为F的状态。一种是断言出错,另一种为程序自身错误引发脚本执行报错。
出现断言错误,可以采用以下方法进行问题排查:1)观察断言内容是否与真实的预期值保持一致,如自己设置的预期值是否存在错误等;2)增加打印信息进行中间产生确认,设备打印信息也可以参考阅读,进行进一步输出的确认;3)确认问题,寻找开发进行协助排查。
脚本运行可能会出现下午所示的异常情况:
在这里插入图片描述

图3.5
出现程序自身的问题,可以采用以下方法进行问题排查:1)增加打印信息进行信息确认,设备打印信息也可以参考阅读;2)单步调试排;查3)寻找开发协助排查(有一些信息是我们这边不知道的,开发那边也许会知道)。
6 Android Studio中Junit测试结果导出
在Android Studio对测试用例执行完毕后,可以通过测试报告导出按钮进行测试报告导出。其中图3.6.1是导出操作图、图3.6.2是某一测试用例集运行结果报告。
在这里插入图片描述

在这里插入图片描述

图3.6.1

图3.6.2
7 Junit原理简述
在这里插入图片描述

图3.7.1
在这里插入图片描述

图3.7.2
由图3.7.1可以看出测试脚本构造完成之后,由测试运行器进行执行。图3.7.2给出了junit的测试用例生命周期图,其完整地阐释了测试用例创建完成之后的整个调用过程。本文不对测试用例生命周期图进行详细解析,对于JUnit如欲进行详细了解,可以参阅本文文末的链接或者直接阅读JUnit实现源码。
四、 JUnit实例
1 安卓SDK接口测试流程
在这里插入图片描述

图4.1
五、 总结
全文从背景描述、JUnit基本使用、JUnit实例等方面对案例进行说明。介绍JUnit基本使用时,从界面到基本操作,再到原理分析均有所涉及,可以基于此文对JUnit进行测试脚本编写。在JUnit中,以安卓SDK接口及人脸SDK接口为例进行实例讲解,讲述了整体用例的设计过程及测试脚本编写过程,读者在对接自己产品是可以进行案例参照。最后引出人脸功能部分的的实例,说明了使用单元测试框架可以进行功能测试用例的自动化实现。这提供一种方法,可以基于单元测试框架,进行复杂测试用例的自动化实现,以便于提高测试效率。
六、 参考资料

  1. JUnit 5 User Guide https://junit.org/junit5/docs/current/user-guide/
  2. jUnit教程 https://www.w3cschool.cn/junit/?
  3. Test apps on Android https://developer.android.google.cn/training/testing/
  4. 安卓SDK测试流程规范 https://10.1.14.79/testgroup /项目支持组/2.协议测试/安卓SDK/安卓SDK测试流程规范指导书(初稿).pdf
  5. 分析 JUnit 框架源代码 https://www.ibm.com/developerworks/cn/java/j-lo-junit-src/
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值