浅谈“头脑风暴法”在软件测试中的运用

文/谭清红 罗章坤

 

一、 背景

本文立足当前银行业互联网金融软件测试的现状,分析“头脑风暴法”在互联网金融行业软件测试工作中的意义以及软件测试人员可能面临的挑战,指出在软件测试工作中,测试人员如何充分利用自身条件,发挥其积极性、主观能动性和创造性,借助于团队力量,“取人之长补已之短”,使“头脑风暴法”成为大家共同参与、共同学习、共同成长的有效方式,提高软件测试的质量。

二、头脑风暴法在软件测试中重要性

现阶段,软件开发模型主要采取传统“瀑布型”开发模型,该模型对于项目各阶段的划分比较固定,采用承上启下方式,即:上阶段结束后才可开始下阶段工作内容,大大降低测试效率和质量。面临快速发展的互联网金融行业,灵活多变的业务需求,快速迭代版本变更,软件测试工作也越来越难高效保证软件质量。为了更加高效的开展测试工作、快速响应创新需求变更、保证软件安全问题、提升客户满意度,节约成本,需要进一步有效灵活地运用“头脑风暴法”,在实践中改进,在改进中创新,让测试团队充分感受其带来的益处,并促进团队测试人员能力增长。

三、头脑风暴法成功运用案例分享

我行卡中心自成立以来,传统核心业务不断完善,互联网创新金融项目层出不穷,独具特色,互联网业务测试团队已组织各种形式的“头脑风暴法”,成果非常显著。目前经多次实践验证,并得到一致好评,具体案例分享如下:

项目类别:纯新型

新项目案例1 

作为新项目,该项目特点之一即涉及联调接口比较多。为了降低测试风险,提高测试效率,测试团队充分发挥思维、探索创新实践方法论,即:“头脑风暴法”。针对新平台、新型业务功能点,邀请专家成员,集思广益,开展“头脑风暴法”。本次“头脑风暴法”成员共产生25条金点子,涉及缺陷数14个,占该版本缺陷总数比例26.9%。

新项目案例2

作为新项目,该项目特点之一即测试场景相对复杂且难以考虑周全,尤其涉及到资金的支付,对账清算批处理。为了提高测试质量,改善测试流程,鼓励本团队成员吸取其他平台测试经验教训,开展“头脑风暴法”。本次“头脑风暴法”成员共产生52条金点子,涉及缺陷数33个,占该版本缺陷总数比例13.2%。

项目类别:维护型

维护型项目案例1

作为维护型项目,考虑该项目本身的特殊性,测试团队梳理出可能存在的风险点,针对风险点开展“头脑风暴发”。本次“头脑风暴”成员共产生20条金点子,涉及缺陷数2个,占该版本缺陷总数比例9.1%。

维护型项目案例2

作为维护型项目,该项目完成一轮SIT后,测试团队未发现本次修改产生的相关缺陷,出于质量的保障性,测试团队提出进行“头脑风暴”,让更多的火眼金睛去审视这个项目:针对本次需求开展“头脑风暴法”。本次“头脑风暴”成员共产生18条金点子,涉及缺陷数7个,占该版本缺陷总数比例20.5%。

系统

金点子数

产生缺陷数

