Linux c/c++ 测试工具 梁剑钊 UED Team Design
大纲 单元测试框架 mock 构建 / 管理工具 冒烟测试服务器 静态代码检查工具 代码复杂度和代码行数统计 调用栈工具 性能分析工具 内存检测工具 IO 测试工具 网络监控工具 代码覆盖率工具 Linux test suites 文档生成 规划
单元测试框架 gtest> Apsara>cppunit Google gtest Apsara unit: 研发院自主研发, 可产生报 表 / 流程 (check in ->build->run unit tet ->if failed mail ) Cppunit boost::test Cxxunit tut
mock Googlemock: ck/ mockpp : gramming/Quality-Assurance-and- Testing/Mock-Objects-for- Cplusplus-6035.shtml
下一代构建工具 ( 研 发院应用) 目标 : c/c++ 的 maven Automake/conf CMake: No makefile 依赖管理管理不清晰 语法不清晰
自动构建管理工具
Buildbot+Apsara 自动化邮件
Smolder-smoke test server-
静态代码检查工具 Cppcheck ( 商务搜索 + 平台测试 qa 应用 ) 准确率很高 漏测率较高 Cpplint: styleguide.googlecode.com/svn/trunk/cpp lint/ FlawFinder Splint
代码复杂度度量 + 代码行统计 复杂度 cppncss 圈复杂度 >10 ,代码风险高 代码行统计 cccc :
调用栈 pstack strace/lstrace Mstrace Calltree calltree-Download-971.html
性能分析工具 Gprof/graphviz/gprof2dot (B2B) Rational Purify( 商业 ) Intel vtune ( 支持本地 / 远程分析 only intel cpu) TAU is a C++ profiling, tuning, and analysis
性能分析工具 Google performance tools
profile 集团 Profiling system
内存检测 Valgrind (b2b/asc) Memwatch Purify( 商业 ) catchesegv, libSegFault.so
IO 测试 Iotest (delica 项目 ) vdbench ( 运维部 ) IOMeter Bonnie IO
网络监控 Sar –n DEV tcpdump -A -X src and port 8080 Ethereal sniffer
系统级测试框架 DejaGNU oftware/dejagnu/ (基于 Expect ,因而 基于 Tcl ) QMTest ry.com/qmtest/ (基于 Python)
代码覆盖率工具 gcov/lcov
Intermediate Coverage Goals
linux test suites-LTP
Review Board-
doxygen
未来规划 -- 难于串联 local build Auto check in test Auto unit test Auto bvt test Auto code cloverage Auto rule check Auto daily test
参考 Automated Testing Framework Framework shtml Framework shtml shtml
END