一、接口自动化测试的 “能 “
接口自动化的目标
• 用于项目的 API 层的 HTTP 接口的功能逻辑验证• 减少手工测试的工作(回归验证;跨模块的验证)• 实现手工验证不能做的验证(如接口涉及大量数据的排序比较)• 手工很难充分验证的功能逻辑(如接口的功能验证涉及大量的数据)
P.S. 实际项目中,接口自动化的根本目的是什么?
个人认为是定时跑时,能监控接口,当接口功能失常时,可以及时发现,即发现 Bug。因此,可以使用代码覆盖率来评估接口自动化的完整性,但更重要的是发现问题。
接口自动化 Case 用例设计原则
切记:
• 不要为了做自动化而做自动化,做的首要目标是问题出现时,能第一时间发现;• 自动化中的代码覆盖率统计可以作为参考,但不能一开始就为了提高覆盖率,陷入 Case 设计之中;
注意:好的接口自动化 Case 设计,依赖于 Case 设计者的功能理解程度(手工测试的功力)+ 功能覆盖点
原则:
-
将手工测试点转换为自动化用例。Case 设计注意:验证用例通过的标准—参考一个功能点容易出问题的地方。或者说,一个用例的通过说明此功能点一定没问题;反之,一定有问题。
-
覆盖手工测试不易检查/太浪费时间的检查
比如:
• 一个 HTTP 接口设计大量的数据比较的时候;• 接口的 json 返回不能直接检查功能点是否正确(需要调用另一个接口的 json 来间接验证时);• 一个接口的 jso