软件测试的重要性课件
软件质量保证与测试PPT课件第9章 软件测试过程

很显然,表现在程序中的错误,并不一定是编码引起的,很 可能是详细设计、概要设计阶段,甚至是需求分析阶段的问 题引起的。因此,针对源程序测试时,所发现的问题的根源 可能在开发时期的各个阶段。解决错误、纠正错误也必须追 溯到前期的工作。 正是如此,测试工作应该着眼于整个软件开发生命周期,特 别是着眼于编码以前各开发阶段的工作来保证软件的质量。 也就是说,测试应该从软件开发生命周期的第一个阶段开始, 并贯穿于整个软件开发生命周期。
编辑ppt
13
9.3.4 系统测试
定义 测试内容
功能测试 性能测试 强度测试 可靠性测试 恢复测试 安装测试 安全性测试 配置测试 可用性测试 兼容性测试 网站测试
测试技术 测试人员
编辑ppt
14
9.3.5 验收测试
定义 测试内容 测试技术
α测试 β测试
测试人员
编辑ppt
17
9.4.2 生命周期测试与V模型
需求分析 设计 编码 测试 安装 维护
开发 阶段
验证活动
需求分 析
确定测试步骤 确定需求是否恰当 生成功能测试用例 确定设计是否符合需求
设计
编码 测试 安装 维护
确定设计信息是否足够 准备结构和功能的测试用例 确定设计的一致性
为单元测试产生结构和功能测试 的测试用例
测试管理工具用于对测试进行管理。一般而言, 测试管理工具对测试计划、测试用例、测试实施 进行管理,还包括缺陷跟踪管理工具等。
测试管理工具的代表有Rational公司的Test Manager,Compureware公司的 TrackRecord等。
《软件测试》PPT课件

例:程序P有两个整型输入量 X、Y,输出量为Z, 在32位机上运行。所有的测试数据组(Xi,Yi)的 数目为: 2 32 2 32= 2 64 1毫秒执行1次,共需5 亿年。
X
P
Z
Y
3、软件测试难度大 根据上述分析,既然不能进行 “穷举”测试, 又要查出尽可能多的错误,软件测试工作的难 度大。只有选择 — “高效的测试用例”
a
A>1
N
b
Y cB=0 Y
N
X:=X/A
A=2 Y
N Y
X>1
N
d
e
X:=X+1
编译系统下的执行情况: 部分路径未被执行。
使得每个判定中条件的各种 可能组合都至少出现一次。
满足以下覆盖情况:
① A>1, B =0 ② A>1, B≠0 ③ A≤1, B =0 ④ A≤1, B≠0 ⑤ A=2, X>1 ⑥ A=2, X≤1 ⑦ A≠2, X>1 ⑧ A≠2, X≤1
IF (A=2) OR (X>1)
THEN X:=X+1
END;
ห้องสมุดไป่ตู้
Y
X:=X/A
Y
X:=X+1
1、语句覆盖
a
A>1 AND B=0
N
b
c
Y
X:=X/A
A=2 OR X>1
dN
Ye
X:=X+1
使得程序中每个执行语句 至少都能被执行一次。
满足语句覆盖的情况: 执行路径:ace
用例格式: [输入(A,B,X),输出(A,B,X)]
四、软件测试的过程
软件测试的过程图
《软件测试》课件

缺陷管理工具
缺陷管理工具用于跟踪和管理软件缺 陷,包括缺陷的发现、报告、修复和 验证等环节。常用的缺陷管理工具包
括Jira、Bugzilla等。
缺陷管理工具可以提供缺陷的详细信 息,包括缺陷描述、严重性、优先级 等,方便开发人员快速定位和修复缺
软件测试的目标是发现软件中存在的 问题和缺陷,并提供改进和优化的建 议,以提高软件的质量和用户体验。
软件测试的重要性
确保软件质量
软件测试是软件开发过程中不可 或缺的一环,通过测试可以发现 软件中存在的问题和缺陷,从而 避免在后期出现重大故障或影响 用户体验。
提高软件可靠性
通过软件测试可以评估软件的可 靠性和稳定性,为软件的发布和 部署提供保障,降低维护成本和 风险。
详细描述
单元测试是对软件中的最小可测试单元进行检查和验证,通常由开发人员完成。它包括对代码、函数或方法进行 测试,确保它们按照预期工作,并满足设计要求。单元测试通常在编码阶段进行,用于尽早发现和修复错误,降 低后续测试阶段的成本。
集成测试
总结词
集成测试是在单元测试基础上,将多个模块组合在一起进行测试,确保它们之间的接口正常工作。
03
自动化测试工具还可以集成到持续集成/持续部署(CI/CD) 流程中,实现自动化测试与代码提交、构建、部署等环节 的无负载下的性能表现,包括响应时间、吞吐量、资源利 用率等。常用的性能测试工具包括LoadRunner、JMeter等。
性能测试工具可以模拟大量用户请求,对系统进行压力测试,发现系统瓶颈和潜在的性 能问题。
边界值分析法
总结词
通过选取处于边界值附近的数据作为测试用 例输入,以检测软件是否能正常处理边界情 况的方法。
对于软件测试的描述

