软件测试-读书笔记

最近阳光转行做软件测试,对于一个新手来说一本好的入门书是必不可少的。下面是我看完软件测试一书所做的笔记,这本书看了第二次了,笔记还没有写完,所以会分开发。有兴趣可以慢慢看,当然了写笔记也是给自己看的。

一:软件测试员的目标
软件测试员的目标是尽可能早一些找出软件缺陷,并确保其得以关闭。我认为这句话有3个含义,而且是先后有关联

1) 软件测试员的基本目标是发现软件缺陷

软件测试员的基本目标就是发现软件缺陷,这是做好测试的前提条件。

2) 软件测试员应该是尽可能早的找出软件缺陷

当软件的缺陷越早发现修改成本越低,反之亦然,所以软件测试员应尽可能早的找出软件缺陷。这个问题上次老大在培训如何写测试大纲的时候也提到过。

3) 软件测试人员必需确保找出的软件缺陷得以关闭

缺陷是否需要修复的最终决定权在软件的最终负责人,检查缺陷得以关闭的责任在测试人员。而关闭软件缺陷的前提是缺陷得以修复或决定不作修复。

二:软件缺陷的正式定义
1)软件未实现产品说明书要求的功能

2)软件出现了产品说明书指明不应该出现的错误

3)软件实现了产品说明书未提到的功能

4)软件未实现产品说明书虽未明确提及但应该实现的目标

5)软件难以理解,不易使用,运算速度慢,或者软件测试人员认为最终用户会认为不好。

这几条定义很容易理解,第五条由于每个人都对软件的工作方式有自己的意见和想法,要软件都满足所有用户的意见是不可能的,所以作为软件测试人员要全面的客观的评价。

三:软件测试员应具备的素质
1)探索精神(喜欢拿到新软件,并进行测试)
2)故障排除人员(善于发现问题的症结)
3)不放过任何蛛丝马迹(总是不停的尝试,想尽一切办法去发现转瞬即逝和难以复现的软件缺陷)
4)创造性(想出富有创意甚至超常的手段来寻找缺陷)
5)追求完美(力求完美,但对知道无法企及的东西也不强求,而是尽力接近目标)
6)判断准确(决定测试内容、测试时间、是否是真正的缺陷)
7)老练稳重(知道如何将坏消息告诉程序员,知道如何跟不够冷静的程序员合作)
8)说服力(善于表达观点,通过实际演示标明缺陷为何必须修复)

9)表达能力(用简短的文字描述缺陷,使程序员能一目了然的知道缺陷所在)

10)专业知识(测试财务软件,必须要知道财务知识)

四:软件产品的组成

1) 软件本身

2) 帮助文件

3) 用户手册

4) 样本和示例

5) 产品支持信息

6) 图标和标志

7) 说明文件

8) 广告和宣传材料

9) 错误信息

在测试的时候不仅仅是测试软件本身还包括了如上的软件组成部分

五:软件开发模式
从最初构思到公开发行软件产品的过程称为软件开发模式。
1)大爆炸模式

2)边写边改模式(写代码,修改,写代码,修改,知道产品发布,没有时间做好,总有时间返工)

3)瀑布模式(创意、分析、设计、开发、测试、产品一步步进行,不能后退。前一步完成才能进入下一阶段)

4)螺旋模式(总体思想是:开始不必详细定义所有的细节。从小开始,定义重要的功能,努力实现这些功能,接受用户反馈,然后进入下一阶段。重复上面的过程,直到得到最终产品;螺旋模式每一次的循环包括6个步骤:1.确定目标、可选方案和限制条件;2.指出并解决风险;3.评估方案;4.本阶段开发和测试;5.计划下一阶段;6.确定进入下一阶段的方法)

六:测试的原则

1) 完全测试是不可能的

.输入量太多

.输出结果太多

.软件执行路径太多

.软件说明书是主观的,从旁观者来看就是缺陷

2) 软件测试是有风险的行为

接着上面的如果选择了不去测试所有的情况,那就选择了冒险。不完全测试又会漏掉软件缺陷。所以软件测试员要会学一个关键思想:如何把数量巨大的可能测试减少到可以控制的范围,以及如何针对风险作出明智的选择,那些需要测试,那些不需要测试。

3) 测试无法显示潜伏的软件缺陷

软件测试员可以报告缺陷存在,但是不能报告软件缺陷不存在。我们可以报告已经发现的缺陷,但是如何时候下都不保证软件缺陷没有了。

4) 找到的软件缺陷越多,就说明软件缺陷越多。

.程序员也有心情不好的时候

.程序员往往犯同样的错误

.某些软件缺陷实在是冰山的一角(软件测试过程中发现很多的缺陷到最后才发现是由一个缺陷造成的)

5) 杀虫剂事件(软件缺陷免疫)

当一个测试员对同一个缺陷进行多次的回归测试很难在发现新的软件缺陷了,这个时候可以换一个方式或者换一个测试员来测试可能会发现不同的软件缺陷。

6) 并非所有的软件缺陷都需要修复

在前面已经说过了,只要确定软件缺陷得以关闭,不修复的原因有几个

.没有足够的时间来修复软件

.修复的风险太大(修复一个软件缺陷会导致其他的软件缺陷)

.不值得修复(不常出现的缺陷是可以放过的,可以躲过和用户有办法预防或避免的软件缺陷通常不用修复,当然这些都要归结为商业风险决策)

7) 产品说明书还没有最终版本

软件测试员必须想到产品说明书可能改变,没有测试计划的功能可能会增加,经过测试报告的软件缺陷的功能可能发生变化设置功能被删除。

8) 软件测试员在产品项目中不受欢迎

软件测试员的工作就是检查和批评同事的工作,挑毛病,公布发现的问题。当你下班的时候兴冲冲的跑去告诉程序员你今天发现了20个BUG,你可能会很有成就感,可程序员可不这样想。所以需要控制好情绪。

《软件测试-读书笔记》有0个想法

发表评论

电子邮件地址不会被公开。 必填项已用*标注