关闭

Android/OPhone单元测试指南

发表于:2012-10-26 11:20

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

 作者:cmriqa    来源:51Testing软件测试博客

  一、什么是单元测试

  单元测试是检查软件设计中最小单元正确性的测试。单元,指的就是一个应用程序中最小的可测部分,在Android/OPhone应用中,我们可以把单元定位为某一个方法。因此,Android/OPhone单元测试就是验证代码中每个方法实现正确与否的测试。

  单元测试属于白盒测试。因为代码的作者是最了解代码结构和内部逻辑的人,因此单元测试最好是由开发人员自己完成。

  二、单元测试的重要性

  单元测试可以帮助开发人员提高代码质量,保证代码实现与设计的一致性,提高代码的健壮性和可测性;

  开展单元测试,能将缺陷扼杀在编码阶段。缺陷发现得越早,修改的时间成本和人力成本就越低。

  功能测试系统测试黑盒测试从UI发起,不能保证遍历到所有的代码实现,会导致很多隐藏问题。单元测试能从源头上最大限度减少此类问题的发生。

  在需求频繁变更导致代码频繁变化时,单元测试可以帮助开发人员避免修改代码引入新的错误

  三、Android/OPhone单元测试框架

  Android/OPhone平台中整合了JUnit 3测试框架和Instrumentation机制。通过它们,可以对OPhone应用进行有效的单元测试。

  四、OPhone单元测试基础

  OPhone单元测试的基本方法与一般的基于JUnit的单元测试类似,这里简单介绍下JUnit框架:

  JUnit框架为Java单元测试提供了如下功能:

  ● 断言 (Assertion), 以在测试之前或之后测试预期值。

  ● 测试固件(fixture),以模拟正在接受测试的代码正常运行所需的环境(包括所有必需的对象)。

  ● 测试套件(suite),以将各个测试用例组合到一起。

  ● 测试运行器(runner),以运行测试并捕获和报告测试是成功还是失败。

  大多数情况下,创建一组单元测试也就是创建从某个JUnit 测试用例类继承的类,并向该类添加新方法以执行各个单元测试。

  在JUnit 框架中,Test Case指的是一个包括若干个测试方法的Java类,但实际上,每个测试方法才是我们一般理解中的测试用例。

  下面是一个标准JUnit单元测试类的实例。

  在ExampleTest例子中

  ExampleTest继承自junit.framework.TestCase,setUp()和tearDown()是测试固件,setUp()中设置测试的初始条件,tearDown()负责清除测试环境,保证每个测试用例执行时环境的独立性。

  testReading1() 和testReading2()是实际的测试用例,它们的修饰符必须是public,返回值为void,方法名必须以test为前缀。

  test方法中的assertNotNull()和assertEqual()都是断言语句,是每个测试用例中的结果校验点。

61/6123456>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号