基于模型之软件测试用例智能生成研究.docVIP

基于模型之软件测试用例智能生成研究.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于模型之软件测试用例智能生成研究.doc

  基于模型之软件测试用例智能生成研究 第 1 章 绪论 1.1研究背景及意义 信息时代的到来,计算机和互联网技术得到了迅猛的发展, 计算机技术已经被应用到了社会生活、国民经济和国防建设的各个方面,软件系统的规模和复杂度也在快速增加,并且由于软件是由人工设计开发的,软件系统中出现错误的概率也在逐渐增大,这些错误有可能会致使系统崩溃,经济损失严重,更有甚者可能会危及人类的生命。软件测试是保证软件可靠性、提高软件系统质量的最基本、最有效的手段,在软件开发过程中占据着重要的地位,其主要目标就是尽可能多地发现软件系统中存在的错误,然后通过修改这些错误提高软件的质量。美国质量保证研究所对软件测试的研究结果显示,软件系统中错误发现的越晚,修改错误就会越困难,而且修改成本也会越高,在编码后修改错误的成本通常是是编码前成本的 10 倍左右,并且软件发布后的维护成本也会越高,因此,应当尽早地开始测试,将软件测试贯穿到软件系统的整个生命周期中。然而,软件测试并不是一个简单的过程,这个过程将会耗费大量的财力、物力、人力和时间。根据调查,一些优秀的软件开发厂商在软件测试阶段投入的工作量约为总工作量的 40%,投入的成本约为总成本的 30%~50%[1],对于那些安全性和可靠性要求更高的软件系统,测试费用甚至是软件开发费用的 3~5 倍。由于测试人员需要分析软件系统并手动设计、执行测试用例,所以软件测试的质量和效率并不高,但是费用却总是居高不下。因此,通过提高软件测试过程自动化的程度来降低测试成本、保障软件质量。但是,不可能完全实现软件测试的过程自动化,可以将自动测试和人工测试有机结合起来,以此提高测试效率,降低开发过程的成本。在进行软件测试时,需要对软件的需求、设计说明以及代码等进行分析,确定测试目标,并根据这些内容设计一组测试用例。在这些工作中,有效的测试用例的设计和生成是软件测试过程的核心,也是最为复杂的部分,因而,自动生成测试用例的过程成为了软件自动化测试过程的关键。目前,在软件测试用例的生成方面虽然取得了一定的研究成果,但是测试过程仍然存在一定的盲目性,导致了软件测试的低效率和高成本,一旦测试用例被自动生成,那么一个软件产品甚至能够通过测试用例执行模块来全完自动化地进行测试以实现自动化测试的环境[2]。因此,急需对软件测试用例的生成方法进行研究并研发出相应的测试用例的自动化生成系统,将软件测试过程自动化进行,以提高软件测试的效率和软件的质量。 目前,对于测试用例的生成,主要有以下三种方法:基于代码的测试用例的生成方法、基于需求规格说明的测试用例的生成方法以及基于 UML 模型的测试用例的生成方法[3]。基于代码的测试用例的生成方法属于白盒测试,该方法能够直接获得程序的运行状况,自动记录测试的覆盖率,易于自动化地生成测试用例,但是,该方法重点考虑的是程序的编写情况而不是设计情况,不能发现需求中要求实现,实际上却没有实现的错误。基于需求规格说明的测试用例的生成方法属于黑盒测试,该方法主要应用于软件的功能测试和系统测试,用来发现不满足需求规格说明的错误,在该方面是基于代码的测试用例的生成方法的补充。基于UML模型的生成测试用例的方法是基于需求规格说明的生成测试用例方法中的一种。UML 模型可以从多个角度描述系统[4],它具有普遍适用性,而且由于 UML 模型具有良好的定义,基于以上原因,UML 模型逐步成为了研究的热点,被众多软件企业和开发者采用,并且被广泛应用于测试领域。目前,基于 UML模型的测试的研究主要集中在 UML 模型中动态模型的部分,包括基于状态图、活动图、交互图(顺序图和协作图)等模型的研究。 第 2 章 软件测试基础知识概述 2.1 软件测试的定义 随着时代进步,伴随着软件系统庞大化、多功能化以及复杂化的发展趋势,软件系统的错误率也不断上升,而软件系统中这些错误的存在可能会造成巨大的经济损失,在某些关键部门应用的软件系统中,比如飞机的飞行控制系统、核电站的安全控制系统和军队的导弹防御系统等,一旦这些软件系统出现错误,将会对人类的生命安全造成严重的威胁,因此,社会的发展需要高质量的软件。无论是软件的开发者还是软件产品的用户,软件产品的质量都是重中之重。首先,对于软件的开发者来说,软件产品和其他产品一样,为了能够占领市场,必须保证质量,这样才可能有更多的用户来购买其产品。其次,对于用户(即软件系统的使用者)来说,都希望软件系统具有很高的质量。软件测试是保证软件质量的重要手段[22],在整个产品的生命周期中占有极其重要的地位。软件测试在开发过程中也发挥着至关重要的作用。但是,对于什么是软件测试,并没有一个统一的定义,根据侧重点不同,主要有以下几种描述:定义 1:在 1983 年, IEEE(美国电气和电子工程师协会)给出了软件测试的定义

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档