软件测试基础
关键字
覆盖(coverage)
调试(debugging)
缺陷(defect)
错误(error)
失效(failure)
质量(quality)
质量保障(quality assurance)
根本原因(root cause)
测试分析(test analysis)
测试依据(test basis)
测试用例(test case)
测试结束(test design)
测试条件(test condition)
什么是测试
软件系统是生活中不可或缺的一部分,包括从商业应用(比如银行系统)到消费产品(比如汽车)的各个领域。然而,很多人都有过这样的经历:软件并没有按照预期进行工作。不能正常工作的软件会导致许多问题,包括资金,时间和商业声誉的损失,甚至是伤害或死亡。软件测试时评估软件质量和降低软件运行中出现失效风险的一种方法。
对测试的常见误解是,它只包含了运行测试,即执行软件和检查结果。软件测试是包含了许多不同活动的过程;测试执行(包括检查结果)只是这些活动之一。测试过程还包括诸如测试计划,测试分析,测试设计,测试实施,报告测试进度和结果,以及评估测试对象的质量等活动。
有些测试确实涉及到被测试组件或系统的执行,这种测试称为动态测试。不涉及运行被测组件或系统的测试,称为静态测试。所以,测试还包括评审工作产品,例如需求,用户故事和源代码。
另一个关于测试的常见误解是,它完全关注于需求,用户故事或其他规格说明的验证。虽然测试确实涉及检查系统是否满足指定的需求,但是它也包含确认,即检查系统在其运行的环境中是否满足用户和其他利益相关方的需求。
测试活动在不同的生存周期中的组织和实施是不同的。