精彩答案:
被测软件的业务流程是开展测试工作的重要准备活动,同时在测试过程中起到十分重要的参考和分析依据作用。
这个问题很简单但是又很难。简单是因为软件业务流程可以顺藤摸瓜,难是因为不知从何入手。
“被测软件”听起来有点大,被测软件的行业背景、软件的大体作用,总的框架结构这些“大”方面的信息比较容易获取和理解。实际上软件是由众多功能组成的,在实际工作中,功能模块的业务流程对测试起到了直接的指导和参考作用(例如测试用例的编写,测试结果的分析等等),不掌握业务流程则不足以很好的测试。
测试人员想要获悉软件功能模块的业务流程,就必然要牵涉到开发人员,也就是要涉及到开发与测试的接口。
这个问题想要解决,有很大程度要依赖于测试与开发的合作。开发测试体系是否规范和健全非常影响这一结合点乃至影响整个测试的流程。不同的公司,不同的项目,甚至同一个公司不同的项目组在这个方面都可能存在很大的偏差,这个问题是无法逃避的。
我在论坛中,在QQ群中经常看到某某项目,什么资料都没有,什么会议都没参加,就让我们测试,我们怎么测试啊。偶尔也能看到有的项目从需求、从设计阶段测试人员就介入了进来,从而测试人员测试的时候非常顺畅,流程进展的也比较顺利。
这两种情况简单的总结一下就是测试人员的“知”与“不知”,“早知”与“晚知”。
当测试人员遇到“一穷二白”(什么都不知道,什么材料都没有)的情况时,这就是“不知”。
如何应对这种情况呢?首先请务必不能抱怨,在你抱怨的同时其实也伤害了你自己。
我常常对新人说,站起来,不要老是坐在位置上。不要依赖于outlook,聊天工具,电话。
请务必现场找到这个软件功能模块涉及的开发人员,最好能够找到一个“头”(也可以由你的头找到他们的头),OK,下面就是真人PK,刚开始这很折磨人,你什么都不知道,但是你必须得问,一定要把某个点弄明白(例如功能模块中的某个程序是做什么的,这个功能模块是谁谁谁负责,这个功能模块涉及到了界面、数据库),找到这个点就可以顺藤摸瓜,把所有涉及的开发人员问个遍(有条件的话,可以所有涉及的人员坐下来探讨一下,对测试人员对开发人员都有好处,要知道负责不同功能的开发人员很可能对项目的其他开发人员负责的部分一窍不通,对整个业务也是糊里糊涂)。沟通的同时要记得互惠互利,你知道的,也要告诉不知道的人,在你以后的沟通交流生涯中,形成一种良性的互惠活动,而非一味的索取答案。
通过良性的循环,使得测试人员从“不知”变为“晚知”。
当然“晚知”相对于“早知”花费的气力和代价大很多,但这恰恰是很多人遇到的情况,不得不面对。
对于有着良好的开发测试流程体系的团队来说,则要幸福很多,可以“早知”。
但是也不要放松自己,因为“早知”不代表你“明知”(正确明白的知道)。
在测试过程中,随着测试的覆盖和深入,必然引发各种问题和疑问,需要去判断和分析。这个时候依然需要测试人员和开发人员协力合作,促成双方对业务流程、功能细节、原始需求等方面的加深理解。
当开发与测试团队互相配合,互相信任时,管理和流程上的不足的影响也会被弱化,测试和开发之间的“瓶塞”会被淡化。对于一般的测试人员而言,请不要轻易对种种不完善,不好,不行做出负面评价。因为这对于大家而言没有好处,也无法改变现状,不是吗?!