接口思考点

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

接口测试该思考的方面:
    功能性、易用性,安全性,可靠性,性能
    
    
    可靠性:
    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.中间件以及关联系统中的状态和数据
    
   

原文地址:https://www.cnblogs.com/fqfanqi/p/7922882.html