对于软件测试的描述摘要:1.软件测试的定义2.软件测试的目的和重要性3.软件测试的分类4.软件测试的过程和方法5.软件测试的工具和技术6.软件测试的前景和发展趋势正文:软件测试是保证软件产品质量的必不可少的过程,它通过各种方法、技术和工具来检查、验证和确认软件产品是否满足预期的需求和标准。
软件测试的主要目的是发现和修复软件中的缺陷和问题,确保软件在交付给客户时具有可靠性、稳定性和高性能。
软件测试对于软件开发项目具有非常重要的意义。
首先,软件测试可以确保软件的质量,提高用户的满意度和信任度。
其次,软件测试可以节省开发和维护成本,降低软件的缺陷率,减少修复缺陷所需的时间和资源。
此外,软件测试还可以提高开发团队的效率和协作,提前发现和解决问题,避免在后期出现严重的错误和延误。
软件测试可以根据不同的标准和方法进行分类。
常见的分类包括功能测试、性能测试、兼容性测试、安全测试、回归测试、自动化测试等。
每种测试方法都有其特定的目的和应用场景,开发团队需要根据项目的需求和特点选择合适的测试方法。
软件测试的过程通常包括测试计划、测试设计、测试执行和测试报告等阶段。
在测试计划阶段,测试团队需要制定测试策略、测试目标和测试计划,明确测试的范围、资源和时间表。
在测试设计阶段,测试团队需要编写测试用例、测试脚本和测试数据,准备测试环境和工具。
在测试执行阶段,测试团队需要按照测试计划执行测试用例,记录测试结果和缺陷。
在测试报告阶段,测试团队需要汇总测试结果,分析缺陷和问题,提供改进建议和报告。
软件测试的工具和技术主要包括测试管理工具、测试自动化工具、缺陷跟踪工具、性能测试工具、兼容性测试工具等。
这些工具可以帮助测试团队提高测试效率和质量,降低测试成本和风险。
随着软件行业的不断发展和变化,软件测试也在不断地演进和发展。
未来,软件测试将更加注重智能化、自动化和一体化,通过机器学习、人工智能和大数据等技术,实现更高效、更准确和更可靠的软件测试。
《软件测试报告》课件

目录
• 软件测试概述 • 软件测试过程 • 测试方法与技术 • 测试工具与环境 • 测试案例分析 • 软件测试的挑战与展望
01
软件测试概述
软件测试的定义
01
02
软件测试是软件开发过程中必不可少的一环,它通过运行软件系统或 模块来发现潜在的问题、错误和缺陷,确保软件的质量和稳定性。
软件测试不仅是对软件的功能进行测试,还包括对软件的性能、安全 性和易用性等方面的测试。
性能测试
评估软件的性能表现,包括响应时 间、吞吐量、稳定性等。
安全测试
检测软件的安全漏洞,确保软件在 面临威胁时能够保护数据和资源的 安全。
兼容性测试
检查软件在不同操作系统、浏览器 、设备和数据库等不同环境下是否 能够正常运行。02软件测试过程
测试计划与设计
01
明确测试目标
清晰定义测试的目的和范围, 确保测试活动与软件需求和预
缺陷分类与优先级评估
对问题进行分类和优先级评估,确定解决问题的先后顺序。
缺陷跟踪与状态更新
对问题的解决过程进行跟踪,及时更新问题状态,直至问题关闭。
缺陷预防与改进措施
分析缺陷产生的原因,提出预防和改进措施,降低未来出现类似问题的风险。
测试总结与报告
测试结果汇总
对测试过程中的数据和结果进行汇总,包括测试 用例执行情况、缺陷数量和质量等信息。
详细描述
对电商网站进行全面的性能测试,包括负载均衡、高并发等场景,以 确保网站在高流量情况下仍能保持稳定和高效。
测试结果
在1000用户并发访问下,系统响应时间小于2秒,吞吐量达到 800TPS,满足性能要求。
优化建议
针对数据库性能瓶颈,建议采用读写分离、缓存等技术优化数据库性 能。
软件工程第5章PPT课件

