目前在读《软件测试的艺术》,打算边阅读边总结,期望可以尽可能保留书本精华又尽可能精简,使大家可以不用花太多时间阅读图书原文,又可以收获尽可能多的内容!
前言和引言:
本书从1979年出版至今,已有将近30年时间,它目前仍是软件测试领域推荐的经典书籍,原因在哪里呢?可能就像前言所说,本书围绕的基本思想是:“如何确保所开发的软件做了其应该做的,且同等重要,未做其未该做的”。所以,在80年代和90年代,计算机软硬件飞速发展,但软件测试的这一基本原则没有改变,该书第二版经过改进,保留这一基本思想,且实例更贴合现代的技术。
其实软件测试并不陌生,据我所知,许多计算机专业的学生,因为没有学好编程而选择加入门槛低的测试领域。另外,也有一些人,因为行业薪资问题选择跳槽进入测试。事实上,这两种方式还真可行。因此,现在做测试的多,但是测试的从业者却并不一定真的了解测试。这也是为什么很多人选择重读经典,重塑测试技能和经验。我选择阅读本书也是类似的原因。
以下定义可能会给你带来一点启发,主要是有关测试心理学的问题:
1、测试执行得差,一个主要原因是把“测试”这个术语的定义搞错了,他们可能会认为:“测试目的是证明程序能够正确完成其预定功能”。但是实际上,更合适的定义是:“测试是为发现错误而执行程序的过程”。
2、同样,多数项目经理在归纳测试用例的结果时,会把没发现错误的用例称为“成功的测试”,把发现了错误的用例称为“不成功的测试”。实际上,如果在测试某段程序时发现了错误,而且这些错误是可以修复的,用例即是成功的,或者通过本次测试可确定再无其他可查出的错误,同样用例也是成功的。而一个不成功的测试用例,会使程序输出正确的结果,但不能发现任何错误。
这不是文字游戏,因为人类行为具有高度目标性,确定一个正确的目标有着重要的心理学影响,潜意识你会倾向于实现这个目标,这也暗示了软件测试是一个破坏性的过程,努力发现不完美,促进软件质量的改进,而非一开始就只想证明软件很完美。
后面继续与大家分享正文,请期待!

软件测试的艺术-读书笔记-0相关推荐

  1. 软件测试的艺术 读书笔记完整版

    第 1 章 一次自评价测试 定义: 所谓软件测试,就是一个过程或一系列过程,用来确认计算机代码完成了其应该完成的功能,不执行其不该有的操作. 一个三角形类别判定程序的测试用例的评判(评判测试用例的设计 ...

  2. 并发编程的艺术 读书笔记

    第一章 并发编程的挑战 1. 单核CPU分配运行时间给各个线程,实现多线程执行代码. 举例:看英文书时某个单词不会,先记住看到书的页数和行数,然后去查单词,查完回到看书状态,相当于上下文切换. 2. ...

  3. Java并发编程艺术----读书笔记(二)

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/a724888/article/details/64214595  java并发编程艺术2 jav ...

  4. JavaScript DOM编程艺术 - 读书笔记1-3章

    1.JavaScript语法 准备工作 一个普通的文本编辑器,一个Web浏览器. JavaScript代码必须通过Html文档才能执行,第一种方式是将JavaScript代码放到文档<head& ...

  5. Java并发编程艺术读书笔记

    1.多线程在CPU切换过程中,由于需要保存线程之前状态和加载新线程状态,成为上下文切换,上下文切换会造成消耗系统内存.所以,可合理控制线程数量. 如何控制: (1)使用ps -ef|grep appn ...

  6. Java 并发编程艺术 读书笔记

    第 1 章 并发编程的挑战 1.1.3 如何减少上下文切换 减少上下文切换的方法有无锁并发编程.CAS 算法.使用最少线程和使用协程. 无锁并发编程.多线程竞争锁时,会引起上下文切换,所以多线程处理数 ...

  7. JAVA并发编程的艺术-读书笔记

    1.并发编程的挑战 多线程并不一定能带来性能提升,相反过多的线程导致线程创建和上下文切换有时会比单线程性能更低 无锁并发编程:根据数据id进行取模,不同的线程处理不同段的数据 死锁:资源互相等待,线程 ...

  8. 单元测试的艺术--读书笔记

    这本书教你为什么要关注可测试性, 如何编写可测试的代码, 以及如何推动测试落地. 书中的代码是.NET的, 不太习惯, 后文中我改成用Golang进行举例. 第一部分 入门 第一部分是入门章节, 告诉 ...

  9. 《鸟哥Linux私房菜》读书笔记0\1\2\3\4章

    文章目录 一.计算机硬件和Linux的诞生(对应第0.1章): 二.磁盘(对应第2章): 1.MBR--Master Boot Record(过时) 2.GPT--GUID partition tab ...

  10. 《软件测试》黑皮书读书笔记分享

    软件测试 软件测试员的目标时尽可能早地找到软件权限,并且确保其得到修复. 软件的开发过程 客户需求 产品说明书 进度表 软件设计文档 测试文档(测试计划.测试用例.缺陷报告.测试工具和自动测试.度量统 ...

最新文章

  1. 32M内存 跑linux内核,32位Linux单进程4G内存限制
  2. 业务总结001:优惠券与礼包活动
  3. 在阿里云的ubuntu上部署个人服务
  4. 提高国内访问GitHub速度的9种方案~
  5. leetcode15 三数之和
  6. ASP.Net中实现上传过程中将文本文件转换成PDF的方法
  7. python一次性输入多个数_python如何一次性输入多个数
  8. Mysql Workbench中EER Diagram逆向生成表
  9. 嵌入式系统——曼彻斯特编码
  10. 二叉树数组求前中后序遍历
  11. 热血传说复古传奇老显示服务器维护,《复古传奇之热血传说》新系列地图,新的装备即将出现...
  12. 一个免费、大小仅几MB但超好用的卸载工具——Geek Uninstaller
  13. 第一代计算机硬件逻辑主要采用,第一代计算机的硬件逻辑主要采用电子管,程序设计语言采用BASIC语言...
  14. 零基础的学习者应该怎么开始学习呢?Python核心知识学习思维分享
  15. BTTCOJ 问题 C: 逃离机场 广度优先搜索
  16. 【废墟】知我者谓我心忧,不知我者谓我何求~
  17. 使用百度ai识别身份证信息
  18. python在哪里学比较好,python从哪里学起
  19. 3P(PS、PR、PDF编辑器Acrobat)中的基基本操作(一)
  20. 打破数据量瓶颈 数据堂推出超大规模英语发音词典

热门文章

  1. 二.微信小程序代码的构成
  2. 优矿量化如何完成Alpha对冲模型测试?
  3. 安卓密码解锁流程简析
  4. python高阶知识之——列表推导式(63)
  5. angular中的变更检测机制
  6. 怎样用c语言写高速超速罚款标准,C语言实现:高速公路超速处罚
  7. 五笔中比较难拆解的字
  8. oracle shutdown 很慢,oracle shutdown immediate等待时间很长之思考
  9. 【学习笔记】产品经理必备技能之竞品分析(下)用户体验五要素分析法 + 竞品分析报告
  10. iOS PayPal集成和使用