[发明专利]通过使用测试用例来执行测试的方法和装置在审
申请号: | 201880014545.4 | 申请日: | 2018-02-28 |
公开(公告)号: | CN110337642A | 公开(公告)日: | 2019-10-15 |
发明(设计)人: | 权五升 | 申请(专利权)人: | 搜牌逻有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京弘权知识产权代理事务所(普通合伙) 11363 | 代理人: | 王建国;李琳 |
地址: | 韩国*** | 国省代码: | 韩国;KR |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 测试 使用测试 方法和装置 源代码 结构化查询语言 数据库交互 符号执行 自动生成 语句 工作量 应用 | ||
公开了使用测试用例的测试方法和装置。使用测试用例的测试方法包括以下步骤:基于符号执行来生成针对包括结构化查询语言(SQL)语句的源代码的测试用例;以及通过将所述测试用例应用于与数据库交互工作的要被测试的系统来执行测试。因此,自动生成测试用例,并且由此可以显著减少测试所需的工作量和时间。
技术领域
本发明涉及用于使用测试用例来进行测试的方法和装置,并且更具体地涉及自动生成用于在商业系统的开发过程中发现系统错误的测试用例并通过使用所生成的测试用例来测试系统的方法和装置。
背景技术
测试方法包括静态地测试源代码而实际上不执行程序的静态测试、以及通过实际上执行程序并检查返回的执行结果来测试程序的动态测试。
静态测试是一种分析源代码的模式和处理流程以检测错误的方法。在静态测试中,可以找到测试用例或者可以生成测试用例值,并且开发人员可以使用测试用例来测试程序。
动态测试需要输入值,因为程序的操作应该被测试,并且作为程序的操作的结果而产生输出值。此外,当测试程序的操作时,基础单元可以是一个函数,这是该程序的最小模块。在这里,该函数具有输入参数和输出参数,并且该函数可以返回值。
现有的测试用例生成研究之一(例如,Gupta等人)已经通过使用迭代缓解(iterative mitigation)技术来自动生成测试数据。具体地,基于基础路径来选择测试用例,并且使用高斯消元方案(Gaussian elimination scheme)来获得解决方案。在这里,所获得的解决方案是测试路径值。但是,这些研究没有考虑企业商业系统中经常使用的SQL查询语句,并且当变量的数量增加时会存在高斯消元方案无法解决的问题。
在其他一项研究(例如,Godefroid等人)中,通过组合符号执行和具体执行来生成测试用例。具体地,使用随机测试方案、代码插入方案和符号执行方案来导出影响外部环境的变量,通过使用随机测试方案(在该随机测试方案中使用所导出的变量来随机生成测试用例)来生成初始值,并且通过工具代码来分析执行结果。然而,这项研究存在一个问题,即严格意义上难以将其视为符号执行。
此外,通过组合符号执行和具体执行来生成测试用例的另一项研究(Sen等人)定义并使用类C语言来进行符号执行,并且主要被用于查找NULL指针。但是,因为它没有显式地生成和管理测试用例,所以存在每次都重新解析整个源代码的问题以及不考虑任何SQL查询语句的问题。
如果不考虑数据库环境,则在测试企业系统时,可能会通过SQL查询语句来改变数据库中的数据以进行注册、修改和删除,这些改变可能会影响测试结果,并且无法执行精确测试。
发明内容
技术问题
用于解决上述问题的本发明的目的是提供一种使用测试用例的测试方法。
用于解决上述问题的本发明的另一个目的是提供一种用于生成测试用例的装置。
用于解决上述问题的本发明的另一个目的是提供一种使用测试用例的测试装置。
技术方案
用于解决上述问题的本发明提供了一种使用测试用例的测试方法。
在这里,一种使用测试用例的测试方法可以包括:基于符号执行来生成针对包括结构化查询语言(SQL)语句的源代码的测试用例;以及通过将测试用例应用于与数据库交互工作的被测系统来执行测试。
在这里,所述测试用例可以包括以下值中的至少一个:被测系统的输入值、当在被测系统中处理输入值时被预测为输出值的预期输出值、针对数据库的设置值、以及当被测系统与数据库交互工作时被预测为要存储在数据库中的预期结果值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于搜牌逻有限公司,未经搜牌逻有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201880014545.4/2.html,转载请声明来源钻瓜专利网。