[发明专利]一种基于模型的软件测试方法有效
申请号: | 201310455252.9 | 申请日: | 2013-09-27 |
公开(公告)号: | CN103530228A | 公开(公告)日: | 2014-01-22 |
发明(设计)人: | 段振华;苗俊磊;张南;田聪;王小兵;罗玲 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京科亿知识产权代理事务所(普通合伙) 11350 | 代理人: | 汤东凤 |
地址: | 710071 陕西省*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 模型 软件 测试 方法 | ||
技术领域
本发明涉及测试技术领域,具体来讲是一种基于模型的软件测试方法。
背景技术
近几年来,随着计算机软硬件技术的迅猛发展,各种各样的软件系统应运而生,社会各行各业对软件系统的依赖越来越强,软件系统的规模越来越大,复杂性也越来越高,对软件系统的质量要求也显得更为重要。软件测试和验证,是保证软件正确性和提高软件可靠性的最基本、最重要的手段。为了尽量减少花费在软件产品测试上的时间和精力,大量研究机构开始投入到软件测试方法与测试工具的研究上。目前,软件测试领域中的一个关键的、同时也是极为困难的问题就是:如何设计和生成有效的测试用例。
随着面向对象软件开发技术的广泛应用和软件测试自动化的要求,基于模型的软件测试逐渐得到重视。目前,软件测试技术大体上可分为两大类:一类是白盒测试技术,另一类是黑盒测试技术。
白盒测试技术是把程序看成装在一个白盒子里,即完全了解程序的内部结构和处理过程,按照程序内部的逻辑结构,检验程序中的每条通路是否都按照预定要求正确工作。白盒测试从考察程序的结构和逻辑出发,验证所构造的程序是否符合设计要求,白盒测试包括逻辑覆盖、域测试、符号测试、路径分析、程序插桩及程序变异等。
白盒测试技术的缺点在于,白盒测试只根据程序的内部结构进行测试,而不考虑程序的外部特征,如果程序结构本身有问题,比如程序逻辑有误或是有纰漏,就无法发现错误。另外,即使将程序中的每条路径都测试了仍然可能有错误,原因在于:第一,穷举路径测试不能查出程序违反了设计规范;第二,穷举路径测试不可能查出程序中因纰漏路径而出现的错误;第三,穷举路径测试可能发现不了一些与数据相关的错误。
黑盒测试技术,又称为功能测试技术,与白盒测试技术恰恰相反,它把程序看成一个黑盒子,完全不用考虑程序的内部结构和处理过程。黑盒测试是在程序接口进行的测试,它只检查程序功能是否按照预先的要求正常工作,即接收输入数据是否产生正确的输出结果。黑盒测试技术包括边界值分析技术、等价分类技术及因果图技术等。
黑盒测试技术的缺点在于,黑盒测试是一种穷举输入的测试方法,不仅要穷举所有合法的输入,还要穷举那些不合法但是可能的输入进行测试。但是根据软件测试的局限性,不太可能完全覆盖所有的输入情况,测试代价太大。黑盒测试的研究重点在于如何从输入域中选择适当数量的、对发现错误具有代表性的测试输入来有效的进行测试。
白盒测试方法是从开发者的角度在源代码级使用软件分析和理解技术,对程序的内部逻辑结构进行分析来测试系统,而黑盒测试方法通过从用户的角度测试软件系统是否符合需求规格,这两类方法各有侧重,在测试的实践中是互补的。但它们又各有缺点,并且不能在方法内部进行完善来解决,而且在面向对象语境下,软件的设计思路和软件的结构,与传统的面向过程的软件相比有了很大的变化,而传统的软件测试方法不能适应这样的变化。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种基于模型的软件测试方法,通过UML(unified modeling language,统一建模语言)模型图自动生成满足一定覆盖准则的测试用例,从而快速有效的完成软件测试,适应软件的设计思路和软件的结构、与传统的面向过程的软件之间的变化,弥补白盒测试和黑盒测试的不足。
为达到以上目的,本发明采取的技术方案,一种基于模型的软件测试方法,其特征在于,包括如下步骤:
S1.分析被测试软件,根据测试目的,确定测试对象和测试特征;
S2.选择和构造UML模型,该UML模型表述了需求所表述的所有可能行为;
S3.对UML模型进行验证,排查UML模型构造时可能出现的有界性、安全性、死锁和状态可达性,确保UML模型的正确性;
S4.通过深度优先搜索算法遍历UML模型,自动生成测试用例,根据充分性准则计算相关的覆盖率,完成对测试用例的评估;
S5.根据待测程序和所述UML模型得到的测试用例生成测试脚本,自动执行所述测试脚本,并保存执行测试脚本得到的实际输出结果;
S6.根据测试用例的实际输出与预期输出的比较,得出测试结果,再根据测试目标与预先设定好的停止准则,决定是否需要修改模型或修改待测程序。
在上述技术方案的基础上,所述充分性准则包括:
基于控制流的充分性准则:语句覆盖准则、条件覆盖准则和判断覆盖准则;
基于数据流的充分性准则:定义引用覆盖准则、上下文覆盖准则;
基于故障的充分性准则:弱变异覆盖准则、强变异覆盖准则。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310455252.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于船舶运动姿态预报的船载视频稳像方法
- 下一篇:文件扫描方法