第4 章 软件测试原则及工作流程.ppt_第1页
第4 章 软件测试原则及工作流程.ppt_第2页
第4 章 软件测试原则及工作流程.ppt_第3页
第4 章 软件测试原则及工作流程.ppt_第4页
第4 章 软件测试原则及工作流程.ppt_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第 4 章 软件测试的原则及工作流程,4.1 软件测试的原则 4.2 软件测试工作流程 4.3 软件测试中的误区,4.1 软件测试的原则,4.1.1 尽早和不断地进行软件测试,IBM的研究结果表明,缺陷存在放大趋势。 图4-1表示了缺陷放模型大致状况。,图4-1 缺陷放大模型,由此可见,问题发现越早,解决问题的代价就越小,这是软件开发过程中的黄金法则。,对一个程序进行完全测试就是意味着在测试结束之后,再也不会发现其它的软件错误了。其实,这是不可能的,主要原因有以下几点: 一、不可能测试程序对所有可能输入的响应。 二、不可能测试到程序每一条可能的执行路径 三、无法找出所有的设计错误 四、不能采用

2、逻辑来证明程序的正确性,4.1.2 不可能进行完全的测试,4.1.3 增量测试,由小到大,由小到大,指的是软件测试的粒度。无论是传统的软件测试还是面向对象的软件测试都要遵循这样的原则。如图4-2所示,多个单元组合过渡到集成测试阶段,集成测试阶段过渡到更高级别的系统测试阶段,虚线是各个测试阶段的发布基线。随着测试的逐步深入,范围的逐步扩大,测试时间、可用资源也随之增大。,图4-2 测试资源关系图,4.1.4 避免测试自己的程序,避免程序员测试自己的代码的主要原因归纳如下: (1)程序员轻易不会承认自己写的程序有错误。 (2 )程序员的测试思路有局限性,在做测试时很容易受到编程思路的影响。,3.多

3、数程序员没有严格正规的职业训练,缺乏专业测试人员的意识。 4.程序员没有养成错误跟踪和回归测试的习惯.,4.1.5 设计周密的测试用例,软件测试的本质就是针对要测试的内容确定一组测试用例。测试用例至少应该包括如下几个基本信息: (1)在执行测试用例之前,应满足的前提条件。 (2)输入(合理的、不合理的)。,(3)预期输出(包括后果和实际输出) 图4-3显示了一个典型的测试用例所应该具有的基本信息。,图4-3 典型的测试用例信息,测试用例是测试工作的核心,应该尽量设计的周密细致,这样才能更好的保证测试工作的质量。 下面举例来说明这一点。 以一个实现登录功能的小程序为例,它允许用户选择城市和地区,

4、输入自己的账号和密码。 如图4-4所示,通过Alt-F4组合键和“Exit”按钮来终止程序,Tab键在区域中间移动。,测试用例举例,图4-4 登录窗口,下面根据组成页面的具体元素,分别从几个方面做了一些比较全面的测试用例:,1. 下拉框和输入框测试用例 表1-1 下拉框和输入框测试用例,2、功能测试 (表1-2 功能测试用例),3、各种错误数据的测试 表1-3 错误数据的测试用例,4、特殊测试 表1-4 特殊测试用例,4.1.6 注意错误集中的现象,软件缺陷的“扎堆”现象的常见形式: 1、对话框的某个控件功能不起作用,可能其他控件的功能也不起作用。 2、某个文本框不能正确显示双字节字符,则其他

5、文本框也可能不支持双字节字符。 3、联机帮助某段文字的翻译包含了很多错误,与其相邻的上下段的文字可能也包含很多的语言质量问题。 4、安装文件某个对话框的“上一步”或“下一步”按钮被截断,则这两个按钮在其他对话框中也可能被截断。,4.1.7 确认BUG的有效性,Bug一词的原意是“臭虫”或“虫子”。但是现在,在电脑系统或程序中,如果隐藏着的一些未被发现的缺陷或问题,人们也叫它“Bug”,与Bug相对应,人们将发现Bug并加以纠正的过程叫做“Debug”,意即“捉虫子”或“杀虫子”。遗憾的是,在中文里面,至今仍没有与“Bug”准确对应的词汇,于是只能直接引用“Bug”一词。,有时候测试人员提交的B

6、UG并不是真正的BUG。图4-5具体地描述了无效BUG的来源。一般由A测试人员发现的BUG,一定要由另外一个B测试人员来进行确认,如果发现严重的BUG可以召开评审会进行讨论和分析。,图4-5 无效BUG来源构成图,4.1.8 合理安排测试计划,合理的测试计划有助于测试工作顺利有序地进行,因此要求在对软件进行测试之前所作的测试计划中,应该结合了多种针对性强的测试方法、列出所有可使用资源,建立一个正确的测试目标; 要本着严谨、准确的原则,周到细致地做好测试前期的准备工作,避免测试的随意性。尤其是要尽量科学合理地安排测试时间。,4.1.9 回归测试,错误之间存在单纯的依赖或者复杂的多重依赖关系,如图

7、4-6所示。 其中,(a)图中的A、B 关系表达为:A错误依赖于B错误的关闭而关闭。如果多了一条路径(如(b)图中A、B、C关系),A错误依赖于B错误和C错误的同时关闭而关闭。(c)图是(a)和(b)的复合方式,因程序中的错误存在着一对多,多对多的复杂关系而变得难以处理,并且有些错误关联和依赖关系处于隐性状态。,图4-6 错误依赖关系,4.1.10 测试结果的统计和分析,只有对输出信息进行深入地统计、分析和比较,才能够正确的鉴别测试后输出的数据,给出清晰的错误原因分析报告。当输出的信息很庞大时,我们可以借助专业的测试工具。,4.1.11 及时更新测试,事实上,有可能导致测试失败的原因还有很多,

8、可大致归纳为如下几点: 1、测试团队管理者失职; 2、测试团队中沟通不好; 3、测试团队和项目团队沟通不良; 4、测试过程中,执行角色无准确定义; 5、测试团队缺乏良好的培训。,4.2 软件测试工作流程,一般的软件测试总体工作流程如图4-7所示:,图4-7 软件测试工作总体流程图,4.2.1 需求阶段,图1-13 需求阶段测试活动流程图,需求阶段是软件测试活动的前提。需求阶段测试工作流程如图4-8所示:,图1-14 设计&编码阶段测试流程图,4.2.2 设计&编码阶段测试工作流程,这一环节以模块为单位循环:单元测试方案制定编码单元测试是否通过测试抽检是否通过,重新编写没有通过单元测试和测试抽检的代码。最终形成一份单元测试总结报告。具体流程如图4-9所示。,4.2.3 集成测试、系统测试和验收测试阶段工作流程,该测试阶段流程如图4-10所示:,图1-15 集成测试、系统测试和验收测试阶段流程图,4.3 软件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论