- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
StateBasedTesting
第八讲:基于状态的软件测试技术 Lian Yu The School of Software and Microelectronics Peking University No.24 Jinyuan RD, Beijing 102600 提纲 概述 状态转换图 状态图 基于状态的测试 测试步骤 产生测试用例 覆盖分析 总结 概述-什么是基于状态的测试? 基于状态的软件测试技术是一种基于模型测试(Model-based Testing,MBT)。 MBT利用系统需求模型和特殊功能模型,有效地自动生成测试测试用例的技术。 一种定义明确的有限状态机(Finite State Machine)常用来帮助描述系统的行为。 概述-MBT? 从测试的角度,MBT技术带来的最大好处是对于可用有限状态机或其变种,生成测试用例只需遍历状态机。 除此之外,MBT技术还带来其它许多益处,如 增强开发人员与测试人员之间的沟通、 尽早暴露规范与设计中的不明确之处、 自动生成很多无重复的有用的测试的能力、 减轻由于变化了的需求带来的更新测试集的工作、 提高评估回归测试的能力等。 概述 MBT技术带来的所有益处都在一个假设条件下,即所建立的被测系统的状态机“正确地” 描述系统的行为。 或者说,模型的质量决定着MBT技术的成败。 提纲 概述 状态转换图 状态图 基于状态的测试 测试步骤 产生测试用例 覆盖分析 总结 状态转换图 状态转换图(State Transiation Diagram, STD)作为一种图形化标记用来描述计算机系统。 在20世纪50年代中期,G.H. Mealy和E.F. Moore 同时引入了两种状态转换图的基本模型,这两种模型在硬件设计领域一直发挥着重要的作用。 状态转换图 近些年来,这两种模型得到广泛的扩展,增加了对诸如层次结构(hierarchy)、适时(timing)和通信这些方面的表达能力,使得可以使用这两种模型对复杂的软件系统进行建模。 如:Harel/UML状态图 可以对系统行为进行模拟、验证及测试。 状态转换图 状态转换图是一个简单有向图,图中的节点代表系统的状态,箭头代表状态之间的转换。 Mealy和Moore奠定了有限自动机理论(finite automata theory)的基础 [Mea55, Moo56]。 Moore有限自动机 定义2.1: 一个Mealy有限自动机是一个六元组(S,I,O,?,?,s0),其中S为有限状态集,I为有限输入字符表,O为有限输出字符表,?:S×I→S为状态转换函数,?: S×I→O为输出函数,s0∈S为初始状态。 ? 函数和 ? 函数分别描述了有限自动机接受一个输入后转换成的新状态和输出结果。 举一个简单的例子 受限栈(bounded stack)的Mealy有限自动机模型。 该受限栈最多只能从集合{a, b}中压入两个元素。 图中有7个状态(节点),以栈中元素来标识(ε表示空栈)。短箭头表明ε为初始状态。 输入字符表为集合{pusha, pushb, pop, top},其中pusha和pushb,分别表示向栈中压入a或b,pop表示栈顶元素出栈,top表示返回栈顶元素。 等价有限自动机 什么情况下两个Mealy有限自动机是等价的? г表示空序列(空串) ; Τ+表示集合Τ中元素的非空有限序列; Τ*表示集合Τ中元素的有限序列(Τ*=Τ+ ∪{г})。 集合Τ中元素的串接或序列就是把元素依次排列起来组成的列(juxtaposition)。 定义2.2: 一个Mealy有限自动机Σ=(S,I,O,δ,γ,s0)的行为抽象(或语义)是函数gΣ:I+→O, gΣ由下面的递归等式定义,其中dΣ:I*→S为辅助函数,x∈I, t∈I*, dΣ(г)= s0, dΣ(tx)= δ(dΣ(t),x), gΣ(tx)= γ(dΣ(t),x) 由定义2.2易知,两个Mealy有限自动机,Σ=(S,I,O,δ,γ,s0)和Σ′=(S′,I,O,δ′,γ′,s0′)是等价的当且仅当,对? t∈I+, gΣ(t)= gΣ’(t),。 对于一个Mealy有限自动机Σ和一个Moore有限自动机Σ′, 如果对每一个可能的输入串(sequence),Σ′的输出串恰好等于在Σ的输出串前加一个任意但固定的符号(symbol)所形成的串(这个符号是Moore有限自动机在其初始状态的输出),则说Σ和Σ′是等价(或相似)的。 在[DDQ78]中证明了,给定一个Mealy有限自动机Σ,可以构造一个等价的Moore有限自动机Σ′;反之亦然。 六元组(S,I,O,δ,γ,s0) S={S1,S2,S3,S4,S5}; I={EM,NEM,
原创力文档


文档评论(0)