软件测试技术第6章单元测试.pptVIP

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

2、测试方法的声明 在测试类中,并不是每一个方法都是用于测试的,必须使用“标注”来明确表明哪些是测试方法。 @Test、@Ignore 、 @Before、 @After @Test标注 使用@Test标注,以表明这是一个测试方法。 方法名字可以随便取,但规范写法是test+方法名,方法名第一个子母大写。 方法的返回值必须为void, 方法不能有任何参数。 如果违反这些规定,运行时会抛出一个异常 assertEquals(5, calculator.getResult());是用来判断期待结果和实际结果是否相等 JUnit自动进行测试并把测试结果反馈给用户 3、忽略测试某些尚未完成的方法 加上@Ignore标注的含义是“某些方法尚未完成,暂不参与此次测试”。 4、Fixture “固定代码段” @Before,@After是每个方法测试时候必然被调用的代码 保证每一个测试都是独立的,相互之间没有任何耦合度 @BeforeClass 或 @AfterClass 只在测试用例初始化时执行@BeforeClass方法,当所有测试执行完毕之后,执行@AfterClass进行收尾工作 用于测试读取文件等耗时的方法。 该方法必须是public和static的 执行过程 测试开始-setUp-testXXXX-tearDown-测试结束 5、限时测试 对于那些逻辑很复杂,循环嵌套比较深的程序采用限时测试 函数设定一个执行时间,超过了这个时间,他们就会被系统强行终止,并且系统还汇报该函数结束的原因是因为超时 6、测试异常 expected属性用来测试函数应该抛出的异常 7、Runner (运行器) JUnit中有一个默认Runner,如果没有指定,那么系统自动使用默认Runner来运行代码 @RunWith是用来修饰类 ,可以指定需要的Runner 8、参数化测试 可以将所有参数集中起来一起测试。 步骤: 1:为测试专门生成一个新的类 2:定义一个待测试的类,并且定义两个变量,一个用于存放参数,一个用于存放期待的结果 3:定义测试数据的集合 ,用@Parameters标注进行修饰 4:创建构造函数对先前定义的两个参数进行初始化 方法必须由Parameters注解修饰 方法必须为public static的 方法必须返回Collection类型 方法没有参数 二维数组的类型必须是Object类型的 二维数组中的数据是为测试Calculator中的square()方法而准备的 二维数组中的每一个元素中的数据都对应着构造方法SquareTest()中的参数的位置 测试的执行流程 首先执行data()方法,将准备好的数据作为一个Collection返回 然后根据准备好的数据调用构造方法。Collection中有几个元素,该构造方法就会被调用几次 。例中被调用3次,会产生3个该测试类的对象 Collection中的数据是由JUnit传给SquareTest方法 对于每一个测试类的对象,都会去执行square () 测试结果:运行SquareTest 百航信息 9、打包测试 步骤: 1:用@RunWith标注传递一个参数Suite.class。 2:用@Suite.SuiteClasses表明这个类是一个打包测试类。 3:把需要打包的类作为参数传递给该标注 测试结果:运行AllCalculatorTests 两个测试类 作业: P148 1、3 作业 * 单元测试需要从程序的内部结构出发设计测试用例。 通常,我们使用白盒测试方法测试单元的内部结构,使用黑盒测试方法测试单元的功能和可观测的行为。 * 单元测试对象一般对应详细设计中所描述的基本单元。 “单元”:明确的功能、规格定义,与其他部分明确的接口定义。 * * 驱动模块和桩模块是测试使用的软件,而不是软件产品的组成部分,但它需要一定的开发费用。 * * * * * * * 方法:先对最顶层的单元进行测试,把顶层所调用的单元做成桩模块。其次对第二层进行测试,使用上面已测试的单元做驱动模块。如此类推直到测试完所有模块。 特点: 单元测试策略在执行上同详细设计一致; 单元测试被桩模块控制,越往后,测试过程越复杂;并行性不好,低层单元测试要等到上层单元测试完毕才可进行。 * 方法:先对模块调用层次图上最低层的模块进行单元测试,模拟调用该模块的模块做驱动模块。然后再对上面一层做单元测试,用下面已被测试过的模块做桩模块。以此类推,直到测试完所有模块。 特点: 测试用例从功能设计中取得,不需要桩模块; 并行性好,顶层单元测试要等到低层单元测试完毕才可进行。 驱动模块 (Driver) 被测基本单元的主

文档评论(0)

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

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

1亿VIP精品文档

相关文档