最全测试质量的量化指标_量化单元测试的指标,软件测试入门

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

在不同的组织级别使用哪些度量标准?

在软件项目级别,开发团队可能会跟踪:

需求和需求覆盖——不同类型的测试实际上覆盖了多少用户遵循的工作流?

缺陷分布——在软件的不同部分发现了多少缺陷?随着时间的推移是否有进展?

缺陷打开和关闭的速度——发现一个缺陷需要多长时间,开发人员在测试过程中注意发现的缺陷的速度有多快?

测试执行趋势——哪些测试是由QA团队的特定成员执行的,哪些是由自动化测试框架或服务器执行的?

燃尽图——这是开发团队必须完成的工作量的可视化图。如果测试是一个单独的活动,燃尽图可以帮助管理层可视化他们距离完成一个版本的测试范围有多近。在敏捷团队中,开发和测试是一个统一的任务——一个故事在测试之前是不会完成的——所以燃尽图同时反映了开发和测试活动。

在部门级别,负责开发和测试的组织单位的领导可能会跟踪:

MTTD(Mean Time To defect)和MTTR(Mean Time to Recovery)——总的来说,组织检测缺陷的平均时间是多少,从影响软件用户的缺陷中恢复的平均时间是多少?

缺陷移除效率——在开发周期中有多少缺陷被识别,有多少被实际修复?

测试和缺陷趋势——在几个月到几年的跨度内,测试活动和缺陷的性质是如何随时间演变的?软件质量在提高吗?我们是否检测和解决了更大比例的缺陷,产品的成熟度和稳定性是提高了还是恶化了?

在公司层面,首席执行官、首席财务官、首席营销官或首席运营官可能会跟踪以下指标:

客户报告或体验的问题——影响组织客户的质量问题有多少,什么样的质量问题?随着时间的推移,这可以提供关于软件质量如何影响用户的“底线”洞察。

缺陷严重程度——在多个项目或产品中,缺陷对用户的影响有多严重?在发现和解决这些缺陷上投入了多少时间,这些时间是否被有效地花费了?例如,组织可能会发现某些产品或项目需要更多的测试资源,因为它们表现出更严重的缺陷,会损害客户满意度和收入。

MTTR和MTTD——在组织层面,发现和响应影响客户的缺陷需要多少时间?

系统中断和停机时间——系统运行中断的频率和持续时间?随着许多软件公司过渡到SaaS交付模型,这些指标变得越来越重要。

在发布前/发布后修复bug的成本——在软件版本发布前和发布后修复发现的问题花费了多少精力?众所周知,bug发现得越晚,解决它们的成本就越高。这个度量可以帮助组织了解在生产中修复一个错误的成本有多高,并且通过扩展,更好的测试来更早地发现缺陷的ROI。

瀑布与敏捷环境中的度量

瀑布模型采用一种非迭代的开发方法,每个阶段都需要在下一个阶段开始之前完成。

在传统的瀑布环境中,测试指标包括:

产品质量——一旦开发接近瀑布式项目的末尾,就会有一致的努力来测试和稳定软件,以达到能够交付给用户的质量水平。

测试有效性——测试有高价值吗?测试团队在发现相关缺陷并帮助开发团队理解和解决它们方面的能力如何?

测试状态——计划了多少测试,运行了多少测试,还有多少测试?

测试资源——在测试组织中,产品或项目有哪些可用的资源,它们的使用情况如何?

在敏捷环境中,一些适用于测试的通用开发指标是:

冲刺燃尽图——帮助团队可视化当前迭代中剩余的工作,以及扩展,还有多少测试需要完成。

工作测试功能/运行测试功能的数量——持续添加到软件中并进行充分测试的功能或敏捷“故事”越多,项目就越健康。

速度——开发团队完成新功能的速度。更快的进展是可取的,但应该与监测技术债务相结合,以确保团队不会在跳过最佳实践或留下质量差距的情况下竞相完成功能。

