【扫盲篇】软件测试的目的和原则

上一篇 / 下一篇  2018-03-19 22:57:02 / 个人分类:测试理论

【扫盲篇】软件测试的目的和原则

 

开篇第一个问题:为什么需要做软件测试?

大家应该都玩过类似疯狂猜词之类的游戏,几个人站成一排,在有隔离或干扰的情况下从队首依次向下一个人员表述一个词语,直至队尾。一个简单的词语,经过多人的转达,到了队尾时往往已经与最初的词语大相径庭。像下图这样:


 

软件的开发工作也是如此。大家知道软件的生产主要包含了以下几个大步骤:需求分析->概要/详细设计->编码实现->编译运行。经过了用户的表达,分析员、设计员、程序员的理解和转达,计算机的运行后,最后得出的结果是否与用户最初的需求一致?偏差了多远?

 

 

由此我们可以得出答案。正是由于在软件生产的每个步骤都难以避免偏差,因此需要在每个环节都进行测试,尽可能多的发现问题,减免偏差。这也是软件测试H模型所倡导的,测试活动是与开发活动独立的、贯穿于整个软件生命周期的工作。

所以,软件测试是保**质量和与需求一致性的重要手段。测试的目的在于发现错误;一个好的测试用例在于能发现至今未发现的错误;一个成功的测试是发现了至今未发现的错误的测试。

 

软件测试应遵循的原则主要有哪些?

(以下内容来自《高级软件工程》教材中软件测试章节,是不是有软件测试工程师笔试题的即视感)

1.应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。

2.测试用例应由测试输入数据和对应的预期输出结果这两部分组成。

3.程序员应避免测试自己的程序,程序设计组织应避免测试自己的程序。

4.在设计测试用例时,应包括合理的输入条件和不合理的输入条件。

5.充分注意测试中的群集现象。
经验表明,测试后程序中残存的错误数目与该程序中已发现的错误数目成正比。往往80%的错误仅与20%的模块有关。

6.严格执行测试计划,排除测试的随意性。

7.应当对每一个测试结果做全面检查。

8.妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。因为在改正错误后或维护后要进行回归测试(regression testing,即全部或部分地重复已做过的测试)。

9.检查程序是否做了应做的事仅是成功的一半,另一半是检查程序是否做了不该做的事。

10.在规划测试时不要设想程序中不会查出错误。

以上这些是软件测试的通用原则,对于某一公司或某一业务领域,肯定有自己独有的测试规范和要求,大家在工作中多思考、多学习、多总结,以理论指导实践,不难建立起适用自身的软件测试体系。


TAG:

 

评分:0

我来说两句

Open Toolbar