[发明专利]一种单元测试方法和装置有效
申请号: | 200910080654.9 | 申请日: | 2009-03-23 |
公开(公告)号: | CN101847117A | 公开(公告)日: | 2010-09-29 |
发明(设计)人: | 朱怀云;邱静 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京派特恩知识产权代理事务所(普通合伙) 11270 | 代理人: | 蒋雅洁;王黎延 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 单元测试 方法 装置 | ||
技术领域
本发明涉及软件测试技术,尤其提出了一种单元测试方法和装置。
背景技术
所谓单元测试就是在构造的与软件的其它部分相隔离的环境中对软件的独立单元进行测试的过程,具体实现为:通过分析被测软件单元的特性,设计包括测试用例数据、测试函数、以及测试运行环境的测试用例,通过测试用例的实施检验被测软件单元的功能是否正确。而目前,对被测软件单元特性的分析大多从被测软件单元整体考虑,需要考虑的逻辑关系较复杂,使得分析过程复杂繁琐,且需要耗费精力为每条测试用例数据编写对应测试函数、以及构建对应的测试运行环境,使得测试效率太低。
发明内容
有鉴于此,本发明的主要目的在于提供一种单元测试方法和装置,能够使得测试用例的设计思路简单清晰。
为达到上述目的,本发明的技术方案是这样实现的:
一种单元测试方法,该方法包括:
将软件单元的逻辑结构表述为一个或多个行为;分别根据各行为设计所述软件单元的测试用例数据;编写所述软件单元的测试函数;
根据所述测试用例数据和测试函数对软件单元进行测试。
进一步地,所述将软件单元的逻辑结构表述为一个或多个行为为:
分析软件单元的逻辑结构,得出该软件单元的逻辑结构所包括的动作/结果,以及执行该动作或得出该结果的条件,并将得出的动作/结果和执行该动作或得出该结果的条件对应添加在预先配置给该软件单元的规则决策表中。
进一步地,所述分别根据各行为设计所述软件单元的测试用例数据为:根据各行为设计软件单元的测试用例数据,并将各测试用例数据添加在预先为该软件单元配置的数据决策表中。
进一步地,所述根据所述测试用例数据和测试函数对软件单元进行测试前,该方法还包括:
将各软件单元的单元号、测试用例数据和测试函数对应存储。
进一步地,所述根据所述测试用例数据和测试函数对软件单元进行测试具体为:
a、将需要测试的软件单元作为被测软件单元,输入被测软件单元的单元号;
b、查询所存储的与输入的单元号对应的测试用例数据和测试函数的存储地址;
c、将查询到的测试用例数据的存储地址加载到内存中的用例数据链表;
d、根据查询到的测试函数的存储地址,调用所查询到的测试函数,执行对被测软件单元的测试,并记录测试结果;
e、如果还需要测试所述待测软件外的其它软件单元,返回步骤a;否则,结束本次测试。
进一步地,所述执行对被测软件单元的测试包括:
d1、根据用例数据链表中的测试用例数据的存储地址,获取一组测试用例数据,并将该测试用例数据各元素转换为被测软件单元各变量赋值的格式;
d2、根据所获取测试用例数据的属性为桩控制表的元素和转换后的属性为依赖环境输入的元素,构建被测软件单元的桩运行环境,并根据转换后的所获取测试用例数据的属性为输入参数的元素,为被测软件单元的输入参数赋值;
d3、运行被测软件单元,得到包括输出参数、返回值、依赖环境输出的实际运行结果;比较实际运行结果与期望结果,存储并显示比较结果;
d4、卸载被测软件单元的桩运行环境和输入参数赋值,将被测软件单元恢复到初始状态,结束本测试用例的实施;
d5、返回步骤d1,获取下一组测试用例数据,进行下一个测试用例的实施,直到被测软件单元对应的测试用例数据均已获取完,结束对该被测软件单元的测试。
本发明还提供一种单元测试装置,该装置包括:第一输入模块、测试模块;其中,
第一输入模块,用于输入根据软件单元的逻辑结构所包括的行为设计出的软件单元的测试用例数据;并用于输入软件单元的测试函数;
测试模块,用于根据所述测试用例数据和测试函数对软件单元进行测试。
进一步地,该装置还包括:
存储模块,用于对应存储各软件单元的单元号、测试用例数据和测试函数。
进一步地,所述测试模块包括:第二输入模块、查询模块、加载模块、执行模块;其中,
第二输入模块,用于输入被测软件单元的单元号;
查询模块,用于查询所存储的与输入的单元号对应的测试用例数据和测试函数的存储地址;
加载模块,用于将查询到的测试用例数据的存储地址加载到内存中的用例数据链表;
执行模块,用于根据查询到的测试函数的存储地址,调用所查询到的测试函数,执行被测软件单元的测试;
测试结果记录模块,用于记录被测软件单元的测试结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910080654.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种工作流程审批方法
- 下一篇:天然混合物外墙干粉涂料及其制备方法