• 麻烦先说清楚题目吧

  • 分库分表有点意思。不介意多交互一次的话,可以利用自增主键做一个唯一 userid 的生成器。或者每个分表有一个 offset,然后基于这个 offset 自增,当然这个数量上就有局限了。

  • 我觉得这个是数据层面的问题吧,需要看下 userID 是怎么生成的,如果是随机码,那去验重的必要性就比较小,如果是通过一些列算法计算得出,那还要考虑数据库是怎么设置的,如果 ID 是通过 name 固定算法生成,也就是说,我们在数据层面只需要验证 name 的重复性就好了吧。
    不知道我这样理解对不对,说实话,有点没搞懂这个问题的关注点是哪里,可能是我没理解到位。😅

  • 肯定是你的问题,工作中见过很多情商低的 it 人员

  • 说实话我没看懂题目,没有任何接口说明让别人测试都是耍流氓,至少参数限制数据类型得给吧

  • 好奇楼主的答案,除了 13 楼的大哥答案,我想不出别的

  • 很好奇楼主的答案

  • 小公司学技术,这个我觉得,90% 的小公司都是单纯点点点的

  • 题目描述很混乱,没有重点,能问出这种问题的,我只能说你一点都不懂接口自动化。

  • 仅楼主可见
  • 楼上几位大佬已经把 case 各种情况考虑了,个人认为既然是注册的功能,返回的除了 userId,应该还需要一个字段 isHas,来表示这个 userName 是否被注册

  • 题目都没说清楚~
    还怎么面试别人?

  • 我也没看懂,一会儿 userName,一会儿 userId 的,什么鬼

  • 我记得谁说过大公司学流程,小公司学技术

  • 我猜测楼主想要的是:

    1. 先设计用例,不要一上来就讲工具。用例设计的时候除了常规正常异常,还需要关注下 userName 重复时 userId 不重复,以及 userId 返回值是否与数据库一致,高并发下是否会出现 userId 重复或由于线程间锁竞争引起的性能的问题。
    2. 设计好用例后,再说用工具如何实现。
  • 1、首先需要确认一下你是否描述清楚了你的问题?
    2、可以将问题以书面形式展示给面试者。
    3、面试是双向的,那个 95% 的比例是不准确的,难道 30 个人仅两个回答与 jmeter 无关?不排除有培训机构推荐过来的菜鸟

  • 两个点,纯粹从楼主的要求考虑,
    1.采用 hashset 方式生成制定数量的用户名,用户名不重复了
    2.返回结果的 userId,根据服务端的 userid 生成规则。写对应的正则,但考虑到生成的 useid 重复,可以采用 list user 形式,查询条件 userName,判断 list 长度是否为 1,确保唯一性

    从开发角度考虑,我直接看开发代码就好了,用例根本都不用设计,开发不会按规则改,我帮他改

  • 什么都有不代表你就什么都掌握了,只是你有幸接触到了。这是个好机会,努力去学习,让它变成你自己掌握的东西。

    1. 既然注册请求的 userName 不允许重复,那么重复值是肯定要测的,看后台怎么给返回值了;其他的测试就按照正常的测试流程了:长度 (0、规格长度、超长)、特殊字符、中文
    2. 返回值的 userId,这个其实不太好预测,可能要看一下后台生成规则,可能是随机的,也可能是数据库自增产生的,根据生成规则判断一下 userId 返回数据的数据格式 (或者如果是自增产生的,是否可以查询一下当前的最大值,那么可以期待一下下一个值,当然这个不考虑并发的情况下);目前我们这边不验证这个 userId,最多验证一下格式 (比如是否是八位?主要测试下是否符合后台生成规则),或者有时候根本就判断一下这个 userId 是不是空就可以结束叻 (这是基于后台代码写的不错的情况下),但是这个字段最好不要在响应中体现吧?
    3. 并发注册测试一下,看这个 userId 会不会重复,代码能不能有效处理多线程

    其他的,想不到了,嗯。。。,虽然也没有明白楼主主要想测试哪方面的能力。。

  • userId 是唯一主键,userName 是唯一的外键。
    你想说从数据库里搜一个存在的,再搜一个不存在的?
    测试环境是可以这么玩。
    注册入参是带 userName 的,如果返回有 userId,你们开发就是菜鸡,没有一丁点的安全意识。

  • 用是可以用,但是看不到代码

  • 第一个是题目描述有歧义。。userName 和 userID 是不是两个字段,一会儿 userName 一会儿 userID 的,不了解的以为你打错了。。
    就当你没打错,我理解的题目意思是发送一个 userName 返回一个 userID,而且这个 userID 不重复,那就说明 userName 可以重复喽,
    首先空值可不可以传,最多传多少字符,支持汉字么,支持符号么,支持空格么,用同一个 usaerName 多线程循环请求看会不会出现并发问题。
    让我设计这个 userID,sql 主键自增也行,时间戳加别的信息也行,UUID 不太清楚怎么生成的哈就不讲了。
    自动化的化上面提到的分开写 case 就可以了。。
    大概我是这么想的

  • 如果你是被面试者,你会如何回答这个问题呢

  • 正好学习呀,等差不多学会了,再跳呗,那么好的学习环境,各种代码脚本都是现成的。

  • 关于自动化平台开发的有什么好书推荐呢