您现在的位置是:焦点 >>正文

测试需求分析

焦点2133人已围观

简介一个登录页面,需求文档写了三行字:“用户输入手机号和密码,点击登录,跳转首页。”开发照着做,测试照着测,上线第二天客服炸了——用户用境外手机号注册,收不到验证码。翻回需求文档,没有任何一条说“仅支持中 ...

一个登录页面,测试需求文档写了三行字:“用户输入手机号和密码,需求点击登录,分析跳转首页。测试”开发照着做,需求测试照着测,分析上线第二天客服炸了——用户用境外手机号注册,测试收不到验证码。需求翻回需求文档,分析没有任何一条说“仅支持中国大陆手机号”。测试这不是需求段子,是分析我前年在一家电商公司亲眼见到的事故。

测试需求分析要解决的测试,就是需求这类问题。需求文档不是分析圣经,它是一份有缺口的草稿。产品经理写需求时脑子里装的是“正常流程”,而测试要做的,是把那些他没说出口的假设、边界和例外,一条条挖出来摆到桌面上。

很多人把“测试需求分析”等同于“看需求文档写测试用例”。这中间跳了好几步。看文档只是起点,后面至少还有三件事:拆解业务逻辑、识别隐性约束、确认验收标准。缺了哪一步,测试用例都是空中楼阁。

拆解业务逻辑,说白了就是把需求从“功能描述”翻译成“状态流转”。比如“用户下单后可以取消订单”,这句话背后藏着一串状态:待支付、已支付待发货、已发货、已签收。每个状态能不能取消?取消后退款走什么路径?优惠券退不退?库存什么时候释放?产品经理一句“可以取消”,落到测试这边就是十几条分支路径。不拆到这一层,用例覆盖率根本无从谈起。

隐性约束是最容易翻车的地方。我见过一个项目,需求写的是“上传头像,支持常见图片格式”。开发实现时限制单文件不超过2MB,但没写进文档。测试按需求测了JPG、PNG、GIF,全过。上线后用户传了一张3MB的手机原图,直接报错。你说这怪谁?测试没问“常见格式”的边界在哪,没追问文件大小限制,这就是需求分析没做到位。后来我养成了一个习惯:凡是需求里出现“支持XX”“兼容XX”“常见XX”这类模糊词,一律列出清单找产品逐条确认,确认结果写进测试方案,抄送开发和产品。口头确认不算数,出了事没人认。

验收标准的确认更微妙。产品说“搜索要快”,多快算快?200毫秒还是2秒?不同角色对“快”的定义完全不同。测试需求分析阶段就要把这个模糊词量化成可验证的指标。响应时间不超过500毫秒,并发100人时错误率低于1%。这些数字不一定由测试来定,但必须由测试来追问。没有数字,测试报告里写“搜索功能正常”,这五个字毫无意义。

还有个常被忽略的维度:非功能需求。安全、性能、兼容性、可访问性,这些东西在需求文档里往往一笔带过,甚至完全不提。但它们是线上事故的高发区。我现在的做法是,拿到任何一份需求,先过一遍检查清单:有没有涉及资金?有没有用户隐私数据?有没有第三方接口依赖?有没有多端适配要求?只要命中任何一条,就单独拉一个分析项,不管产品有没有写。

做测试需求分析,工具和方法论其实不复杂。复杂的是愿不愿意多问一句“然后呢”。产品说用户登录后跳首页,你问一句“登录失败呢”;开发说接口返回200就是成功,你问一句“返回200但body为空呢”。这些问题不高级,但能挡住大部分低级事故。

说到底,测试需求分析不是走流程,是在需求阶段就替用户把坑踩一遍。产品、开发、测试三方坐在一起,产品讲他想要什么,开发讲他打算怎么做,测试讲什么情况下会出问题。这个对话越早发生,修复成本越低。等到代码写完再发现问题,改一行代码的代价可能是改十行用例的十倍。

Tags:

相关文章

  • external nofollow

    焦点

    Google在2019年正式宣布不再用nofollow属性作为排名信号,但这事远没有表面那么简单。external nofollow,说白了就是告诉搜索引擎“这个链接我不背书”。可现实中,它早被玩成了 ...

    【焦点】

    阅读更多
  • 电子商务网站毕业论文

    焦点

    2023年双十一,天猫开场10分钟成交额破亿的品牌有15个。这个数字背后,是成千上万台服务器在零点瞬间承接的并发请求——每秒几十万次点击、加购、下单。电子商务网站能扛住这种流量,靠的不是运气,而是架构 ...

    【焦点】

    阅读更多
  • 悉尼足球直播

    焦点

    凌晨三点,我窝在沙发里,手机屏幕亮着,画面里悉尼FC的球员正在热身。澳洲的太阳已经升起来了,解说员的声音带着那股熟悉的澳洲口音,把“Sydney”念得像“塞德尼”。这是我这个月第三次熬夜看澳超直播了, ...

    【焦点】

    阅读更多


友情链接