河南理工大学
2020/7/19
5.1
编码
5.2
软件测试基础
5.3
逻辑覆盖
5.4
控制结构测试
Page 8
河南理工大学
2020/7/19
5.5 5.6 5.7 5.8 5.9
Page 9
黑盒测试技术 测试策略 调试 软件可靠性 小结
河南理工大学
2020/7/19
5.1 编码
5.1.1 选择程序设计语言
第5章 结构化实现
编码和测试统称为实现。 编码:把软件设计结果翻译成程序。 测试:检测程序并改正错误的过程。
Page 1
河南理工大学
2020/7/19
第一部分
整体概述
THE FIRST PART OF THE OVERALL OVERVIEW, PLEASE SUMMARIZE THE CONTENT
Page 17
河南理工大学
2020/7/19
2.
数据说明的次序应该标准化,如按数据类型确定说明的 次序; 多个变量名在一个语句中说明时,应该按字母顺序排 列这些变量; 如果设计时使用了复杂的数据结构,应该用注释说明实 现该数据结构的方法和特点。
Page 18
河南理工大学
2020/7/19
3.
计算机程序设计语言基本上可以分为两 大类:
1. 汇编语言; 2. 高级语言。
Page 10
河南理工大学
2020/7/19
从应用特点看,高级语言可分为:
1)基础语言
如BASIC、FORTRAN、COBOL、ALGOL等
2)结构化语言
如ALGOL、PL/1、PASCAL、C、ADA等
3)专用语言
功能测试培训课件

回归测试
在缺陷修复后,进行回归测试以确保 缺陷的彻底解决,并防止新缺陷的产 生。
缺陷预防
通过分析缺陷产生的原因,采取预防 措施以降低未来缺陷出现的概率。
测试报告编写
报告结构
了解测试报告的基本结 构,包括引言、正文、
结论和建议等部分。
内容组织
合理组织报告内容,确 保报告清晰、准确、完 整地反映测试过程和结
功能测试目的
确保软件功能正常、符合需求,及时发现和修复缺陷,提高软件质量。
03
功能测试对象
对软件系统的各项功能进行测试,包括但不限于界面、业务逻辑、数据
流程等。
功能测试的重要性
01
02
03
保障软件质量
通过功能测试可以发现和 修复软件中存在的缺陷和 问题,提高软件质量,降 低软件发布后维护成本。
提高用户体验
功能测试关注用户需求和 期望,通过测试可以优化 软件功能和界面设计,提 高用户体验。
降低风险
尽早发现和修复缺陷可以 降低软件开发过程中的风 险和成本。
功能测试的流程
需求分析
理解需求规格,明确测试范围和目标。
制定测试计划
根据需求分析结果,制定详细的测试计划,包 括测试资源、时间、人员等安排。
编写测试用例
详细描述
测试用例编写是测试用例设计的核心环节,需要明确测 试目标、输入数据、执行步骤、预期结果和实际结果等 要素,以确保测试的准确性和可重复性。
总结词
测试用例应覆盖所有可能的业务场景和异常情况。
详细描述
在编写测试用例时,需要考虑各种可能的业务场景和异 常情况,以确保测试的全面性和完整性。这包括正常业 务流程、异常业务流程、边界条件等。
测试用例执行
《手机软件测试培训》课件

