软件测试定义
使用人工或自动的手段来运行或测量软件系统的过程,以检测软件系统是否满足规定的要求,并找出与预期定义之间的差异。(IEEE)
软测对象
软件需求,概要设计,详细设计,源代码,可运行程序,可运行环境。
软测的五大要素及两大目标
要素
- 质量(最为核心)
- 人员(决定因素)
- 技术(实现手段)【测试技术,方法,测试工具】
- 资源【测试所需的硬件,网络环境,测试生命周期,测试时间】
- 流程(测试标准)【测试计划,测试执行,报告】
目标
- 提升测试覆盖率
- 测试效率
软件测试的遵循原则:
- 测试是为了发现错误而不是证明没错误
- 穷尽测试是不可能的,应设定终止条件(无穷无尽的测试是不可能的,需很大代价;无论怎样测试,我们不可能发现软件的所有缺陷)
- 测试尽早进行
- 缺陷具有群集性(发现好多缺陷的模块,说明该模块存在没有被发现的缺陷)
- 测试的杀虫剂悖论(应对测试用例,测试方法不定期的评审,添加新的测试用例或测试方法发现新的缺陷)
- 测试的二八原则(80%的时间测试20%的重要模块)
- 测试活动依赖于测试背景(如电信这块主要性能测试,银行等注重安全保障的行业所用的软件主要安全测试)