累积流程——帮助可视化敏捷过程中的瓶颈。特别是,帮助团队可视化测试资源是否足够,以及测试是否放慢了开发周期。

挣值分析——一种成本估计方法,可以帮助确定软件测试作为一个整体的经济价值,以及在单个任务级别上,特定测试是否具有成本效益。

一些具体的敏捷测试指标包括:

自动化测试覆盖率的百分比——度量由自动化测试实现的测试覆盖率占手动测试和自动化测试总数的百分比。这表明了敏捷组织的成熟。

代码复杂度和静态代码分析——使用圈复杂度或其他形式的自动化分析来衡量代码质量。

在生产中发现的缺陷/已逃逸的缺陷——统计在发布日期之后发现的给定发布的缺陷。显示交付给最终用户的软件质量的“底线”指标。

缺陷类别——按组划分的缺陷数量;比如功能错误、通信错误、安全漏洞、性能缺陷。他可以帮助敏捷团队确定导致最终用户80%问题的帕累托20%缺陷。

缺陷周期时间——度量从开始修复一个缺陷到完全解决该缺陷之间所经过的时间。敏捷控制图可以帮助直观地表示敏捷周期内解决任务的速度。

缺陷溢出——度量在给定的冲刺或迭代中没有得到解决的缺陷的数量,以及从一个冲刺溢出来的缺陷的数量,以便在下一个冲刺中得到解决。

手动测试和自动测试使用哪些测试指标?

测试自动化已经席卷全球,人们普遍认为,如果没有广泛的自动化测试,敏捷开发将是不可能的。然而,仍然存在手动测试的空间。对于敏捷团队来说,将关键的验收测试、复杂或敏感的用户故事交给人工测试和分析是很常见的。

传统上,不同的度量标准被用于测试手动和自动软件测试。

手动测试指标

测试用例执行——测试团队或单个测试人员在特定的软件版本上运行了多少测试用例?

测试用例准备——设计了多少测试用例脚本来覆盖软件功能?

缺陷度量——关于年度测试人员发现的缺陷数量和性质的各种度量,包括:

  • 缺陷优先级

  • 缺陷严重程度

  • 缺陷逃逸率——在软件发布之前,手工测试人员无法识别的缺陷的百分比。

测试自动化度量

测试总持续时间——运行自动化测试所需的时间。这很重要,因为测试通常是敏捷开发周期中的瓶颈。

单元测试覆盖率——度量单元测试覆盖了多少软件代码。这个指标给出了软件代码库被广泛测试的大致近似值。

路径覆盖——测试覆盖的线性无关路径的测量。路径覆盖需要非常彻底的测试;程序中的每条语句都至少执行一次,覆盖全路径。

需求覆盖——显示测试了哪些特性,以及有多少测试符合用户描述或需求。测试自动化成熟度的一个非常重要的度量,因为它跟踪交付给客户的特性中有多少是由自动化覆盖的。

通过或失败的测试百分比——统计最近通过或失败的测试数,占计划运行的测试总数的百分比。该度量提供了测试进度的概述,这很容易在构建、发布或时间段之间进行可视化和比较。

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

