redis-like项目地址:https://blog.csdn.net/cute_Niu/article/details/100008649
功能测试:
1.对于lpush命令进行测试
编写测试用例:
对于向niu中进行数据插入
测试用例 | 预期结果 |
---|---|
lpush niu 1 | 成功插入数据 1 |
lpush niu hello | 成功插入数据 hello |
lpush niu | 返回错误:至少需要两个参数 |
lpush 1 | 返回错误:至少需要两个参数 |
测试结果:
与自己的预期结果相同
2.对于lrange命令进行测试
编写测试用例
测试用例 | 预期结果 |
---|---|
lrange niu 0 1 | 显示0到1之间的元素 |
lrange niu 0 -1 | 显示从0到倒数第一个元素之间的元素 |
lrange niu 0 | 返回错误信息:至少需要三个元素 |
lrange -1 | 返回错误信息:至少需要三个元素 |
lrange 0 2 | 返回错误信息:至少需要三个元素 |
测试结果:
与自己预期相同
3.对于lpop进行测试
测试用例 | 预期结果 |
---|---|
lpop niu | 成功删除list "niu"中的第一个元素 |
lpop 1 | 返回错误信息:不识别的命令 |
lpop niu 1 | 返回错误信息:需要一个参数 |
测试结果:
与自己的预期结果一致
性能测试
在性能方面通过一段测试代码同时执行了1000次命令测试他的响应时间:其中lpush和lrange的响应时间为0.73s和1.37s。在运行过程中观察任务管理器发现在程序测试的时候内存消耗很大并且cpu利用率高
对官方提供的redis数据库进行同样的测试:lpush的响应时间为0.23s,lrange响应时间为:0.39s,lpop响应时间为0.18s。在运行过程中cpu的利用率和内存的消耗也有增大
相比较官方的redis数据库,我们自己写的redis性能还较差,但是与自己的预期结果基本符合,在性能方面还可以有提升。