三、测试什么(What)?
首先,测试最重要的。专注于核心功能—关键或者流行的部分,专注于比较常用的用户应用场景。例如,如果应用程序检索数据和性能是重要的,首先专注于测试通常负载情况下的合理查询,这个优先级要比测试负载高峰期要高。值得再强调一次:专注于最重要的。好的业务需求会告诉你什么是重要的。 软件测试的价值是它远远超出测试程序的基本代码,它还审查应用程序的功能行为。行为是代码的功能,但它并不总是遵循“行为是‘坏’的-〉代码是‘坏’的”这个规则。完全有可能的是,代码是牢靠的,但需求是不明确或由于沟通不充分导致信息不完全。应用程序正在做我们告诉它做的事情,但我们并没有告诉它做正确的事情。
一项全面的测试制度检查应用程序相关的所有部件。甚至,测试提供了一个机会来验证和核实某种假设情况被加入需求时系统能否正确的运行以及相对应的手册和文档。更可能的是,除非您的组织有真正的“软件工程”(想想洛克希德·马丁,IBM公司,或SAS研究所),工作的重点将会是应用程序本身的功能和可靠性。 测试可以涉及部分或全部的下列因素,越多,越好。
? 业务需求
? 功能设计要求
? 技术设计要求
? 监管要求
? 编程代码
? 系统管理的标准和限制
? 企业标准
? 专业或行业协会的非常好的做法
? 硬件配置
? 文化问题和语言差异