软件测试的目的、原则及流程

一、软件测试的目的

1)软件测试是为了发现错误而执行程序的过程。

2)测试是为了证明程序有错,而不是证明程序无错。(发现错误不是唯一目的)

3)一个好的测试用例在于它发现至今未发现的错误。

4)一个成功的测试是发现了至今未发现的错误的测试。

注意:

1、测试并不仅仅是为了要找出错误。通过分析错误产生的原因和错误的分布特征。可以帮助项目管理者发现当前所采用的软件过程的缺陷,以便改进。同时,通过分析也能帮助我们设计出有针对性的检测方法,改善测试的有效性。

2、没有发现错误的测试也是有价值的,完整的测试是评定测试质量的一种方法。详细而严谨的可靠性增长模型可以证明这一点。例如Bev Littlewood发现一个经过测试而正常运行了n个小时的系统有继续正常运行n个小时的概率。

二、软件测试的原则

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

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

3)程序员应避免检查自己的程序。

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

5)充分注意测试中的群集现象。

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

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

8)妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。

三、软件测试的流程

立项阶段-需求阶段----设计阶段----编码和单元测试阶段----集成测试阶段----系统测试阶段-----验收测试阶段-----结项总结阶段

补充:

根据不同的测试阶段,测试可以分为单元测试、集成测试、系统测试和验收测试。
体现了测试由小到大、又内至外、循序渐进的测试过程和分而治之的思想。

单元测试的粒度最小,一般由开发小组采用白盒方式来测试,主要测试单元是否符合“设计”。
集成测试界于单元测试和系统测试之间,起到“桥梁作用”,一般由开发小组采用白盒加黑盒的方式来测试,既验证“设计”,又验证“需求”。
        系统测试的粒度最大,一般由独立测试小组采用黑盒方式来测试,主要测试系统是否符合“需求规格说明书”。
验收测试与系统测试相似,主要区别是测试人员不同,验收测试由用户执行。
        黑盒测试不考虑程序内部结构和逻辑结构,主要是用来测试系统的功能是否满足需求规格说明书。一般会有一个输入值,一个输入值,和期望值做比较。
        白盒测试主要应用在单元测试阶段,主要是对代码级的测试,针对程序内部逻辑结构,测试手段有:语句覆盖、判定覆盖、条件覆盖、路径覆盖、条件组合覆盖
        集成测试主要用来测试模块与模块之间的接口,同时还要测试一些主要业务功能。
        系统测试是在经过以上各阶段测试确认之后,把系统完整地模拟客户环境来进行的测试。
--------------

原文地址:https://www.cnblogs.com/mxcl/p/10007528.html

时间: 2024-10-28 06:57:16

软件测试的目的、原则及流程的相关文章

软件测试的目的和方法

1.1软件测试的目的 ①软件测试是为了发现错误而执行程序的过程: ②测试是为了证明程序有错,而不是证明程序无错误: ③一个好的测试用例是在于它能发现至今未发现的错误: ④一个成功的测试是发现了至今未发现的错误的测试. 测试的目的是明确的,但如何才能知道问题所在是关键,这就要求软件人员具有很好的相关知识和手段. 1.2软件测试的方法 人们通常以为,开发一个程序比设计一个测试用例更困难,其实不然,设计测试用例是一项细致并需要相当技巧的工作,稍有不慎就会顾此失彼.一般软件测试分为静态测试和动态测试,动

【APP UI 设计模式】(一)APP UI 设计原则和流程

一.基本原则         1.用户体验原则UCD,以用户为中心去设计         2.设计模式是可重用的设计规范实现         3.反模式是糟糕设计的典型,极力避免使用         4.试验模式--超越既有理念和移动现状的设计,有望成为下一个主流UI设计模式. 二.主要内容         1.APP UI 设计模式描写叙述的对象是智能手机.平板.智能设备等设备上执行的应用程序.         2.设备多样性-->设计多样性         3.设备类型定义:        

软件测试的目的和任务

实践证明,尽管人们在开发软件的过程中使用了许多保证软件质量的方法和技术,但开发出的软件中还会隐藏许多错误和缺陷.这对于规模大.复杂性高的软件更是如此.所以,严格的软件测试对于保证软件质量具有重要作用. 测试的根本目的就是为了发现尽可能多的缺陷.这里的缺陷是一种泛称,它可以指功能的错误,也可以指性能低 下,易用性差等等.因此,测试是一种"破坏性"行为.测试的目的是发现程序中的错误,是为了证明程序有错,而不是证明程序无错.即软件测试是为了"证伪" 而非"证真&