阶课程,涵盖了95%以上软件测试知识点,真正体系化!**

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目录 一 软件测试 从零开始 5 1.1 引言 5 1.2 测试准备工作 5 1.2.1 向有经验的测试人员学习 5 1.2.2 阅读软件测试的相关书籍 6 1.2.3 走读缺陷跟踪库中的问题报告单 6 1.2.4 走读相关产品的历史测试用例 6 1.2.5 学习产品相关的业务知识 6 1.3 识别测试需求 7 1.3.1 主动获取需求 7 1.3.2 确认需求的优先级 8 1.3.3 加入开发小组的邮件群组 8 1.3.4 与开发人员为邻 8 1.4 测试用例设计 8 1.4.1 测试用例的基本格式 8 1.4.2 重用同类型项目的测试用例 9 1.4.3 利用已有的软件 Checklist 9 1.4.4 加强测试用例的评审 10 1.4.5 定义测试用例的执行顺序 10 1.5 测试用例执行 10 1.5.1 搭建软件测试环境,执行测试用例 10 1.5.2 测试执行过程应注意的问题 11 1.5.3 及时更新测试用例 11 1.5.4 提交一份优秀的问题报告单 12 1.6 测试结果分析 12 1.7 总结 13 二 软件测试的常识 13 2.1 引言 13 2.2 软件测试常识 13 2.2.1 测试是不完全的(测试不完全) 13 2.2.2 测试具有免疫性(软件缺陷免疫性) 14 2.2.3 测试是 “ 泛型概念 ” (全程测试) 14 2.2.4 80-20 原则 14 2.2.5 为效益而测试 15 2.2.6 缺陷的必然性 15 2.2.7 软件测试必须有预期结果 15 2.2.8 软件测试的意义 - 事后分析 15 2.2.9 结论: 15 三 浅谈软件开发中的注意事项 16 3.1 项目设计 16 3.2 设计变化和需求变化 16 3.3 代码编写 17 3.3.1 源程序文件结构 17 3.3.2 界面设计风格的一致性 17 3.3.3 编辑风格 17 3.3.4 命名规范 18 3.4 BUG修补 18 3.5 开发人员的测试 18 四 软件测试的若干问题 19 4.1 前言 19 4.2 博弈的各方 19 4.3 测试的过程 20 4.4 测试所具备的素质 20 4.5 自动化测试 20 4.6 测试的误区 21 五 浅谈功能测试用例模板设计 21 5.1 Excel 模版 21 5.2 测试用例状态转换分析 23 六 如何提高软件质量 23 6.1 什么是质量 24 6.2 流程对质量的贡献 25 6.3 流程与技术 27 6.4 全面质量管理 28 6.5 关注测试 29 6.6 成功的铁三角 30 6.7 国际上流行的质量标准 30 6.8 如何起步 32 七 ISO和CMM,我们该选择谁 32 7.1 管理水平的适用性 33 7.2 复杂度的适用性 33 7.2.1何谓研发过程复杂度 34 7.2.2 何谓组织机构复杂度 34 7.3 量化管理的适用性上 35 7.4 结论 36 八 如何做好单元测试 36 8.1 前言 36 8.2 组织结构应该保证测试组参与单元测试 36 8.3 加强单元测试流程规范性 37 8.3.1 制订单元测试的过程定义 37 8.3.2 单元测试工作产品必须纳入配置管理 38 8.3.3 必须制订覆盖率指标质量目标来指导和验收单元测试 38 8.3.4 加强详细设计文档评审 39 8.4 单元测试者技能的提高 39 8.4.1 加强对单元测试人员的技能培训 39 8.4.2 必须引入工具进行辅助 40 8.4.3 单元测试者加强对被测软件的全面了解 40 8.5 结尾 40 九 漫谈人机界面测试 41 9.1 一致性测试 41 9.2 信息反馈测试 42 9.3 界面简洁性测试 42 9.4 界面美观度测试 42 9.5 用户动作性测试 43 9.6 行业标准测试 43 9.7 小结 44 十 基于Web的系统测试方法 44 10.1 功能测试 45 10.1.1 链接测试 45 10.1.2 表单测试 45 10.1.3 Cookies测试 45 10.1.4 设计语言测试 45 10.1.5 数据库测试 46 10.2 性能测试 46 10.2.1 连接速度测试 46 10.2.2 负载测试 46 10.2.3 压力测试 46 10.3 可用性测试 47 10.3.1 导航测试 47 10.3.2 图形测试 47 10.3.3 内容测试 47 10.3.4 整体界面测试 47 10.4 客户端兼容性测试 48 10.4.1 平台测试 48 10.4.2 浏览器测试 48 10.5 安全性测试 48 10.6 总结 49 十一 为盈利而测试 49 11.1 引言 49 11.2 什么是软件测试 50 11.3 六个误区 50 11.3.1 误区一:忽视对正常输入的测试 50 11.3.2 误区二:忽视设计阶段的参与与评估 50 11.3.3 误区三:忽视测试计划与测试文档的建立及维护 51 11.3.4 误区四:忽视缺陷的分析,报告及跟踪 51 11.3.5 误区五:错误的测试目标及测试终止条件 51 11.3.6 误区六:不懂得合理调配使用测试人员的知识技能结构 51 11.4 软件质量软件测试 52 11.5 软件测试的经济目的 54 11.5.1 满足用户需求,提高产品的竞争力,最终提高产品的销售量 54 11.5.2 尽早发现缺陷,降低后继质量成本 54 11.6 何时应当停止测试 56 十二 整体性能测试剖析 57 十三 性能测试工具之研究 62 13.1 性能测试的意义 62 13.2 性能测试工具综述 63 13.3 性能测试工具的体系架构 64 13.4 虚拟用户产生器 Vugen 65 13.5 Proxy 二次捕获的问题 67 13.6 关联的问题 68 13.7 脚本的问题 70 13.8 Conductor 和 Player 部分 71 13.9 Conductor 和 Player 的技术要点 72 13.10 数据分析工具 Analysis 72 13.11 结束语 72 十四 性能测试原理及性能测试实例分析 73 14.1 软件测试中的性能测试 73 14.1.1 性能测试的含义 73 14.1.2 性能测试的分解 73 14.2 一个性能测试实例 74 14.2.1 被测系统 74 14.2.2 对被测系统进行性能测试 75 14.5 总结 80 十五 软件GUI测试中的关注点 80 15.1 不能不说的二个问题 81 15.1.1 软件测试中的“二八”原则 81 15.1.2 软件黑盒测试解决的问题 81 15.2 软件黑盒测试常见错误类型及说明 81 15.2.1 用户界面错误 81 15.2.2 功能性 81 15.2.3 人机交互 82 15.3 命令结构和录入 87 15.3.1 不一致性 87 15.3.2 “最优化” 87 15.3.3 菜单 89 15.4 遗漏的命令 90 15.4.1 状态转换 90 15.4.2 危机预防 90 15.4.3 由用户进行的错误处理 91 15.4.4 其他问题 91 15.5 程序僵化 92 15.5.1 用户可调整性 92 15.5.2 控制方式 93 15.6 性能 94 15.6.1 降低程序速度 94 15.6.2 缓慢回应 94 15.6.3 如何减少用户吞吐量 94 15.6.4 反应拙劣 94 15.6.5 没有提前输入 95 15.6.6 没有给出某个操作会花很长时间的警告 95 15.6.7 程序太多提示和询问 95 15.6.8 尽量使用简单命令和提示 95 15.7 输出 95 15.7.1 不能输出某种数据 95 15.7.2 不能重定向输出 95 15.7.3 与一个后续过程不兼容的格式 96 15.7.4 必须输出的很少或很多 96 15.7.5 不能控制输出布局 96 15.7.6 荒谬的精度输出级别 96 15.7.7 不能控制表或图的标记 96 15.7.8 不能控制图形的缩放比例 96 15.8 错误处理 96 15.8.1 错误预防 96 15.8.2 错误检测 97 15.8.3 错误恢复 98 15.8.4 边界相关的错误 99 15.8.5 计算错误 100 15.9 小结 100 十六 软件测试技术 100 16.1 软件测试基础 101 16.1.1 测试目标 101 16.1.2 测试原则 101 16.1.3 可测试性 102 16.2 测试用例设计 104 16.3 白盒测试 104 16.4 基本路径测试 105 16.4.1 流图符号 105 16.4.2 环形复杂性 106 16.4.3 导出测试用例 106 16.4.4 图矩阵 108 16.5 控制结构测试 108 16.5.1 条件测试 108 16.5.2 数据流测试 110 16.5.3 循环测试 111 16.6 黑盒测试 112

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值