我爱编程

[读书笔记] 软件测试

2018-08-05  本文已影响0人  余梦玲
image

读书笔记 - 《软件测试》 Ron Patton著,张小松等译,2006年出版
(啊,十二年前的书了,我今年才看~ )

1. 软件测试的背景

(what)什么是软件缺陷

定义:

  1. 软件未实现产品说明书要求的功能
  2. 软件出现了产品说明书指明不应该出现的错误
  3. 软件实现了产品说明书未提到的功能
  4. 软件未实现产品说明书虽未明确提及但应该实现的目标
  5. 软件难以理解、不易使用、运行缓慢或者——从测试员的角度看——最终用户会认为不好

(why) 为什么会出现软件缺陷

产品说明书: 不够全面,经常整改,开发小组沟通不足
设计
编码

软件测试员做些什么

发现软件缺陷 (而不是简单得验证功能是否实现)
尽可能早地找出软件缺陷
并确保其得以修复

软件测试员应该具备的素质

探索者;故障排除员;不放过任何蛛丝马迹;创造性;追求完美;判断准确;注重策略和外交;善于说服。

2. 产品开发的过程

产品的组成部分:
客户需求;产品说明书;进度表;软件设计文档;测试文档

软件产品的组成部分:
帮助文档;用户手册;样本和实例;产品支持信息;图例和标签;错误信息;安装;说明文件

软件开发生命周期模式:
大爆炸模式;边写边改模式;瀑布模式;螺旋模式

3. 软件测试的实质

测试的原则:
完全测试程序是不可能的:输入量太多,输出结果太多,执行路径太多等
软件测试是用风险的行为: 如何把数量巨大的可能测试简书到可以控制的范围
测试无法显示潜伏的软件缺陷:可以报告软件缺陷存在,却不能报告软件缺陷不存在
杀虫剂怪事:能发现的软件缺陷都发现了,再测试下去可能不会有新的发现
并非所有的软件缺陷都要修复:决策过程通常由软件测试员、项目经理和程序员共同参与
软件测试员在产品小组中不受欢迎:干的是批评同事的工作,需要早点找出缺陷,控制情绪,不要总是报告坏消息

软件测试的术语和定义:
精确和准确:
确认和验证:
质量和可靠性:
测试和质量保证:

4. 检查产品说明书

4.1 开始测试

4.1.1 黑盒测试和白盒测试

黑盒测试
软件测试员只需要知道软件要做什么——而无法看到盒子里的软件是如何运行的。只要进行一些输入,就能得到某种输出结果。他不知道软件如何运行,为什么会这样,只知道程序做了什么。

白盒测试
软件测试员可以访问程序员的代码,并通过检查代码的线索来协助测试——可以看到盒子里面。测试员根据代码检查结果判断或多或少可能出错的数目,并据此定制测试。
(进行白盒测试要冒一些风险,因为要看代码,所以很容易形成偏见而无法进行客观测试)

4.1.2 静态测试和动态测试

静态测试
测试不运行的部分——只是检查和审核

动态测试
使用和运行软件

4.1.3 静态黑盒测试、测试产品说明书

测试产品说明书属于静态黑盒测试。
产品说明书是书面文档,而不是可执行程序,因此是静态的。
它是利用各种资源而获得的数据,不必了解怎样和为什么要获取这些信息等,只需要知道他们最终构成产品说明书就可以了。

4.2 对产品说明书进行高级审查

不是马上进去找缺陷,而是先站在一个高度上进行审查。了解说明书背后的诸多为什么和怎么做,可以更好地进行细节检查。

假设自己是客户:了解用户所想即要有相关背景知识;不要放过说明书中不理解的部分
研究现有的标准和规范: 公司惯用语和约定;行业要求;政府标准;用户图形界面等
审查和测试类似软件:审查竞争产品,包括规模、复杂性、测试性、质量和可靠性、安全性

4.3 产品说明书的低层次测试技术

产品说明书属性检查清单:
完整;准确;精确、不含糊、清晰;一致;贴切;合理;代码无关;可测试性

产品说明书术语检查清单:
总是、每一种、所有、没有、从不;
当然、因此、明显、显然、必然;
某些、有时、常常、通常、惯常、经常、大多、几乎;
等等、诸如此类、依次类推、例如;
良好、迅速、廉价、高效、小、稳定;
处理、进行、拒绝、跳过、排除;
如果……那么……(缺少否则)。

5. 带上眼罩测试软件 (0%)

6. 检查代码 (0%)

7. 带上X光眼镜测试软件 (0%)

上一篇下一篇

猜你喜欢

热点阅读