测试
引言
在测试工作流中,通过测试每一个构造来验证实现的结果。测试的目的是为了:
- 规划每一次迭代需要的测试工作,包括集成测试和系统测试。迭代中的每个一构造都需要做集成测试,而系统测试仅需在迭代结束时进行。
- 设计和实现测试,采取的方法时创建用来详细说明测试什么的测试用例,并创建用来详细说明如何执行测试的测试规程,如果可能,还要创建用来使测试自动化的可执行的测试构件。
- 执行各种测试并系统地处理每个测试的结果。发现有缺陷的构造要重新测试,生长可能要送回给其他核心工作流,这样才行修复严重的缺陷。

测试在软件生命周期中的作用
当确定系统范围后,就可在初始阶段执行初始的测试计划。然而,测试主要应用在每次构造进行集成测试和系统测试时。这意味着测试既是细化阶段的焦点,也是构造阶段的焦点。在移交阶段,焦点转向修复早早期使用中发现的缺陷,并进行回归测试。
由于开发工作的迭代性,因此一些说明如何测试早期构造的测试用例也可用作说明如何测试后续构造的回归测试用例。在迭代中对回归测试的需要逐步增长,着意味着后期迭代将包括大量的回归测试。测试模型的进化方式包括以下几种:
- 移走国企的测试用例
- 把一些测试用例改造成回归测试用例
- 为每一个后续构造创建新的测试用例
制品
制品:测试模型
测试模型主要描述怎样通过集成测试和系统测试对实现模型中的可执行构件进行测试。测试模型还能描述如何测试系统的某系特殊方面。测试模型是测试用看、测试规程和测试构件的集合。
制品:测试用例
测试用例详细说明测试系统的一种方法,包括哪些输入或结果取测试什么样的内容,以及在何种条件下进行测试。以下是一些常用的测试用例:
- 详细说明怎样测试一个用况或用况的一个特定场景的测试用例。对应于黑盒测试。
- 指出怎样测试一个用况实现-设计或该实现的特定场景的测试用例。对应于黑盒测试。
可用其他测试用例详细说明系统整体性的测试,例如:
- 安装测试验证系统能够装在客户的平台上,而且验证该系统在安装时运行正常
- 配置测试验证系统在不同的配置下运行正确
- 否定测试视图使系统出错以发现它的弱点。
- 强度测试识别在遇到子u按不足或资源冲突情况下的系统问题。
制品:测试规程
测试规程指数怎样执行一个或几个测试用例或者其中的一部分。
制品:测试构件
测试构件自动执行一个或几个测试规程或者其中的一部分。
测试构件可用脚本语言或编程语言来开发,或者通过测试自动化工具来记录。
制品:指定测试计划
测试计划描述测试策略、资源和进度安排。测试策略包括为每次迭代定义要执行的测试类型和目标、测试和代码覆盖水平,以及带有某种特定运行结果的测试所占的百分比。
制品:缺陷
缺陷即系统异常。可用缺陷还捕获开发人员需将其作为系统中问题的征兆而进行等级并更正和解决的那些东西。
制品:评估测试
测试评估师对测试工作各项结果的评估。
工作人员
工作人员:测试设计人员
测试设计人员的任务师报中测试模型的完整性,保证其模型实现其目的。测试设计人员还要规划测试,也就是说由他们来决定适当的测试目标和测试进度。而且,测试设计人员要选择和描述测试用例以及相应的测试规程。在测试完成后,他们还要复杂对集成和系统测试进行评估。
工作人员:构件工程师
构件工程师复杂测试构件,以便自动指定一些测试规程。
工作人员:集成测试人员
集成测试人员对实现工作流中阐述的每一个构造进行集成测试。集成测试验证那些集成在一个构造中的构件是否运行正常。因此,集成测试通过由哪些说明如何测试永康市下-设计的测试用例导出。
工作人员:系统测试人员
系统测试人员复杂对作为一个完整迭代的结果的构造进行所需的系统测试工作。系统测试主要用于验证参与者与系统之间的交互。因此,系统测试通常由哪些纤细说明如何测试用况的测试用例导出,但也要蚕蛹其他各种类型的测试,以保持系统测试的整体性。
工作流
测试的主要目的是为了执行并评估测试模型所描述的测试。这是由在每次迭代中规划测试事宜的测试工程师发起的。接着,测试工程师描述所需的测试用例以及执行这些测试用例的测试规程。然后,如果可能,构件工程要建立其使某些测试规程自动胡的测试构件。。用这些测试用例、测试规程及测试构件作为输入,集成测试人员和系统测试人员测试每一个构造并捕获发现的所有缺陷。接着,将这些曲线反馈给其他公祖六,还要反馈给测试工程师,以对测试结果进行系统的评估。
活动:制定测试计划
指定测试计划的目的是为了按如下方式规划一次迭代中的测试工作:
- 描述测试策略
- 估计测试工作所需的人力以及系统资源等
- 制定测试工作的进度
用况模型和不成形需求帮助他们决定适当的测试顺序,并评估进行测试所需的工作量。测试设计人员也会用其他制品作为输入,比如设计模型。
测试设计人员为迭代开发一套通用测试策略,及进行何种测试,如何进行测试,合适进行测试,以及如何判断测试工作是否成功。
每个测试用例、测试规程和测试构件的开发、执行和评估都需要花费时间和金钱。系统不可能完全被测试。因此,我们应该识别哪些在提高质量方面有最好的投资汇报的测试用例、测试规程以及测试构件。一般的准则是:所开发的测试用况和测试规程能以最少的重复来测试最重要的用况并对风险性最大的需求进行测试。
活动:设计测试
设计测试的目的是为了:
- 识别并描述每个构造的测试用例
- 识别并构造用于详细说明如何进行测试的测试规程
设计集成测试用例
集成测试用例用于验证构件被组装成构造后相互之间能否正常交互。大多数集成测试用例可由用况实现-设计导出,因为用况实现描述了类和对象如何交互。
测试工程师应设计一套测试用例,以便事半功倍地完成测试计划中的缪包。
当设计测试人员创建集成测试用例时,他们首先考虑把用况实现的交互图作为输入。
设计系统测试用例
系统测试用于测试系统功能整体上是否正确。每个系统测试主要测试在不同条件下的用况组合。测试设计人员在设计系统测试用例时,应对以下用况组合的优先级进行排序:
- 哪些对并行功能需要的用况组合
- 哪些可能被并行执行的用况组合
- 如何并行运行,有可能i相互影响的用况组合
- 包含多进程的用况组合
- 经常性的、并可能以复杂和不可预知的方式小孩系统资源的用况组合。
因此,许多系统测试用例可通过考虑用况、尤其是考虑它们的事件流和特殊需求来发现。
设计回归测试用例
一些从早期的构造中得到的测试用例可用于后续构造的回归测试中,但并非所有的测试用i都适合于回归测试。
识别并构造测试规程
测试设计人员可按测试用例一步步地开展工作,同时提出每个测试用例的测试规程。
活动:实现测试
实现测试的目的是为了尽可能地奖励测试构件以使测试规程自动胡。
用测试规格作为输入来创建测试构件:
- 当使用测试自动胡工具时,要执行或详细说明由测试规程所描述的动作,随后记录这些动作,并阐述出一个测试构件。
- 当明确地编程测试构件时,要把测试规程作为编程工作的主要规格说明
活动:执行集成测试
在该活动中,执行在迭代内创建的每个构造所需要的集成测试,并捕获其测试结果。
集成测试按以下顺序进行:
- 对每一个测试用例通过手工方法执行测试规程或者通过运行任意的测试构件自动执行测试规程,实现与构想相关的集成测试。
- 把测试结果和预期结果相比较,并研究偏离预期结果的测试结果。
- 把缺陷报告给相关的构件工程师,他复杂可能含有该缺陷的构件
- 把缺陷报告给测试设计任意,他们将利用这些缺陷对整个测试工作的结果进行评估。
活动:执行系统测试
系统测试的目的师为了执行在一次爹地啊中需要的系统测试,并捕获其测试结果。
当集成测试表明系统满足当前迭代中所确定的集成质量目标集时,就可以开始进行系统测试。
活动:评估测试
测试评估的目的是为了对一次迭代内的测试工作作出评估。
测试设计任意将测试工作的结果和测试计划勾画的目标进行对比,并对其作出评估。他们准备了一些度量标准,用来确定软件的质量水平,并确定还需要进一步做多少测试工作。
测试工程尤其看重两条度量标准:
- 测试完全性:由测试用例的覆盖率和测试构件的覆盖率导出,用来显示测试用例和代码已执行的百分比。
- 可靠性:基于对已发现缺陷的趋势分析和按照预期结果进行测试的趋势。
测试设计人员在测试评估描述中阐述测试的完整性、可靠性并提出行动建议。
测试小结
测试的主要结果时测试模型,它描述了系统时怎样被测试的。测试模型包括:
- 测试用例,规定了在系统中要测试什么
- 测试规程,规定了怎样执行测试用例
- 测试构件,使测试规程自动化
测试还产生测试计划、对已执行的测试的评估以及可以向其他核心工作流反馈的曲线。