BUG漏测的原因总结,以及如何处理
一、漏测的概率
漏测,是指软件产品的缺陷没有在测试过程中被发现,而是在版本发布之后,用户在使用过程中发现存在的缺陷。
二、预防漏测的意义
我们都知道,缺陷越早被发现,发现和解决缺陷所花的成本就越小,如果缺陷是在测试中发现的,那么所花的成本将小得多。测试
是保证软件质量的最重要手段之一,因此,进行漏测分析、预防漏测、促使缺陷尽可能在开发过程早期被发现,是非常有意义的,它有
利于降低软件产品成本、提高软件产品质量。
三、原因分析
谁都不敢打包票说自己经手测试的东西没有问题,包括资深的测试工程师,或多或少的会出现让缺陷从自己的手中溜走,谁也不能
把软件所有的功能操作、运用场景想周全,但是像神一样的老鸟我就不知道了。
漏测原因 | 对应解决方法 |
1.需求规格不明确,导致测试用例编写过于粗犷。 |
1.先进行需求分析,找出需求规格说明书中不明确、或有疑虑的地方,与需求人员(产品)确认商讨,给出明确定义。 2.在测试过程中发现没有明确和有疑惑点的,也要与需求人员确认商讨,要求给出明确写定义,之后完成测试用例。 3.无法及时确定的,可先编写大概框架,之后再将测试用例细化,补充完善。 |
2.需求规格变更,测试用例未及时更新 |
需求规格变更,导致原来的测试用例与现在的规格不相符合。我们在执行测试用例过程中,如果碰到测试用例与规格不相符合的地方,我们需要记录下,并根据新规格补充完善测试用例,对存在有疑问的地方需要和产品或设计进行沟通和确认,可以要求需求规格进行明确定义,事后将新增的、修改的测试用例整理成文,发给组内同事组织评审,并将评审之后的用例更新到用例库中去。 |
3.测试用例覆盖不全面,场景出现遗漏 |
因为测试用例场景设计导致缺陷遗漏是在所难免的,编写测试用例的同事不可能把所有的场景都能想周全,把所有的场景下的 情况都写成测试用例这也是不大现实的。对于外部反馈的缺陷,是因为场景设计不全引起的,我们先分析出现问题的场景是客户必须的场景还是偶然的场景,如果该场景是客户操作习惯,我们可以通过和技术接口人沟通,确认该场景的一些具体细节,在完善测试用例的过程中我们也要考虑一些和该场景相关联的场景,将多种场景下测试用例及时完善、评审,增加到用例库中 |
4.测试过程中未严格按照测试用例执行 |
我们需要面对现实,测试用例并不能覆盖所有的使用场景,但是,测试用例是按需求根据规格编写的,经过了需求分析、开发、测试及其他相关人员的评审,最大程度的保证用例的准确性、全面性。测试用例不一定能保证所有的场景和功能点都能覆盖到,但是严格按照测试用例执行测试,能最大程度上保证我们的软件质量,尽量避免出现缺陷。就一句话,我们在测试过程中要严格按照测试用例执行,不要因为测试用例的繁琐而抛弃测试用例,进行随意的测试。如果是因为测试过程中随意的测试,导致出现遗漏问题,实在是不应该。 |
5.时间不充足,导致一些功能点在测试过程中被忽略 |
1,根据功能模块划分测试优先级,主要的功能模块优先级最高,安排有经验的人测试,安排新手测试一些不重要的功能模块或者很少使用的功能模块,在后续测试过程中,由有经验的同学将新手测试过的模块进行冒烟测试,确认是否有明显BUG; 2,尽量避免在一些和开发扯不清的情况下浪费自己的时间,如果因为开发人员排查问题占用的时间较长,可以告诉测试负责人,由测试负责人采取相应措施,通过协商来避免类似问题蔓延; 3,增加测试人手 4,加班 |
6.测试环境受限,导致缺陷漏测 |
1.原因:环境的组合是无穷的,没有足够的时间、人力和其他资源成本在足够在足够多的环境中测试。 2.措施:保证主要的操作系统环境,网络环境 操作系统:针对当前使用比例来排序 网络环境:正常网速、低网速 |
7.开发人员引入的新BUG 8.对产品和应用流程的理解不到位 |
验证开发人员修复的BUG,并将相关联的功能点遍历到 方法:根据开发人员的水平,选择合适的回归测试策略。 |
四、目的
不管是因为什么原因导致缺陷流到客户现场,问题发生了,我们首先要做的就是弥补缺陷带来的影响,项目组要评估由此带来的风险、损失,修正缺陷,提供完善的版本给客户使用。做完前面的这些工作之后,我们可以、甚至是需要自觉的进行思考总结,吸取经验教训,并将出问题的这些情况补充、完善到测试用例中去,对一些常见的情况还需要进行组内学习,避免在以后的工作中再次犯下同样的错误。
如果能做的更好一步,我们可以学习并进行统计,对这些遗漏的BUG予以分类,缺陷的严重程度、所属功能模块、遗漏原因分类等等。我们在进行缺陷漏测分类活动时,可以由专人组织发起讨论,将需求、开发、测试、技术支持以及其他所有产品生命周期中相关部门的代表组织到一起对近期的漏测进行分析讨论,特别是技术支持人员能够提供很多非常详细的关于漏测缺陷的信息,这对漏测分类、累积经验、教训吸取非常有帮助。
进行缺陷漏测分析的目的是为了促进软件质量和开发测试过程得到持续改进,使我们在测试过程中可以考虑得更加周全,弥补思维僵局。具体来讲,就是通过分析测试过程中漏测的缺陷,采取一些相应的预防措施以避免今后再发生类似的漏测。测试过程的持续改进将提高测试环境的效果和测试执行的效率、降低遗留到用户处的缺陷数和缺陷解决成本,从而提升软件的质量。
五、总结
缺陷漏测是不能杜绝的,缺陷漏测发生后,我们需要学会思考,吸取经验教训,尽可能的降低缺陷的漏测量。
来源:http://blog.51cto.com/11392572/2105018
作者 七色洋
BUG漏测的原因总结,以及如何处理的更多相关文章
- 软件测试之怎么避免Bug漏测?
一.对需求评审阶段,对业务需求细节理解不明确,未深入挖掘隐含拓展需求 改进措施 需求评审前,我们应该先仔细阅读prd及交互文档,先形成自己对产品的思考,通过脑图的方式列出对产品设计的疑问点,从用户或者 ...
- 测试提bug及出现漏测情况时的注意点
提bug注意(此为公司开发提出的建议): 开发如果改bug影响导致另一个问题,原bug没有问题,尽量重新提bug,不要直接激活,因为可能不是同一个问题导致的: 不要一个bug里提多个问题,因为不同 ...
- Bug不能重现的原因分析及其对策
摘 要:本文简要分析了无法重现的Bug的可能产生原因,包括环境不一致.缺少最准确的描述和浏览器的不当设置.针对这些原因,本文给出了相应的对策.通过这些措施,可以重现许多以前认为不可重现的Bug. ...
- 漏测BUG LIst
5. 接口设计问题 - 主从存在延时,当两个接口需要一个主库,一个从库的时候,可能会出问题,时时性 4. 开发的接口文档也得进行简单的测试,根据产品文档/业务测试接口(针对问题2) 3. 需要上的课 ...
- 漏测BUG借鉴
2. websocket: 用户频繁刷新,后台每次请求新的排队,内存溢出 1. websocket: 北京中心连接正常,外地中心,连接超时,应考虑到外地延迟问题
- JQuery-Validate明明配置好了但是不生效?卡了2个小时的bug解决了,原因很简单。
JQuery Validate是表单验证的js工具,一般用于前台页面的校验,例如登陆和注册. 照着教程写了起来,使用Hbulider编辑器,本来写的时候可以用的,但是后来不知道怎么操作的,页面上的校验 ...
- [工作日志] 2018-11-21 主要: 改bug 自测 :校验图片后缀名
正则表达式 用以下方式去校验图片的后缀 String reg = ".+(.JPEG|.jpeg|.JPG|.jpg)$";String imgp= "Redocn_20 ...
- 新来的实习生测post接口老漏测,搞清楚原理再执行真的很重要
一.GET方法和POST方法传递数据的异同 一.GET方法和POST方法传递数据的异同 http请求方法get和post是最常被用到的两个方法,get常用于向服务器请求数据,post常用于提交数据 ...
- Bug总结流程
小明入职已有两年,期间测试能力已不知不觉成长许多,得到了Leader大熊的高度认可.回首这两年间,小明对"Bug总结流程"印象最为深刻,他对这个流程的认识在不断改变着:从最初的好奇 ...
随机推荐
- 如何升级Powershell How to upgrade powershell 5
查看当前版本 Win+R 输入 powershell 进入. 输入:$PSVersionTable 可以看到PS的version: 当前是2.0 下载WMF Windows Management Fr ...
- [mark]C# 异常处理
https://docs.microsoft.com/zh-cn/dotnet/articles/csharp/programming-guide/exceptions/index
- AFN Post请求,报错400(code:-1011)
解决方法: 声明请求的参数格式是json, post的数据格式还是传字典. 声明代码: AFHTTPSessionManager *manager = [AFHTTPSessionManager ma ...
- windows下CreateDirectory创建路径失败的解决办法
第一: 权限不够: SECURITY_ATTRIBUTES sa;SECURITY_DESCRIPTOR sd; InitializeSecurityDescriptor(&sd,SECURI ...
- cf1172E Nauuo and ODT(LCT)
首先可以转化问题,变为对每种颜色分别考虑不含该颜色的简单路径条数.然后把不是当前颜色的点视为白色,是当前颜色的点视为黑色,显然路径数量是每个白色连通块大小的平方和,然后题目变为:黑白两色的树,单点翻转 ...
- Leetcode——863.二叉树中所有距离为 K 的结点
给定一个二叉树(具有根结点 root), 一个目标结点 target ,和一个整数值 K . 返回到目标结点 target 距离为 K 的所有结点的值的列表. 答案可以以任何顺序返回. 示例 1: 输 ...
- 理解ClassLoader工作机制
package com.ioc; public class Test { public static void main(String[] args) throws ClassNotFoundExce ...
- springMVC的注解@PathVariable是什么?详情及用法解析
在路由中定义变量规则后,通常我们需要在处理方法(也就是@RequestMapping注解的方法)中获取这个URL变量的具体值,并根据这个值(例如用户名)做相应的操作,Spring MVC提供的@Pat ...
- jumpserver_跳板机实操
首先,jumpserver是什么呢? Jumpserver 是一款由Python编写开源的跳板机(堡垒机)系统,实现了跳板机应有的功能.基于ssh协议来管理,客户端无需安装agent. 特点: 完全开 ...
- drf中的请求模块和渲染模块
请求模块:request对象 APIView request.py # 在rest_framework.request.Request实例化方法中 self._request = request 将原 ...