Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1959483
  • 博文数量: 1000
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 7921
  • 用 户 组: 普通用户
  • 注册时间: 2013-08-20 09:23
个人简介

storage R&D guy.

文章分类

全部博文(1000)

文章存档

2019年(5)

2017年(47)

2016年(38)

2015年(539)

2014年(193)

2013年(178)

分类: 服务器与存储

2016-01-20 14:11:42

很多it公司对于软件开发都有严格的分工,这包括设计、测试、服务支持等等。但是,我一直都认为只有开发者才是真正对软件质量负责的人。没有好的软件设计,软件质量基本上是无从谈起。当然,要做到这一点是需要额外的一些工具来进行保证的。因为这一段时间都是在linux上开发的,所以下面涉及到的工具基本上都是基于linux平台的。假设测试的文件名为test.c。


(1)测试代码覆盖率

[cpp] view plain copy
  1. gcc -fprofile-arcs -ftest-coverage -o test test.c  
  2. ./test  
  3. gcov test.c  

(2)代码静态测试


[cpp] view plain copy
  1. sudo apt-get install splint  
  2. splint test.c  

(3)内存泄漏测试


[cpp] view plain copy
  1. sudo apt-get install valgrind  
  2. ./test  
  3. valgrind --tool=memcheck --leak-check=yes ./test  

(4)性能测试


[cpp] view plain copy
  1. gcc test.c -pg -o test  
  2. ./test  
  3. gprof test gmon.out -p  

(5)单元测试CUnit-2-0-1


[cpp] view plain copy
  1. aclocal  
  2. autoconf  
  3. autoheader  
  4. chmod u+x configure  
  5. libtoolize  
  6. automake --add-missing  
  7. ./configure   
  8. make  

    因为CUnit-2-0-1中有一个test_cunit代码,所以大家可以直接看看单元测试下是怎么运行和测试的。    

    上面的几个工具都是linux下测试的几个工具,大家可以根据自己的需要进行灵活的选择。当然,在实际开发中,我们需要把这些工具集成到makefile中,这样可以达到最好的测试效果。


阅读(1248) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~