一种实现软件自动测试的方法及装置制造方法及图纸

技术编号:7759003 阅读:171 留言:0更新日期:2012-09-14 00:49
本发明专利技术披露了一种实现软件自动测试的方法及装置,其中方法包括:设置被测模块的输入和输出规则;在测试工具上根据设置的输入和输出规则编辑或导入测试脚本,设定测试用例及其参数;启动测试工具运行,通过测试工具执行测试用例对被测模块进行测试。本发明专利技术提供对被测软件单模块在各种情况下进行自动测试,包括正常、异常、压力情况下的测试,并在测试过程中提供对系统资源的监控;同时可以获取被测单模块在执行测试用例后执行的结果,对结果进行解析,通过判断执行结果的正误来验证被测单模块的正确性。本发明专利技术较大程度地提高了软件单模块测试的工作效率。

【技术实现步骤摘要】

本专利技术涉及计算机应用技术,尤其涉及实现软件自动测试的方法及装置
技术介绍
计算机技术的飞速发展,使得软件产品在人们生活中已不可或缺。随着软件产品广泛地使用在人们工作和生活中,使得人们对软件产品质量的要求亦不断提高。作为保证软件产品质量的措施之一,软件测试也越来越显示出它的巨大优势。然而,随着软件设计规模的加大以及软件产品复杂度的提升,使得软件的自动化测试变得愈来愈重要。目前,软件自动测试技术的发展,使得软件自动测试工具逐渐向多样化和专业化的方向发展。 软件自动测试有一个显而易见的优势是它能够提高测试效率,这是手工测试无法企及的。当然,它的优势并不止于这一点,还包括能够跨越语言障碍,摆脱时间限制,进行回归测试等,能够保证测试过程对软件测试的一致性和准确性,并能够实现手工测试所无法做到的测试,如压力测试(即对软件在各种压力状态下的测试)以及并发测试等。但目前软件自动测试方法也存在很多局限性,例如,I)无法进行一些特殊的测试项目,例如软件使用性能测试,操作系统或网络项目测试等;2)不能对程序中意想不到的意外事件进行测试;3)自动化测试会受到具体项目资源的限制。综上可以看出,软件自动测试的优势很强,能在繁琐重复性的回归测试中极大地减少人力、物力消耗,提高软件测试的效率。但因其目前尚存在一些局限性而使得软件测试效率提高的极为有限,还不能充分发挥自动化测试的全部优势,因此亟待改进。
技术实现思路
本专利技术所要解决的技术问题是提供一种实现软件自动测试的方法及装置,能够进一步提高软件测试的效率。为了解决上述技术问题,本专利技术提供了一种实现软件自动测试的方法,涉及测试工具,该方法包括设置被测模块的输入和输出规则;在测试工具上根据设置的输入和输出规则编辑或导入测试脚本,设定测试用例及其参数;启动测试工具运行,通过测试工具执行测试用例对被测模块进行测试。进一步地,在测试工具上根据设置的输入和输出规则编辑或导入测试脚本,设定测试用例及其参数,具体包括在测试工具上按照输入和输出规则编辑测试脚本,或者通过测试工具导入按照输入和输出规则编辑的测试脚本;设定一个或多个测试用例,针对每一测试用例设定执行的次数、执行的时间间隔以及两个测试用例之间执行的时间间隔中的一种或多种参数。进一步地,通过测试工具执行测试用例对被测模块进行测试,包括以下测试中的一种或多种对被测模块进行正常功能测试;对被测模块进行异常处理的测试,包括被测模块接收其它模块输出的非正常输入、符合被测模块输入规则的边界或界外输入以及不符合被测模块输入规则的输入中的一种或多种异常处理的测试;对被测模块处于压力情况下的测试,包括软件执行各种操作或运行在各阶段下被测模块对CPU、内存或虚拟内存以及句柄的占用情况,根据分析监测结果数据统计出被测模块运行中的情况。进一步地,在测试工具上设定测试用例及其参数的同时,还设定系统资源监控的参数,包括占用CPU、内存或虚拟内存以及句柄中的一种或多种参数; 通过测试工具执行测试用例对被测模块进行测试,还包括对被测模块进行测试过程中监测系统的资源,包括软件执行各种操作或运行在各阶段下被测模块对CPU、内存或虚拟内存以及句柄的占用情况,根据分析监测结果数据统计出被测模块运行中的情况。进一步地,该方法还包括待测试结束后获取测试结果,验证被测模块的正确性,分析被测模块和/或软件的性能,具体包括对获取的测试结果进行分析,包括对被测模块处理的正确性验证和对被测模块和/或软件性能监测数据的分析,并通过表格或图形的形式展示分析结果。为了解决上述技术问题,本专利技术提供了一种实现软件自动测试的装置,包括依次连接的输入输出规则设置模块、脚本编辑/导入模块、测试用例设定模块、测试执行模块以及测试结果分析模块,其中输入输出规则设置模块,用于设置被测模块的输入和输出规则;脚本编辑/导入模块,用于根据设置的被测模块的输入输出规则编辑或导入测试脚本;测试用例设定模块,用于根据测试脚本设定测试用例及其参数;测试执行模块,用于通过执行测试用例对被测模块进行测试;测试结果分析模块,用于待测试结束后获取测试结果,验证被测模块运行的正确性,分析被测模块和/或软件的性能。进一步地,测试执行模块除了通过正常测试单元对被测模块进行正常功能测试外,还通过异常测试单元对被测模块进行异常处理的测试,或通过压力测试单元对被测模块处于压力情况下的测试,或通过资源监测单元在对被测模块进行测试过程中监测系统的资源。进一步地,异常测试单元对被测模块进行异常处理的测试,包括被测模块接收其它模块输出的非正常输入、符合被测模块输入规则的边界或界外输入以及不符合被测模块输入规则的输入中的一种或多种异常处理的测试。进一步地,压力测试单元对被测模块处于压力情况下的测试,包括软件执行各种操作或运行在各阶段下被测模块对CPU、内存或虚拟内存以及句柄的占用情况,根据分析监测结果数据统计出被测模块运行中的情况。进一步地,资源监测单元在对被测模块进行测试过程中监测系统的资源,包括软件执行各种操作或运行在各阶段下被测模块对CPU、内存或虚拟内存以及句柄的占用情况,根据分析监测结果数据统计出被测模块运行中的情况。本专利技术通过对测试工具统一约定被测软件模块间的数据传输格式,在测试工具上编辑测试脚本自动生成测试用例,并设定测试用例的次数,提供对被测软件单模块在各种情况下进行自动测试,包括正常、异常、压力情况下的测试,并在测试过程中提供对系统资 源的监控。同时,本专利技术的测试工具可以获取被测单模块在执行测试用例后执行的结果,对结果进行解析,通过判断执行结果的正误来验证被测单模块的正确性。本专利技术较大程度地提高了软件单模块测试的工作效率,并可以全面分析软件运行情况。附图说明图I为本专利技术的实现软件自动测试的方法实施例的流程图;图2为本专利技术的实现软件自动测试的装置实施例的结构框图。具体实施例方式以下结合附图和优选实施例对本专利技术的技术方案进行详细地阐述。应该理解,以下列举的实施例仅用于说明和解释本专利技术,而不构成对本专利技术技术方案的限制。本专利技术的实现软件自动测试的方法实施例,其流程如图I所示,包括如下步骤110 :设置被测模块的输入和输出规则;为了实现对特定单模块的测试,通过这样的设置,可使得测试工具能够通过模拟被测单模块的输入,以被测模块支持的通信方式与其它模块进行通信,从而尽量模拟被测模块在软件系统中所处的环境;并通过解析被测单模块的输出来判断被测单模块的正确性。120 :编辑或导入测试脚本,设定测试用例及其参数,设定系统资源监控的参数;通过在本专利技术的测试工具上按照指定格式(输入和输出规则)编辑测试脚本,或者通过该测试工具导入按照指定格式外编辑的测试脚本,并设定测试用例及其执行的次数、执行的时间间隔以及两个测试用例之间执行的时间间隔等;同时还可设定测试过程中进行系统资源监控的参数。130 :启动测试工具运行,执行测试用例;测试脚本完成编辑及测试用例及其参数的设定后,启动测试工具,根据脚本设置的测试用例开始进行测试。140 :除了对被测模块进行正常功能测试外,还对被测模块进行如下的一种或多种测试1401 :异常测试,主要包括I)软件异常情况下被测模块接收的其它模块的非正常输入,即其它模块发生故障时返回给该被测模块的消息,通知该被测模块其它模块有异本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:王倩戴文军
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1