Linux下数据传输(Socket)服务的测试工具及技巧

一.测试工具
1.ps -u
  获取当前运行程序的Pid、cpu、内存占用情况
 
2.top/htop/free
  这三条指令相结合,可以查看程序的内存,cpu使用情况
  其中查看内存,以free为主,另外两个为辅
 
3.lsof |grep "程序名"|wc -l
  查看程序创建的fd。进而判断程序的socket连接句柄数
 
4.lsof |grep "程序名" > 程序名.log
  将指定程序的资源使用状态输出到文件中,可以查看其资源具体使用状态;如当前Listen的端口、建立连接的socket
 
5.pmap pid > 程序名.log
  查看程序当前内存使用状态,如线程个数,及每个线程的栈大小
 
6.valgrind --tool=memcheck --leak-check=yes --log-file=程序名.log 程序可执行命令
  对程序进行内存检查,尤其是内存泄露...
 
7.strace/ltrace -o 程序名.log 程序可执行命令
  用来跟踪程序运行时的栈调用,该命令输出内容比较多,而且一般要结合其他工具(如gdb)工具来使用才有效
 
8.gdb + core文件
  首先执行:ulimit -c unlimited
  执行程序发生段错误时,生成core文件
  gdb 程序可执行命令 core文件;对core文件进行分析,定位段错误
 
9.tcpdump 【-i lo:用于环路】 【-s 0:不限制包大小】 -w tcpdump.log 【tcp port 3002:过滤语句】
  该工具用来根据自己设置的过滤语句,抓取需要的socket通信数据包;
  抓取后的数据可以在windows下通过wireshark或者easySpy工具来分析;
 
二.测试手段
1.测试网络拓补图
  可以根据该文档,搭建测试环境
 
2.测试计划
  使得测试过程可控
 
3.测试用例
  预先对测试内容进行规划,可以在测试过程中进行补充、完善
 
4.QA文档
  将测试过程中遇到的问题,想法,建议,bugs都记录在该文档中;
  尤其是在团队合作中,该文档可以加强团队成员的合作
 
5.BugTicket(缺陷分析文档)
  将测试过程中的bugs,及发现过程、分析过程、解决过程都记录下来,可以起到积累测试经验的作用
 
6.仿真工具
  可以根据测试需求,编写仿真软件来模拟测试环境
  如:编写软件来根据配置生成sql语句,可以通过SQL工具来加快配置管理的过程
     编写软件来根据配置生成HTTP接口调用,可以通过文件+httpd的方式来模拟Access服务器的接口调用        

相关推荐