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

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

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

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/685381/

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

(0)

大家都在看

  • Spring中获取bean的三种方式

    获取bean的三种方式: 1)根据bean的id获取 2)根据bean的类型获取(最常用) 注意: 根据类型获取bean时, 要求IOC容器中有且只有一个类型匹配的bean 若没有…

    技术杂谈 2023年7月11日
    083
  • 人工智能(AI)库TensorFlow 踩坑日记之二

    这个库里面主要是一些常用的模型用tensorflow实现之后的代码。其中我用的是 models/tree/master/tutorials/image/cifar10 这个示例,上…

    技术杂谈 2023年6月21日
    098
  • 对象存储

    注意事项:如果文件类型是图片,则使用MultipartFile类的对象,如MultipartFile file(比较推荐) 适用于流式文件传输,在上传图片,音/视频,文档等,都可采…

    技术杂谈 2023年6月21日
    0115
  • 部署-docker安装gitlab

    gitlab简单介绍 gitlab是一个私有的源代码管理系统,提供了web界面给用户进行访问和操作。gitlab存储的仓库是服务端的,需要跟本地的仓库进行配合使用,而本地的仓库管理…

    技术杂谈 2023年7月23日
    080
  • php实现查询上传文件进度

    参考:http://www.ultramegatech.com/2010/10/create-an-upload-progress-bar-with-php-and-jquery/…

    技术杂谈 2023年6月1日
    0124
  • 使用CRD扩展Kubernetes API

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

    技术杂谈 2023年7月25日
    075
  • java多线程回顾4:线程通信

    1 、线程的协调运行 线程的协调运行有一个经典案例,即生产者和消费者问题。 假设有一个货架,生产者往货架上放货物,消费者从货架上取货物。 为了方便讲解,制定一个规则,生产者每放上一…

    技术杂谈 2023年7月11日
    0107
  • html大文件传输总结

    ​ 上周遇到这样一个问题,客户上传高清视频(1G以上)的时候上传失败。 一开始以为是session过期或者文件大小受系统限制,导致的错误。 查看了系统的配置文件没有看到文件大小限制…

    技术杂谈 2023年5月30日
    0111
  • Beyond Compare如何同时比较三文件

    首先需要明确一点,文本比较和文本合并的相同点和不同点,不同点从字面意思就可以明白,文本比较无法进行文本合并任务,但是反过来就是相同点,文本合并可以执行文本比较操作,在理解这一点之后…

    技术杂谈 2023年5月30日
    0137
  • springboot mybatis plus多数据源轻松搞定(下)

    在 springboot mybatis plus多数据源轻松搞定 (上) 中我们使用了分包的方式实现了一个springboot项目中多个数据源的调用。也对指出了最大的缺点就是不能…

    技术杂谈 2023年7月11日
    087
  • JAXB java类与xml互转

    JAXB(Java Architecture for XML Binding) 是一个业界的标准,是一项可以根据XML Schema产生Java类的技术。该过程中,JAXB也提供了…

    技术杂谈 2023年7月11日
    089
  • CGContext图形上下文详解

    CGContextSaveGState函数的作用是将当前图形状态推入堆栈。之后,您对图形状态所做的修改会影响随后的描画操作,但不影响存储在堆栈中的拷贝。在修改完成后,您可以通过CG…

    技术杂谈 2023年5月30日
    0104
  • 《西方经济学(微观部分)》(第7版)概念梳理

    一、需求、供给和均衡价格 蛛网模型 概念:运用弹性原理解释某些生产周期较长的商品在失去均衡时发生的不同波动情况的一种动态均衡分析理论。 非均衡时的波动情况 => 供、需弹性不…

    技术杂谈 2023年5月31日
    0104
  • ElasticSearch(三)SpringBoot 整合ES

    ElasticSearch(三)SpringBoot 整合ES 使用Java API 这种方式,官方已经明确表示在ES 7.0 版本中弃用 TransportClient 客户端,…

    技术杂谈 2023年7月10日
    0102
  • X-Y问题

    什么是X-Y问题 X-Y问题就是有人想解决问题X,他觉得Y可能是解决X的方法但不知道Y怎么做;在我们的工作中,需求方给出的来的是Y,而软件工程师不知道需要解决的X是什么。 我理解的…

    技术杂谈 2023年7月25日
    085
  • 简单明了的设计模式-立意篇

    1.岁月的沉淀 我们为什么要学设计模式? 如果是在我刚成为程序员的时候,我大概会这么回答: 因为设计模式是前人经验的总结,可以用来解决特定环境下,重复出现的特定问题。 同时也是程序…

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