图:史江鸿
7月底,客户方的十几位产品人来ThoughtWorks进行经验交流,公司准备了好几个议题,我有幸负责《ThoughtWorks测试方法论与实践的交流》。在方法论部分,我着重分享了“探索性测试”和“精益测试”;在实践部分,我分享了在敏捷和DevOps开发模式下该如何测试。
这次的分享出乎意料地成功,过程中引发了很多有趣的讨论,会议持续了1.5小时,大家仍意犹未尽。
不料,前两天,客户又邀请我们再做一次线上交流,欲将以上内容分享给公司更多的同事。于是,我就“探索性测试”和“精益测试”两个方法论的部分写一写,来进一步推敲其中的细节,希望能给第二次的分享带来更多不一样的体验。
01 探索性测试
我于2019年12月22日发表了一篇名为《“探索性测试”在敏捷项目中的运用》的公众号推文。后来,这篇文章有幸被“清华大学出版社”、“水木IT社区”、“DevOps”、及“ThoughtWorks洞见”公众号申请转载。可当我再次细读文章时,却发现部分例证其实可以更精准,无奈公众号推文无法修改,我只好借这篇文章重新阐述。不过本文只从部分视角入手,更多内容,仍建议阅读上一篇文章。
如何理解探索性测试
举个例子,为了7月底的这次经验交流会,ThoughtWorks计划专门为参会人员定制一款马克杯。供应商设计并研发好了样品,提供给我们验收。
传统测试会如何验收呢?
首先,阅读产品需求规格说明,理解需求。
材质 :陶瓷
容量 :250ml
外观 :(外)绿色釉面、(里)米色釉面、米色Logo、标注容量
功能:可盛白开水、茶、咖啡、牛奶等一般热饮
然后,根据需求规格设计测试用例。我们运用“等价类”和“边界值”测试方法设计了三组测试用例,然后用仪器检测材质;用眼睛观察UI;用实际装水、咖啡、茶、牛奶的过程来验证功能。最后,逐一执行测试用例,我们发现,有一条UI的用例测试不通过。
对于这个例子,我们如何运用探索性测试验收呢?
和传统测试一样,首先需要根据需求设计测试、然后逐一执行。然而,探索性测试到这里并没有结束。
在测试执行过程中,我们有了新的发现,进而引发出一些思考:
-
现象:盛完茶水,杯子里好多茶渍
思考:能不能刷干净?
与此同时