- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十二章类测试基础 12.1 类测试 12.2 构造测试用例 12.3 构建测试驱动程序 12.1类测试(单元测试) 验证类的实现是否和类的说明完全一致。 类说明:用对象约束语言(OCL)来表述 类测试的方法: 代码检查:易受人为错误的影响;在回归测试方面需要更多的工作量 基于执行的测试方法:克服了以上缺点,但确定测试用例和开发测试驱动程序需要很大的工作量。 决定一个类是当作一个单元进行测试,还是作为系统某个较大部分的一个组件进行独立测试,基于以下因素: 类在系统中的作用,尤其是与之相关的风险程度。(类库,velocity,pucksupply) ·类的复杂性(操作个数,状态个数、与其它类的关联) 开发该类的测试驱动程序所需工作量。(puck:与其他类多有关联) 衡量类测试的五个方面: 测试人员:通常为开发人员, 优点:熟悉代码,便于开发测试系列和测试驱动程序 缺点:对类说明的任何误解都会影响测试系列和驱动程序 测试内容:确保一个类的代码完全满足类说明所描述的要求。 测试时间:完全说明一个类并且对其编码后不久,就开发一个测试计划,或至少确定测试用例的某种形式,从而有助于开发人员理解类说明,避免确定不正确或不充分的测试用例。类实现改变时,执行回归测试。若变化是因为发现了缺陷,则应增加或改变测试用例。 测试过程:开发测试驱动程序;由该驱动程序创建类的实例,并为实例创造环境以便运行一个测试用例。 类的静态成员和方法要测试。 测试程度:根据测试了多少类实现和多少类说明来衡量测试的充分性。 12.2 构建测试用例 两种方法: 从类说明(用OCL表示)确定测试用例,然后附加基于实现(边界值)的测试用例来扩充 根据状态转换图构建测试用例 构建测试用例——根据前置条件和后置条件 总体思想: a.为所有可能出现的组合情况确定测试用例需求,在这些可能的组合情况下, 可以满足前置条件,也能够达到后置条件。 b.创建测试用例表达这些需求(创建特定输入的测试用例;增加违反前置条件 的测试用例) 构建测试用例-----根据状态转换图 状态转换图以图例的形式说明了与一个类的实例相关的行为。状态图中的每一个转换都描述了一个或多个测试用例需求。 类测试系列的充分性 评估充分性的三个标准: 基于状态的覆盖率:以测试系列覆盖了状态转换图中的多少个状态为依据。由于状态包含了了各种对象值域,因而必须测试值域里的所有值,尤其是边界值和典型值。必须关注状态转换时各个操作是任何交互的。T1—T3,T2-T3 .基于约束的覆盖率:根据有多少对前置条件和后置条件被覆盖来表示充分性。 .基于代码的覆盖率:以执行了多少实现类的代码为依据。基于实现的测试需求:例如给数组排序的函数。 12.3构建测试驱动程序 是一个运行测试用例并收集运行结果的程序。 3种构件测试用例的方法: 实现函数main(),在.cpp文件中,进行编译:ifdef Test.....endif 实现一个静态成员函数,并使其执行。 实行单独的类,其执行并收集测试用例的结果。函数将其实例并发送消息运行所有的测试用例。(java,静态main) 测试驱动程序的要求 易维护,易适应被测类的变化。 Test类模型将测试用例划分为三个范畴: 结构性测试系列(基于实现) 功能性测试系列(基于说明) 交互性测试系列(基于事件系列) Test类的设计 类接口的主要组成部分:建立测试用例的操作;分析测试用例执行结果的操作;执行测试用例的操作;创建用于运行测试用例的CUT 实例的操作。 具体的 Tester类中:为每个测试用例定义一个方法,其目的是通过创建输入 状态,生成事件序列并检查输出状态来执行测试用例。 测试用例方法: 命名:根据测试用例的命名,可为这些操作命名 runTestCase() 测试用例名,测试用例的名称应易于跟踪(141) 任务:为测试用例构建输入状态,生成OUT,确定状态和事件。 伪代码: OUT工厂方法 测试类:通过创建实例并检查它们在一系列测试用例中的表现。 被测试对象(OUT):一个应用于某个测试用例的实例。 OUT的主要需求:是测试用例的输入所指定的属性,其目的是满足测试用例相关联的前 置条件。 NewCUT(object):用来创建CUT实例的工厂方法。 SetOUT(object):使该实例成为当前的OUT GetOUT():用来访问当前的OUT DisposeOUT():释放当前的OUT 注意:一般情况下,每个测试用例方法创建自己的OUT而后又释放它,从而是测试驱动程序尽可能简
您可能关注的文档
- 日语语法8 日语语法8 3.ppt
- 日语语法8 日语语法8 4.ppt
- 日语语法8 日语语法8 5.ppt
- 日语语法9 日语语法9 1.ppt
- 日语语法9 日语语法9 2.ppt
- 日语语法(课件) 第八章( 第4节 第5节).ppt
- 日语语法(课件) 第八章( 第1 3节).ppt
- 日语语法(课件) 第二章.ppt
- 日语语法(课件) 第九章.ppt
- 日语语法(课件) 第六章.ppt
- 软件测试技术 教学课件 作者 路晓丽 葛玮 第15章.ppt
- 软件测试技术 教学课件 作者 路晓丽 葛玮 第16章.ppt
- 软件测试技术 教学课件 作者 路晓丽 葛玮 第17章.ppt
- 软件测试技术 教学课件 作者 田秋成 36809 软件测试技术 习题解答.doc
- 软件测试技术 教学课件 作者 田秋成 第1章软件测试概述.ppt
- 软件测试技术 教学课件 作者 田秋成 第2章测试设计与管理.ppt
- 软件测试技术 教学课件 作者 田秋成 第3章生存周期测试方法.ppt
- 软件测试技术 教学课件 作者 田秋成 第4章黑白灰盒测试方法.ppt
- 软件测试技术 教学课件 作者 田秋成 第5章功能与性能测试方法.ppt
- 软件测试技术 教学课件 作者 田秋成 第6章现代测试方法.ppt
文档评论(0)