软件测试的目的

测试的目的是什么呢?这是一个看起来很简单.不太值得讨论的问题,但往往这样的问题其实是很难回答的,比如人生的意义是什么?好,现在我们就来,列举一下我们经常听到的对这个问题的回答: “软件测试的目的是尽可能发现并改正被测试软件中的错误,提高软件的可靠性.”,这个定义听起来很正确,但用它来指导测试会带来很多问题.比如有的组织用发现的bug数来衡量测试人员的业绩,其实这就是这种测试目的论在后面作祟,其结果如何呢:其一,有一些不够敬业的测试人员会找来一些无关痛痒的bug来充数,结果许多时间会被浪费在这些无

转:我是如何做软件测试项目的?

最近公司刚完成了一个比较大的项目-单品页模块化,即使用现在比较流行的Twitter Bootstrap进行前端开发.说其大是因为工作量大,开发前期投入约80人日,包括前端开发及PHP开发,且不包括修复bug的时间,测试投入约48人日,同时也是非常重要的项目,直接关系到转化率,稍有差池就会导致转化率的下降.而我有幸成为该项目的测试负责人,此文即介绍我自己是如何带这个项目的. 1. 人员分工合理,老人带新人 其实这次项目中,人员分配是3个老人(工作也不到2年),2个新人(工作不到1年),2个实习生,

自动化软件测试的指导原则[译]

在最近与软件测试人员的谈话中,我不断听到同样的事情:测试自动化在大多数项目中是需要的.合理使用以下指导原则,可以有助于自动化测试工作的开展. 指导原则1:避免过早开发测试脚本 我们鼓励软件测试人员,在应用程序开发初期就开展自动化测试.但是,在程序功能还不齐全的情况下,编写自动化测试脚本,效果会大打折扣.如果在程序还在不停改动的情况下编写测试脚本的话,你不得不随时重写你的脚本.但是我们不建议等到整个程序都稳定了才去补充测试脚本,比较好的方法是,审查整个程序,为程序中比较完整的功能去编写自动化测试脚

软件测试的艺术(一):软件测试的重要原则

软件测试是为了发现错误而执行程序的过程,这就说明目的是为了发现错误,动作是执行程序. 在进行软件测试的过程中,要遵循很多的原则,以下是几个重要的测试原则: 1)      测试用例中一个必需部分是对预期输出或结果进行定义. 对于软件测试,必须是有明确的定义输入数据和条件,同时对输出结果有准确的判断.这样才能辨别是否是有效的测试,当前的结果是否是正确的. 2)      程序员应当避免测试自己编写的程序. 人都会有固定思维,一方面是可能对软件需求规格书的理解偏差,导致编写的程序也有偏差,所以自己没

软件测试的生命周期&测试流程

一.软件的生命周期 二.软件生命周期的阶段 三.软件模型 四.软件测试的基本流程 五.软件开发流程.测试流程梳理 六.C/S与B/S架构 七.对软件测试行业的理解 八.常见笔试面试题 一.软件的生命周期定义:软件生命周期是指软件的产生直到报废的生命周期. 人类整理的第一个软件生命周期:1970年,瀑布型生命周期 二.软件生命周期的阶段1. 问题的定义及规划开发方和需求方共同讨论,主要是确定软件的开发目的及可行性.制定开发计划12. 需求分析对软件需要实现的各个功能进行详细分析,弄清楚用户对软件系

软件测试的八大原则

在对软件测试行业有了初步的聊了解以后,对于初学者并不能急于学习软件测试相关技术,而是先要掌握软件测试的原则,这样可以帮助各位建立一个正确的测试观念,帮助你在测试的道路上成长更快.关于软件测试的原则主要有如下几条. 所有的测试都应该追溯到用户的需求 也就是说我们的测试都是要根据客户的要来做,因为客户是花了钱的,而软件开发行业的所有岗位也都是围绕客户而展开工作的,如:软件开发工程师,目的是为客户开发.UI设计师,也是根据客户的要求去设计产品.等等就不再一一赘述. 2.将"尽早和不断的测试"