读《软件测试的艺术》——第一章

《软件测试的艺术》作为元老级别的测试理论书籍,在业内非常经典且有口皆碑,书中提出的 软件测试为求错而非求证的观点至今仍在学术界被广泛讨论。本书还为计算机界一个最为重要的主题提供了一个长期、基本的指南:

如何确保所开发的所有软件做了应该做的,同样重要的是, 未做不该做的

40多年前本书最早出版时,有一条著名的经验:

在一个典型的编程项目中,软件测试或系统测试大约占用50%的项目时间和 超过50%的总成本。

事实上,即使在40多年后的今天,同样的经验仍然成立。在任何软件开发项目中,测试依然扮演重要角色。然而,与软件开发的任何其他方面相比,人们对软件测试仍然知之甚少,软件测试从始至终未曾成为热门课题。测试,依然是软件开发中的” 黑色艺术“。
随着软件测试的重要性越来越受到现代软件企业的重视,本书也如同被尘封的宝藏一般被发掘并受到追捧。
尽管市面上的测试书籍琳琅满目,但它们的源泉之一正是本书。本书旨在成为实用且脚踏实地的 手册,其精悍凝练的篇幅可以让人在最短时间内获得关于软件测试的真知灼见。正如一位豆瓣读者所言:

很直白的软件测试书,覆盖面很全面。看过之后,令以前对软件测试一知半解的人顿时对软件测试有了新的、系统性的了解。

作为一个测试领域的小学生、初学者,我会把本书作为一本入门参考书;
而有一定经验的测试工程师更应当将本书作为理论指南,借此机会梳理自己的知识框架;
对开发人员而言,本书可以帮助你在最短时间内建立起一个测试理论框架,从而在编码时保有一些测试思想。同时,在极限编程中,开发者需要编写单元测试用例;
对测试管理者(项目经理)而言,本书内容有助于你根据具体项目情况指定更合理、更有效的测试计划。
总之,测试是个相比开发来讲门槛不算太高的职业(当然要做到精深绝非易事)。

40年来,软件测试变得比以前 容易得多,也 困难得多。
之所以变得更困难,是由于大量编程语言、操作系统以及硬件平台的涌现。今天”计算机”这个概念也变得越来越广泛和越来越难被准确定义。
之所以变得更容易,是由于大量软件和操作系统内部已提供了充分测试过的例程以供应用程序集成,无需从头设计(造轮子)。

软件测试,是一个过程或一系列过程,用以确认计算机代码完成了其应该完成的功能,且不执行其不该有的操作。软件应当是可预测且稳定的,不会给用户带来意外惊奇。

例题-设计一组测试用例

这个程序从一个输入对话框中读取三个整数值,这三个整数值代表了三角形三条边的长度。程序显示提示信息,指出该三角形是何种三角形:不规则三角形、等腰三角形还是等边三角形。

设计好用例集后,请用你设计的用例集回答如下问题,对每个回答”是”的问题,得1分:

事实上,即使测试用例集满足上述所有条件,也不能确保查找出程序所有可能的错误。(本书后续还会提到测试用例的设计方法,读者可以在阅读完第4章后重新回顾本题,相信你可以设计出更完备的用例集)根据数据统计,高水平的专业程序员在本题的平均得分仅为7.8/14。
但通过对本书的学习,相信你可以认识到充分测试是完全可以实现的一项工作。

Original: https://www.cnblogs.com/a-tester/p/16009238.html
Author: ATester
Title: 读《软件测试的艺术》——第一章

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/607215/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • gem 更换源及目前能用的源

    1.查看gem源 gem source -l 2.删除源 gem source -r 3.添加源 gem sources –add Original: https://…

    Linux 2023年6月8日
    0103
  • 如何分析redis中的慢查询

    慢查询只记录命令执行时间,并不包括命令排队和网络传输时间。因此客户端执行命令的时间会大于命令实际执行时间。因为命令执行排队机制,慢查询会导致其他命令级联阻塞,因此当客户端出现请求超…

    Linux 2023年5月28日
    085
  • [SDR] GNU Radio 系列教程(一) —— 什么是 GNU Radio

    1、GNU Radio 是什么 2、我为什么要用 GNU Radio 3、数字信号处理 3.1 一点信号理论 3.2 将数字信号处理应用于无线电传输 4、基于流程图的模块化数字信号…

    Linux 2023年6月8日
    0130
  • Shell脚本之while read line的用法

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Linux 2023年6月7日
    090
  • 如何写出有效的单元测试

    测试不要名不副实避免测试的描述与测试内容不符;测试结果必须精准;测试该失败的时候一定要失败! 测试私有或者受保护的方法解决思路: 将方法变成公共方法; 将方法抽取到新类; 将方法变…

    Linux 2023年6月8日
    091
  • 003Linux查看文件内容的5个命令姿势

    Linux 中查看文件内容常用的有如下 5 个命令: cat cat 命令常用格式示例: cat [文件名] # 输出文件所有内容到屏幕上。 cat [文件1] [文件2] # 输…

    Linux 2023年5月27日
    088
  • shell笔记

    shell脚本学习笔记 1.Shell入门简介 Shell是操作系统的最外层, Shell可以合并编程语言以控制进程和文件,以及启动和控制其它程序。shell通过提示您输入,向操作…

    Linux 2023年6月7日
    060
  • rsync

    rsync简介 rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。 rsy…

    Linux 2023年6月6日
    079
  • redis配置systemctl

    [Unit]Description=redisAfter=network.target [Service]Type=forkingPIDFile=/var/run/redis_63…

    Linux 2023年5月28日
    096
  • 【MQTT】使用MQTT.fx上报温度到腾讯云

    打开 腾讯云官网, 注册并登录. 2.登录之后点击右上角的控制台点进去 3.在搜索框[物联网通信],点击进入 4.点击创建新产品 5.选择普通产品,名称随便,选择密钥认证,选择js…

    Linux 2023年6月13日
    084
  • 零成本搭建个人博客搭建篇

    为什么要搭建个人博客 尽管已经有很多成型的在线博客平台供大家使用(csdn,博客园,掘金等),但是它们都有一些很明显的弊端,例如账号以及博客内容受到监管,所有权不属于作者本人,对于…

    Linux 2023年6月7日
    054
  • SUPERVISOR监控tomcat配置文件

    下方为Supervisor管理tomcat的配置,多注意红色位置路径修改: [program:tomcat] ; 管理的子程序名字,要和项目有关联,不能乱写 command=/us…

    Linux 2023年6月6日
    082
  • 对比nushell和powershell

    2021-07-17 第一版 有些对比领域缺失,这篇文章会持续更新。 这是一篇对比powershell和nushell的文章。我是powerhsell专家,又是nushell新手,…

    Linux 2023年6月14日
    096
  • BKT的胡测题解:第一套第三题base

    博客园 :当前访问的博文已被密码保护 请输入阅读密码: Original: https://www.cnblogs.com/Grharris/p/11550809.htmlAuth…

    Linux 2023年6月6日
    084
  • ABCD四个顺序执行方法,拓展性延申

    今天在群里,有人问 有几个void返回值&amp…

    Linux 2023年6月7日
    0114
  • 面试题汇总

    JAVA 基础 1.java 性能优化 ①尽量指定类、方法的final 修饰符 ②尽量重用对象 ③尽可能使用局部变量 ④及时关闭流 ⑤尽量减少对变量的重复计算 ⑥尽量采用懒加载的策…

    Linux 2023年6月7日
    082
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球