本文阐述了探索性测试落地的整个实践过程,以及过程中的酸甜苦辣。探索性测试重要的是人,本文就实践过程中人的态度从最初的抗拒到最终成为自己习惯的转变也进行了介绍。更介绍了如何从团队层面让成员的态度发生了变化的方法,对后续需要实践探索性测试的同事及部门具有很大借鉴意义。
【关键词】
探索性测试 session
一、问题的提出
经过小组成员分析讨论,新款RRU目前存在以下问题:
Ø 新款RRU种类多,有限时间覆盖全困难。
Ø 特性测试和系统测试都是忙于覆盖率很难深入测试。
Ø 测试过程监控难反馈不及时。
对照探索性测试的解释,不难发现我们似乎可以应用探索性测试方法来解决我们的问题,于是我们决定实践并将经验在团队内落地,让更多的同事提高测试技能,通过深挖广挖来提高交付质量,提高测试效率。
二、解决思路
整个探索性过程我们分为三个步骤:
步骤1:探索性测试理论导入
由参与过探索性测试的同事在团队内部培训探索性测试的概念,让成员对探索性测试有初步的认识。
步骤2:探索性测试浅尝
在团队内选出有意向参与的同事,选择具体的RRU进行探索性测试流程的建立,执行与修订,总结输出探索性测试指导流程
步骤3:探索性测试深度接触
将第二阶段的成果惠及团队所有成员,征集有意向并积极参与的同事对具体的需求进行探索性测试,由熟练的同事指导,同时提升。
通过三个步骤不断的实践总结,我们已经找到了适合我们自身的探索性测试的流程,对实际工作中测试指导意义很大。
三、实践情况
3.1探索性测试理论导入
理论导入的基础知识准备得益于南京马欣同事的巡讲,他巡讲中的探索性测试对我的触动特别大,我觉得可以通过启发式模型建立起一个对事物的模型,沿着模型去发散,深入,挖掘出对系统质量有意义的bug,提升版本质量,非常不错。对于我们新款RRU的测试具有非常大的参考意义。
在接下来的一个月时间,我就开始琢磨如何才能将这么好的理论知识在我们团队内落地呢,理论再好,不能为我所用,终将是可惜的,于是我选择了R8862 S2100进行实践,当时对探索性测试的理解还比较浅,通过查询多处资料,逐渐有了一个大概的认识。在实践的过程中总结出了《探索性测试理论知识》,并将这些知识在团队内分享与大家讨论。
至此,我们的理论导入就完成了,但是在分享的过程中还是听到了很多抗拒的声音,认为这对我们测试真的有帮助吗。
3.2探索性测试浅尝
为了浅尝的输出能满足预期又不会对当前的工作有太大的冲击与影响(大家测试任务都比较繁忙,呵呵),我们做法如下:
3.2.1 成立专项小组
成立了8个人的探索性测试小组,为了明确目标我们小组召开了第一次启动会,启动会材料见附件。在启动会上决议了第二点做法,事实证明群众的智慧是宝贵的。
3.2.2 制定计划
小组内选择了3个人进行探索性测试流程的建立,执行与修订,其他5个人在评审环节参与把关。
为什么不是所有人都参与流程的执行和修订?
这个问题是大家在启动会上决议的,目的就是在活动之初轻量级,风险比较小的完成。如果8个人都自选RRU进行实践,在理论,流程不是很成熟的时期容易失败,看不到效果,很难继续。
3.2.3 进行实践
A、选定的3个人选择了一款RRU R8892N M1821,进行全流程的实践与修订。
B、最后形成定稿,输出《新款RRU探索性测试指导书2.0》,在这个版本中描述了我们最初探索性测试的流程,RRU探索性测试的流程, 主要包括6个步骤,详见图1:
图1
步骤1和步骤2是分析整款RRU的特性,从步骤3~步骤6是对每个session都需要去完成的。
两条迭代弧线的说明:
Ø 弧线1添加session:这个弧线的作用是在讲思路完了之后,各个专家可能就本session提了很多的意见和测试点,那么有些测试点足够大到需要增添session来完成,那就增添session到定主题之后的session列表中,重新分配时间来探索测试。
Ø 弧线2补充测试:这个弧线的作用是在讲思路完了之后大家提的意见只需补充测试,很短时间完成,就在本session补充测试,添加笔记中的分支。
针对R8892N M1821实践RRU探索性测试,流程中每个过程从目的,参与成员,实践情况以及输出物都做了详细的描述,请参考附件5。
3.2.4 经验总结
这次的经验总结非常重要,我们针对第一次团队的探索性测试中,每个人就整个过程中出现的问题以及心得体会做了很全面详尽的总结,积累了非常宝贵的经验。
过程中的问题:
1.流程虽然过了一遍,有点与平常测试不同的感觉,但是由于session分析的太大,无法深入挖掘。
2.报告模板有点繁琐。
3.讲思路时间太长,难抓重点。
4.对每个环节应该做什么事情有些人并不是很清楚
针对问题主要改进体现在:
1.session的评审需要增加测试经理以及相关功能有经验的测试,开发同事参加,提供更多的探索思路。
2.理报告重新设计了模板,更加简洁,最终满足测试人员和测试经理能够了解此需求即可
3.讲思路环节需要讲的同事提前准备,抓重点脉络讲,节省大家的时间。
4.给大家就每个环节需要做的事情以及输出物做重点讲解,做到每个人都清楚明白,每个环节前后的因果关系也需要做详细的阐述。
本次探索性测试并没有发现太多的问题,而且大家感觉都不是很深入,一方面感觉这是一种好方法,但是就后续的继续使用还是存在疑虑和迷茫的。
3.3探索性测试深度接触
在第一轮总结会上我们加油打气,继续前行,吸取步骤2中的经验教训,我们在第三环节继续深入体会探索性测试的魅力。我们的做法如下:
3.3.1 实践准备
就本轮整个探索性测试的时间,人员分工,以及要求和大家达成一致。对每个环节的输出物做了书面输出。
3.3.2 实践开始
每个小组由组长带领成员一起完成所有环节,达到了全员参与,每个环节详细的资料见wiki链接http://wiki.zte.com.cn/pages/viewpage.action?pageId=48636947
3.3.3经验总结
每一轮探索性测试,除了实践过程中自己一个人的体会,还有就是将自己的领悟分享给小伙伴们,在思想的碰撞中产生更璀璨的火花。本轮测试也不例外,大家的心得体会就更多了,部分心得体会如下:
① 探索性测试是行之有效的方法,对个人能力提升有很大帮助。
② 观测UE测量中RTT指作为常规业务接入时看的观测点,这个也是我们本次探索到的一个亮点。
③ 发现尝试配置的变换来增加探索深度是非常必要的。
④ 理论深入对测试分析、设计的帮助
⑤ 探索结对测试可以优势互补、彼此深受启发,感悟三人行,必有我师,谦虚好学提高自己。
⑥ 探索出来的EC基本可以找到复现的规律,定位问题节省时间
⑦ 探索的过程非常聚焦,扩散的比较多,效率比较高。
⑧ 探索的范围比较小的时候比较容易深入。
⑨ 探索性测试一定不是常规的条目测试。我们的范围进行了二次讨论
⑩ 通过探索性测试了解熟悉了探索性测试的流程,更深一步的理解了探索性测试的理念
⑪ 在进行session测试的过程中,对该session相关的知识更深入的进行了挖掘,更加深刻的了解和学习了这方面的知识点。
⑫ 探索性测试能弥补我们平时测试中的一些薄弱点,更深层的探索暴露系统问题,确保产品质量。
本轮探索性测试之后大家对探索性测试的态度已经转变为期待,主动去尝试,因为发现了之前测试中没有发现的深度问题,体会到了探索性测试的美,坚定了大家的信心。
3.3.4 广泛传播
机缘巧合,有线院的同事找到我们希望能借鉴我们探索性测试的经验,加强连接,我们就自身的经验进行了再次的精简提炼,给有线院开展了一次探索性测试工作坊,当时的教练有刘金,翟堃,刘英辉,陆海燕,工作坊之后反应不错。
后来定稿的探索性测试流程如下:
我们的落地理论再一次得到了完善。收获很大。
3.3.5常态化
在有线院办完工作坊之后,看到别院用的风风火火的,我们也趁热打铁又继续了一轮,这次我们是在整个团队招募希望学习,尝试探索性测试的同事,大家看到了之前探索性测试的优点,都很愿意参加,我们又选择了4个人,每人一个题目进行探索性尝试,由之前熟练掌握的同事来进行指导,同时提高,教学双方都收获不少,随后再次在团队培训探索性测试实践结果,让整个团队的同事看到效果。大家的思维模式也会慢慢发生转变,目前我们在版本测试中遇到需要探索的课题,就会采用探索性测试的流程去实践,成为测试的一种常态,常态化之后一个人或者两个人都可以去轻松的实践。
为了体现大家的技能提升的可视化,我们团队技能矩阵增加了探索性测试技能项,通过实践的情况来评估体现,提升大家的积极性
3.4期望
希望在往后的日子里我们提到测试,大家自然而然的会使用探索性测试中的思维方式去制定策略,测试学习并执行,就达到了最终的完美。
四、效果评价
通过几轮探索性测试的实践,无论是从理论知识还是从实践经验上,都得到了很大的提升,大家的态度也发生了很大的变化,从刚开始的抗拒到勉强接受,再到后来的期待,达到最终的习惯。这个过程是很珍贵的。整个团队测试技能的提升是测试效率提升的坚实基础,探索性测试已经成为测试人员的一种习惯,有效的保证了版本质量。下面是一个可视化的效果评价
五、推广建议
本篇文章着重描述了探索性测试落地的过程,以及过程中的酸甜苦辣,对于希望推广探索性测试的部门具有很高的参考意义。