非功能需求辅助技术选型
机会
最近一直在做API相关的测试工作,在准备上API自动化测试的阶段,初期在使用JMeter时感觉很不方便:
- 增删改查用例,都需要在GUI界面上点击操作
- 参数输入和更改在GUI上
- 验证形式单一且不灵活
- 想debug时,只能打印内容到日志里,不能时时debug。
相较于上边的不灵活,还是喜欢code的方式写测试,重写一个测试的时候只需要复制粘贴修改,很快就写好一个,所以决定重新选一个工具来做API的自动化测试。JMeter还是用来做性能测试的备选吧。
疑惑
网上查了下,相关做API自动化测试的工具有很多,newman,supertest,rest-assured,karate 等,这些工具我到底要使用哪一个呢,如果说让我把每一个都做个小demo感受一下,可以是可以,但最后的结果总不能说是,我感受了下,karate体验很好,就用它吧,这太随意了,那如何决定最终使用哪一个呢?
方向
我请教了身边工作经验丰富的架构师同学,他给我推荐了一个好用的工具,可以叫它非功能需求,也可以叫跨功能需求,原词是Non-fucntional requirment, 这里边有多达62个维度,其中包括Accessibility,Readability 还有Scalability等我们常见的一些维度,私认为,有了它,大多数的工具选型,技术选型,solution选型等都可以用这个工具来套了,只是选择其中哪些维度还是具体情况具体分析的。比如,我这里的API自动化工具选型:
|
维度/工具 |
NewMan | supertest | REST-assured | karate |
|
Language |
||||
|
Documentation |
||||
|
Performance |
||||
|
Reusability |
||||
|
Robustness |
||||
|
Compatibility |
||||
|
Stability |
||||
|
Supportability |
||||
|
Usability |
||||
|
Cost |
Demo
- NewMan (TBD)
- supertest(TBD)
- REST-assured(TBD)
- Karate(TBD)
结论

在一系列的调研(Demo)中,最终会有这样一个表格,针对每一个维度,把对应的发现-好的/不好的都写到对应的表格里,然后整体进行着色,对于黄色的部分,如果项目体量不大,用例不都,可能也不会作为一个限制因素,但是还是要按照长期计划来考虑。
浙公网安备 33010602011771号