软件测试用例生成中前置条件分析.docVIP

  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文档。上传文档
查看更多
软件测试用例生成中前置条件分析

软件测试用例生成中前置条件分析   摘 要:在实践的基础上总结了测试用例生成中的前置条件,进行了分类和参数化,并将研究结果应用于测试用例自动生成工具,生成了软件可靠性测试用例。结果表明对前置条件的研究能够促进测试用例的自动化生成过程。   关键词: 前置条件; 测试用例; 测试用例生成; 测试用例自动生成   中图分类号:TP311文献标志码:A   文章编号:1001―3695(2007)03―0103―03   前置条件(Precondition)描述这样一些状态,由这些状态,可以成功地执行一个操作[1]。在一些系统测试用例的自动生成过程中,自动化工具根据前置条件的满足情况选择不同的路径自动产生测试用例。前置条件还是测试用例的一个组成部分,它和由某种测试方法所标志的实际输入一起构成了测试用例的完整输入[2]。在测试过程中,测试人员或自动化工具根据前置条件决定是否执行测试用例,因此对前置条件的分类和参数化有助于提高软件测试的自动化过程。   当前存在的测试用例开发方法很少涉及前置条件,如实时软件测试用例开发方法主要讲述如何根据实时软件的特点生成测试输入,没有提过前置条件[3];部分基于Z规格说明或UML规格说明的测试用例自动生成技术,为了实现自动生成测试用例而在其形式化规格说明中描述了前置条件,但也存在诸多不足[4―7]。??   形式化规格说明是对软件系统或构件的接口,即对程序输入与输出之间约束关系进行的形式化描述[8]。目前使用最为广泛的一种形式化规格说明语言是Z语言,但Z语言描述的前置条件不但隐晦而且烦琐,需要进行一定的变换和简化[1,9]。Anuradha Sridhar等人使用C―Expressions来表达顶层设计转换的前置条件[10],但C―Expressions只能描述控制流图中的并发、条件和循环控制 [11]。无论是Z语言、C―Expressions,还是面向对象的UML语言,均无法描述本文后面提到的前置约束和时间约束等前置条件。??      1 前置条件分析??   软件功能和使用方式的复杂性决定了前置条件的多样性。在测试用例的生成过程中,前置条件可能涉及时间、资源、输入数据和输出数据等诸多方面。有的前置条件比较单一,仅包含其中的一个方面;有的比较复杂,是其中多个方面的组合。假设前置条件是由若干个最基本的前置条件组合而成的,本文将这种最基本的前置条件称为约束,只要整理出约束的不同类型和相互之间的关系就不难分析出前置条件。从实践中总结出前置条件的约束类型包括前置约束、环境约束、时间约束和值约束。   1.1 前置约束??   软件的某项操作可能要求必须在其他某项或某几项的操作执行完成之后才能进行。以数据库为例,只有完成打开数据库的操作之后才能进行数据库的添加、修改和删除。前置约束就是用来标志这种基本前置条件的约束。   1.2 环境约束??   软件的使用离不开运行环境,软件的运行环境除了运行软件本身需要的硬件支持(如主频、内存、硬盘空间要求等)外,还包括为实现软件功能而交联的其他硬件设备(如扫描仪、打印机等)。软件测试时还可能需要某些特定的软硬件来模拟测试输入,捕获测试输出,构成软件的测试环境。本文通过环境约束来表征软件的运行环境和测试环境状态。??   定义2 如果软件在执行某项操作O之前要求环境(运行环境、测试环境)的某硬件或软件指标必须在一定的范围之内,那么就称此指标及其必须满足的范围是操作O的环境约束,逻辑表达式为   以打印功能为例,软件在执行打印功能时要求至少一台打印机空闲,用环境变量SpareComputerNum表示空闲的打印机数量,打印功能的环境约束就可以用SpareComputerNum{(0,∞)}表示。   1.3 时间约束??   软件有的操作可能不仅要求在此之前必须执行过某项操作,还要求必须在某项操作开始执行或执行完毕后的某段时间内才能执行。在实时嵌入式系统中这类要求比较常见,如飞机的SMP要求在发出投弹命令的x秒内发射导弹,否则将认为导弹故障。在前置条件分析过程中将这类条件归为时间约束。??   定义3 如果操作O必须在前面某项操作PreO开始执行或执行完毕之后的某段时间之内才能成功执行,那么称操作PreO开始执行或执行完毕之后的这段时间为操作O的时间约束。时间约束根据相对PreO时间点的不同分成相对启动时刻约束和相对终止时刻约束。相对启动时刻约束是相对于PreO开始执行时刻的时间范围,逻辑表达式为??   以为无穷,在实际使用中表示时间的默认边界。??   如果操作O在操作PreO开始执行或执行完毕后的规定时间范围内执行,则约束满足,表达式的值为真;反之则约束不满足,表达式的值为假。??   上述SMP统计导弹故障的时间约束可

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档