《软件测试的艺术》读书笔记(一)
软件测试心理学
明确软件测试的定义具有重要的心理学影响。软件测试是“为发现错误而执行程序的过程”。明确测试的目的使得设计的测试数据可以更多的发现程序的问题,而不是减少程序的实效。
区分“成功的”和“不成功的”的测试。“成功的”测试的指发现了可修复的错误或者最终确定再无其他可查出的错误。“不成功的”测试,仅指未能适当地对程序进行检查,在大多数情况下,未能找出错误的测试被认为是“不成功的”,这是因为认为软件中不包含错误的观点基本上是不切实际的。
总之,软件测试是试图发现程序中错误(假设其存在)的破坏性的过程。一个成功的测试用例,通过诱发程序发生错误,促进软件质量的改进。
软件测试的经济学
通过软件测试发现“所有”的错误是不切实际的。测试的目标在于通过有限的测试用例,最大限度地提高发现的问题的数量,以取得最好的测试效果。
黑盒测试和白盒测试
“黑盒测试”将程序视为一个黑盒子。在不考虑程序的内部结构下,检查程序不按其规范正确运行的环境条件。
“黑盒测试”的方法有:等价类划分、边界值分析、错误推测法、因果图法、判定表驱动法、正交试验设计法、功能图法。黑盒测试针对的错误类型有:功能不正确或遗漏,数据库访问错误,界面错误,性能错误,初始化和终止错误等。
“白盒测试”允许检查程序的内部结构,设计测试用例检查程序的逻辑结构。主要分为“静态白盒测试”和“动态白盒测试”。
“静态白盒测试”即代码审查,正式审查和检验设计。
“动态白盒测试”利用查看代码功能和实现方式得到的信息来设计和执行测试。测试方法有:逻辑覆盖,基本路径测试。测试的错误类型有:内部数据结构的有效性,循环的边界,程序的逻辑判定等。
穷举路径测试
穷举路径测试是指使用测试用例执行了程序中所有可能的控制流路径。该方法存在两个问题:
首先,程序中不同逻辑路径的数最 可能达到天文数字。
其次,即使测试了程序中的所有路径,程序可能仍然存在着错误,原因是:
1.不能保证程序符合其设计规范;
2.缺少某些路径;
3.不会暴露数据敏感错误。
软件测试的原则
重要的测试指导原则编号原则归纳如下:
1 测试用例中一个必需部分是对预期输出或结果进行定义。
2 程序员应避免测试自己编写的程序。
3 编写软件的组织不应当测试自已编写的软件。
4 应当彻底检查每个测试的执行结果。
5 测试用例的编写不仅应当根据有效和预料到的输入情况,也应当根据无效和未预料到的输入情况。
6 检查程序是否“未做其应该做的”仅是测试的一半,测试的另一半是检查程是否“做了其不应该做的”。
7 应避免测试用例用后即弃,除非软件本身就是个一次性的软件。
8 计划测试工作时不应默许假定不会发现错误。
9 程序某部分存在更多错误的可能性,与该部分已发现错误的数量成正比。
10 软件测试是一项极富创造性,极具智力的挑战性的工作。
《软件测试的艺术》读书笔记(一)相关推荐
- mysql数据库权威指南_MySQL_MySQL权威指南读书笔记(三),第二章:MYSQL数据库里面的数 - phpStudy...
MySQL权威指南读书笔记(三) 第二章:MYSQL数据库里面的数据 用想用好MYSQL,就必须透彻理解MYSQL是如何看待和处理数据的.本章主要讨论了两个问题:一是SQL所能处理的数据值的类型:二是 ...
- MongoDB权威指南读书笔记——CRUD
插入并保存文档 插入是向MongoDB中添加数据的基本方法.可以使用Insert方法向目标集合插入一个文档:db.foo.insert({"bar" : "baz&quo ...
- HTTP权威指南读书笔记
<<HTTP权威指南>>读书笔记 第一部分:Web的基础 第1章:HTTP概述 主要内容 1.什么是HTTP 2.HTTP的基本组件 HTTP HTTP:HTTP(Hypert ...
- HTML5权威指南----读书笔记
<!DOCTYPE html> <html> <head><meta name = 'keywords' content="HTML5权威指南--- ...
- 计算机网络和http权威指南 读书笔记
计算机网络笔记 网络层 网络层向上提供无连接的,尽最大努力交付的数据报服务 网络层不提供数据质量承诺 物理层使用的中间设备叫转发器repeater 数据链路层叫网桥bridge 网络层叫路由器rout ...
- MapReduce总结 + 相关Hadoop权威指南读书笔记(未完......欢迎补充,互相学习)
文章目录 MapReduce概述 MapReduce优缺点 MapReduce核心思想 MapReduce进程 MapReduce编程规范 WordCount 案例实操 本地测试 集群测试 Hadoo ...
- android开发读书笔记,android开发权威指南读书笔记
第17章 Fragment 1.在res目录下增加 layout-sw600dp 目录,用于存放7英寸及以上尺寸屏幕的布局文件.10英寸以上平板用 sw720dp.如果是更小的屏幕,如 480*800 ...
- java性能权威指南中文_Java性能权威指南读书笔记--之一
JIT(即时编译) 解释型代码:程序可移植,相同的代码在任何有适当解释器的机器上,都能运行,但是速度慢. 编译型代码:速度快,电视不同CPU平台的代码无法兼容. java则是使用java的编译器先将其 ...
- javascript权威指南读书笔记之二——词法结构
本章讲述的内容,用通俗的语言来说,就是应该注意的地方,这些也许和我们所学的其他语言类似,也许完全不同,比如一开始就介绍说javascript程序中的每个字符都是用两个字节表示的,但有些程序设计者习惯于 ...
- HTTP权威指南读书笔记(一)HTTP概述、URL和资源及报文详解
一.HTTP概述 1.WEB客户端和服务器. 2.资源:资源可以是各种格式的静态文件,也可以是应用程序. 3.媒体类型 4.URI:统一资源标识符 URL:统一资源定位符. URL的第一部分称为方案: ...
最新文章
- Java中父类构造方法对子类构造方法的影响(不是一句话可以说清的)
- css和JavaScript
- select frame 什么意思?
- python的闭包及装饰器
- C++代码片段(一)萃取函数返回值类型,参数类型,参数个数
- 微信小程序 点击按钮 退出
- SimpleDateFormat(线程不安全)与DateTimeFormatter(线程安全)
- Shell——echo命令
- ML Mastery 博客文章翻译(二)20220116 更新
- 11张高清Python全知识地图,强烈建议学习
- Linux系统如何创建和挂载XFS文件系统
- VB.NET控件应用编程实例教程(奋斗的小鸟)_PDF 电子书
- css 全文字体大小,CSS 字体大小
- 固定资产管理系统能帮助企业做哪些工作?
- gh-ost的原子rename
- 常用的hhtp状态码及http缓存实现
- 房贷利率要不要转换,选LPR还是固定利率?这样思考就不会再迷茫
- HPB开发节点搭建指南
- 每天10分钟——10.18
- EXCEL电子表格:将数字转换成英文金额
热门文章
- Pymol获得蛋白中二级结构信息
- Sleepy Kaguya (回归之战)
- squid高性能代理缓存服务器
- Python基础之列表、元组、字典、集合的使用
- 微信好友排行榜 最简教程 二
- BZOJ1189: [HNOI2007]紧急疏散evacuate(二分答案,最大流)
- 实现 EC20 4G模块PPP拨号上网
- 前端实现图片压缩—压缩图片大小,画质(两种方式)
- win10电脑插耳机没反应(win10插上耳机还外放)
- w10用计算机卸载,win10系统用电脑自带的程序卸载软件的方法 (两种方法)