本版本缺陷总数占比(%

纳入知识库总数

新项目1

25

14

26.9

14

新项目2

52

33

13.2

33

维护项目1

11

2

9.1

2

维护项目2

18

7

20.5

7

                                              表1 “头脑风暴法”运用实例

方法与目标

(1) 集思广益,规避风险,提前做好测试准备

召开头脑风暴会议时,主持人简述项目背景后提出风险点。针对需解决的问题大家自由发言,打破固有观念的束缚,每提出一个新的观念都能激发他人的想法,从而进行补充、改进和综合。碰撞出更多思想的火花,相继产生一连串的新观念,提出尽可能多的方案。

(2) 缺陷发现环节前置,提高工作效率

在学习中总结,在总结中学习,通过学习别人的经验,快速发现问题,降低了后续测试执行、生产问题修复的成本,提高工作效率。

(3) 总结沉淀,弯路少走,经验多学

主持人收集大家的发言,头脑风暴结束后根据各种意见和方案进行一一审核,归类总结。判断方案是否对当前项目有效,同时增加或修改对应的设计案例,并将方案纳入知识库,供测试团队学习、分享,部分纳入知识库金点子如下:

  • 名字中带点、生僻字、特长字符等需要验证;
  • 分享功能,在网络异常、分享带参数等需要验证;
  • 页面与图片在不同机型中自适配,兼容性等需要验证;
  • 提交结果页面刷新,结果页面返回后提交是否会重复提交;

(4) 提供舞台,畅所欲言,提升团队整体战斗力

相信办法总比困难多,通过头脑风暴,团队成员互相讨论,思想互相碰撞,团队成员有更多的交流机会,提升团队凝聚力,促进团队成员沟通能力和问题思考总结能力。

四、头脑风暴法分析与探讨

软件测试过程中推进“头脑风暴”需要立足项目本身的基础情况,并不是所有的项目都适合头脑风暴。虽然它拥有很多的好处,但是毕竟它的组织和实施同样也需要一定的成本投入。

(1) 项目性质:新项目、维护型项目

无论是新项目还是维护型项目,若要做到事半功倍的效果,无疑“头脑风暴法”是一个比较经济适用的方法。新项目中由于得到的资料比较少,项目所面临的不可控因素比较多,容易忽视某些异常处理或执行错误的测试方法,测试工作进展主要是在摸索中前进,比如:业务知识的深入理解和“环境”的适应。通过头脑风暴法,测试团队可以快速掌握所需要的业务知识,知道“坑”在何处,“洼”在哪里,形成有效的“填坑、补洼”方法,实现测试团队“前人栽树后人乘凉”的目标;维护型项目目前已形成知识库,但是容易被固化思维束缚,造成思想局限、创新缺乏。测试团队借助“头脑风暴法”可以全面的分析、理解业务需求。即让思绪实现所谓的“柳暗花明又一村”。

(2) 组织形式:圆桌会议、虚拟会议

传统的软件模型以消耗时间为代价;而互联网金融行业的快速发展要求软件测试人员必须更加快速的响应质量、安全和性能的要求;“头脑风暴法”协助软件测试团队尽快完成上述两者的过度,帮助测试团队成员适应互联网金融行业的飞速发展。“头脑风暴法”的实行不仅可以采用实体的圆桌会议形式:即大家聚在某个会议桌前就某个主题开展讨论;同时也可以通过虚拟会议的形式:如建个微信群、QQ群,大家在群里对某个主题发表自己的评论。两种组织形式随意选择、相辅相成,最终使智慧火花的碰撞摆脱时间、空间的局限。

(3) 实施时间:固定与非固定

为了让“头脑风暴法”贯彻到所需项目的测试流程中,在软件测试计划中需要合理安排开展头脑风暴的时间,一般安排在项目的初期或中期,根据“左”移原则,将问题前置。在需求分析后需求规格说明书评审前,可以组织一次头脑风暴,就需求本身进行讨论,获得灵感,寻找测试用例设计思路。收集问题,为测试团队更加全面的了解需求做准备,也可以在测试案例编写完成后测试案例执行前,组织一次头脑风暴,就风险点,找到解决问题的方案。

(4) 参与人员:主持人,各团队专家

主持人做好“头脑风暴”会前准备:整理好基础材料,并形成摘要邮件发给所有参会人员,当遇到特殊情况需暂停时,做好反馈、跟踪和后续推进。各参与人员,拿到会前材料后,也要及时做好会前准备:充分熟悉材料,保证会上具备对会议议题的共同知识基础,带着自己的疑问、建议、方案进入会场。参会人员人人做好上述准备后,有利于在会议过程中迅速积累较多想法,从多角度分析待测系统,以不同的角色去思考,借助全局思维的方式,让更多的人参与思考,脑力激荡,碰撞出更多的智慧火花,得到更多更全面更有效更合理的建议、方案,保证“头脑风暴”会议效果显著。

五、 结语

软件测试中运用头脑风暴法需要立足项目实际情况,达到既要快速响应业务要求又要满足高质量交付的目标。合理采用,大胆实践,不限形式,鼓励突破。头脑风暴结束后测试团队需结合需求规格说明书,进而对方案进行整理分类,一一进行评审,最后筛选出最有效的方案,和注意事项,补充或修改对应测试案例,并将建议灵活运用中测试执行过程中。“头脑风暴”搭建平台,鼓励大家畅所欲言,突破局限,将测试人员、业务人员、项目经理及开发人员团结起来,发挥大家的潜能,提前规避风险,交付高质量的产品,同时帮助测试成员更好的融入进整个团队,互帮互乐,共同进步。

 

你可能感兴趣的:(浅谈“头脑风暴法”在软件测试中的运用)