关于接口测试这件事情,我和开发人员打了起来

哈哈~标题党了,各位。
事情是这样的,今天在做接口测试,我对接口的每一个传参都进行了长度和数据类型验证。发现每个传参在后台都没有校验,然后和开发人员沟通后出现了以下对话。

我:接口传参长度和数据类型应该与数据库设计的对应字段保持一致。(该接口是实现保存功能)
开发:接口参数没有可能完全校验,代码量非常庞大 性能也受影响
开发:这些都要检查是不是真实有效 全部去数据库中查一遍,这样就要查 N 遍数据库,校验都能把性能搞死去

所以我想请教一下各位大佬,以下问题。解决我自己的疑惑
1、一般的软件公司是有此规范吗(对参数长度数据类型和数据库保持一致)
2、如果进行这些校验真的会造成大量的冗余代码和对接口性能影响会很大吗?(这里我说一下自己的理解,我认为接口传输到 java 代码层面上,封装对应的校验长度和类型的方法是不至于会对接口造成很大的性能影响,更别提冗余代码。也不会出现开发人员所说的要去查询 N 遍数据库的情况,因为在代码层面已经拦截并抛出异常了,不会再去到数据库进行查询)
3、各位大佬是怎么解决这样的问题吗,可以给一点思路或者方向吗。谢谢大家了。

回答

具体问题具体分析。不了解你们的具体情况,无法做出回答。如果不考虑具体情况,就一般情况来说,我认为:

1,一般的软件公司是有此规范吗?
答:已经超越规范不规范的事情了,如果对长度和类型不做验证,可能无法插入数据库,必须得有验证

2,如果进行这些校验真的会造成大量的冗余代码和对接口性能影响会很大吗?
答:影响大不大看具体情况,一般情况下不管如何必须要对输入得数据验证

3,各位大佬是怎么解决这样的问题吗
答:肯定要验证啊,不管是框架有相关得方案,还是自己写代码验证(验证是否符合业务,是否符合数据长度等)


我比较好奇,没有验证得话,你输入长度超过数据库约束长度的参数,会怎么样?

以上是关于接口测试这件事情,我和开发人员打了起来的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>