软件的定义
一系列按照特定顺序组织的计算机数据和指令的集合。
《 数据 + 指令 + 文档 = 软件》
测试模型
v模型
w模型
软件测试的流程
软件测试的定义
通过手动或自动化的方式来验证软件的实际结果与用户需求是否一致的过程
软件测试的原则:
1. 测试显示软件存在缺陷
测试只能证明软件存在缺陷,但不能证明软件不存在缺陷。软件测试是为了降低存在缺陷的可能性,找不到问题,也不能证明软件是没有问题的
2 .穷尽测试是不可能的
现在软件的规模越来越大,复杂度越来越高,想做到完全性的测试是不可能的。在测试阶段,测试人员可以根据风险和优先级来进行集中和测试,从而保证软件的质量。
3. 测试尽早介入
简单的说就是保证软件质量,降低风险和成本。测试人员一般在需求阶段就开始介入,使缺陷在需求或设计阶段就被发现,缺陷发现越早,修复的成本就越小。
4.缺陷集群性
缺陷集群性表明小部分模块包含大部分的缺陷。软件测试中存在Pareto原则:80%的缺陷发现在20%的模块中。
一个功能模块发现的缺陷越高,那存在的未被发现的缺陷也越高,故发现的缺陷与未发现的缺陷成正比。
5.杀虫剂悖论
反复使用相同方式进行测试,找出的问题会越来越少,直到找不出问题,为了解决这个问题,测试人员不能一直使用于现有的测试技术,而要不断的学习提升测试方法以提高测试效率。
6.测试活动依赖于测试内容
根据业务的不同,软件测试内部也分为不同的行业,比如游戏行业、电商行业、金融行业,不同的行业 用不的方法和技术进行测试
7.没有错误是好是谬论
有可能99%没有bug的软件也是不能使用的。如果对错误的需求进行了彻底的测试,这种情况就发生了。软件测试不仅是找出缺陷,同时也需要确认软件是否满足需求。如果开发出来的产品不满足用户的需求,即便找到和修复了缺陷也作用不大。
软件测试的分类