测试流程
了解测试的典型流程,从 需求分析到测试执行和报 告分析。
二、测试工具
Appium介绍
Appium环境搭建
了解Appium框架的特点和优势, 以及如何使用它来进行手机软 件测试。
学习如何设置Appium的开发环 境,包括安装和配置。
Appium API介绍
深入了解Appium的API,掌握 如何使用它执行各种测试操作。
《手机软件测试培训》 PPT课件
# 手机软件测试培训
探索手机软件测试的核心概念、流程和技术,并学习如何设计测试用例和优 化测试流程。让您成为手机软件测试的专家!
一、测试概述
测试定义
了解测试的基本概念和目 的,以及在软件开发过程 中的角色和重要性。
测试分类
探索不同类型的测试方法, 如功能测试、性能测试、 安全测试等。
七、总结
测试思维方法
培养有效的测试思维方法, 以提高测试的深度和广度。
学习建议
分享学习手机软件测试的最 佳实践和资源,帮助您成为 测试领域的专家。
Q&A
解答参与培训的学员提出的 问题,帮助他们更好地理解 和应用所学知识。
谢谢!
以上是本次手机软件测试培训的大纲,希望能为大家提供有效的帮助。感谢您的参与和支持!
3 测试报告生成和分析
了解如何生成详细的测试报告,并分析结果以支持决策。
六、测试实践
常见的测试问题
探索常见的测试问题和挑战,并学习如何应对和解决。
发现问题及时解决方法
了解如何及时发现和解决测试过程中的问题,确保测试流程的顺利进行。
优化测试流程
分享优化测试流程的实用技巧和经验,以提高测试效率和质量。
三、测试技术
黑盒测试
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
随着软件业蓬勃发展,各种软件需求纷繁而来,在潮起潮落的IT 洪流中,软件项目越来越凸现大型化、复杂化的发展趋势。
几十人上百人的开辟团队、成千上万的模块与接口、跨地域、跨系统的使用用户等情况早已屡见不鲜,所有这些,对项目质量管理提出了更高要求,如何满足各方需求,做出更好的软件系统?测试管理逐渐成为了大家目光的焦点。
软件的质量靠什么,靠管理、靠各个软件过程的严密配合。
但勿庸置疑,质量的守护是靠测试。
它就象一只看门狗,认真守护着软件质量这个“家”。
测试是什么?测试就是对项目开辟过程的产品 (编码、文档等)进行差错审查,保证其质量的一种过程。
软件业的迅猛发展也就是近几十年的过程,时间虽短,但许多误解似乎已根深蒂固,对测试的偏见也是如此。
“软件的重点在于需求、在于分析、在于设计、在于开辟,而测试,容易,没什么技术含量,找一些用户,对照需求竭力去测就行了;有时间多测点,没时间就少测点。
”这种看法在许多项目经理、软件负责人的心中固守着,难以改变。
这种观念的结果有目共睹,是什么?很简单,是大量软件BUG、缺陷的“流失”,从测试人员手中悄然而过,流失到用户手中,流失进项目维护阶段。
随之而来的,便是用户无住手的抱怨、维护人员无住手的“救火”、维护成本无住手的增加。
这是软件人员的梦魇!恶梦总有醒来时,经过无数教训的重击,在不堪回首而不得回首的经历中,软件业的管理者发现:是他们错了,软件测试是不可忽视的。
“所有这些问题,假如在项目中测试到的话,便不会有造成不可收拾的结果了。
”――人们终于意识到测试简单而纯真的真谛。
软件测试软件测试从直观上来讲是对测试对象进行检查、验证,似乎很简单,但实际不然,它是由许多处理环节构成的。
根据测试目标、质量控制的要求,它被划分为以下各类环节 (如下图) ,并被设置了不同的准入、准出标准。
测试的主要过程及活动如上图所示,内容一目了然,在此就不一一详述了,只希翼通过对测试重点问题、关注热点的介绍,匡助大家对测试管理有一个总体的把握。
测试方式中普遍存在的问题与点评谈到测试,我们无法回避的是当前软件过程普遍存在的测试问题:1、手工过多,缺少测试工具,自动化测试方式缺失。
传统的项目测试还是以手工为主,测试人员根据需求规格说明书的要求,与测试对象进行“人机对话”。
随着软件业的不断发展及软件规模的扩大,这种测试的弊端日益明显:·大量的手工使项目人力成本、沟通成本居高不下;·人工操作的低效率使项目耗时增加,带来进度风险;·人员素质及其他不确定因素会影响手工测试的结果,导致差错率的增加。
·在测试过程中,需要对测试案例库进行统一配置管理,项目规模的激增使手工管理案例库的难度日益加大,特别是在需求变更、回归测试频繁发生的时候。
从古到今,当生产率妨碍了生产力的发展的时候,必然会引入更高级的生产工具及方式。
项目测试也是这个道理,引入工具,引入自动化测试及管理,是项目测试的一大趋势。
2、缺乏文档测试、检查。
文档是项目的重要产品之一,产品需求、功能分析、架构设计、详细设计、用户手册、维护手册等等,对于项目的测试、上线、维护等过程起到至关重要的参考、指导作用,所以它们的质量应该是项目重点关注点之一。
令人遗憾的是,许多软件项目对于文档的重视只停留在口头上,“编码第一”的观念似乎根深蒂固。
随着需求不断变更、补充,业务、技术人员忙于对付,无法腾出精力来进行文档内容的修改及完善,往往是将包含需求变更内容的工作联系单往需求文档后一附了事,而不去更新需求与其他相关文档;另一方面,项目变更管理还不够完善,管理重点往往集中于开辟,而轻蔑文档质量管理,未留出充分的文档更新时间,导致文档更新严重滞后于编码进度。
为保证文档质量,必须定期进行文档测试,但测试要花成本,项目高层不愿意付此代价。
文档若可读性低,便会影响用户的理解;若与编码不一致,便起不到参考作用,编码测试就没有可靠的测试依据。
路都看不清晰,怎么往前走呀?所以,强烈建议进行文档测试,并将其置于测试管理的首位。
当前文档测试的方法没有什么特殊的形式,还缺乏测试工具支持,通常是通过静态审查方式――“走查”来进行的,主要查看文档的可读性,内容真实性、可靠性、全面性。
此外,在项目里程碑时期召集相关领域专家对重要文档进行集中审核,也是一种检查方式。
3、单元测试应引入交叉测试方法;单元测试是对软件基本组成单元进行的测试,测试对象是软件模块。
通常,单元测试是由开发人员来完成,而且往往是各人测各人的。
这存在问题隐患。
为什么呢,技术人员是软件模块的创造者,自己来测自己的软件的话,角色便从创造者变成了审查者,而前一个角色的目的是为了保证软件正确,后一个角色的目的是为了发现更多的缺陷,让一个人同时来扮演两种目的不同的角色,好比让他既当裁判员又当运动员,怎么能做好呢?解决方法通常有两种,一种是:由测试人员来进行单元测试,这种方式要求测试人员要有较高的软件技术知识;另一种是:将软件人员分组,在模块开辟告一段落时进行交叉测试,这种方法只需要测试者了解被测方的软件需求,不需要此外的知识培训,而且测试出发点较为客观,所以被较普遍的推广使用。
4、测试在开辟基本完成才启动;在传统的瀑布型开辟模式中,软件测试位于编码阶段之后,是作为一个独立阶段存在的,许多人便一刀切地认为应该将所有的测试工作在编码完成后再开始。
这个观点要不得,原因有二:首先,若将测试工作细分,有许多工作是可以提前先期执行的,如:需求书与设计书的学习、测试计划的制定、测试人员的培训、测试脚本的建立、测试资源的搭建、测试模板的创建、测试工具的选择等等,都是可以与其他阶段并行处理的,这将大大缩短项目开辟时间,为测试提供充分的时间保障,提高测试质量。
其次,软件缺陷发现的越晚,修改、补救所耗费的成本越高。
引用Boehm 在《Software Engineering Economics》一书中的话――“平均而言,如果在需求阶段修证一个错误的代价是1,那末,在设计阶段就是它的3-6 倍,在编程阶段是它的10 倍,在内部测试阶段是它的20—40 倍,在外部测试阶段是它的30-70 倍,而到了产品发布出去时,这个数字就是40-1000 倍。
”由此可见,测试目标的最佳定位应该是:在错误第一次浮现的时候就捕捉到它。
所以,在尽可能的情况下,测试越早展开越好。
在项目的各个进行阶段,都有不同的项目产品产生,他们质量的好坏,对后续开辟影响重大,所以,现在国际上比较流行的做法是:将测试融合到各个开辟环节中去,及早测试。
5、测试案例、测试方案的重用率低下。
传统的测试过程,测试管理不严密,测试人员未建立完整的测试库,未将测试案例、测试程序、测试方案进行有效保存,等到回归测试时,相关测试程序等往往已不知所终,无处可寻了;即使能找到这些程序、案例,可往往因为回归测试过于频繁、项目期限日益迫近,已经没有时间余量来修改、完善这些程序及案例,只能凭借经验、记忆及技术人员的口述对程序修改过的地方草草重测一遍而已,缺乏正规化的测试过程,造成测试的虎头蛇尾。
正常的测试案例使用方式如上图,测试设计阶段,相关测试设计人员会对测试对象进行了解、分析,为保证测试顺利进行,保证测试覆盖尽量多的测试对象,会设计测试案例、测试方案,在测试期间进行使用;测试发现错误时,软件技术人员会根据测试的缺陷反馈结果及技术人员的软件修改信息对测试程序进行修改,完毕后再进行回归测试。
6、测试人员素质低,缺乏相关知识培训。
项目管理人员对测试存有偏见,对于测试的重要性认识不足,导致其严重忽略测试人员的选拔和知识培训。
许多软件项目让软件用户或者新招收的技术人员来完成测试工作,他们认为测试人员的工作很简单,就是技术人员让测什么就测什么,它基本是一个动手不动脑的工作。
这样做的后果进一步导致了测试工作的无序和混乱,测试过程缺乏计划性,测试人员缺乏技术能力,缺乏对架构的了解,相关素质的缺失使他们成为技术人员的附庸。
测试对于他们来说,是一种枯燥的“手+眼”式的工作,他们惟一渴望的,是将无聊的测试尽快完成,从而远远的逃离。
这样的测试结果可想而知。
其实,软件工程对测试人员的素质要求是很严格的,比如:要有相关计算机知识背景、具备软件工程基本知识、熟悉项目编程语言、熟悉项目技术架构及需求内容、工作有责任感、独立分析能力及团队精神等等。
真正规范的软件项目对于测试人员的要求是不会低于技术人员的,而且会为测试人员提供进一步的知识培训机会,以应对各种项目的复杂情况。
7、测试进度的错误估算。
在项目开辟中,领导为催促测试的进程,往往会让项目组汇报工作进度,了解已经完成的工作占比,从而对工作进度做出判断。
我对这种工作方式彻底拥护,只是觉得这种方式还有不足。
测试进程不是简单的1+1 过程,不能武断地认为“我用8 天干完了80%的工作,那末,剩余工作便能在 2 天内干完”。
著名的Pareto80/20 规律告诉我们:测试发现的所有错误中的80%很可能集中在20%的程序模块中,此外20%很可能集中在80%的程序模块中。
所以,没有对测试对象认真分析的基础,单凭工作完成数量而对工作进度做出的的判断往往是错误的。
我认为,“工作实际进度=工作完成量占比+测试对象的错误占比分析”才是一个较合理的测试进度估算方式。
测试新思路:项目的开辟风险来自于对需求的误解,来自于设计与开辟过程及产品的缺陷,惟独及早发现这些缺陷,才干降低并控制项目风险。
基于这种思想,软件业浮现了一些新的测试思路,主要有二:1、测试驱动开辟(Test-Driven Development,简称TDD)。
这种测试思想被最近流行的XP (Extreme Programming)极限编程方式所大力提倡。
它的基本思想是,通过测试来为编程做指导,在某个要开辟的需求对象明确之后,在编码之前,先进行相关测试代码(测试代码的内容和需求规格说明书描述是相同的,有人把它称为“可执行的需求规格说明书”) 的编写工作,完成之后针对测试代码进行编程,然后再用测试程序对开辟代码进行测试,验证其正确性,若程序通过了测试,就说明它是符合需求规格说明书要求的。
周而复始,通过这样的过程,开辟进程得以层层深入,直到开辟完成。
而这时单元测试也基本完成为了。
这种测试方式的最大的好处是,及早地发现设计、开辟中存在的问题,避免传统开辟模式中的“测试过程中发现代码不能满足需求而导致的大量返工”。
降低项目风险;同时可以及早地将“半成品”展示给客户,使客户对需求进行验证、补充及完善,此外测试代码的表达方式相对准确、无二义性,可以降低因需求理解错误而导致的项目风险。
2、迭代测试。
这种测试是IBM 所推崇测试方式之一,它从迭代式开辟模式演变而来。
在迭代开辟模式中,每一个迭代都包含需求、设计、编码、集成、测试等过程。