第三章:软件测试的实质笔记

#第一讲:软件测试的原则

##3.1 测试的原则

###3.1.1 完全测试程序是不可能的
找出所有的软件缺陷,确保软件完美无缺是不可能的。原因是:

  1. 输入量太大
  2. 输出结果太多
  3. 软件执行路径太多
  4. 软件说明书是主观的,可以说从旁观者的角度来看是缺陷

以windows计算器为例说明完全测试的不可能性

3.1.2软件测试是有风险的行为

  1. 如果选择了不测试所有的情况(一般来说是肯定的),也就是选择了冒险。因为总可能有些缺陷隐藏在哪怕是最平凡的或者最不可能的地方。
  2. 软件测试员不可能做全部测试,只能做不完全测试,而不完全测试就可能漏过缺陷。
  3. 测试一旦停止,缺陷就无法修复了,产品迟早要发布的,有缺陷的产品进入市场就蕴含着冒险。
  4. 测试停止得越早,没有测试的部分就越多,而含有缺陷的可能性就越大。
  5. 反之,测试做得越多,成本就越高,产品发布的日期就可能越晚。
  6. 软件测试员必须学会的一个基本思想(技巧)是:如何将数量巨大的可能测试减少范围,以及如何针对风险作出明智的抉择:哪些测试重要(必须做),哪些测试不重要(可有可无)

3-2图说明测试量和发现的软件缺陷数量之间的关系:

** 1. 如果试图测试所有的情况,则费用会大幅度增加,而且缺陷漏掉的数量在达到某一点之后没有显著变化;**
** 2. 如果减少测试或者错误地确定测试对象,虽然费用很低,但是会漏掉大量的软件缺陷;**
3. 理想的目标是找到最优的测试量,使测试不多也不少

3.1.3 测试无法显示潜在的软件缺陷

  • 软件测试员必须牢记:软件测试工作只能报告软件缺陷的存在,不能报告软件缺陷不存在
  • 测试员唯一能做的工作是做测试,发现并报告软件缺陷,但是在任何情况下都不能保证软件缺陷不存在了
  • 继续测试,可能还会找到一些缺陷。但是测试不可能永远进行下去,总有结束的时候。
    ###3.1.4 找到软件缺陷越多,说明软件缺陷越多
    软件缺陷往往可能会成群出现
    通常软件测试员可能在很长时间内找不到软件缺陷,但是找到一个之后,很快就会接二连三找到更多。
  • 程序员也有心情不好的时候,通常在状态不好时,代码中会出现更多缺陷,因此,一个缺陷往往意味着附件还有更多的软件缺陷;
  • 程序员往往犯同样错误;
  • 某些软件缺陷实际上是冰山一角:软件的设计或者体系可能出现基本问题,可能很多缺陷是来自同一个严重的原因。

3.1.5 杀虫剂怪事

  • 1990年,Boris Beizer在<>
    提出,描述软件测试越多,软件缺陷对于测试的免疫能力也越强的现象
  • 特别是在螺旋模式中,每一圈都要重复测试过程,每一次循环,测试员都要接到软件进行测试,最后,经过几个回合,能发现的软件缺陷都已经发现了,再测试下去,也不会有新的发现
  • 为了克服杀虫剂怪事,软件测试员必须不断编写不同的、新的测试软件的不同部分进行测试,才能找出更多的软件缺陷
    ###3.1.6 并非所有的软件都需要修复
  • 虽然测试员尽了最大努力,找出了软件缺陷,但是并不是被找出来的软件缺陷都要修复的
  • 不需要修复软件缺陷的原因: 1.没有足够的时间; 2.不算真正地软件缺陷;3.修复的风险太大; 4.不值得修复
  • **决策过程通常由软件测试员、程序员和项目经理共同参与,**他们站在各自的立场看待软件缺陷,对软件缺陷是否应该(或者不应该)修复都有自己的观点和看法
    ###3.1.7 什么时候才叫做缺陷难以说清
  • 如果软件中存在问题,但是没有人发现——程序员没有发现,测试员没有发现,甚至客户也没有发现,那它还算不算软件缺陷?
  • 这个问题没有标准的答案,答案因各个开发小组决定的最适合自己的而千差万别
  • 回顾软件缺陷的5条定义规则,有助于澄清这个问题
  • 注意:尚未发现或者未观察到的缺陷只能说是潜在缺陷
    ###3.1.8 产品说明书从来没有最终版本
  • 现实中,产品说明书可能是经常变化的
  • 软件测试员必须想到软件说明书可能改变,未曾计划测试的功能可能增加,经过测试的报告软件缺陷的功能可能发生变化甚至被删除。

3.1.9软件测试员在产品小组中不受欢迎

  • 软件测试的目标是尽可能早地找出软件缺陷,确保其得以修复。
  • 因此,软件测试员的工作是检查和批评同事的工作,挑毛病、公布发现的问题。这注定是不会受到普遍欢迎的
  • 保持小组成员和睦的建议:1.早点找出缺陷;2.控制情绪;3.不要总是报告怀消息

#第一讲:软件测试的术语和定义

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值