admin 管理员组 文章数量: 1184232
文章数量: 1184232
某位高人曾说过:日复一日地重复着既有的测试,然后被类似的Bug折磨得无可奈何,不如稍作停顿,分析总结找到Bug的源头,以除之。本篇文章我们就来聊聊如何通过可视化的数据进行分析,进而提升测试质量。
为了让产品的质量可度量、可视化,我们可以建立一些指标数据,以帮助我们发现产品质量的各种问题,比如:被测功能模块发现Bug太晚,某位开发同学的代码质量一直很低,某个功能总是在兼容性方面存在大量问题等。有了问题之后,我们就可以有针对性地进行改进,有的放矢,从而使得被测产品的质量逐步改善。以搜狗的项目为例,我们建立的指标有以下三个方向:Bug、代码行和漏测问题数量。
关于Bug的指标
Bug是软件开发过程中最基本的问题载体,在这一方向,我们可以细化为几种数据指标,例如:
1.Bug数量分布(功能模块维度):
按照功能模块维度,分别统计Bug的数量(也可以是严重Bug数量)情况,该项指标用以反映哪个功能模块的质量情况最低。例如:搜狗输入法有语音输入、拼音输入、手写输入,分别统计某个版本这三个模块的Bug情况。
解释说明:
首先我们可以判断Bug数量高的模块是否合理。如上图所示,本次版本开发主要实现和修改的是语音功能,那么Bug数量多是合理的。
其次我们可以有针对性的部署测试策略。语音功能的问题数量较多,功能比较复杂,只是按照既有的测试计划可能模块质量覆盖不够全面,所以我们有针对性地对这个模块进行二轮、三轮甚至四轮的回归测试,或者安排更多地人力。
2.Bug数量分布(开发人员维度):
按照开发人员维度,分别统计每个开发人员所产生的Bug数量情况,该项指标用以辅助评估开发人员的代码质量情况。
这一指标可以帮助我们了解哪位开发的Bug修复压力最大(压力越大,连带Bug的可能性也会越大),测试人员可以留意对应开发的Bug修复率。
如果某位开发的Bug数量常年居高不下,测试人员就要注意小心了~~。
需要特别说明的一点是,Bug数量不能作为唯一评判开发人员代码质量好坏的数据,Bug数量是与开发人员提交代码量和模块复杂度成正比的,综合地查看Bug数量和代码提交量是比较可行的方法。
3.Bug易发现分布(功能模块维度):
Bug易发现是指一个功能模块在用户可触及的主路径上就会遇到的Bug,例如:在输入法的键盘上按下语音键进行语音输入时,功能不能使用。该指标用以统计提测模块的开发自测情况,数据越多说明提测时质量越差。
4.Bug易发现分布(开发人员维度): 同上,以开发人员维度进行分析统计。
5.Bug往返率(开发人员维度):
该指标用于统计Bug在缺陷管理系统中的来回指派数量的情况。比如:某Bug在开发人员A和测试人员B之间来回指派了3次,那么则统计开发人员A的Bug往返平均数量。
6.Bug发现的阶段:
该指标可选项有预测试、一轮测试、二轮测试、回归测试、上线前测试、上线后几个可选项,它用于体现Bug的发现时间段。
预测试一般是开发提测后进行1天的测试,用以评估提测的版本是否符合测试的要求。如果大量的Bug在预测试阶段发现(甚至是阻塞的Bug出现),说明提测版本的质量可能不好,这就需要督促开发给出质量更高的版本提测,以节省Bug沟通处理的成本,从而大大提升测试效率。
正式提测后,按照预期的效果,我们希望是大量的Bug在一轮测试阶段发现,少量的Bug在二轮测试阶段发现,极少量的Bug在回归测试阶段暴露。但是实际情况可能有所不同,如果二轮和回归阶段的Bug数量很多,这有可能是测试人员的测试方法、测试策略有问题,导致Bug暴露发现得比较晚;也可能是开发修复Bug时连带其他Bug数量多,这间接反映了开发修复Bug的方式方法可能有问题。
7.Bug产生的原因:
这一选项是Bug在提交测试验证时,由由开发人员填写的字段,该字段可选内容有:服务器问题、第三方SDK问题、适配性问题、UI显示问题、程序逻辑问题、性能问题、沟通不足问题、需求理解问题。(具体字段可选项可根据实际项目进行设定),这一指标用来辅助开发人员分析Bug产生的原因。
服务端问题(本例因为是客户端程序,所以选项中有服务端问题)如果存在大量的Bug,这说明服务端的质量控制不足。
第三方SDK问题。因为App一般会使用其他方提供的SDK直接调用,对于SDK的质量情况可以通过该项指标数据来暴露,如果问题集中且较多,后续应该推动SDK方提升其质量品质。
沟通不足、需求理解问题一般是工作配合类问题,如果是此类问题集中,应该重新评估整体项目流程运转是否正常有效。
关于代码的指标
借助功能强大的StatSVN,我们可以方便地统计出与SVN相关的各种数据指标,如:每位提交者的情况、每月的代码提交情况,代码修改占代码总数的百分比、每天中哪几小时比较活跃、每周哪几天比较活跃、文件数量统计等,关于StatSVN的介绍网上有很多使用教程,本文不再赘述,请感兴趣的同学自行"搜狗 StatSVN"即可。
千行代码Bug率:
在搜狗输入法项目我们主要使用了StatSVN的一个数据项:开发人员代码行数量,再结合上述1中的Bug指标数据,我们可以得到一个新的指标数据:千行代码Bug率,该指标用于侧面体现开发人员的代码质量情况。
这一指标数据会定期发送给开发Leader,以便开发Leader对其下的开发人员质量情况有一个清晰的认识,同时也会督促开发人员提升代码质量意识。
关于漏测问题的指标
除了测试环节Bug及代码的统计分析,对于上线后用户反馈暴露的质量问题,也应加以统计分析。在搜狗测试部,我们通过Bug总结流程来进行这一环节的数据录入和统计。(Bug总结具体的流程和方法请见推文【质量管理改进】Bug总结流程)
1.漏测问题数量分布(模块维度)
该指标从功能模块的维度,对线上用户反馈的问题进行统计分析,例如:搜狗浏览器的线上用户反馈数量最多的问题是浏览网页这一功能。
2.漏测问题原因类型:
根据以往的工作经验,我们将线上用户反馈的问题归为以下六大类,每一大类下细分小分类。
序号
问题分类
问题小分类
1
需求了解不足
需求沟通不到位,理解出错,多方理解不一致
2
未通知导致测试不知情
3
产品未考虑周全(例如多个入口的需求,双拼方案英文修改为中文)
4
测试范围确认不足
测试角度,范围确认有误
5
测试角度,范围确认无误,开发修改影响到不相关模块
6
用例设计不足
设计层面了解不足(灰白盒)
7
基本用例设计方法考虑不足
8
测试经验,测试发散度不足.
9
容错性和异常环境考虑不足
10
模块间相互影响考虑不足
11
兼容性问题考虑不足
12
测试执行疏漏
13
上线出错
开发上错代码
14
相关数据、接口未同步更新
15
其他
开发误操作
16
不是问题
17
已知问题
通过分析线上漏测的问题原因,可以发现测试、开发或者流程上的不足,以PC浏览器的分析为例:
浏览页面功能是TOP1被用户反馈的功能模块(这也符合浏览器最主要的功能就是浏览网页),进而发现这一功能出现问题最多的是兼容性站点的问题,或者是用户的测试环境比较复杂特殊导致的。
(882590) : 【问题类】打开某链接会稳定崩溃 (Google Doc)
(832095) : 【问题类】玩4399的小游戏时狙击枪不能开镜
(967951) : 【问题类】交通银行信用卡页面首次打开时输入框和验证码输入界面显示不全
基于以上的数据分析,我们重新制定了详细的浏览器站点兼容性测试方案,每个版本加大兼容性站点的测试,在测试阶段即发现了大量的Bug。
总结
作为项目管理者,我们可以通过分析项目每个版本的Bug数据、代码行数据、漏测的问题数量,发现数据背后的问题(开发问题、测试问题、流程问题等),针对问题寻找解决方案并实施,从而提升整个产品的质量控制。
本文标签: 质量 测试 数据
版权声明:本文标题:通过可视化数据分析提升测试质量 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/b/1754897262a3048385.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
在使用电脑的过程中,我们会使用文件夹来管理各种文件,避免电脑数据混乱。而为了保护文件夹的数据安全,我们需要加密保护文件夹。下面我们就来了解一下文件夹加密的方法。电脑文件夹加密方法EFS是微软提供的数据加密方式,
一、爱思刷机后有开屏密码嚒 使用爱思助手进行刷机操作后,设备上的锁屏密码将会被清除。这是因为刷机过程中会重新安装操作系统,从而移除所有之前设置的密码和用户数据。但是,如果在刷机过程中勾选了“保留用户资料刷机”的选项,那么刷机完
转载至: 一、什么是4K对齐 固态硬盘和机械硬盘不同,固态硬盘的日常流程是【读】→【擦】→【写】。简而言之就是SSD不能覆盖存储区的数据,它先把原数据擦除,然后再写入新数据。最小的读写单位被称为“页”、最小的擦除单位被
“每个人都有手滑失误的瞬间,而我的这个瞬间恰好发生了清空回收站。回收站清空后我的文件还能够找回来吗?请大家给我支支招,非常感谢。” 回收站是每一部电脑都会有的一个系统文件夹,它是电脑删除文件数据的“审判所”,除了文件被执行了永
在Python中,temp是一个常见的命名约定,通常用于表示临时变量或临时存储数据的变量。"temp"一词是"temporary"的缩写,意味着它只是用于暂时存储数据,而不是长期使用。 在编程
前言: 弹幕是了解观众真实反应的绝佳窗口,无论是:
平时上网延时丢包影响不大, 但对网络对战玩家那就完全不能接受了,下面小编教大家怎么测试网络延时时间,以及查看网络丢包情况,供大家参考。 同时按下键盘中的Win + R 组合快捷,如下图所示,注意小编的电脑是win10 PRO版
在操作系统级别,剪贴板允许应用程序之间传输数据。 在现代web应用中,提供 复制、 剪切、 粘贴等与剪贴板交互的功能已成为标配,极大的提高了用户的便利性。
简介:Windows剪贴板是操作系统中用于不同程序间传递信息的核心组件。本文将介绍其基本概念、格式多样性、clipbrd工具的功能及使用方法,以及HTML FORMAT与剪贴板的交互。剪贴板工具对于开发者、故障排查和用户体验研究等场景
剪贴板介绍 我们这里以 Windows 为例进行说明,其他桌面操作系统类似。 Windows剪贴板是Windows操作系统中一个非常基础且强大的功能,它允许用户在不同应用程序之间复制和粘贴文本、图片、文件等数据。剪贴板
至于流程和步骤就不写了,主要是记录我导出时粗心遇到的问题 本地导出xml格式的文件 原因是因为获取xml文件方式不同,我一开始是用的改后缀为zip格式然后找到xml文件再改成ftl文件,但是那样获取的xml文件会缺少特别
卧槽!黑客圈子里都在偷偷用的神兵利器,你竟然还不知道?友情提示:本文仅用于提升自身安全技能,切勿用于不正当用途哦!在网络安全的世界里,各种奇奇怪怪的硬件设备层出不穷,它们就像黑客手中的“倚天剑”和“屠龙刀”,威
一些常用的VPS性能测试脚本,部分经过实际测试,基本可以正常使用,关于脚本测试出来数据的准确性,需要自行甄别,仅供参考。 本站所收集的一键脚本均来自网络,不对其收集的脚本负责,请注意保管并备份资料,建议多尝试几个脚本进行测试。
64位系统和32位系统的区别:操作系统只是硬件和应用软件中间的一个平台 32位操作系统针对的32位的CPU设计 64位操作系统针对的64位的CPU设计 我们的CPU从原来的8位,16位,
NRG 文件是光盘映像文件的一种,通常用于存储光盘的完整副本,包括数据、文件系统和光盘的结构。在本文中,我将向您介绍如何打开和编程处理 NRG 文件。 要处理 NRG 文件,您可以使用开源的工具或库来读取和提取其中的数据。下面
首先是8个字节的文件头。 CR2的前2个字节是"II",代表INTEL格式的存储顺序,即低字节在前,高字节在后。 接下来是固定的2个字节:0x2a00。 最后的4个字节的整数是指向第一个IFD(I
1 今日内容 1.1 定时计算与实时计算 1.2 今日内容 kafkaStream 什么是流式计算 kafkaStream概述 kafkaStream入门案例
电脑硬盘坏了数据可以恢复吗?对于这种问题,还需要具体问题具体分析的,一般是可以恢复。 硬盘损坏可以分为物理损坏和逻辑损坏两种情况: 1.逻辑损坏 这通常是由于软件问题,如文件系统错误、病毒攻击、误删除、格式化等
一、Application Data简介Applicaion Data相当于桌面应用的注册表,存储一些用户配置信息,如运行时状态,用户喜好等,需要注意的时, 当卸载应用时,这些数据会被删除,所以不要存储重要数
在数字化时代,数据的重要性不言而喻。无论是个人用户还是企业,每天都要和大量数据打交道。当我们面临磁盘管理或数据恢复的需求时,我们需要一款可靠的工具来帮助我们管理磁盘空间和恢复丢失的数据。DiskGenius作为一款广受欢迎的磁盘管理软
发表评论