,环境部署 配置 发布简介
-
何为质量,质量模型,质量量化指标,如何保障,保障手段,保障流程,如何提升,质量管控,质量追踪
-
为什么要做质量保障,质量监控
-
如何实施
-
实施中可能会碰到难点以及痛点
模具=>数据来了 => 立即就能装载验证??
开发的再快,也不如模版随便拼拼凑凑的来的快 -
协调 推动 落地的能力
-
数据可视化
用户行为数据,流程强控数据 -
能力可视化:
开发能力值,解决bug能力值(能力值总数为100)
测试能力值,发现bug数量,扭转时长,开发工具数,自动化能力(能力值为100)
…其它方面的能力值
基于各种能力值的匹配运算,得出质量的预估系数,风险预估系数…等关键系数,能得出数据上的支持
??如何获取这些能力值的参考基数??
基于经验的主观思考,是否可以把经验数据化? -
契约精神
-
质量预估值,风险预估值
-
通过客观的数据分析,而不是主观的判断;能够通过算法计算出质量值
-
分析数据的来源
-
项目交接的风险, 新手,
-
如何为整个流程节点赋能?(产品、开发、测试、…)
-
演习
- 质量标准(质量门径): 各家公司不一,bug率 bug数 有效无效 严重 线上问题 覆盖率等等
流程化 规范化 契约化 多重检验机制- 影响质量的因素: 各种数据指标分析把控。prd修改次数,视觉稿修改次数,开发时长,各种时间节点是否按时,上下游依赖,外部组件依赖,从业人员业务能力,环境部署,配置,可测性
风险可视化,风险消除- 完善质量细节,提供检验质量的平台或工具脚本,丰富检测质量的手段:既然做了质量把控,为何还会有线上问题?
用户story 空间 场景 连续行操作,而不是单一的操作- 质量系数预估,系数高则质量高,风险小
- 质量的监控ci/id
- 故障的注入,链路 参考其他行业的质量模式与标准
- 快速地搭建质量体系
质量模型
"质量特征–质量特子特征–度量因子"
ISO9126质量模型: 软件质量模型的6大特性和27个子特性
参考链接:https://blog.csdn.net/cwxxiayi/article/details/80288993
质量评估指标选择
选择合适的指标体系并使其量化是软件测试与评估的关键;
评估指标可以分为定性指标和定量指标
软件质量评估指标体系
- 功能性指标:
a 完备性
b 正确性
- 可靠性指标_____定量指标
a 可用度
b 初期故障率(crash率等)
c 偶然故障率
d 平均失效前时间(MTTF)
e 平均失效间隔时间(MTBF)
f 缺陷密度(FD) :隐藏的bug数
g 平均失效恢复时间(MTTR)
- 易用性指标
易理解 易操作 易学习
4 效率特征指标
时间特征和资源特征
a 输出结果更新周期
b 处理时间
c 吞吐率
d 代码规模
从互联网行业来说,我觉得质量包含两个方面:
- 产品的质量,软件+硬件的指标,可以从宏观角度看,就是我的产品(如一款app,一栋房子他的每个功能都完全按照需求实现,而且非常可靠耐用使用寿命长可扩展性强,而且分布式能力好),我们利用各种前后端架构,利用各种工具检测观察,很强的容灾能力,客户端也如此,
我们通过各种测试手段、测试类型、测试流程、测试框架、测试工具来保障硬件环境下、空间环境下(手机环境,PC环境、服务器环境)下APP或者服务的质量
总结来说:我们通过流程改进+技术改进+质量跟踪来高效率的保障产品的质量,并且能够应付快速的迭代;,
但是产品,他的体验并不能贴合用户,也没有给予用户很好的交互体验,那用户体验质量该如何保障,质量的依据又是什么呢?- toC的产品,我们应该一切以客户为前提,我们应该了解用户的使用场景、使用习惯、操作流程、客户喜好(颜色、感官)、时间与空间下的用户story,这些需要获取数据、采用数据来分析–需要为我们的质量提供数据支撑、数据模型、质量标准
质量好不好用户说的算、不在是传统的坚固耐用即可,要提供贴心的服务,初步考虑提高QA水平:
最基本的通过各种测试策略、测试框架、测试方法进行功能、专项、自动化、线上追踪、探索性、快速响应
a. 为QT或者QA的工作提供数据支撑,应该采集测试数据(比如埋点数据)
b. 基于数据分析用户行为,为设计测试用例提供支撑,丰富用户story
c. 技术手段+流程优化
质量保障体系,
- 测试左移 -> 研发自测,checklist,静态代码扫描、覆盖率、bug等流控各种指标 ==> 数据采集
- 测试关注点(用户特性-产品特性)、可测性、精准化测试、组装化测试…
质量预估,风险消除,节点把控、工具推荐、实时/历史数据看版(个人能力值,产品能力值) ==>数据可视化,数据指引策略- 测试右移 -> 监控告警,止损,回滚 ==> 数据采集
质量体系中,需要质量数据的采集,分析,可视化,指标化,流程化,规范化…
质量分析
质量分析:
- 提测时质量,测试期间的质量,上线后的质量
提测时质量:执行的一级Case通过率,冒烟Case执行不通过的比例。可以通过这两个数据发现开发的体测质量,针对体测质量差的业务线,可以通过增加核心冒烟用例的数量,且严格按照只能通过冒烟用例的需求才进入测试环节- 测试期间的质量:bug数/人日的比例,可以反应出该需求的开发质量,如果测试期间BUG数没有呈收敛趋势,则上线风险很大。通过复杂性大需求拆分成小需求,参加开发技术评审,帮助开发熟悉业务知识,增加用例评审环节可以帮助提高业务质量 ===> 需要一个能够对产品,开发赋能的平台,设计中…质量生态圈平台
- 上线后质量:crash率,服务可用率,线上问题。crash率和服务可用率都可以监控,超过阀值报警。通过整理top n的crash类型,梳理容易出现的场景和解决方案,和开发定期同步这些数据。对于复杂的需求,同组内进行测试用例交叉评审,减少线上问题率
我们有很多指标的。崩溃率的话百分制0.08就告警了;但是告警系统把异常分了很多种类,每个种类的异常占比超过预定的阀值了都会告警
同一条崩溃,昨天10%,今天占比猛增到20%,也会告警
流程可视化,质量可视化
质量指标
用户数据分析
Software Quality Management
It is a process that ensures the required level of software quality is achieved when it reaches the users,so that they are satisfied by its performance
涉及三个方面:
- quality assurance
- quality planning
- quality control
一、简介
软件质量简单来说,就是允许存在合理缺陷或者无缺陷,在指定的时间完成交付,并且满足需求,具备可维护性
包含两个方面:
- functional quality
functional requirement or specifications
提测质量 bug率 ,提测时间
测试期间bug率,bug解决时长,bug等级
bug发散趋势,是否可控
- structural quality
非功能性的一些需求,
拥有可持续交付的能力
可维护性,通用性
代码输出的高效性,提测时长,提测率
- Software Quality Assurance(SQA)
一系列的流程,建立并评估生产产品
a 项目前的交流:
需求评审 开发前,明确功能性 确保后期不一致 prd规范性
声明用户体验需求
明确项目计划,资源数据依赖需求
人力资源
明确开发风险
评估用户履行规则的能力
b 开发和质量 plans
开发计划主要考虑的因素:
日程
需要的人力和硬件资源
风险评估,风险消除
组织沟通协调问题
项目策略,开发工具
项目质量计划:
质量指标,具体的验收标准
开始和结束标准(提测标准,通过标准)
其它的一些验证计划行为
软件复用计划
-
Softwa Quality Control(SQC)
重点是确定产品的质量缺陷 -
push推动整合
角色:业务方 运营 产品 开发 项目 boss 其他产线人员
人数:角色*N
能力:push contact contract 效能提升 整合
指标:
数据:
规模:规范化 流程化 工具化 自动化 平台化 监控化 可视化 智能化 多重check机制
趋势:机器学习(预估风险性,完成性,趋势性) AI 深度学习
快速小范围批量化的校验并得出最终结果