功能测试用例要求-功能测试用例要求
测试用例是不是非得整得像科幻小说里那种“起初、其次、最终”的套路?说实话,我更喜爱看着用例像是散落在地上的零件,有的大,有的小,有的连起来能拼出一台机器,有的单独放一堆也没事。
这就叫真感。 你得先明白,测试不是一张考卷,不是等考完试你回过头才发现自己哪儿没懂。它是把用户扔进系统里摔一跤,看你哭不哭,摔疼没摔骨折。
有时候用户一进门就摔,那测试刚开火,他直接晕那会儿;有时候一摔就吐,当场缺德。
这时候测不测了,直接看人,这才是真功夫。 写用例,核心就是找断。系统最难受的是啥?是当作没出事,结局突然崩;是当作会好,结局坏了。
比如登录功能,最烦那种页面没变化,登录框却黑掉了,要么反过来,点进去一屏就黑屏,再点就闪退。
还有那些输入框,用户刚输入个名字,突然显示“不准输入”,要么改成英文字母,结局系统傻了。
这些细节最真,但也最好办被忽略。 比如刚刚那登录测试,我设计了一个用例:用户随意输入个用户名密码,点击登录,结局页面没反应,啥都白屏,连个提示都没有。
这个用例特意抓了“无响应”这个坑。再比如搜索功能,我在输入框打“苹果”,系统直接跳出结局,连个弹窗都没给。
这个用例是为了验证前端有没有把数据渲染出来,哪怕数据是空的。
还有那个“加载慢”的测试,用户输入关键词,页面显示“正在加载中”,再点一下,页面直接灰了,要么弹出一个红色的“系统维护,请稍候”页面,结局跟服务器没关系,跟服务器没关系。 测试用例这东西,有时候看着挺冷冰冰,全是代码逻辑和状态机。但要是真执行起来,那就充满了生活气息。就像上次做电商下单测试,我特意把验证码给删了。用户随意填个手机号、填个邮箱、填个地址,点击提交。
这一操作,后台直接炸了,数据库报错,整个下单流程卡住,用户眼睁睁看着订单列表刷新,订单显示“支付中”那个状态,就是一辈子加载不出来。
这说明啥?说明验证码是务必的,要么后端接口没写断言。又要么是前端把验证码判断逻辑写死了,不管后台咋讲,前端一不验证直接透传。 数据测试也是不能少。
比如测个支付功能,不能光看用户能不能成功,得看他插了多少钱,转了几次。我设计了一个用例:用户充值 100 元,转了 50 次,每次转之前先测一下余额。结局第二笔充了 100 元,转了 50 次,余额变成了 0。
这个用例抓得忒准了,不是“余额归零”就完了,还得看是不是出于花忒快,还是系统退款逻辑有难题。
还有那个“扣款黄了”的测试,用户充了 100 元,转了 50 次,结局余额没变,说明扣款成功了,但转账黄了了。
这时候不用查日志,直接看余额没变就能定调。 有时候测试用例写得忒多,发现大量都是重复的,比如“输入账号密码”这种,每个地方都得写一遍。
这时候能不能找点不同的场景?比如“密码包含特殊字符”要么“账号被禁了还能用”。
要是都不中,干脆把用例合并一下。测试的本质就是覆盖边界,不管是极端值还是空值,还是特殊字符,都得想想是不是能用到。 有些用例还得看“反直觉”的地方。
比如用户点“确认”,系统弹个框说“确认将删除订单”,用户一乐,点了确认。
这时候系统没报错,订单没了。
这算啥?这算用户体验测试。
要是用户点“取消”,系统提示“操作成功”,结局后台订单还在,要么提示“取消亡败”,但订单实际上已经消亡了。
这种时候,测试用例就得有点“毒辣”,得把预期和结局都写清楚,别让用户自己去猜。 还有那些“假数据”测试,比如把数据批量插入,然后跑脚本,看系统会不会出于数据忒多崩溃。
要么换个 IP 地址测试,看能不能绕过风控。
这些都是真环境里可能遇到的事儿,写在用例里,能帮测试人员提前规避风险。 最终,用例得有一点点“人情味”。别总写“用户点击 X 按钮,系统回 200"这种干巴巴的话。要写“用户点按钮,没反应,用户皱眉,质疑是死机”。
要么“用户输入验证码,界面没变化,用户启动骂街”。
这种描述,能让测试人员一眼就懂测试的重点。
比如这个用例,重点检查的是“验证码防刷和 UI 反馈”,而不是单纯验证接口请求。 测试用例不是死的,是活的。
每次执行,每次运行,每个毛病的细节,都是新的发现。
有时候发现一个 Bug,比找到十个用例都管用。
故此别忒纠结格式,格式是给别人看的,不是给自己看的。
只要能把系统里那些影子、漏洞、坑,一个个挖出来,就能把产品带得更稳。
声明:演示网站所有内容,若无特殊说明或标注,均来源于网络转载,仅供学习交流使用,禁止商用。若本站侵犯了你的权益,可联系本站删除。
