点击文末小卡片免费获取软件测试全套资料资料在手涨薪更快有的接口会返回很多数据有的接口可能就返回一个状态码及success之类的消息这些需要验证数据库么现在在写一个测试框架配置接口参数和预期返回值生成xml文件管理用例用一个比较方法对预期和返回作比较不需要根据每个接口写脚本现在的疑惑只之比较返回值并不清楚接口是否真的成功了比如删除之类的接口返回说成功了但数据是否真的删除了如果要验证数据库感觉得为每个用例写脚本去验证了这就和初衷不符只写个比较函数比较返回的所有值不需要为每个接口单独验证不少同学在做自动化是都会问要不要验证数据库我的答案是不要根据分层自动化测试的概念。UI层自动化模拟的是用户操作假设我是一个普通的用户在你家的系统上购买了一件商品我怎么知道有没有购买成功难道要去查你家系统的“已购买表”没权限就算有权限我也不会那我怎么验证很简单啊系统不是有“已购买”商品列表嘛点开“已购买”菜单看就可以了如果没有这功能那说明你的系统设计有问题。用户体验不好差评接口自动化模拟的是开发的代码操作A开发写的接口给B开发去调用A系统的接口给B系统去调用假设我是一个开发我调用了微信的接口去做获取用户头像有个用户获取不到来微信团队你让我查查你们的数据库呗微信肯定不答应。数据库不是你想查想查就给你查那接口返回了“success”但没有把数据添加/删除成功怎么办从我两年接口自动化的经验来说这中情况基本非常少见因为开发在写代码的时候返回“success”的前提条件肯定是基于操作成功的。开发写代码的时候肯定会自已运行一下啊怎么会运行都不运行哪儿来的自信你们的开发就是粗心怎么办我是这么做的开发提交了新的接口我会边读接口代码边设计接口用例如果接口逻辑看不懂接口数据可能就构造不出来接口用例自然也不会写。代码有问题就直接告诉开发改了在这个过程中我是会查数据库的。一旦接口用例写好之后后面再回归去跑的时候就不管了当然每条接口用例里面肯定不会加查询数据库的动作。在特殊情况下我调用了一个删除数据的接口有没有真的删除一条数据我可以调用查询数据的接口啊查不出来刚才删除的数据不就证明刚才的删除接口操作是ok的了。大多数测试问这个问题就是把自己当测试了在做手工测试的时候就是这么查数据库的呀典型的站在测试的思维上想问题。我做UI自动化的时候我就是普通的用户我做接口测试的时候我就是开发。只不过我会比普通用户和开发更细致更全面的“使用”系统所提供的功能而已。但“使用姿势”和他们是一样的最后感谢每一个认真阅读我文章的人礼尚往来总是要有的虽然不是什么很值钱的东西如果你用得到的话可以直接拿走这些资料对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你凡事要趁早特别是技术行业一定要提升技术功底。