【分享吧】再谈基于缺陷分类的测试

论坛 期权论坛 期权     
大连飞创   2018-10-22 16:41   2843   0
一、前言
   基于缺陷分析的测试是以测试人员以前发现的缺陷为基础而进行的一系列测试活动。基于缺陷分析的测试的重点是获取合适的缺陷分析,并根据缺陷分析获取测试用例。
   基于缺陷分析的测试需要测试人员具备一定的测试经验,可以作为其他测试方法的有效补充,并且在发现缺陷的效率和有效性方面有特有的优点,因为设计和执行的测试用例基于以前经常发生的缺陷。
   基于缺陷分析的测试也可以为测试出口准则提供信息,帮助确定何时可以结束测试。
二、软件缺陷分类
   首先,我们介绍一下软件测试中常见的缺陷分类,主要有以下两类:
   1.异常分类:
   按发现的项目阶段分析缺陷、按严重程度分析缺陷、按优先级分析缺陷
   任何与需求文档、设计文档、用户文档、标准或者个人的期望和预期之间出现偏差的情况都可以称为“异常”,其中包括错误(Error),失效(Failure),缺陷(Defect或者Bug)等,我们在测试中大部分异常主要指的是缺陷。

   2.正交缺陷分类
  (Orthogonal Defect Classification, ODC)
   正交缺陷分类,是帮助获取缺陷信息的一个缺陷分类方法。最早由IBM提出,后来在业界广泛使用。ODC建立在包含于缺陷流中的语义信息基础之上,有助于评估测试的有效性和效率。可以帮助测试人员跟踪缺陷,评估客户的满意度。
   ODC为测试人员提交的缺陷记录定义了一组缺陷属性,也为分析这些缺陷提供了一组经验性的规则,在软件项目满足以下一个或者多个条件时,采用ODC是一个非常明智的选择:
   a.软件开发生命周期相对来说是一个很漫长的过程,包括后续的改进工作,如某项目包括多个软件版本或者一个版本有多次迭代
   b.潜在的缺陷数目相当大。缺陷数目越多,需要的客观分析也越多,从而可以更好的了解软件质量
   c.项目已经将“高质量”设定为主要目标
三、缺陷分析的作用
   按照上面缺陷分类的方法,我们可以对已有缺陷进行分析,从而在软件测试中有如下收获:
   1.为测试人员提供新的测试思路
   2.作为没有测试经验人员培训的资料
   3.作为测试工作产品的检查表
   4.作为与管理层沟通的有效工具
四、实施基于缺陷分析的测试
   测试团队在测试过程中可以将以前收集和定义的缺陷分析作为依据,开展后续的测试活动。下面是基于缺陷分析的技术设计测试用例的步骤:
   1.开始阶段:
   测试负责人,如测试经理确定基于缺陷分析测试的对象和范围,并且介绍给整个测试团队;同时确定测试人员的职责及召开头脑风暴会议的具体时间与地点
   2.准备阶段:
   测试人员了解和熟悉测试对象,如某个系统中的某个功能。并且研究每个缺陷分析,并通过问自己“什么原因会导致测试对象发生这样类型的缺陷?”这样的问题,确定可能引起每个缺陷分析的实效模式并记录在案。
   3.头脑风暴会议:
   测试经理召集头脑风暴会议,针对每个缺陷分析问所有的参与人员“什么原因会导致测试对象发生这种类型的缺陷?”这样的问题,测试人员将确定的失效模式或者原因等在会议中阐述,记录人员详细记录每个缺陷分析的失效模式和原因。如果需要,负责人可以针对测试对象的特点,增加合适的缺陷分析和失效模式不断扩充缺陷分析列表。
   4.测试用例设计:
   测试用例设计人员根据头脑风暴会议中形成的最终缺陷分析和失效模式设计相应的测试用例
