【面试高频】给你一句话需求,让你设计测试用例,该怎么做?

简介: 【面试高频】给你一句话需求,让你设计测试用例,该怎么做?

这个需求很简单,怎么实现我不管,明天上线...


一句话、或者简单描述的需求,需要你设计测试用例,我相信大家或多或少都见到过吧?


我想起上一次面试某厂,面试官也出了个这种题。我觉得这种需求作为面试题出现还是可以接受的,如果作为真正的生产需求,我不知道提需求的人会不会被打?


1268169-20220109085407449-1347483496.jpg


今天就不聊生产场景下的,就以面试题的角度,梳理总结一下应对这种题目的套路。


参考题目


借用一个网上看到的题目,支付场景下的:


微信支持余额支付时,不足的部分可以信用卡补充一起支付,但针对使用余额支付的部分给予 3% 的优惠(直接用于本次支付中)


考察点


看到题目,内心是不是一万只草泥马奔过?好想直接打回需求,但是这毕竟是在面试,首先我们要知道面试官的考察点在哪里。


我觉得最重要的是这 2 点:


  • 考察遇到这种不合理需求时的处理方式
  • 考察测试基本功,设计测试时候是否足够发散


解题套路


1. 处理方式


拿到这种需求,内心肯定是拒绝的,我觉得可以向面试官询问一些更多的需求信息,比如应用场景等来让你有更多的了解。


当然了,就算面试官继续补充了点信息给你,肯定还是不够的。


那么我觉得可以说:这个需求不够明确,有不少的信息还需要补充,通常我们一般是打回处理的。


但是到这里还没结束。毕竟是在面试,你肯定还是要设计测试用例的。


我会继续说:不过基于当前的信息,我来说一下我考虑到的点,相关疑问点之后也会提给产品,让其确认。


到了 show 基本功的时候了。


2. 设计用例


设计用例是我们测试人的基本能力,也是最重要的能力。需要我们可以足够发散,既能跳进去扣细节,也可以跳出去考虑上下文。


因为题目没有给出上下文,所以我们可以把想到的问题也罗列出来,作为待确认即可。


剩下的就可以站在多维度:功能、性能、安全、易用、兼容等角度,运用:场景法、等价类、边界值等手段来进行设计了。


参考:


* 适用微信版本?(海外版\国内版\Android\IOS)
* 适用的微信支付方式?(扫码\被扫)
* 是否有存在支付优惠?(红包\直减)
* 支付状态不同,对应的后端处理、和前端交互提示?(超时支付、不支付、支付但金额不足、支付超额)
* 支持的货币有哪些?
* 支付同时的临时动作(首次开通微信支付、支付时开通免密、支付时查看消息后再支付等等),
* 不进行判定的方式、余额精度?比如需要余额大于 1 元?
* 支持的信用卡种类
* 信用卡额度限制
* 测试 3% 优惠的精度
* 信用卡扣费失败,第三方的异常返回码处理
* 优惠支付后是否可退可改?
* 优惠有没有使用次数限制?
* 是否优惠只针对定向用户?
* 交易是否可追溯、可核查
* 高并发场景,性能测试
* 调用请求是否有 鉴权判断。用户敏感信息是否是密文
* 是否有风控能力、能识别异常支付、非法支付、危险支付
... ...


其实还有很多的地方需要考虑,但是面试时候只要表现出你的发散能力足够就可以了。


反思


最后,对话题进行一些延伸。


很多人喜欢自嘲自己是“点工”,没什么技术含量。确实,我觉得对于“点”来说,技术含量确实不大,重要的还是测试思维。


但是仔细思考一下,其实点点点也并不是那么容易的。


点点点是测试过程中的一项重要手段,但是想要做好绝对不是无脑的点,一定是有计划、有思路、有条理的点。


而且,随着当下环境对测试人的要求越来越高,测试人不能只局限于点点点表象。在你点的过程中,很多问题值得去深入研究一下:


  • 测试的功能背后的逻辑是怎么实现的?
  • 开发为什么要这么写?
  • 对于这种场景一般的实现方式时哪些?
  • 背后涉及到的中间件特点是什么?使用场景都哪些?
  • 这种场景的测试是否有可以提炼出来的方法论?
  • 如何更高效的做好这类的测试
    ... ...


现在圈子里对于测试开发趋之若鹜,搞得业务测试就该被鄙视一样。


其实我觉得做业务测试没关系,怕的是自己把自己局限在业务里,纵向、横向的思考一下?是不是还有很多要学习的呢?


把罗列出的知识都学一下,你肯定不是现在的你了。


共勉一下!

相关文章
|
6月前
|
Web App开发 编解码 前端开发
面试题22:如何测试Web浏览器的兼容性?
面试题22:如何测试Web浏览器的兼容性?
150 3
|
6月前
|
测试技术
面试题3: 描述测试用例设计的完整过程
面试题3: 描述测试用例设计的完整过程
|
6月前
|
程序员
面试高频题:开发人员说不是bug,测试如何答复?
面试高频题:开发人员说不是bug,测试如何答复?
116 0
|
1月前
|
NoSQL 测试技术 Redis
第一次面试总结 - 迈瑞医疗 - 软件测试
本文是作者对迈瑞医疗软件测试岗位的第一次面试总结,面试结果非常好,但面试过程中没有提问太多技术性问题,主要围绕个人介绍、互相了解、个人规划和项目亮点进行,因此作者认为这次面经的学习意义不大。作者还提到了实习岗位的待遇和工作内容,以及对不同阶段求职者的建议。
36 2
|
3月前
|
SQL 安全 测试技术
[go 面试] 接口测试的方法与技巧
[go 面试] 接口测试的方法与技巧
|
4月前
|
IDE Java 测试技术
Java面试题:什么是Java中的单元测试以及如何编写单元测试?
Java面试题:什么是Java中的单元测试以及如何编写单元测试?
175 1
|
4月前
|
IDE Java 测试技术
Java面试题:描述在Java中使用JUnit进行单元测试的过程
Java面试题:描述在Java中使用JUnit进行单元测试的过程
49 0
|
6月前
|
数据采集 JSON 数据格式
2024年最新【python基础教程】常用内置模块(1),2024年最新头条测试面试
2024年最新【python基础教程】常用内置模块(1),2024年最新头条测试面试
|
6月前
|
存储 安全 测试技术
面试题11: 如何测试一个APP?
面试题11: 如何测试一个APP?
面试题11: 如何测试一个APP?
|
6月前
|
SQL Web App开发 存储
面试题5: 如何编写提交给用户的测试报告?
面试题5: 如何编写提交给用户的测试报告?
面试题5: 如何编写提交给用户的测试报告?