性能测试如何创造业务价值
写这篇文章的初衷来源于朋友圈CC的动态:“今年很多写测试工具平台没有成就业务价值的同学,被落入自由市场了”。我俩在评论区交流了下性能测试如何成就业务价值的问题。
当然,CC这条动态感触来源于前几天infoQ的一篇文章:《今天很多 CTO 都是被干掉的,因为他没有成就业务》。这篇文章开篇词如下:
我可以丝毫不开玩笑地说,今天,很多传统企业里的研发都只是“工人”,哪怕是 CTO,充其量也只是“高级工人”,如果不转换思维去成就业务,就只能停留在工人级别“计件制”的竞争,迟早被裁掉。
以下内容源于我和CC的交流内容,我做了系统性的整理和观点延伸,仅供大家参考。
如何看待技术和业务的关系
做技术的同学对这点应该很熟悉的,面试或者同行交流时,都会说要懂技术还要懂业务,或者基于什么业务场景,采取了什么技术方案,解决了什问题。
所以技术和业务的关系在我看来挺简单的,互相成就而已。我理解的技术和业务的关系,用一句话概括就是:技术是为业务目标达成提供支撑和效率工具,业务目标更好的达成对技术有更高的要求。
业务的目标:运营业务增长
常见的业务场景,具备的几种特性:
- 业务可视
- 业务的可视,简单理解就是业务的状态,处在什么阶段,目前的效果可以直观的以可视化的状态来呈现,常见的场景就是业务监控大盘(想想监控大盘需要技术做什么?数据采集/数据存储/数据展示)
- 业务可管
- 最常见的就是一些促销活动的配置,比如活动时间、涉及的商品/优惠券、用户类型以及标签体系(这里又需要技术做什么呢?活动会场搭建工具/优惠信息缓存/活动消息推送)
- 业务可控
- 业务可控也可以通过字面意思理解,即:各个业务维度的运行监控/业务配置发布回滚以及防资损;
- 业务可优
- 这一点,我们现在最常见的有电商的千人千面,短视频的智能推荐、针对不同等级会员的优惠营销体系等;
技术如何支撑业务运营增长
从上图可以看出,常见的业务运营流程中,每个阶段每个环节都对技术部门提出了挑战:
- 从需求提出到发布
- 研发成本、研发效率、交付质量;
- 从下单到订单履约
- 提高业务成交履约率(撮合交易/成单匹配/留存转化);
- 业务活动的营销推广
- 活动搭建、抽奖&优惠券&营销短信等方面的快速响应;
- 线上故障的快速发现解决
- 监控告警、问题定位、风险评估、线上服务的SLA;
如何理解技术创造业务价值
技术的目标:支撑业务运营
业务本身的特性主要有如下几点:
- 精细化运营(需要准确的数据);
- 成本和效率(更低的成本和更高的收益);
- 更好的服务用户(需要快速高效的解决用户的痛点问题);
- 新的业务可以快速落地验证(需要高效的技术响应和技术支撑);
而上述几点业务的特性,都对技术提出了很多的要求!
技术支撑业务运营增长案例
上面讲了这么多业务的特性以及技术对业务运营支撑的重要性,这些内容可以用下面这张图概括:
性能测试如何创造业务价值
上面的内容来源于我之前的一篇文章《全链路压测的价值是什么》。
基于我和CC的交流的内容,接下来谈谈性能测试如何创造业务价值,我会通过几个问题来阐述我的观点。
性能测试出现的初衷
先思考一个问题:我们开展性能测试的初衷或者说需求从何而来?
可能是线上用户反馈APP响应太慢,可能是财务或成本部门反映IT的硬件成本太高,也可能是某次业务运营活动由于系统无法及时正确的处理导致了业务目标未达成(问:双11零点线上系统挂了是什么体验)。
这些问题归类来说,都是源于用户和业务的痛点或诉求:
- APP响应太慢:想办法提升处理速度;
- 硬件成本太高:想办法降低硬件成本;
- 业务目标未达成:想办法提升系统稳定性;
为什么要做性能测试?
从性能测试的几个关键指标展开来讲,性能测试中大家最关心的是TPS/RT/资源使用率。
TPS即每秒事务数,表示既定配置下某个服务单位时间内的处理能力。
RT也有平均RT/99RT等,是从不同的维度衡量系统处理单个请求的耗时。
资源使用率即运行于某服务器上的服务在处理请求时所耗费的资源。
当然还有请求成功率这个指标,该指标主要用来衡量系统处理请求的成功率和异常请求的容错能力。
从性能测试行为来看,性能测试目标是在尽可能提升系统处理能力&异常容错能力/降低请求耗时的同时,追求资源耗用达到最低。
性能测试创造了什么价值
接着上文继续聊,用户有反馈,财务有诉求,业务遇到了痛点,怎么办?想办法解决问题!
用户反馈慢,那就通过性能测试不断的调优验证,提升单位时间内的处理能力,降低处理耗时,提升用户体验。
财务反馈成本高,那就提高既定配置下服务器的资源利用效率,用更少的资源处理更多的请求,降低硬件成本。
业务遇到了痛点(技术导致业务目标未达成),就想办法利用技术手段解决业务的痛点。
总结一下就是“降低成本/提升用户体验/保障业务目标达成”,这就是所谓的业务价值!
性能测试创造价值的前提
前面我提到了技术是为业务目标达成提供支撑和效率工具,性能测试可以直接或间接创造业务价值,但并不是说有工具就能创造正向的价值。
正如我和CC交流的对话:
CCTester 回复 老张:我觉得性能测试只要做起来还是在成就业务价值的。
老张 回复 CCTester:这需要满足几个条件:企业有需求,有资源投入,有看得见这个价值的领导支持,有不断迭代前进的流程规范和技术体系建设。否则性能测试依然是低端run工具水平。
其实技术要创造业务价值很简单,只需要遵循这几点:
- 发现业务痛点;
- 找到合适的方案;
- 用更低的成本更高的效率更好的解决业务痛点;