zoukankan      html  css  js  c++  java
  • 接口思考点

    首先声明,本篇内容为赵老师(赵国材)的分享内容,本人作为学习摘要记录。

    接口测试该思考的方面:
        功能性、易用性,安全性,可靠性,性能
        
        
        可靠性:
        1.API参数容错:API参数数据类型错误,缺省参数值,关键参数缺失以及参数为特殊值:Null,True,False等
       
        2.API异常状态恢复:无论系统执行成功还是失败,都需要返回response。不合理的Timeout以及死锁情况会导致接口挂起影响关联系统稳定性
        
        3.分布式系统,集群API可靠性测试需要关注数据一致性,分区容错性
        
        功能性:
        1.业务功能测试:结合业务逻辑使用等价类,边界值等设计方法设计正常场景,异常场景并进行参数组合测试和接口组合测试
        
        2.事务测试:接口中如果启用了事务,用例需要关注事务提交失败的情况,验证接口事务回滚业务逻辑
        
        3.API幂等:部分业务接口有幂等要求,需要保证多次以及并发调用返回结果一致
        
        4.共享数据线程安全:接口中存在了共享数据,需要关注并发状态下共享数据线程安全
        
        易用性:
        1.设计:
            API设计应当划分合适的业务粒度,不当的粒度会导致臃肿的接口;
            参数个数最小化原则;
            RESTFul架构需要关注URI的风格和正确的使用Http谓词,确保Get和Head方法是安全的,不对资源状态有所该Bain
        
        2.错误提示信息:
            API response中返回的错误信息需要给出准确的错误信息,不可以直接抛出函数内部异常错误信息。如果系统有基于系统错误码的设计,需要返回正确额错误码
            
        3.文档
            API文档内容的正确,易读易懂
            
        安全性:
            XSS:接口参数过滤html特殊标签等
            CSRF:重要接口提交有CSRF_Token,以及验证码机制
            加密策略:参数中的敏感信息如密码,身份证信息等需要进行加密
            SQL Inject:验证用户输入合法性,并且数据层的异常不需要向上传递到表现层
            错误信息脱敏:Response错误信息或异常信息需要屏蔽敏感信息
            
        单接口性能
            并发响应时间:主要关注接口可能存在的并发问题,如接口中的内存泄漏、线程锁和资源争用等问题
            合理的性能设计:单接口避免消耗过多的内存,资源,流量等。比如在数据查询量大的接口中可以设计分页
            响应时间:单接口响应时间
            
     检查点:
        1.Response中各项值得正确性,以及HTTP状态码
        2.数据库中对应表信息检查
        3.中间件以及关联系统中的状态和数据
        
       

  • 相关阅读:
    XML基础(二)
    XML基础(一)
    转载:数据库应用开发工具Toad使用笔记
    Oracle数据库获取一行记录中某几个字段的最大值/最小值函数
    设置Android让EditText不自动获取焦点
    android TextView selector点击样式改变
    Jenkins build java app under redhat
    Yum
    git windows
    jenkins redhat installation using war file .
  • 原文地址:https://www.cnblogs.com/fqfanqi/p/7922882.html
Copyright © 2011-2022 走看看