作者:郑文强
时间:2019年7月15日
软件测试是评估软件产品质量和降低软件在运行过程中出现失效风险的一种手段。根据ISTQB软件测试专业术语对照表中对“测试”的定义:包括了所有生命周期活动的过程,包括静态测试和动态测试。涉及到计划、准备和对软件及其相关工作产品的评估,以发现缺陷来判定软件或软件的工作产品是否满足特定需求,证明它们是否符合目标。我将从下面几个方面谈谈我对软件测试的理解:
1、贯穿全生命周期的测试过程
2、输出的工作产品都是测试对象
3、测试除了验证VER还有确认VAR
4、测试不仅仅是发现缺陷
1、贯穿全生命周期的测试过程
对软件测试的常见误解是:它只包含了测试的运行或执行以评估被测对象,即我们通常讲的动态测试。但是,实践过程中我们除了需要考虑动态测试,还应该包括不涉及运行被测对象的过程,即静态测试,例如:评审需求文档。因此,软件测试应该是贯穿于整个软件开发生命周期的过程,即包括静态测试和动态测试。从更详细的角度分析,测试过程有多个测试阶段组成,例如:测试计划与监控、测试分析、测试设计、测试实施、测试执行、测试结束活动等。
随着对软件产品质量和测试要求的不断提高,测试的不断左移和尽早介入也变得越来越重要,同时更加强调测试与开发的并行,这些要求都需要通过在测试过程中定义合适的测试阶段和测试活动来得到满足,通过过程质量来保证输出产品的质量。
2、输出的工作产品都是测试对象
由于强调的是全生命周期的测试,因此测试的对象也不仅仅是代码,或者有代码组成的系统,其测试对象也延伸到了整个软件开发生命周期。假如以典型的V模型为例,左边的开发活动会输出各种软件工作产品ÿ