背景:
最近自己主责的一个项目即将上线,在上线前遇到了棘手的难题,正常情况下,系统无明显的报错问题,可以先上线进行试运行,结合使用中的问题一起进行修复、优化。
但由于前期客户在测试我们交付的系统时,测出了比较严重的问题,再加上其他一些因素,导致客户对我们的信任感缺失,最终态度是反复强调要认真测试,确保系统无问题后再交付。
由于这个项目受到客观因素影响,曾经搁置一段时间,开发人员已经离组,调去了其他紧急项目上,协调人解决问题是很难的,而客户那边的情况也是火急火燎的催促。
最终,一面安抚客户情绪,一面跟领导一起协调开发人员,在今天陪同开发加班的情况下,把问题告一段落了,跟客户允诺的下周一交付,有了着落。
经过这件事,我开始回顾,是什么原因导致原本已经开发完的项目漏洞这么多?
初步考虑是,系统在交付给客户前的各个节点的把关功能没能做到位,不仅仅是测试工程师这个节点。
那么,该系统在上线试运行之前,对于系统的验证要做哪些准备工作?
1.产品经理要准备核心流程列表。
系统每次更新新功能,无论是大版本的功能上线,还是小版本的功能迭代,是否涉及到核心流程,都需要进行验证,目的是保证系统核心的稳定性。
2.产品经理协助测试工程师制定相关的产品测试文档。
基于上述核心流程,制作关键流程用例,注意关键流程的完备性,要穷尽所有测试路径,包括异常流程、压力测试;为了方便标记测试结果,可以将所有待测点在文档中标有对应的编号。
3.项目组成员交叉验证。
测试工程师、产品经理、项目经理,包括开发功能的开发工程师都可以参与到上线前的测试,以尽量降低问题被遗漏的可能性。
4.产品经理梳理出交付的需求功能清单。
在系统开发和功能实现之间,会涉及到和客户进行需求细节确认,为了保证最终信息的同步性,将最终符合客户需求的功能清单进行梳理,便于客户回顾过程和知晓结果。
5.产品经理协助测试工程师完成不同角色的用户操作手册。
这里需要强调的一点是,用户的操作手册的编写思路不是从功能设计角度介绍产品,而是要从“用户如何使用”角度去编写,甚至可以把用户在系统上做的事情的操作步骤,对应截图操作指导,让用户一眼可以指导自己怎么在系统上办理相应的事项。
写在最后,
上一周一直在被客户语言支配的焦灼中度过。给客户报进度,客户回复说:什么时间能全部解决?给客户解释问题难解决的原因,客户回复我:需要我做什么。图片
我给客户解释说,系统可以正常试用,现在的问题都不影响核心流程,你们一边使用,我们这边也在尽快修复,互不影响。可回到现实,客户对于现存的问题,哪怕是一个无关紧要的列表筛选问题,都要求改完才会继续试用。
如果前期,我们做到上述的5点准备工作,我想交付的系统应该不会造成现在的局面,信任危机很难逆转。
当我们从逆境中反思出改进方案,那么这件事就成为了改变的契机。
网友评论