这是鼎叔的第十一篇原创文章。
行业大牛和刚毕业的小白,都可以进来聊聊。
欢迎关注本人专栏和微信公众号《敏捷测试转型》,大量原创思考文章陆续推出。
鼎叔在 MTSC-中国移动互联网测试开发大会,以及深圳敏捷之旅中,分享了《提升用户体验的评测方案》议题,本文是相关系列主题文章的第七篇。
随着针对用户体验问题的挖掘经验越来越丰富,我们就可以沉淀出原创的探索式测试方法(甚至是探索模型),并把最容易产生效果的挖掘场景,关注点,窍门,固化用例等记录在知识库里,集体共享,提升用户体验问题的挖掘效能。
本篇重点介绍生动有趣的角色扮演探索式测试和肥皂剧模型。
角色扮演测试法
回到对测试人员“以人为本”的要求,如何在测试设计和执行中做到代表用户?角色扮演就是一个有趣的思维方式,前提是,我们已经非常了解用户的典型画像,在心里构建出了几类典型的用户特征,赋予了生动的行为标签,然后模拟该用户的行为习惯,刻意挖掘相关路径的问题。
以电商平台为例,主要的角色可以划分为几类,我们想象一个真实的身边的人(可以适度夸张和搞笑),具备下列特征:
小 A,廉价消费用户,上电商网站的主要特征就是抠门,一分钱要掰成两分钱花,因此他特别关注秒杀活动,大折扣商品,热衷于计算优惠规则,比较不同店家的价格,尽量参与可以带来积分优惠的小游戏。
小 B,理性消费用户,看重合理消费,希望不吃亏不上当,只看自己计划购买的物品,会严格查阅产品规格和商家退换条款,看是否有质量隐患,或者任何让自己避免踩雷的缺点,退货频率比较高。
小 C,超级购物迷,剁手一族,长时间挂在电商网站上,最爱追购最新款商品,颜值最高的,重视宣传图片效果和好友评价,订单数量惊人。
小 D,品质消费者,看重高配置,大品牌,会从专业评测网站上获取心仪品牌和商品信息,参考相关专家的推荐意见,购买时会对客服咨询专业问题。购物车经常存了一堆最热门商品,但实际购买数量有限。
小 E,随意消费者,偶尔逛逛电商平台,漫无目的,重点看智能家居产品,浏览和购买过程操作随意,不按常规操作步骤,什么感兴趣就去点击一下。
参加探索测试的几个同学,分别扮演上述的角色,模仿其习惯去测试软件,发现了共计 38 个有效问题,其中有 6 个属于运营配置问题。从结果分析中,确实发现有特定偏好习惯的用户,更容易发现特定类型的问题。
在角色扮演的基础上继续发挥,我们可以尝试更大的挑战 - 肥皂剧探索测试模型。
肥皂剧探索测试模型
我们平常看电视肥皂剧,经常觉得剧情狗血,有时阴差阳错,有时又臭又长。可以设想一下,使用我们产品的用户角色,围绕产品使用的场景,发生一些狗血事件,会不会意外发现软件设计缺陷?能不能把产品的各种核心功能/流程,都编入这个狗血的肥皂剧呢?
肥皂剧测试模型(Soap Opera Testing) 是 Hans Buwalda 提出的系统级功能测试方法。其特征和方法对于基于情景(Scenario)的探索式测试很有启发性,是探索式测试者值得研究的工具。
一个肥皂剧测试的测试用例是一个场景(Scenario),类似于一个小故事或肥皂剧中的一段情节。Hans 举的这个汽车保险软件例子非常有趣。
客户 Marick 为了三天的旅途租了一辆汽车。在租用期间,他又延长了一周(以便获得足够的租用积分来得到 Preferred 等级)。几天后,他打电话报告车丢了,并要求换车。他强调在更换车辆时,他理应享受 Preferred 等级,即便在租赁期开始时他并不位于该等级。他得到了另一辆车。两天之后,他打电话报告那辆 “被偷” 的车被找到了。事实证明,实情是他忘记了停车地点。他希望归还其中的一辆车,并结束相关的租赁业务。糟糕的是:发现旧车时,他的新车撞上了旧车。现在,它们都损坏了。
该情节将测试以下内容
(在租赁期)升级到 Preferred 等级
延长租赁
被盗申报
车辆更换
取消车辆更换
取消被盗申报
归还受损车辆
这是一个典型的系统级的场景测试用例,用一个较长的流程覆盖了系统的多个功能。在虚构的连续剧情中可以测试跨模块的功能场景,给测试过程带来很多乐趣,测试居然还可以这么玩:)
肥皂剧探索测试模型,特征就是浓缩,有趣,夸张,源于真实生活:
源于真实生活:肥皂剧测试通过聚焦用户的使用场景来伸张用户权益。一些看似极端、却可能真实发生的故事,往往能揭示产品的深层次错误。通过编写肥皂剧测试用例,测试人员可以更好地学习并理解被测对象。
夸张:肥皂剧测试用戏剧性的问题来拷问软件,看其在不同的场景下如何应对。夸张的情节让肥皂剧更好看,夸张的测试用例有助于软件应对现实难题。
肥皂剧测试同时展开多个复杂的情况,看软件如何处理。软件也许可以分别处理每一项业务,但是当多个业务同时提交且相互牵绊时,软件的设计缺陷可能会让用户一筹莫展。肥皂剧往往展开多个支线情节,相互交织,彼此推动,测试场景也可以如此。此外,浓缩的情节可以在较短的时间内测试多个功能,提高了测试效率。
充满乐趣的测试是高效软件测试的核心因素之一。枯燥的测试过程会压抑测试者的创造性,使测试人员的精力被快速耗尽,注意力渐渐被其他事务所吸引。而有趣的测试过程会激发测试者的创造力,使他们始终热情高涨,思维活跃。所以,编写测试用例要充满乐趣,好的测试情节一方面容易理解,另一方面能够激发审阅者、测试者的灵感,让参与到其中的人员能够发展出更好的支线和细节。
基于这个模型,我们可以虚构不同风格的剧本,温情式,悬疑式,搞笑倒霉蛋,不一而足,充分发挥编剧想象力吧。
下面举一个亲身实践,用“照片云同步”这个大家熟悉的功能,来设计一个亲情肥皂剧测试场景:
丢失的照片去哪了?
小李为了保存记录女儿成长过程中的美好瞬间,将一些照片上传到了云空间中,并为其购买了空间扩充收费包。某一天他发现手机提示他购买的云存储空间自动续费已到期,无法上传新的照片,而他不想再继续升级云空间,于是将云空间内一些时间久远的照片删除,释放云空间内存,同时将这些照片保留在手机内。几天后,女儿要上幼儿园了,需要提交一些照片建立学生档案。但他没想到的是,犹如晴天霹雳般,手机里的这部分照片竟也不翼而飞了。原来小李为了留下这一部分的照片,他将这些照片移动到单独的文件夹,然后删除了云端的照片,本以为万事大吉,但他没想到的是云端删除文件后本地也会同步删除,这让他无比的郁闷。最终,为了保存女儿成长过程中更多的美好瞬间,小李再次升级了更大的云存储空间。
那么现在我们针对此故事情节,可以测试如下内容:
- 在使用过程中升级云空间;
- 本地照片同步;
- 云端照片删除;
- 云空间购买自动续费;
- 本地修改已同步照片;
- 云空间升级方案变更; 从中我们可以感受到肥皂剧测试的魅力,带着用户的情绪,把各种功能场景融合在一个故事里。测试用例就是剧本,它展示了舞台;集编剧、导演、演员于一身的测试者应该发挥创造力,去演绎精彩的测试。
总结一下,测试人员构造肥皂剧测试用例的步骤:
- 分析产品,确定产品的功能点,并拟定测试目标;
- 设计一条或多条肥皂剧测试用例,以满足测试目标;
- 如果发现新的测试目标,延展已有的测试用例或增加新的测试用例,以确保测试覆盖率。