非功能需求辅助技术选型

机会

最近一直在做API相关的测试工作,在准备上API自动化测试的阶段,初期在使用JMeter时感觉很不方便:

  1. 增删改查用例,都需要在GUI界面上点击操作
  2. 参数输入和更改在GUI上
  3. 验证形式单一且不灵活
  4. 想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

  1. NewMan (TBD)
  2. supertest(TBD)
  3. REST-assured(TBD)
  4. Karate(TBD)

结论

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

posted @ 2020-06-17 16:38  杨静00  阅读(151)  评论(0)    收藏  举报