性能测试从零开始实施指南——文档建设篇
上篇博客,介绍了性能测试从零开始实施如何制定流程。开始本篇博客之前,让我们先回想下在你的工作经历中,是否遇到过下面的一些问题:
1、要做接口测试,找开发要接口文档,开发告诉你没有接口文档,要么自己去看代码,要么抓包;
2、来了新同事,领导要求你带带新人,由于历史原因,没有最新的PRD、没有流程规范等各种文档记录,你只能口头去告诉新人你们的流程规范、遇到什么问题该找谁;
3、线上出问题了,可能是开发的某个配置出错了,可能代码合并时没有提交最新的代码,可能测试用例没覆盖到漏测,可能需求描述不清导致实际的功能和预期有偏差;
4、产品说这里改改,就加一个按钮,不影响功能,开发同学改了,测试同学不知道就上线发布了,结果出问题了,事后追溯下来,发现就是新增的按钮导致;
5、其他。。。。。。
如果上述的问题你都遇到过,那么恭喜你,你已经脱离萌新阶段;如果还没遇到过,那你就该打起精神注意了,上述的问题会给你的工作造成很大困扰,无论现在还是将来。
首先声明,这里的文档建设,不仅仅是传统意义上的Word、excel、PPT,还包括看板、在线wiki等方式,文档建设的核心是“约定大于配置!”
约定大于配置,就是尽量按照既定的、大家默认遵循的原则规范来执行,而不是口头约定,互相点头就行。
当然,这里的约定,不是说严格遵循不能逾越,它可以根据具体的情况进行的调整,但要及时通知相关人员新的约定。
这篇博客,我们就来聊聊,性能测试从零开始实施,该如何开展文档建设的相关工作。。。
一、文档建设目的
1、制定工作开展的流程、各岗位职责以及执行参照准则;
2、降低工作交接、沟通的成本,提高效率;
3、便于事前、事中、事后快速回溯追踪;
4、降低“口头说明”带来的风险;
5、有工作产出,为了“KPI”;
二、文档范围
性能测试方面,按照重要性和快速落地原则来排序,主要的文档包括如下几种:
三、文档说明
1、流程规范
①、性能测试流程:没有规矩不成方圆。流程规范的重要性在上篇博客:性能测试从零开始实施指南-流程篇已经详细介绍了,这里不再赘述。
②、发布上线流程:性能测试工作完成后,发布上线的流程一般都是遵循技术部门自定的流程,但有一点需要注意的时,由于性能测试优化有时会涉及到一些配置参数或者策略的变更,
在上线发布时,一定要验证是否按照优化后的配置策略进行上线发布,如果遗漏可能会造成很严重的后果(本人之前遇到过好几次,导致某些核心流程由于线上流量较大服务重启)。
③、问题处理流程:在性能测试过程中,会遇到很多问题,比如数据失效、主要职责人没空或请假、线上性能问题等,要针对性的出具应对策略,防止性能测试工作推进block。
2、方案报告
①、性能测试方案:测试方案的重要性不言而喻,需要多方达成一致,才能执行;当然,在测试流程规范中,就应该体现出这点。性能测试方案主要包含如下信息:
②、轮次小节:这一点其实很重要,每个小阶段执行完毕,建议将本轮的测试结果告知相关人员,便于工作进展沟通。
③、性能测试报告:作为性能测试完成的标志和重要产出物,性能测试报告需要对系统线上容量规划提供重要的参考数据。性能测试报告主要包含如下信息:
3、技术规范
①、环境管理规范:性能测试的执行环境,按照真实可靠性来排序,生产环境>独立性能测试环境>测试环境(即UAT/SIT),但综合考虑风险、成本、有效性来说,
独立的性能测试环境是最平衡的选择,为了测试结果的准确性和快速部署监控,环境的有效管理就显得很有必要。
②、脚本编写规范:性能测试工具各有各的优缺点,但不合理的使用方式,往往使得测试结果和实际差距太大,而且会遇到很多莫名其妙的错误。
当然对于高级资深的性能测试人员,这种犯错几率较低,但还是建议针对性的出具一份工具使用说明,对常见的组件使用方法进行规范。
4、细则说明
①、测试策略说明:性能测试有很多测试策略,不同的策略测试结果都有区别,比如基准和容量测试,稳定性和高可用测试,针对不同的测试目的,采用不同的合理的
测试策略是很重要的,这也很考验测试人员的经验和技术。当然,还有一部分原因是向其他相关成员说明不同测试策略的方式及原因,降低沟通障碍。
②、测试数据准备说明:性能测试过程中,测试数据的准备工作往往能占据10-20%的时间,而且数据的准确性有效性很重要,否则会导致测试结果南辕北辙。
建议出具一份测试数据准备说明,主要包括埋点数据、热点数据、参数化数据以及数据准备方式,比如生产数据拖库过敏、脚本批量插入等。
5、培训文档
①、性能测试宣讲:我们不能保证性能测试的各个参与人员(开发、运维、项目经理、产品)对性能测试的认知保持一致(当然实际情况是有时候甚至不了解)。
因此建议在性能测试开展推进的初始阶段,大概1-2个月时候,进行几次性能测试常见术语、测试策略、职责的宣讲,尽早达成一致性认知,降低后期的沟通成本。
②、测试平台使用说明:随着公司业务面临的流量越发增长,初期的只利用压测工具进行性能测试执行已经无法满足工作需要,性能测试平台这时候就该亮相了。
当平台开发投入使用后,建议编写一份使用手册,便于平台使用人员快速上手(测试平台这个太远,这里只是提及一下,别放在心上233)。
6、新人手册
①、新人手册:当团队渐渐人员不断变多时,如何让新人快速熟悉工作,就是需要考虑的问题。这个时候,建议编写个新人手册,主要介绍下如下几点:
相关账号开通、权限申请、各系统地址、负责人等信息,然后将上述的文档给他,有疑问及时解答,这样一方面新人有事可做,另一方面,你也不必为了在口头教和自己的职责工作之间头疼。
四、建设方式
除了常规的office三件套,现在还有很多在线wiki(比如Confluence),协同办公软件可以来帮助你进行文档建设工作。
五、文档扩展
上面主要介绍的都是性能测试相关的文档建设内容,如果上升到整个技术部门呢,我们应该做哪些文档建设工作?下面是一些常见的文档规范类型:
1、工作计划
本月、本季度、本年工作规划
2、各项流程
研发流程、测试流程、发布流程、问题处理流程、紧急事件应对流程
3、技术规范
java代码规范、mysql规范、接口文档规范、环境管理规范、Git使用规范、运维规范
4、相关文档
组织结构、业务架构、系统架构、需求文档、设计文档、排期计划、问题统计、培训手册
PS:关于文档建设,延伸阅读推荐《阿里巴巴java开发手册-第七节:设计规约》。
以上,为性能测试从零开始实施指南——文档建设的一些个人总结和看法,内容仅供参考。。。