原文:
背景介绍
这几年我一直从事分布式存储产品的测试开发工作,伴随着产品的第一次上线,第一次升级,一直到今天。期间参与发布了无数个版本,支持着海量的用户对我们存储产品的需求。
想写一篇文章,总结下自己的工作,记录工作中的一些心得。
如果有人能从中获得一些启发或者收获,那将是我莫大的荣幸。
主要讲几个方面:
测试角色在整个分布式存储产品发展过程中的变化
分布式存储产品的测试实践
测试实践碰到的问题
一点心得
测试角色的改变
一般来说,一个项目中会有如下几种角色:产品经理,开发工程师,测试工程师,运维工程师和项目经理。
项目的开发流程:
产品经理收集用户的需求,分析用户的业务场景,反馈给开发和测试工程师
开发和测试工程师讨论需求,定义上线的功能以及验收标准。
项目经理制定项目计划,跟踪项目进度。
开发工程师开发完代码后交给测试工程师。
测试工程师测试完成后,交给运维工程师上线。
运维工程师发布上线。
我的测试角色在产品的不同时期有着不同的分工。
一:测试角色在不同产品时期的不同分工
整个分布式存储产品的发展主要分为两个阶段:
阶段一:产品初期的快速迭代与发布
1个集群
2个开发, 1个测试, 1个运维, 1个产品兼项目经理
1个星期每天发布
特点:集群少,用户量少,访问量少,功能少
侧重点:快速开发和迭代,主要是满足功能需求,允许试错。
在这个阶段基本都是以快速发布为准。
开发的功能比较单一,1个测试基本能满足业务需求。
问题:
由于时间紧迫,测试只能有所取舍。
没有规范的流程,导致问题也比较多,需要修复。
再加上新需求,引入更频繁的升级和测试。
陷入一个恶性循环。
测试角色:
这个阶段,测试主要是执行测试用例。开发在完成单元测试后,基本不承担测试任务。
阶段二:产品稳定期的迭代与发布
数十个集群
10+开发, 1个测试, 3个运维, 2个产品, 1个项目经理
2个月发布一次
特点:集群多,用户量多,访问量多,功能多
侧重点:产品的稳定性。不允许试错。
问