五、案例分享-缺陷分析在测试设计中的应用
   IPDSLAM R1.0,用户管理系统,要求在4个月内交付第一个版本。测试人员面对的现状:没有完整的需求规格说明文档,项目前期也无法投入太多的时间学些和分析。因此,测试团队采取给予缺陷分析的测试策略作为当前可行测试方案之一。实施策略确定后,测试团队开始测试设计与执行,步骤如下:
   1.获取功能基本信息
   测试团队与业务人员及开发人员面对面的进行沟通,对用户管理功能相关进行讨论,以获取一些基本信息:用户管理功能只提供以命令行方式登陆并不支持Web,具体命令如下:
  激活用户登陆:ACT-USER-ADMIN
  恢复用户登陆:ALW-USER-ADMIN
  退出系统:CANC-USER-ADMIN
  删除用户:DLT-USER-ADMIN
   另外,通过与开发人员进一步沟通,分别得到用户标志UID和密码PID的命名规则:
   (1)用户标志命名规则:
  长度为5-12个字符
  第一个字符必须是字母
  可以接受%、+、#作为合法的字符
  字母区分大小写
   (2)密码标识命名规则:
  长度为8-12个字符
  必须包含4个条件中的3个,即至少一个大写字母、至少一个小写字母、至少一个数字和至少一个特殊字符
   2.获取缺陷分析
   通过与开发人员的沟通,测试团队分别获取了用户管理需要实现的功能条目、用户标识、密码标识的命名规则。然后测试经理召集测试人员召开头脑风暴会议,首先确定从哪里开始识别用户管理功能的缺陷分析。经讨论认为直接以用户管理的命令作为基础进行后续细化的缺陷分析比较简单。针对用户管理的每条命令,测试经理询问所有参与人员“什么原因会导致命令失效”或者“该命令可能会存在什么样的缺陷”?下面是讨论后得到的缺陷分析列表:

   3.评审、改进
   测试团队通过头脑风暴获取了针对用户管理功能的缺陷分析列表,为了提高质量及测试覆盖度,测试团队需要邀请其他测试人员、开发人员及业务人员评审用户管理功能的缺陷列表。评审人员建议增加针对用户管理功能的一些具体参数的测试,以及其他一些常见的测试场景的测试,如:
   (1)增加针对用户标识权限的测试
   (2)增加对用户标识的密码老化时间的测试
   (3)在测试或修改用户标识之后,测试数据库的上传备份和恢复功能
   (4)对系统执行不同类型的重启,如断电重启、软件重启和硬件重启等
   通过测试人员、业务人员和开发人员评审缺陷分析列表,测试团队不仅可以不断完善缺
   陷分析列表,而且开发人员也可以将其作为重要参考,改进代码实现中需要考虑的各种异常处理,从而提升代码和功能的完善性与健壮性。
   4.测试用例设计与实现
   有了缺陷分析列表,测试团队可以确定针对用户管理功能的测试点。测试人员可以根据缺陷分析列表详细设计测试用例,并指导后续的测试执行。需要注意的是测试的期望结果可以从业务人员和开发人员沟通,或者测试人员自身的经验中得到。测试人员在沟通过程中不断完善测试用例,从而得到完整的测试用例规格说明书。
   如果测试团队由于时间或者资源的限制,无法在前期设计测试用例,也可以直接按照缺陷分析列表测试,此时测试人员的自由度更大。在测试执行过程中,测试人员必须详细记录测试结果,以及系统的表现行为,不断丰富缺陷分析列表;同时通过测试日志的方式将测试过程中得到的经验不断在测试团队中分享。
六、总结
   基于缺陷分析的测试以测试人员以前发现的缺陷为基础而执行的一系列测试活动,可以作为测试人员在实际测试过程中设计和执行测试用例的参考,并为测试人员执行基于缺陷分析的测试提供良好的思路和输入。缺陷分析通常具有结构化和系统化的特点,在讨论测试对象的过程中可以有效的指导测试人员从哪些方面对测试对象进行测试。在执行基于缺陷分析的测试时,测试团队可以在缺陷分析的基础上根据项目和组织特征生成适合项目的缺陷分析以指导测试设计活动。


分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3174
帖子:645
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP