软件测试入门(一)

1.1软件缺陷是什么

首先需要了解一个辅助术语:产品说明书(product specification)。产品说明书有时又简称为说明或产品说明,是软件开发小组的一个协定。它对开发的产品进行定义,给出产品的细节、如何做、做什么、不能做什么。
只有满足下列5个规则之一才称发生了一个软件缺陷(soft bug):
1)软件未实现产品说明书要求的功能。
2)软件出现了产品说明书指明不应该出现的错误。
3)软件实现了产品说明书未提到的功能。
4)软件未实现产品说明书虽未提及但应该实现的目标
5)软件难以理解、不易使用、运行缓慢或者——从测试员的角度看——最终用户会认为不好。
注:在运用第5条测试规则时应记住下面这一点:要全面,最重要的是要客观评价,并非所有测试发现的缺陷都要修改。

1.2为什么会出现软件缺陷

导致软件缺陷最大的原因是产品说明书。在许多情况下,说明书没有写;其他原因可能是说明书不够全面、经常更改,或者整个开发小组没有很好地沟通。为软件做计划是及其重要的,如果没有做好,软件缺陷就会出现。
软件缺陷的第二大来源是设计。这里产生软件缺陷的原因与产品说明书是一样的——随意、易变、沟通不足。
软件测试入门(一)

1.3软件产品需要多少投入

在软件行业中,用于描述制造出来并交付他人的软件产品组件的术语是可交付的部分。解释所有可交付部分内容的最简便方法是分门别类。
软件产品中包括大量看不见的投入:产品说明书、产品审查、设计文档、进度表、以前版本的反馈、竞争对手的信息、测试计划、用户调查、易用性数据、外观说明、软件体系结构、软件代码等等。

1.3.1什么是测试文档

测试文档将在后续章节中详细讲解,这里做一个简单的介绍
下面是比较重要的测试提交清单:
测试计划(test plan)。描述用于验证软件是否符合产品说明书和客户需求的整体方案。包括质量目标、资源需求、进度表、任务分配、方法等。
测试用例(test case)。列举测试的项目,描述验证软件的详细步骤。
缺陷报告(bug report)。描述执行测试用例找出问题。可以记录在纸上,但通常记录在数据库中。
测试工具和自动化测试(test tool and automation)。后续章节详细讲解。
度量。统计和总结(metric,statistic,summary)。测试过程的汇总。

1.4软件开发生命周期模式

软件产品从最初构思到公开发行的过程称为软件开发生命周期模式。
常见的4种模式,其他模式只是这些模式的变形:
大爆炸模式
边写边改模式
瀑布模式
螺旋模式

1.4.1大爆炸模式

计划、进度安排和正规开发的过程计划没有,所有精力都花在开发软件和编码的代码上。
优点:简单
分析解说:多数情况下,大爆炸模式几乎没有什么测试。假如要测试人员的参与,软件测试的工作就是向客户报告发现的问题。
大爆炸模式是最简单的软件开发模式

1.4.2边写边改模式

采用该模式的小组只有最初的想法,接着进行一些简单的设计,然后开始漫长的来回编写、测试和修改缺陷的过程。等到觉得足够了,就发布产品。
边写边该模式适合在快速制作而且用完就扔的小项目,例如原型范例、演示程序。
分析解说:边写边该的项目软件测试员,需要和程序员一样清醒地认识到自己将陷入无休止的循环往复。几乎每一天都会拿到新的软件版本进行着手测试。当新的版本出来,旧版本的测试可能尚未完成。
几乎每一天都会拿到新的软件测试可能尚未完成,而新的版本还可能包含新的或者经过修改的功能。最后,终于有机对几乎所有功能进行测试了,并且发现软件缺陷越来越少,这是某人决定发布软件了。
边写边该模式是软件软件开发的入门,有助于理解更加正规的方法。

1.4.3瀑布模式

采用该模式的项目从最初到最终产品要经过一系列步骤。每一个步骤结束时,项目小组组织审查,并决定是否进入下一步。如果项目未准备好进入下一步,就停滞下来,直到准备好。
瀑布模式有三点强调:
瀑布模式非常强调产品的定义。
瀑布模式个步骤是分立,没有交叉。
瀑布模式无法回溯。

优点:当测试人员开始测试的时候,所有细节都已确定并有文档记录。测试人员可以制订精确的计划和进度。
缺点:测试在最后进行,无法回溯。

1.4.4螺旋模式

总体思想:一开始不必详细定义所有细节。从小开始,定义重要功能,努力实现这些功能,接受客户反馈,然后进入下一阶段。重复上述过程,直至得到最终的产品。

每次循环的步骤:
确定目标、可选方案和限定条件。
明确并化解风险。
评估可选方案。
当前阶段开发和测试。
计划下一步阶段
确定进入下一阶段的方法

该模式包含了一点瀑布模式(分析、设计、开发和测试的步骤)、一点边写边改模式(螺旋模式的每一次)和一点大爆炸模式(从外界观察)。
该模式发现问题早、成本低的。

相关文章: