中国高校课件下载中心 》 教学资源 》 大学文库

复旦大学:《面向对象分析和设计》课程资料_UML和模式_Chapter 21 测试驱动的开发与重构

文档信息
资源类别:文库
文档格式:PPT
文档页数:42
文件大小:733KB
团购合买:点击进入团购
内容简介
复旦大学:《面向对象分析和设计》课程资料_UML和模式_Chapter 21 测试驱动的开发与重构
刷新页面文档预览

Chapter 21 测试驱动的开发与重构:3 ●●●● ●●。●●

Chapter 21 测试驱动的开发与重构

●●● ●●●●● ●●●● 中秋、国庆调课安排 ●●●● ●●●● ●●0● 9/19上课,布置 Project ●9/30停课一次,期间小组自行讨论并完成第 阶段成果。 ●10/9上课

中秋、国庆调课安排 ⚫ 9/19 上课,布置Project ⚫ 9/30 停课一次,期间小组自行讨论并完成第 一阶段成果。 ⚫ 10/9 上课

●●● ●●● ●●●●● ●●●● ●●●● 测试驱动的开发与重构 ●●●● ●●0● ●测试驱动的开发 ●什么是测试驱动的开发 为什么要进行测试驱动的开发 ●如何进行测试驱动的开发 ●重构 ●什么是重构 为什么要重构 示例

测试驱动的开发与重构 ⚫ 测试驱动的开发 ⚫ 什么是测试驱动的开发 ⚫ 为什么要进行测试驱动的开发 ⚫ 如何进行测试驱动的开发 ⚫ 重构 ⚫ 什么是重构 ⚫ 为什么要重构 ⚫ 示例

●●● ●●●●● ●●●● ●●●● 传统测试方法及问题 ●●●● ●●0● ●测试往往不够完整,会导致遗漏的错误; ●测试往往由专门的测试人员实施,他们对程序的 细节往往不够熟悉 测试人员通常根据文档,而不是代码来觉得究竟 要测试哪些内容,而这些文档很容易过期而与代 码不一致 ●大多数的测试是基于手工的,不能够自动完成, 因此无法经常执行,即使重复执行往往也不能保 证两次测试间的一致性

传统测试方法及问题 ⚫ 测试往往不够完整,会导致遗漏的错误; ⚫ 测试往往由专门的测试人员实施,他们对程序的 细节往往不够熟悉 ⚫ 测试人员通常根据文档,而不是代码来觉得究竟 要测试哪些内容,而这些文档很容易过期而与代 码不一致 ⚫ 大多数的测试是基于手工的,不能够自动完成, 因此无法经常执行,即使重复执行往往也不能保 证两次测试间的一致性

●●● ●●● ●●●●● ●●●● ●●●● 什么是测试驱动的开发 ●●●● ●●0● ●先写单元测试用例,再写代码; ●由测试来决定需要什么样的代码; ●由程序员编写和维护完整的测试用例集; ●仅当代码有了相应的测试代码,该代码才能作 为成品代码;

什么是测试驱动的开发 ⚫ 先写单元测试用例,再写代码; ⚫ 由测试来决定需要什么样的代码; ⚫ 由程序员编写和维护完整的测试用例集; ⚫ 仅当代码有了相应的测试代码,该代码才能作 为成品代码;

●●● ●●● ●●●●● ●●●● 个简单的演示 ●●●●● ●●●● ●●0● 编写一个能够执行加法和减法的计算器

一个简单的演示 编写一个能够执行加法和减法的计算器

●●● ●●● ●●●●● ●●●● ●●●●● 测试驱动的开发的优点 ●●●● ●●0● ●能够保证编写单元测试 ●使得程序员获得满足感,从而始终如一地坚持 编写测试 ●有助于澄清接口和行为的细节 可证明、可再现、可自动验证 ●改变事物的信心

测试驱动的开发的优点 ⚫ 能够保证编写单元测试 ⚫ 使得程序员获得满足感,从而始终如一地坚持 编写测试 ⚫ 有助于澄清接口和行为的细节 ⚫ 可证明、可再现、可自动验证 ⚫ 改变事物的信心

●●● ●●● ●●●●● ●●●● ●●●●● 测试驱动的开发的优点 ●●●● ●●0● ●让计算机帮你记住 ●需要实现哪些类、接口和方法 哪些方法还没有实现或者还存在问题

测试驱动的开发的优点 ⚫ 让计算机帮你记住 ⚫ 需要实现哪些类、接口和方法 ⚫ 哪些方法还没有实现或者还存在问题

●●● ●●●●● ●●●● ●●●● 什么是 JUnit ●●●● ●●0● ● Junit是一个测试框架,它的目标是简化单元 测试的开发、运行和报告,主要包含以下的 功能: °断言( assertions) ●测试类和测试集( suites) ●测试运行 测试结果报告 ●对于绝大多数的程序设计语言,都有类似的 单元测试框架,他们统称为 XUnit

什么是JUnit ⚫ Junit是一个测试框架,它的目标是简化单元 测试的开发、运行和报告,主要包含以下的 功能: ⚫ 断言(assertions) ⚫ 测试类和测试集(suites) ⚫ 测试运行 ⚫ 测试结果报告 ⚫ 对于绝大多数的程序设计语言,都有类似的 单元测试框架,他们统称为xUnit

●●●●● ●●●● ●●●● 开发 Junit单元测试的步骤 ●●●● ●●0● 定义一个 Testcase的子类 ●重载 setUp o或者 tearDown(方法(可选) 定义一个或者多个 public testXXXo方法,在这个方法 中 操纵测试对象,包括创建对象、组装对象以及调用其中的方法 ●发起预期结果的断言 随着测试用例的不断增加,可以创建一个 TestSuite类,包含其他 的测试用例。 对每一个类中的每一个公共方法 get/set方法除 至 少定义一个测试用例,如果该方法会抛出异常,则需要定 义相应的异常测试用例。 可以定义一个main方法以便于该测试用例能够独立于开发 环境或者其他工具而运

开发Junit单元测试的步骤 ⚫ 定义一个TestCase的子类. ⚫ 重载setUp() 或者 tearDown()方法(可选). ⚫ 定义一个或者多个public testXXX()方法 ,在这个方法 中: ⚫ 操纵测试对象,包括创建对象、组装对象以及调用其中的方法 ⚫ 发起预期结果的断言. ⚫ 随着测试用例的不断增加,可以创建一个TestSuite类,包含其他 的测试用例。 ⚫ 对每一个类中的每一个公共方法(get/set方法除外),至 少定义一个测试用例,如果该方法会抛出异常,则需要定 义相应的异常测试用例。 ⚫ 可以定义一个main方法以便于该测试用例能够独立于开发 环境或者其他工具而运行

刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档