关闭

J2ME采用单元测试是否可行?

发表于:2007-10-17 12:00

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

 作者:未知    来源:网络转载

测试的一些概念

几个相关的概念

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

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

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

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

单元测试概述

单元测试的好处

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

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

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

单元测试的针对对象

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

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

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

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

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

JUnit的特征

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

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

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

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

JUnit框架组成

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

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

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

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

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

F、JUnit Framework中的出错异常(AssertionFailedError)。

可行性分析

从JUnit的应用来分析

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

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

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

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

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

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

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

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

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号