今天小梦就已微信红包为例,说说在实际项目中如何设计测试用例!希望也能对你有一些启发 : )
1. 设计测试用例的一般步骤
我先简单讲一下我写测试用例的操作步骤:
详细了解并梳理系统功能需求,必要时找产品进行需求澄清;
如果是比较复杂,或者对原有功能改动较多,在梳理需求的过程最好能画出业务流程图;
根据需求/流程图列出所有功能测试点;
根据测试点编写详细的功能测试用例。
2. 实例 - 微信红包
2.1 需求
微信红包的诞生
我还记得微信红包的大流行是在2015年,那一年我边看春晚,边拿着两个手机摇一摇。此后每年的春节期间,抢红包,发红包,成了和支付宝集五福一样的新习俗。
微信红包的灵感来源于腾讯公司线下发红包的习俗,我们现在已经很熟悉微信红包的用法了,但,它是怎么诞生的呢?
在这里我们要明确的一点是:一开始微信并不是为了做微信红包而做微信红包功能,而是为了提高微信支付的使用率、支付成功率,这是市场的需求,到了具体的产品功能,就很具体了——就是做微信红包,在实际设计微信红包功能的时候,用户需求是不能被忽略的,用户才是真正使用微信红包的人。
功能需求
从微信红包的诞生,我们了解到,微信红包功能需求简单来说就是要实现将线下发红包的行为转移到线上。让我们先抛开你已经知道的微信红包已经有的功能,自己先想一想,在使用微信红包之前,我们线下给孩子们发红包的时候是怎么做的?
以下纯属个人经历,如有雷同,也别见怪:
首先,当然要准备好钱:算算要给多少人发红包,打开钱包数数钱够不够,不够就得先去银行取钱。
然后,准备好红包信封,一一把钱塞进去,里面金额不一样的话还得做好记号呢。
再然后,小朋友来你家拜年,可可爱爱得给你说着吉祥话,你心甘情愿地把包好的红包给他,并祝他好好学习,天天向上。
小朋友收下红包,甜甜地说谢谢,当着你的面拆开/在你看不到的地方拆开。
等客人们都走了,你大概还要跟爸妈或朋友盘点一下,今天发了多少红包,再顺便感叹一下时间过得真快,转眼自己就从收红包的变成发红包的了。
简单总结一下全过程就是:发红包的人准备好钱和红包 -> 包好红包 -> 把红包发出去 -> 收红包的人拆开红包 -> 将红包里的钱存进储蓄罐/妈妈的钱包。
看下来整个体验基本就是跟微信红包现在所实现的功能差不多的:
(发送方)发红包:
1.个人聊天窗口 -> + -> 红包
2.输入总金额,祝福语,选择表情
3.点击塞钱进红包,并使用微信支付红包金额
发红包功能截图
(接收方)拆红包:
1.收到红包消息提醒,进入聊天页面
2.点击红包消息,点击「开」
3.显示领取到红包金额,并将其存入零钱
4.查看红包记录或进入微信支付查看零钱余额,都能看到我已领取了红包
收红包功能截图
从微信红包诞生到现在,已经经过了很多次版本更新(截止发稿Version 8.0.9 ),微信团队为红包增加了很多其他的功能,比如红包封面,面对面红包等扩展功能,这些都不在本文讨论的范围内,本文将聚焦在微信红包最基本的收发红包功能上。
2.2 业务流程图
在理论篇中,我们已经介绍了场景/流程分析法,下面让我们来一起整理一下微信红包的流程图。
微信红包业务流程图
2.3 列出测试点
是时候进入到测试点的编写了,等价类划分、边界值法和场景/流程分析法、错误推断法将在这里派上用场!
看到这里你可以先自己思考,使用脑图的方式列出你的测试点,然后再接着往下看。
微信红包测试点
测试点文字版可点击幕布-微信红包测试点查看。
如果你的团队/领导没有关于测试用例的强制要求/KPI,也可以在整理完测试点后就按照测试点进入测试执行。(补一个测试点和测试用例的区别链接)
2.4 测试用例设计
有了上面的测试点,我们再按照测试用例的要求对测试点进行加工,如下图所示,是我使用xmind编写的测试用例,这里只展示了红包金额填写的部分。
微信红包测试用例 - 示例
常用的测试用例编写和管理工具还包括Excel表格,禅道,PingCode等其他测试平台,按需选用就好。
作者:余小梦同学