服务端测试

测试

业务测试

code review

人工检查关注的内容:
1、配置文件
2、循环中止条件
3、第三方库
4、判断对象为空

常见工具

文档

关注的点:
1、确认
2、有eg

API

入参出参
返回值校验
异常场景

落值

数据入库
时效性

log

1、是否有错误日志
2、通过log观察代码逻辑

专项测试

接口自动化/部署自动化
性能/压力

压力指标如何设定
单接口压测和场景压测(场景化压测如何设置)
压测的策略?
压测数据(关注哪个数据)
机器指标:CPU 内存 IO
业务指标:各阶段耗时 请求数 QPS 空占比 错误占比 logerror对比 平均耗时

稳定性

长时间模拟真实用户访问系统观察指标
强依赖、弱依赖故障能否正常进行
降级处理
监控报警

批量

正常流量下 数据占比:空占比、错误占比

diff

相同请求针对不同版本不同环境测试结果对比

开发

语言栈

语法

java
python

底层原理
框架

springboot
hashmap
-1.7和1.8的区别和优化
-解决哈希碰撞
-hash表扩容
rpc
rpc http区别
1、rpc二进制流
2、rpc属于传输层
3、微服务,把服务名和ip映射
关于rpc问题:
1、什么是rpc,rpc远程过程调用,从远程计算程序上获取服务
2、rpc的优势:
可以自定义的TCP通信协议,报文体积小传输快
可以基于thrift实现高效的二进制传输
自带了负载均衡策略(?)
能做到自动通知,不影响上游(?)

中间件

mysql
-sql查询语句
-索引
-慢查询 explain

kafka
优势:解耦、缓冲、高可用、异步
吞吐量大的原因:partition机制(?)

redis
-数据存储
-数据时效性测试

算法

字符串
链表

排序

服务架构

微服务

设计模式

单例模式

//懒汉模式
public class Singleton1 {

    private static Singleton1 instance = null;

    private Singleton1() {
    }
    public static Singleton1 getInstanceA() {
        if (null == instance) {
            instance = new Singleton1();
        }
        return instance;
    }
}
//饱汉模式
public class Singleton2 {

    private static final Singleton2 instance = new Singleton2();

    private Singleton2() {
    }

    public static Singleton2 getInstance() {
        return instance;
    }
}
//枚举模式
public enum Singleton {
    INSTANCE;
    
    public void doSomething(){
        //todo doSomething
    }
}

工厂模式
消费者/生产者
观察者

测试工具开发

你可能感兴趣的:(服务端测试)