[发明专利]一种单元测试方法和系统无效
申请号: | 200610165141.4 | 申请日: | 2006-12-13 |
公开(公告)号: | CN101202675A | 公开(公告)日: | 2008-06-18 |
发明(设计)人: | 王军;王振宇 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L12/24 |
代理公司: | 北京律诚同业知识产权代理有限公司 | 代理人: | 梁挥;徐金国 |
地址: | 518057广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 单元测试 方法 系统 | ||
技术领域
本发明涉及代码测试领域,特别是涉及一种单元测试方法和系统。
背景技术
单元测试(模块测试)是开发者编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个特定条件(或者场景)下某个特定函数的行为。例如,把一个很大的值放入一个有序列表(List)中去,然后确认该值出现在列表(List)的尾部。或者,从字符串中删除匹配某种模式的字符,然后确认字符串确实不再包含这些字符了。
单元测试能提高新代码的质量,自动、高覆盖的单元测试,测试效果优于手工点击完成的自测、功能验证。
单元测试在模拟错误条件,覆盖范围都优于手工功能测试。
单元测试更为重构提供保障,种种原因导致设计不可能完美,重构是改善既有代码设计、抑制软件系统熵增的唯一手段。
集中网管系统,也叫OMC系统,全称Operation Maintenance Center。该系统采用J2EE(Java 2 Enterprise Edition)多层处理架构,实现了跨平台的网络管理,系统能够在多种平台上进行网络维护。系统仍然沿用客户机/服务器(Client/Serve,C/S)模式,对部分模块可通过WEB方式访问,对外提供标准的CORBA(Common Object Request Broker Architecture,公共对象请求代理体系结构,通用对象请求代理体系结构)接口。
命令行系统:命令行是称为“DOS”的操作方式,需要在提示符下键入命令的操作方式,使用命令行完成功能的系统就是命令行系统。
现有技术中,在集中网管系统(OMC)中对命令行系统进行单元测试存在着一定的困难,一些技术问题阻碍了单元测试的进行。
针对集中网管系统,单元测试主要存在的问题是:无法摆脱对统一网管平台/公共应用功能(Uniform Element Platform/Common Application Function,UEP/CAF)底层公共模块的依赖以及无法摆脱对数据库、前台外部系统的依赖。针对命令行系统,一个简单的命令,例如增加一个单板“addboard:0-1-2-9,UIM2”,命令只是简单的一个字符串,实现的代码却相对复杂,对之进行单元测试需要构造复杂的参数,加入底层模块的环境参数,测试代价很大。
发明内容
本发明所要解决的问题是提供一种单元测试方法和系统,其使得在单元测试中摆脱对其他环境依赖,利用简单的命令行,实现命令行系统的单元测试,提高测试速度。
为实现上述目的,本发明提供的一种单元测试方法,包括下列步骤:
步骤A,搭建单元测试的运行环境;
步骤B,初始化单元测试的命令服务类;
步骤C,测试单个命令;
步骤D,测试命令行系统。
所述步骤C测试单元命令,具体包括下列步骤:
直接使用命令行系统的命令输入,作为命令服务类实例的输入,得到其返回结果,在单元测试用例中,根据返回结果判断测试是否通过。
所述步骤D测试命令行系统,具体包括下列步骤:
将命令行系统的命令组织成单元测试套,覆盖命令行系统的功能,然后自动执行整个单元测试,即可获得完整的命令行系统的测试。
所述步骤A包括下列步骤:
使用桩(Stub)策略方法,将对UEP/CAF底层公共模块的依赖类修改为简单返回需要的数据,以满足单元测试的要求。
使用模拟对象(Mock objects)策略方法,替换UEP/CAF与物理配置命令行模块协作的类对象。
使用桩(Stub)策略方法,替换获取数据库连接的类方法。
为实现所述目的,本发明还提供一种单元测试系统,在命令行系统中运行,包括搭建环境模块,初始化模块,命令测试模块,行系统测试模块,其中:
搭建环境模块,用于搭建单元测试的运行环境;
初始化模块,用于初始化单元测试的命令服务类;
命令测试模块,用于测试单个命令;
行系统测试模块,用于测试命令行系统。
所述测试单个命令,是指直接使用命令行系统的命令输入,作为命令服务类实例的输入,得到其返回结果,在单元测试用例中,根据返回结果判断测试是否通过。
所述测试命令行系统,是指将命令行系统的命令组织成单元测试套,覆盖命令行系统的功能,然后自动执行整个单元测试。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200610165141.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:真菌和/或原生生物感染的治疗
- 下一篇:机械快门的控制方法和摄像设备