基于测试驱动开发和状态图的测试用例生成研究

基于测试驱动开发和状态图的测试用例生成研究

ID:10089912

大小:28.50 KB

页数:6页

时间:2018-05-25

基于测试驱动开发和状态图的测试用例生成研究_第1页
基于测试驱动开发和状态图的测试用例生成研究_第2页
基于测试驱动开发和状态图的测试用例生成研究_第3页
基于测试驱动开发和状态图的测试用例生成研究_第4页
基于测试驱动开发和状态图的测试用例生成研究_第5页
资源描述:

《基于测试驱动开发和状态图的测试用例生成研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于测试驱动开发和状态图的测试用例生成研究摘要介绍测试驱动开发(TDD)并结合状态图进行测试路径生成,在避免了测试路径过多的情况下保证了测试路径的覆盖率。【关键词】TDD状态图路径覆盖策略近年来,随着敏捷开发/Scrum等软件开发过程的兴起,测试驱动开发(TDD),成为了Scrum和持续集成中必不可少的环节。但是基于TDD软件开发并不能从根本上保证测试用例的完全覆盖,现在随着软件的规模越来越大,软件的设计与开发变得越来越复杂,如何高效的生成测试用例,避免测试状态组合空间爆炸,显得尤为重要。而基于状态图的测试结合T

2、DD应用,可以较好的解决这些问题。1测试驱动开发6测试驱动开发的理念强调把测试作为开发过程的一个重要部分,在软件开发的每一个阶段,都有一部分的设计和代码是专门给测试使用的。甚至在代码开始编写之前,测试用例就已经设计好了。将测试方案作为编码的准绳,从测试的角度验证设计,推导设计,指导编码。实时验证系统的准确性。下面具体结合状态图,介绍一个企业通信系统的测试驱动开发过程。2状态图模型和状态图中的变迁约束规则2.1状态图定义状态图形式化地表示为一个五元组K〈S,∑,T,S0,F〉,其具体含义可参见文献[3]。2.2基于

3、前后事件约束规则CSPE:基于前后事件约束规则:CSPE约束(ConstrainsonSucceedingandPrecedingEvents),用于限制在某一事件后发生其它事件的可能性,它规定了前后事件之间的依赖关系,但是忽略了程序运行时的具体状态。它的定义与规则参见文献。2.3基于状态图的前后事件约束规则S-CSPE:基于状态图的前后事件约束规则S-CSPE(statechart-CSPE),是对CSPE的一种有效的扩展,它将事件约束限制在状态的控制之下,并且引入了超态的概念。使得对前后事件约束的依赖关系描述

4、的更加准确,并且增加了测试用例的可执行性。t1∈T(S1),t2∈T(S2),其中α、β、γ为任一变迁序列,β、γ满足:如果t’∈β、γ,则t’/∈T(S1)∪T(S2)。规则定义D(C):n’[t1;→t2]C(C≠FALSE)该规则含义:如果α.6t1是有效前缀序列,则必存在使C为真的β,使得α.t1.β.t2为有效前缀序列;且对于任意t(t∈T(S2)),任一使C为真的γ都使得α.t1.γ.t为无效前缀序列。规则定义E(C):a’[t1;→t2]C(C≠FALSE)该规则含义:如果α.t1是有效前缀序列,则

5、必存在使C为真的β,使得α.t1.β.t2为有效前缀序列;且对于某一t(t∈T(S2)),必存在使C为真的γ,使得α.t1.γ.t为有效前缀序列。规则定义F(C):_’[t1;→t2]C(C≠FALSE)该规则含义:如果α.t1是有效前缀序列,则对任一在使C为真的β都使得α.t1.β.t2为无效前缀序列。3关于测试路径覆盖标准的定义3.1测试路径的定义D(t):变量V的集合,V出现在变迁t的赋值语句的左侧或者输入语句部分。C_USE(t):变量V的集合,V出现在变迁t的赋值语句的右侧或者输出语句部分。P_USE(

6、t):变量V的集合,V出现在变迁t的谓语表达式中。清晰定义路径(D_ClearPATH):路径(ti,t1,…,tm,tj)(m≥0),如果V/∈D(nl)(l=1,…,m),那么满足该条件的路径为的清晰定义路径(从ti到tj)。6完全路径(COMPLETEPATH):一条满足约束集R的路径,其初始节点是组合初态,终节点是可接受组合终态。3.2基于状态图的前后事件约束规则(S-CSPE)的路径覆盖标准:P是状态图S的完全路径集合,R是S的基于状态图的前后事件约束集:all-D_CLEARPATHs标准:对每一个变

7、迁t的每一个V,V∈D(t),P包含每一条关于V的D_CLEARPATH。4测试用例实际生成研究4.1实例:企业通信软件中一组通信模块的状态图(图1)表述4.2关于D_CLEARPATH(清晰定义路径)的生成t11到t12的部分D_CLEARPATH,表1。4.3关于CompletePath(完全路径)的生成覆盖D_CLEARPATH:t11t3t4t12的部分完全路径集,表2。5使用S-CSPE约束的优势基于状态图的前后事件约束规则S-CSPE约束的D-use路径覆盖策略要求完全路径集必须覆盖所有的D_CLEA

8、RPATH,这保证了该D_CLEARPATH将覆盖所有变迁,这比基于前后事件约束规则CSPE有更强的路径覆盖能力,而且该覆盖标准更方便实现TDD,使测试用例自动生成。66结论本文讨论的基于TDD结合状态图的测试方法兼顾了测试路径的覆盖力和测试用例爆炸的问题,在保证一定覆盖能力的情况下,避免了过多无效测试用例的产生,从而提高了测试用例生成的效率。在公司一个Scrum小组实践

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。