《软件测试》读书笔记
读书笔记
- 第一章
- 第二章 软件开发过程
- 第三章 软件测试的实质
- 第四章 检查产品说明书
- 第五章 闭着眼睛测试软件
- 第九章 兼容性测试
- 第十章 外国语言测试
- 第十一章 易用性测试
- 第十二章 测试文档
- 第十三章 网站测试
- 第十四章 自动测试和测试工具
- 第十五章 臭虫轰炸和Beta测试
- 第十六章 计划测试工作
- 第十七章 编写和追踪测试案例
- 第十八章 报告发现的问题
- 第十九章 评价成效
- 第二十章 软件质量评判
第一章
第一章主要是介绍软件测试的背景,在这章中,也举了一些很久远的例子,狮子王游戏BUG,奔腾的计算错误,这其实说明了,软件缺陷 这个概念从很早就已经被提出,从很早,研发人员就已经发现,软件可能会存在缺陷,并不是完美的。而当时所做的一些软件测试的工作,也不够完善,不够成体系,所以会有一些缺陷存在。当然,就算是目前,软件测试这个行业已经发展了好几十年,但其实仍然不能完全保证软件没有任何缺陷。但,软件测试的重要性,毋庸置疑。
此章中,还提到了软件缺陷的定义,如下图所示:
当然现在我所接触到的,一般都是产品的需求稿和UI稿,测试时以这两者为准,进行功能测试。
软件的开发通常都是一个较为完善的流程,从最初的需求设计,到开发,再到测试,缺陷修复的成本是呈几何数级增加的。也就是说,越早发现软件的缺陷,修复的成本就越低,这也就是为什么现在很多软件的流程里,加入了需求评审这个环节。
软件测试员的目标是发现软件缺陷,我们不能满足于只找到软件缺陷,而是尽早发现软件缺陷,并确保其得以修复。
第二章 软件开发过程
一个完整的软件会由很多文件组成,例如帮助文件,用户手册,示例,标签,图标,广告,说明文件,错误信息等等。
还介绍了四种软件开发模式:
1、大棒模式:优点是简单,计划、进度安排、正规开发过程几乎没有,所有的精力都放在开发软件和编写代码上。这种已经不是主流的开发模式了。
2、边写边改模式:极其适合意在快速制作且用完就扔的小项目。这种和现在比较类似,现在都流行拆分,其实我认为拆分之后,就成为了类似边写边改的模式。
3、流水模式:就像流水线一样,但没有后退。虽然较为完善,但需要的时间也比较多。在目前这个敏捷开发的时代,完全按照流水模式,跟不上时代的步伐。
4、螺旋模式:包含了以上的三种模式,比较像现在拆分提测的方式。每一轮都比较独立且完善,不至于到了最后,匆匆忙忙在短时间内进行全部测试。测试一直在进行,并在最后宣布成功。
第三章 软件测试的实质
要明白,完全测试程序是不可能的。主要有如图所示四个原因:
既然完全测试程序是不可能的,那么软件测试员就需要学会把无边无际的可能减少到可以控制的范围,以及如何针对风险制定出明智抉择。
这里讲到了 杀虫剂怪事,测试者在多次测试时,测试的思维有可能固化,而且有可能会产生测试疲劳,这就会导致我们遗漏掉一些软件缺陷。
并非所有的软件缺陷都是需要修复的,这里可能因为时间不足,或者是修复风险太大,又或是不值得修复等等,这就需要开发,产品和测试反复讨论确定。
第四章 检查产品说明书
产品说明书,有时候又叫做需求文档,通常是利用文字和图形描述产品的书面文档。我们要对其进行测试。
黑盒测试:软件测试员只需要知道软件要做什么即可——而无法看到盒子中是如何运作的,只需要关注输入输出,只知道程序做什么。
白盒测试:软件测试员可以访问程序员的代码,并通过检查代码来协助测试。这里要注意,改动代码进行测试的话,就意味着有风险存在,需要谨慎。
静态测试:测试不运行的部分——只是检查和审阅。
动态测试:通常意义上的测试——运行和使用软件。
我们首先要对产品说明书进行高级审查:
1、设身处地为客户着想
2、研究现有的标准和规范(就像如果是客户端测试,要考虑到安卓和苹果对于软件的规范要求,两者明显是不同的)
3、审查和测试同类软件
第五章 闭着眼睛测试软件
在弄清楚程序的输入输出之后,就要开始设计测试用例,而如果是在没有产品说明书(需求稿)的情况下,就需要先进行探索测试,需要把软件当产品说明书对待,分步骤地逐项探索软件特性。
而在执行测试时,首先要执行通过测试,确保软件基本功能已经实现。
在设计用例时,书中首先介绍到了等价划分法,这个方法是按照类别去对测试用例进行分类,常为边界值、次边界值、空值、无效值。等价类划分法是用尽可能少的测试用例覆盖尽可能多的测试点。但也有可能产生遗漏。
软件测试员必须测试软件的状态和转换。一定要覆盖软件的所有状态去进行测试。
失败状态测试,常见为竞争条件、重复、重负和压迫。
常用的测试思维:
1、在做软件测试时,要从‘愚笨’的客户的角度出发,也就是无经验的客户,多思考他们会进行什么正常预期之外的操作。
2、在已经找到缺陷的地方再找找。常理而言,哪里找到的缺陷越多,就说明那里的软件缺陷越多,如果某个地方找到了很多缺陷,就需要再仔细复查此模块。
3、凭借经验、直觉和预感。
第九章 兼容性测试
这里需要注意,兼容性测试又常分为向前兼容和向后兼容,要对之前的老版本和未来的新版本做一些兼容性的测试,这里主要是对老版本进行兼容测试,对于app来说,尤其要注意对系统、机型、不同分辨率屏幕的支持。
同时还要注意数据共享的兼容性,app要注意与PC的数据共享性,与其它竞品应该也有数据共享,如果涉及时需要格外注意。
第十章 外国语言测试
这一章目前我的工作不会涉及到相关内容,但也还是要稍微注意一下不同文字内容的可点击范围的伸缩,以及文字的正确有效。
第十一章 易用性测试
易用性是交互适用性、实用性和有效性的集中体现。
对于UI而言,可能会存在争议,因为它属于主观性的意见。但有七个要素比较适用:符合标准和规范、灵活性、正确性、直观性、舒适性、实用性、一致性。
第十二章 测试文档
这里的测试文档是一个泛指,指的是产品说明,产品协议,指南,宣传图等等一系列文档。作为软件测试员对待软件文档要像对待代码一样给予同等关注和投入。
无论文档是什么形式,像客户一样去对待它,就是很好的测试手段。
第十三章 网站测试
在测试网站时,首先应该建立状态表,把每个网页当作不同的状态,超级链接当作连接用的线,完整的状态图有利于更好地审视任务。
黑盒测试中主要针对的点:文字、超级链接、图形、表单、对象和其他功能。
除了黑盒测试,还需要做配置和兼容性测试:硬件平台、浏览器软件和版本、文字大小、调制解调器速率。
还需要检查其易用性。
第十四章 自动测试和测试工具
工具和自动化的主要属性:速度、效率、准确度和精确度、坚持不懈。
软件测试工具不能代替软件测试员——它们只能帮助软件测试员更好地工作。
测试工具分为侵入式和非侵入式,如果是仅用于监视和检查软件而不对其进行修改,为非侵入式。如果工具以任何方式修改代码或操纵操作环境,属于侵入式。
验证是自动测试软件要克服的一大难题。
随机测试,我所知道的是monkey,就是进行一系列随机测试,常用于测试是否有崩溃,属于收尾阶段需要进行的测试。
需要记住,自动化测试不是万能的。现在是敏捷开发的时代,软件更迭很快,验证也有可能难以实现,测试人员是不可或缺的。不能过分依赖自动化。
第十五章 臭虫轰炸和Beta测试
交叉测试是很重要的一环。如果有多个人在软件发布前查看,即使他们不是专业测试员,也能够找出专业测试员看不到的软件缺陷。
请他人检查软件有助于打破杀虫剂怪现象。观察别人解决问题的方式是学习新测试技术的好方法。
臭虫轰炸是指在一段时间内,选择软件某一块区域,所有测试员集中测试此块区域。
Beta测试是指软件分发给选定的潜在客户群,他们在实际环境中使用软件。此测试主要寻找的是配置、兼容性、易用性方面的软件缺陷。
第十六章 计划测试工作
软件测试计划是软件测试员与产品开发小组交流意图的主要方式。
测试计划过程的最终目标是交流(而不是记录)软件测试小组的意图、期望、以及对将要执行的任务的理解。
测试前必须要明确的清单:
1、高级期望
2、人、地点和事
3、定义
4、团队之间的责任
5、哪些要测试,哪些不要测试
6、测试阶段
7、测试策略
8、资源要求
9、测试员的任务分配
10、测试进度
11、测试案例
12、软件缺陷报告
13、频度和统计
14、风险和问题
第十七章 编写和追踪测试案例
仔细计划测试案例的四个原因:组织性、重复性、跟踪和测试证实。
测试新手或许不能控制项目所用的计划和文档的等级,但是应该努力使自己的工作尽可能富有成效。找出什么必要,什么不必要,调查研究运用技术的方式以加速进程,但是不要投机取巧。
第十八章 报告发现的问题
这也许是软件测试员要完成的最重要——有时是最困难——的任务。
部分软件缺陷不修复的原因:
1、没有足够的时间
2、不算真正的软件缺陷
3、修复的风险太大
4、不值得修复
5、软件缺陷报告不够有效
报告软件缺陷的基本原则:尽快报告软件缺陷、有效描述软件缺陷
要想有效报告软件缺陷,就需要以明显、通用和再现的形式描述它。设法找出收缩包围问题的具体步骤,不要想当然的接受任何假设,查找时间依赖和竞争条件的问题,与压迫和负荷相关的边界条件软件缺陷、内存泄漏或数据溢出等白盒问题会慢慢显露出来,状态缺陷仅在特定软件状态中显露出来,考虑资源依赖性,不要忽视硬件。
第十九章 评价成效
这一章主要讲通过不同频度评估测试员和项目的成效,获知一切是否按预定计划进行,如果不是,应该怎样修正
第二十章 软件质量评判
作为一个实际测试员,要对找出的软件缺陷负起责任,跟踪其整个生命周期,说服相关人员使其得以修复。
软件质量评判(QA)的主要职责是检查和评价当前软件开发过程,并设法打到防止软件缺陷出现的目标。通过对项目进行近似完全的控制、建立标准和方法论,有条理地仔细监视和评价软件开发过程来保证产品的质量。
此次阅读没有进行白盒测试相关的阅读,里面的代码也稍显老旧。此外,第21章,职业指导也没有在此写出。
《软件测试》读书笔记相关推荐
- 读书笔记 | 墨菲定律
1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...
- 读书笔记 | 墨菲定律(一)
1. 有些事,你现在不做,永远也不会去做. 2. 能轻易实现的梦想都不叫梦想. 3.所有的事都会比你预计的时间长.(做事要有耐心,要经得起前期的枯燥.) 4. 当我们的才华还撑不起梦想时,更要耐下心来 ...
- 洛克菲勒的38封信pdf下载_《洛克菲勒写给孩子的38封信》读书笔记
<洛克菲勒写给孩子的38封信>读书笔记 洛克菲勒写给孩子的38封信 第1封信:起点不决定终点 人人生而平等,但这种平等是权利与法律意义上的平等,与经济和文化优势无关 第2封信:运气靠策划 ...
- 股神大家了解多少?深度剖析股神巴菲特
股神巴菲特是金融界里的传奇,大家是否都对股神巴菲特感兴趣呢?大家对股神了解多少?小编最近在QR社区发现了<阿尔法狗与巴菲特>,里面记载了许多股神巴菲特的人生经历,今天小编简单说一说关于股神 ...
- 2014巴菲特股东大会及巴菲特创业分享
沃伦·巴菲特,这位传奇人物.在美国,巴菲特被称为"先知".在中国,他更多的被喻为"股神",巴菲特在11岁时第一次购买股票以来,白手起家缔造了一个千亿规模的 ...
- 《成为沃伦·巴菲特》笔记与感想
本文首发于微信公众帐号: 一界码农(The_hard_the_luckier) 无需授权即可转载: 甚至无需保留以上版权声明-- 沃伦·巴菲特传记的纪录片 http://www.bilibili.co ...
- 读书笔记002:托尼.巴赞之快速阅读
读书笔记002:托尼.巴赞之快速阅读 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<快速阅读>之后,我们就可以可以快速提高阅读速度,保持并改善理解嗯嗯管理,通过增进了解眼睛和大脑功能 ...
- 读书笔记001:托尼.巴赞之开动大脑
读书笔记001:托尼.巴赞之开动大脑 托尼.巴赞是放射性思维与思维导图的提倡者.读完他的<开动大脑>之后,我们就可以对我们的大脑有更多的了解:大脑可以进行比我们预期多得多的工作:我们可以最 ...
- 读书笔记003:托尼.巴赞之思维导图
读书笔记003:托尼.巴赞之思维导图 托尼.巴赞的<思维导图>一书,详细的介绍了思维发展的新概念--放射性思维:如何利用思维导图实施你的放射性思维,实现你的创造性思维,从而给出一种深刻的智 ...
- 产品读书《滚雪球:巴菲特和他的财富人生》
作者简介 艾丽斯.施罗德,曾经担任世界知名投行摩根士丹利的董事总经理,因为撰写研究报告与巴菲特相识.业务上的往来使得施罗德有更多的机会与巴菲特亲密接触,她不仅是巴菲特别的忘年交,她也是第一个向巴菲特建 ...
最新文章
- 【SICP练习】38 练习1.43
- spring aop使用详解
- python脚本备份网络交换的命令
- uva 11991 (map vector 嵌套)
- c#解压,压缩文件!!!
- Android中Log信息的输出方法
- mysql 递归_「MySQL」 - SQL Cheat Sheet - 未完成
- 一张图理解什么是TP、TN、FP、FN
- NodeJs同步、异步加载
- 2009年IT行业最重要的十大认证
- hibernate_09_关联映射_多对一
- jQuery常用语法笔记
- 音频编码格式——AAC简介
- Redis server response timeout (3000 ms) occured for command: 错位主要是set数据超长了
- java自动往数据库里插shuaku_x大x鸟的青鸟云课堂自动答题实现原理
- MANIFEST.MF的文件的作用
- ICLR2022 | GREASE LM: 图推理增强QA上的LM
- 三星SM411性能参数!
- 甲骨文向IBM宣战:推出史上最快服务器
- 【MySQL】【入门】第二章:数据库及表的创建