按照软件测试生命周期概念,很显然,系统测试中最为关注的问题无非是系统测试过程定义、系统测试需求获取、系统测试策略选择、系统测试技术与方法、系统测试环境建立以及系统测试人员组织等。下面就这些关注的问题进行分别论述。
1. 系统测试过程
系统测试过程与第5章叙述的测试过程是一致的,包括制定系统测试计划、设计测试系统、实施系统测试、执行系统测试和评估系统测试5个阶段。每个阶段的内容如表1所示。
表1 系统测试各阶段的任务
活 动 名 称 | 输 入 工 作 | 输 出 工 作 | 角 色 |
制定系统测试计划 | 软件需求工作,软件项目计划 | 系统测试计划 | 测试设计员 |
设计系统测试 | 系统测试计划,软件需求工作 | 系统测试用例系统测试过程 | 测试设计员 |
实施系统测试 | 系统测试计划,工作版本 | 系统测试脚本 | 测试设计员 |
执行系统测试 | 系统测试计划,系统测试用例系统测试过程,系统测试脚本 | 测试结果 | 测试员 |
评估系统测试 | 测试结果 |
2. 系统测试需求获取
系统测试需求所确定的是测试的内容,即测试的具体对象。系统测试需求主要来源于需求规格说明书或系统测试项目合同等。在进行系统测试需求分析时,可应用以下几条规则:
● 测试需求必须是可观测、可测评的行为。对于不能观测或测评的测试需求,无法对其进行评估,可以确定需求是否已经满足。
● 在每个用例或系统的补充需求与测试需求之间不存在一对一的关系。用例通常具有多个测试需求;有些补充需求将派生一个或多个测试需求,而其他补充需求(如市场需求或包装需求)将不派生任何测试需求。
● 在需求规格说明书中每一个功能描述将派生一个或多个测试需求,性能描述、安全性描述等也将派生出一个或多个测试需求。
● 在系统测试需求中,以传统测试类型中的功能性测试需求和性能测试需求最为重要,是整个系统测试需求中的核心。
1)功能性测试需求
功能性测试需求来自于测试对象的功能性说明。每个用例至少会派生一个测试需求。对于每个用例事件流,测试需求的详细列表至少会包括一个测试需求。对于需求规格说明书中的功能描述,将至少派生一个测试需求。
2)性能测试需求
性能测试需求来自于测试对象的指定性能行为。性能通常被描述为响应时间和资源使用率的某种评测。性能需要在各种条件下进行评测,这些条件包括:
● 不同的工作量和/或系统条件。
● 不同的用例和功能。
● 不同的配置。