一、背景
功能测试正式开始前,都会进行测试资源筹备,而测试用例往往是最重要的。它可以减少测试人员的漏测率、重复测试率,让项目按测试计划稳定的修改,达到上线的质量标准。 在项目高频率迭代版本中,往往留给测试人员的资源筹备时间不会多。一般就一周,甚至2~3天,在这种情况下,学会高效写功能测试用例就显得很重要。
二、精简用例的操作
1、功能测试用例必要的元素
用例主要由用例标题、前置条件(测试数据)、测试步骤、预期结果元素组成。除了这些,还有用例目录、需求关联、创建人、优先级、用例状态等元素;(备注:文章讲主要元素的精简)
(1)用例标题:用例最核心的元素,贯穿用例的含义。一般通过用例标题,就可以知道用例目的是什么,需要测什么;
(2)前置条件(测试数据):该用例需要准备的测试环境、测试数据;
(3)测试步骤:执行用例的步骤,要保证项目的测试人员、以及其他后来的测试人员能看懂;
(4)预期结果:测试用例执行后,程序返回的正确结果;
举个例子:
用例标题:"登录已注册的账号+密码,登录成功跳转个人中心页面"
前置条件:
1、已注册的A账号:
账号名称:冷静
测试密码:123456
2、测试环境:一台安卓设备
测试步骤:
1、打开App,进入首页;
2、点击右上角个人中心按钮,进入登录页面;
3、输入账号A,点击登录;
预期结果:提示toast"登录成功",且跳转到个人中心页面;
2、精简用例分析
精简用例的思路为:长话短说,浓缩是精华,用例必要的内容写上,用例缺少部分元素不造成用例理解的则可以不写,当然,用例标题作为用例最核心的部分,是省不了的,能剩的只有"前置条件"、"测试步骤"、"预期结果"。而是否能省略,取决于对应元素能否在标题中简洁体现;可以根据以下情况去考虑精简用例:
(1)只写用例标题
若用例标题可以代表整条用例了,则可以只写用例标题。用例标题需要包含前置条件、预期结果;一般标题结构为"前置条件,操作+预期结果";
举个例子:
用例标题:在无网情况下,点击下载A文件弹toast提示"网络异常"
(2)预期结果必写的情况
若预期结果有多个需要验证时,或者预期结果描述比较复杂无法在用例标题简洁体现出来时,则需要写上预期结果;
举个例子:
用例标题:输入"孤勇者"后点击搜索,搜索到的歌曲验证
预期结果:
1、第一首是陈奕迅原唱的孤勇者;
2、第二首是Live版本的孤勇者;
(3)前置条件必写的情况
若前置条件有多个要求,或者前置条件描述比较复杂无法在用例标题简洁体现出来时,则需要写上前置条件;
举个例子:
用例标题:在A测试链接上购买后,登录后显示永久会员
前置条件:
1、A链接:https://testA.com/gm
2、购买的账号:冷静
3、账号密码:123456
(4)测试步骤必写的情况
若步骤有多个且是必要说明的,或者步骤描述比较复杂无法在用例标题简洁体现出来时,则需要写上详细步骤;
用例标题:A功能引导触发步骤验证
测试步骤:
1、打开A功能,点击右下位置的引导按钮;
2、验证第一步骤的图片UI,再点击下一步;
3、验证第二步骤的图片UI,再点击下一步;
4、验证最后一步的图片UI,再点击完成;
(5)全写的情况
若"前置条件"、"测试步骤"、"预期结果"都需要详细描述时,则不能省略,得写清晰;
举个例子:
用例标题:拉黑A账号后刷新权益,权益刷新失败且退出登录验证
前置条件:
1、已注册的A账号:冷静
2、A账号密码:123456
测试步骤:
1、打开App,点击首页右上角个人中心按钮;
2、登录A账号;
3、在账号后台系统把A账号拉黑;
4、点击个人中心刷新A账号的权益;
预期结果:
1、权益刷新失败,弹出toast提示"验证失败";
2、自动退出登录,且回到登录页面;
3、编写用例的规范
(1)标题不易过长,一般建议在30~40字之间;
(2)前置条件测试数据组不建议多个,最好一个用例对应一个数据组,方便维护;
例如:测试的功能为"登录邮箱输入框只支持20个字符输入",一般通过边界值测试法会有3组数据,这时候建议写成3条用例,这样方便测试执行,也方便与bug关联;
测试用例:
1、登录邮箱输入框输入19个字符,可以输入成功;
2、登录邮箱输入框输入20个字符,可以输入成功;
3、登录邮箱输入框输入21个字符,只有前面20个字符输入成功;
(3)步骤不易过多,建议最多7个步骤;
(4)预期结果建议只有一个,若需要写多个预期结果,且与步骤执行能对应上,可以预期结果与步骤标记一下,
例如:
测试步骤:
1、A步骤执行;[check 1]
2、B步骤执行;[check 2]
预期结果:
1、A结果;[check 1]
2、B结果;[check 2]
三、思维扩展
1、用例与测试需求分析结合编写
测试用例往往是通过"测试需求分析文档"的基础上去编写的。可以在"测试需求分析"时,就把测试用例的格式规范到"测试需求分析文档"上,再使用脚本去转化为测试用例文档,这样就省下了测试用例编写的时间,以至于提升用例编写的效率;
(备注:"测试需求分析文档"是指通过对需求文档进行测试分析,输出的一份测试人员需要执行测试相关内容的文档;后续文章会写"项目迭代测试人员需要做的任务",里面会讲到测试需求分析文档的制作需要考虑的点)
2、AI人工智能编写测试用例
通过输入"需求文档"或者"测试需求分析文档",让AI人工智能去编写测试用例,并通过python编程输出测试用例文档;目前Ai发展迅速,这条思路理论上是可行的。博主后续也会去调研这方面的内容,有进展会第一时间分享;
若想第一时间获取更新,可以加下方文章的公众号