第13章
评估质量:执行测试用例
13.1 一个测试执行的过程
测试执行的过程:
步骤序号 | 步骤内容 | 完成? |
1. | 根据风险的优先级,项目的限制和任何其他恰当的考虑,选择应该在本次测试周期中运行的测试套件(从测试集中选取) |
|
2. | 把每个测试套件中的测试用例分派给测试人员执行测试用例。 |
|
3. | 不断的执行这些测试用例,报告错误并捕获关于测试的信息,对于每个后续的测试,将以前的测试结果考虑进来。 |
|
3.A | 将待测试的系统和测试系统设置到其初始状态。如果这些初始的状态在多次测试或这个测试的多次重复中试有用的,就保存这些初始的状态以备今后使用。 |
|
3.B | 通过输入数据和其他刺激,将待测试系统激发到一种希望的测试状态中。 |
|
3.C | 观察和评估得到的结果性的输出,行为和状态。对于任何偏离预期结果的偏差进行研究。 |
|
3.D. | 如果合适的话报告在测试系统中发现的问题。 |
|
3.E | 如果合适的话报告或解决在测试系统中出现的问题。 |
|
3.F | 捕获和报告刚才执行的测试的信息。 |
|
4. | 当出现阻塞问题时,解决这些问题。 |
|
5. | 每天报告测试的状态,调整任务的分派,并考虑计划和优先级。 |
|
6. | 如果合适的话,按照优先级的反向次序,删除不可能实现或冗余的测试(先删除优先级最低的测试,最后才轮到优先级最高的测试)。 |
|
7. | 周期性地报告测试周期的发现和状态。 |
|
8. | 检查所有的状态文档,初始状态,更新测试用例或其他测试系统的元素,或其他存储在项目的资料库或配置管理系统中的有用的永久性记录。将这些东西置于变更控制之中。 |
|
A Test Execution Process
Step # | Step | Done? |
1. | Based on risk prioritization, project constraints, and any other pertinent considerations, select the test suites (from the test set) that should be run in this test cycle. | ¨ |
2. | Assign the test cases in each test suite to testers for execution. | ¨ |
3. | Execute the test cases, report bugs, and capture information about the tests continuously, taking into account previous test results for each subsequent test. | ¨ |
3.A | Put the system under test and the test system into appropriate initial states. If this initial state is useful across multiple tests or multiple iterations of this test, save the initial states for subsequent re-use. | ¨ |
3.B | Through data inputs and other stimulus, provoke the system under test into a desired test condition. | ¨ |
3.C | Observe and evaluate the resulting outputs, behaviors, and states. Research any deviations from expected results. | ¨ |
3.D | If appropriate, report problems in the system under test. | ¨ |
3.E | If appropriate, report and/or resolve problems in the test system. | ¨ |
3.F | Capture and report information about the test just executed. | ¨ |
4. | Resolve blocking issues as they arise. | ¨ |
5. | Report status, adjust assignments, and reconsider plans and priorities daily. | ¨ |
6. | If appropriate, eliminate unrealizable or redundant tests in reverse-priority order (drop lowest priority tests first, highest priority tests last). | ¨ |
7. | Periodically report test cycle findings and status. | ¨ |
8. | Check any status documents, initial states, updated testware or other test system elements, or other useful permanent records produced into the project library or configuration management system. Place the item(s) under change control. | ¨ |
测试集(test set)
在当前的测试阶段(或级别),测试小组计划要运行的所有的测试套件。
13.2 测试跟踪工作表
13.3 测试大构建
13.4 认识一个好的测试执行过程
13.4.1 首先查找严重的问题
13.4.2 制作,收集和传播有价值的信息
13.4.3 正确地解释测试结果
13.4.4 表现出正确的态度
l 如果有疑问,测试人员假定观察到的行为是不正确的,直到他们由其他方法证明了其正确性;
l 如果联机帮助,用户指南或任何其他的文档指出的正确行为与观察到的行为不符,测试人员应该将这些情况作为错误报告。
l 测试人员总是报告任何导致灾难性行为的事件,不管它们是如何的偶然或不可重复。这样的行为包括在待测试的系统,主机系统,任何共居的软件或者任何的接口或通信系统中的任何数据的丢失,系统崩溃,冻结或挂起,或者任何其他的可靠性,数据质量,或严重的性能下降问题。
l 最后,测试人员报告所有情景,其中待测试的系统不符合程序的行为或质量的合理期待值,或者是其他的混乱,误导或含糊不清。
13.4.5 高效地取得进展
13.5 处理挑战
13.5.1 处理扩展的轮班和外包的测试
13.5.2 处理好假日,文化节和假期
13.5.3 获取历史性知识
13.6 实现改进
l 评估目前的进度
l 确保对于想要的测试的内容和执行这些测试需要花去多长的时间有一些了解。
l 跟踪测试用例
l 使用在跟踪测试用例中收集的工作量数据,以及关于在测试阶段的不同点发现的错误的预测,预测处理这些错误需要分配的时间的总量。
l 使用在跟踪测试用例中收集的工作量数据,以及关于在测试阶段的不同点发现的错误的预测,预测处理这些错误需要分配的时间的总量。
l 解决内部通信和信息收集的需要。