单元测试的一些概念

l         几个相关的概念

白盒测试——把测试对象看作一个打开的盒子,程序内部的逻辑结构和其他信息对测试人员是公开的。

回归测试——软件或环境的修复或更正后的再测试,自动测试工具对这类测试尤其有用。

单元测试——是最小粒度的测试,以测试某个功能或代码块。一般由程序员来做,因为它需要知道内部程序设计和编码的细节。

JUnit ——是一个开发源代码的Java测试框架,用于编写和运行可重复的测试。他是用于单元测试框架体系xUnit的一个实例(用于java语言)。主要用于白盒测试,回归测试。

l         单元测试概述

单元测试的好处

A、提高开发速度——测试是以自动化方式执行的,提升了测试代码的执行效率。

B、提高软件代码质量——它使用小版本发布至集成,便于实现人员除错。同时引入重构概念,让代码更干净和富有弹性。

C、提升系统的可信赖度——它是回归测试的一种。支持修复或更正后的再测试,可确保代码的正确性。

l         单元测试的针对对象

A、面向过程的软件开发针对过程。

B、面向对象的软件开发针对对象。

C、可以做类测试,功能测试,接口测试(最常用于测试类中的方法)。

移动平台单元测试工具和框架

目前的最流行的单元测试工具是xUnit系列框架,常用的根据语言不同分为JUnitjava),CppUnitC++),DUnit Delphi ),NUnit.net),PhpUnitPhp )等等。该测试框架的第一个和最杰出的应用就是由Erich Gamma (《设计模式》的作者)和Kent BeckXPExtreme Programming)的创始人 )提供的开放源代码的JUnit。在移动平台上,目前只有Jbuilder 2005MicroUnitTesting框架,这个框架就是JunitJ2ME平台上的扩展。

l         JUnit的特征

A、使用断言方法判断期望值和实际值差异,返回Boolean值。

B、测试驱动设备使用共同的初始化变量或者实例。

C、测试包结构便于组织和集成运行。

D、支持图型交互模式和文本交互模式。 (MicroUnitTesting可以将测试结果显示到手机屏幕上,个人认为是鸡肋功能

l         JUnit框架组成

A、对测试目标进行测试的方法与过程集合,可称为测试用例(TestCase)

B、测试用例的集合,可容纳多个测试用例(TestCase),将其称作测试包(TestSuite)

C、测试结果的描述与记录。(TestResult)

D、测试过程中的事件监听者(TestListener)

E、每一个测试方法所发生的与预期不一致状况的描述,称其测试失败元素(TestFailure)

FJUnit Framework中的出错异常(AssertionFailedError)。

可行性分析

l         JUnit的应用来分析

A、 测试驱动开发的重要组成部分,应该在代码编写之前编写测试用例

B、 单元测试实际上是用穷举法列出所用可能性,针对每一种可能都有测试用例。(AI怎么测?能穷举吗?

C、 对于drawImage这样的方法,只靠断言(Assertion)不能得到我们期望的测试结果(断言图片画出来没有?不如直接用肉眼看来的快。那么如何断言图片是否显示正确?目前没有发现相应的框架,还是直接用肉眼看来的快。

l         从移动游戏应用的特殊性来分析

A、  面对对象特性不强(非常非常非常的差!!!),主要是游戏的性能和容量的限制。

B、  类方法功能不够明确,针对一个方法设计用例十分困难。比如AI的状态机,状态之间的切换牵涉到太多的变量,参数。各种变量参数之间的组合可能有上百种,无法设计用例。

C、  游戏应用的重要部分在显示部分,目前没有发现测试显示部分的框架。

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