一、软件测试定义
软件测试的定义有很多;
1)从正反思维逻辑上解释
正面:软件测试就是发现软件产品中的bug(缺陷)
反面:软件测试就是验证软件产品特性是否满足用户的需求
可以定义为:
软件测试就是一系列活动,这些活动就是为了评估一个程序或者软件系统的特性或能力,并且确定其是否达到了预期结果!
2)广义和狭义
狭义的软件测试–动态测试—运行程序而进行的测试 测试只是编程之后的阶段;即传统的瀑布型测试模型决定的
广义的软件测试-动态测试+静态测试;将需求评审、设计评审、代码评审等纳入软件测试工作之中;
3)基础软件质量的认知
缺陷就是软件质量的对立面,一切违背软件质量的问题都可以看做是软件的缺陷
引申的软件质量标注:
八个方面:
功能适应性 效率 兼容 易用性 可靠性 安全性 可维护性 可移植性
4)基于风险的认知
软件测试就是对产品质量的持续评估
5)基础社会实践的认知
即在测试中要理解用户的行为、人们活动的背景和目的,不断的观察,不断的分析,发现和质量相关的信息,从客户的利益出发、业务特性出发守护产品的质量
6)基于标准的认知
验证和有效性确认
7)基于Test Oracle 的认真
测试=检测+试验
8)基础批判性思维
软件测试就是借助观察、经验、反思、推理或沟通等收集信息,并对软件产品的相关质量信息进行分析,以此评估软件质量,并作出结论
9)基础传统开发模式的认知
单元测试—接口集成测试—系统测试–业务层次的验收测试
即双V 测试模型
10)基于敏捷开发测试的认知
随时随地,任何时候任何实际都可以测试;
二、软件测试的作用
1、产品的持续评估
2、持续的质量反馈
3、客户满意度的提升
4、缺陷预防