求如何能有效的降低线上问题

【产品】

平台产品非手机端,业务较复杂,每年大流量用户使用会聚集两个时间段。不太有压测需求,目前主要是业务比较复杂,发版测试点点点覆盖率比较低。

【求解问题】

测试人员增加的情况下,1、线上问题数量没有降低,发版的质量 2、不能有效模拟用户场景。想要集思广益,求解一些好的解决方案,能在手工的基础上,有什么比较成熟的方案能提升发版质量。 :roll_eyes:

求大佬们给点建议,啥方面的都行:自动化,发版测试方案,测试流程巴拉巴拉。

这个要明确一个点,就是你们的线上问题的种类

  • 新功能增加影响旧功能。这种问题就要要求测试人员对以前功能都回归一遍,当然更加有效的方案是自动化,提高效率;
  • 新功能漏测导致。这种就要多人review测试用例了,特别涉及到钱的业务,需要更加谨慎去考虑;
  • 撸羊毛/安全漏洞。这种估计就要一些线上监控去搞定了,不同业务规则不同,没有啥通用的方案。
    但是上线还是得有各种不同的监控,业务/性能/异常等等监控

线上问题主要原因是用户场景比较多变复杂
1、回归并不能完全覆盖用户场景,主流程肯定是没问题的,接口UI自动化更有效的也是做这种流程路径明确,易复现迭代频率低的功能,但是不太适合我们的情况。接口自动化没办法做复杂,因为没有完善的接口文档,UI直接排除,对于异常场景模拟用户场景不稳定的因素很多且迭代快的情况,UI自动化的高成本和低产出明显不适合。
2、原因都有吧,主要应该是代码关联导致。至于漏测,测试从前端点点点基本没有什么测试能完全保证新功能手工测试无遗漏。
测试用例,个人意见,其实对线上问题没有太多用处。线上的问题和2问题一致,一般不属于主流程功能性问题,且大多高频但不稳定复现。几人的测试团队,手工不可能模拟用户场景,涉及业务原因,从用户角度考虑也不能充分覆盖场景。
3、非这类问题,就是正常的用户使用场景,但是由于不熟悉系统或者设备原因(内外设,硬软件导致的问题都出现过),至于监控,,,这些都是研发搞的,不会有专职的测试开发去搞的,普通创业公司。

尝试解决咨询:大佬们说可以试下流量回放回归,有空准备看下。

用户场景复杂

  • 多考虑用户异常情景,涉及到测试用例的的设计以及多人的review
  • 接口考虑使用mock模拟复杂场景
  • 用户场景保留。能够生成用户行为日志(打点),手机用户使用场景的各种信息以及堆栈,通过用户反馈等上传日志,或者查看打点,来解决问题
  • 周总结。回顾一周用户上报的bug行为,总结分析

代码关联问题

  • 开发得有严格的自测,以及清楚改动影响的功能范围

感谢大佬建议,不过推动同事怎么写用例,多人review,让研发完善接口文档,让研发线上监控?让开发提供影响范围,让开发严格自测,这些我应该不太可能推得动。。
而且这些都需要比较完善的绩效挂钩,绩效评估,及问责惩罚机制,这些跨部门的东西哪怕给定方案和优缺及详细落地细节方案文档都比较难。。

周总结,讨论了其实真正解决问题的效果并没有多少。

想要的其实是流量回放这种(没用过),应该是比较好落地、且成本小、说服性,且对自己有些提升的东西。。

流量回放适用的是接口重构,然后对比之前接口返回和重构的接口返回必须一致,或者是接口量级太大,自动化维护成本高,套用流量回放解决,你们这种和流量回放感觉没啥关系。

测试质量提升,其实就是取决于你的用例设计和执行,自动化测试是为了提高效率,短期内对你的目标作用不大。提高业务覆盖,提高执行有效性是关键。

一些行业常见的做法

  • 利用代码覆盖保证业务覆盖,覆盖率分析、精准测试等手段可以
  • 利用业务逻辑建模保证业务覆盖,基于mbt方法进行测试,目前没靠谱的工具,需要自己开发
  • 利用数据回放保证业务覆盖,比如diffy 流量对比 数据回放等
  • 灰度发布,这种不太适合你们,但是其他公司用的很好

你可以用倒推法,先分析你的线上问题原因,进行归类总结,然后针对每个问题进行针对性的覆盖解决。想更好的解决复杂系统的测试,就必须对复杂系统进行建模分析,不然就是瞎测。

感谢思寒大大,简单了解了下涉及的东东,然后考虑了下,总结了问题和要做的事。

问题:
1、之前周总结讨论未有效果的原因主要是跟瞎测一样,也可以说叫做瞎讨论,没有目标没有策略没有结果。
2、流量回放学习成本和技术成本较高好像也没有比较成熟的方案,落地好像有很多问题需要解决;mbt测试,目前看资料较少在初期阶段,好像hw比较常用,且需要自己开发工具自动生成用例,对自己时间和难度都太大;短期内评估应该都不太适合
3、灰度环境确实感觉更适合c端产品,且目前技术那边也没有搞灰度环境

倒推法,想了下确实是更有效且易行的方法。

初步的做法:
脑图形式
1、根据对应线上问题,联系开发询问原因,整理复现路径和影响点,为根:保证相同问题不再出现
2、以1点为基础延伸出所属类别测试点,为枝:保证所属类别(大小类别)不会出现相关问题
3、以2点为基础延伸出关联业务类别测试点,为叶:保证关联依赖模块不会出现引发问题

以上针对复杂场景测试结合回归测试,两点结合自动化技术(可自动化的场景替代手工),最终达到目标。