51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 7116|回复: 2
打印 上一主题 下一主题

单元测试策略(Junit版)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2005-12-5 01:25:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
单元测试策略(Junit版)
测试策略

1、  类测试阶段

      确保类实例满足类的设计描述;

      测试驱动:使用Junit实现独立的测试类;

      类的实例方法没有和任何类交互的确保覆盖100%;

      先测试没有交互的类,然后逐步组合测试;

      使用Code Coverage工具进行类代码覆盖测试;

      类测试用例确定方法之一:根据前置和后置状态确定测试用例(前置条件中可指定输入值,包括常见值和边界值,来增加测试用例的测试覆盖率),根据前置和后置条件的不同组合方式产生不同的测试用例具体测试方法体;

      类测试用例确定方法之二:根据代码确定测试用例。所有Public声明的方法都需要被测试(确定的);Protected和Frendly声明的方法有所选择的被测试(模糊的);所有Private声明的方法都被禁止测试(确定的)。

      类测试用例确定方法之三:根据状态转换确定测试用例。

      用例命名方式:1、根据用例方法命令;2、根据前置条件和后置状态命名。

      尽量使测试代码不依赖于数据(不要因为外部数据不同而产生不同结果)。

      进行语句覆盖率分析。







2、  功能确认与接口测试测试阶段

      用例按照需求描述(软件概要设计说明书和详细设计说明书)确定,再编写测试代码来满足需求描述的功能;

      验证程序和详细设计说明的一致性;

      功能确认与接口测试范围:单元接口、局部数据结构、重要的执行路径、错误处理的路径、影响上述几点的边界条件

      先是简单功能验证测试,通过后再进行该功能的复合功能测试;

      简单功能测试都通过则进行条件组合搭配测试,路径覆盖测试;

      测试边界条件:未初始化、Null值、最大最小值、临界值、初始值等;

      检验每个软件单元模块能否正确的实现其功能,满足其性能和接口要求;

      单元测试中测试每个单元模块,集成测试中进一步把单元组装成部件并测试其正确性;

      进行逻辑覆盖率分析。

3、  性能与效率测试阶段

      单个功能运行时间分析;

      选取典型测试用例使用JUnitPerf工具多线程持续运行观察运行情况;

      单个函数的性能分析、函数的调用频率分析、代码执行频率分析、响应时间、并发性;

      在源代码的入口与出口进行插桩,然后收集时间数据来测量代码的运行时间与调用次数;

      针对影响性能的代码段作优化处理;

4、  内存分析

      内存分配未成功,却使用了它

      内存分配虽然成功,但是尚未初始化就引用它

      内存分配成功并且已经初始化,但操作越过了内存的边界

      忘记了释放内存,造成内存泄露

      释放了内存却继续使用它

      使用全局测试工具分析(OptimizeIt,Jprobe等)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2006-1-4 14:37:16 | 只看该作者

经典

谢谢sincky 版主提供这么好的文章。以后能不能在提供一些有关junit的资料啊。
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2009-2-19 14:56:34 | 只看该作者
感谢分享!~
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-4-20 02:59 , Processed in 0.068228 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表