——看书真是迅速进入一个陌生领域的最快办法……系统的、体系完整的知识比起在互联网上七拼八凑出的认识强太多了!
先记下一些理论概念……
一、大致分类
0.项目集成构建与管理
Jenkins是一个功能强大的应用程序,允许持续集成和持续交付项目,可以处理任何类型的构建或持续集成
1.团队评审工具
有助于团队通过共同的开发、测试和管理工作以便能生产出高质量代码的代码审查工具。它允许团队在一个透明、协作的框架下进行同行代码审查、用户故事和测试计划——即时保持整个团队知晓对代码所做的更改。
windows下GitHub的安装、配置以及项目的上传过程详细介绍
Tortoise SVN 使用教程
静态代码分析工具列表分析—代码分析工具列表(30款工具)
2.代码审查工具(静态分析)
华为DevCloud(提供指导修复)
三款主流静态源代码安全检测工具比较
静态代码分析工具清单:开源篇(各语言)
开源的C++静态分析工具
代码静态分析工具——splint的学习与使用
cppcheck一个静态C / c++代码分析工具
C++代码质量扫描主流工具深度比较
以下为工具在付费价格、规则数量、准确率、扫描效率、编译依赖、IDE支持、跨平台支持、可扩展开发方面的对比数据。注:本次竞品分析的选择了3款游戏项目(约500万行代码)。
3.OJ——Online Judge在线判题系统
用户可以在线提交程序源代码,系统对源代码进行编译和执行,并通过预先设计的测试数据来检验程序源代码的正确性。
OJ大集合
4.代码测试框架、(性能、安全等的单元测试)工具、测试辅助
0.测试数据生成(其余内容在下一节)
生成测试数据神器:使用python的faker库
Java 生成测试字符串的库:Java Faker
测试用例自动化生成工具
一个自动生成测试用例的项目
二、现有具体工具分类
1.软件模拟人工界面操作
AutoRunner (录制动作,生成系统脚本,自动运行的测试工具)
2.单元测试工具——代码段测试、用例自动生成……(官网链接,软件介绍)
parasoft官网(不止java,还有支持包括c++的一众语言):https://www.parasoft.com/
代理商1慧都:https://www.evget.com/supplier/439
代理商2麦克泰:http://www.bmrtech.com/proddetails_91614.html
parasoft Jtest 使用教程:生成、执行和扩展Junit测试
使用 Parasoft Jtest:一款优秀的 Java 代码优化和测试工具
parasoft c++test操作手册
JUnit 是一个回归测试框架,Junit唯一争议的地方便是需要自己编辑测试用例,被开发者用于实施对应用程序的单元测试,加快程序编制速度,同时提高编码的质量。
java单元测试工具 junit
Junit的基本使用(详解)
Randoop随机测试&自动生成测试用例(它基于Junit格式自动生成测试用例.)
凯乐软件官网:http://www.kailesoft.com/
Visual Unit官方博客:http://www.51testing.com/html/58/35658.html
Visual Unit 简明教程
测试之家:http://www.tlemp.com/
雨田单元测试系统
LDRA:https://ldra.com/
使用LDRA Testbed对代码进行单元测试
星云测试/wings发布版开源:https://gitee.com/teststars/wings_release
c语言单元测试用例全自动生成软件wings介绍
Wings 与 parasoft c++ test 在单元测试用例自动生成能力的比对
3.ide工具
Visual Studio的宏扩展功能(可用来函数测试)
parasoft C++test(VS2010插件版)简明操作手册
单元测试框架 CppTest
Visual AssistX(代码补全、函数提示的好工具)
Visual Studio C++单元测试总结——3种方法可用
4.相关收费产品(百度广告的。)
(1)带有用例库管理的团队管理
测试用例编写工具ONES TestCase
(2)自动化测试
TestStand
5.其他待发掘的工具……
其他总结类文章……
开源单元测试工具汇总
源代码、单元测试工具
一文了解十大 Java 开发者必备测试框架!
常用自动化测试工具
C++ 的单元测试工具 —— Catch
其他工具
Google C++单元测试框架—Gtest框架简介(译文)
JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具
单元测试工具IBM Ration Purify
CppUnit测试框架入门
Valgrind是一款用于内存调试、内存泄漏检测以及性能分析的软件开发工具。
Snaipe/Criterion-一个简单可扩展的 C 语言测试框架
三、各类功能小结
在获取源代码后可以做的工作↓
0.代码规范检查
提供基于内置编码规范的代码检查、基于用户自定义的编码规范的代码检查、自动修复代码规范错误和访问代码规范描述信息等功能。
1.静态程序分析
静态代码分析是指不运行源程序,仅通过分析源程序的语法、结构、接口等来检查程序正确性,找出代码隐藏的缺陷之处。
作为一个多人参与的项目中代码审查过程的一个阶段,因编写完一部分代码之后就可以进行静态分析,分析过程不需要执行整个程序,这有助于在项目早期发现以下问题:变量声明了但未使用、变量类型不匹配、变量在使用前未定义、不可达代码、死循环、数组越界、内存泄漏等。
在获取源代码并配置好环境后可以做的工作↓
2.自动化单元测试
自动建立测试环境,自动生成测试用例以及测试驱动程序和桩函数,自动执行
白盒(自动建立测试驱动程序和桩函数)、
黑盒(根据代码中定义的方法入口参数,自动生成大量黑盒测试用例)、
回归测试(只需选择测试项目,即可重复执行原有的白盒和黑盒测试。)。
在获取源代码并设置好用例后可以做的工作↓
3.测试用例的生成与使用管理
测试用例管理
测试用例生成
4.其他功能
代码编写过程中↓
代码审查:的自动代码补全、函数提示。
项目编写过程中↓
团队评审辅助:共同的开发、测试和管理。
四、相关论文或资料:
【《软件测试(第2版)》,作者佟伟光】
关键字:测试用例自动生成
面向java函数调用路径的测试用例生成方法研究
基于动态链接库技术的测试程序实现方法
GUI自动化测试系列(一)测试用例的设计及自动生成
一种软件测试用例自动生成方法与流程
自动生成测试脚本方案浅析
关键字:静态测试软件设计
一种API自动化测试工具的设计与实现
搜索关键词:
测试用例自动生成工具
自动化测试工具
自动生成java测试用例的工具
java函数输入值生成测试工具
单元测试工具
下面这张图是Parasoft中文网上的自夸~(其中包括了很多测试公司)
五、测试工具(框架)集中整理
太多了:Free Open Source Windows Quality Assurance Software
(博客格式符用起来整理太累,不断更新……以下是还没放进列表的)
Boost.Test, UnitTest++, lest, bandit, igloo, CxxTest, cute
CodeTest :C
RTRT :C,C++,ADA,Java
Cantata :C,C++
Logiscope:C、C++、Java、Ada 等
VectorCast:C,C++,ADA
Tessy :C
AsmTester :汇编
Ounec5.0 扫描语言VB、C、C++、C#、Java,属于付费工具。
Coverity Prevent 扫描语言有C、C++、C#、Java,属于付费工具。
Stake SmartRiskAnalyzer 扫描语言C、C++、Java,属于付费工具。
Flawfinder 扫描语言C、C++、属于付费工具。
Static Code Analyzer 扫描语言C、C++、C#、Java,属于付费工具。
PolySpace Client 扫描语言C、C++、python、perl、php,开源
Fluid 扫描语言Java,开源。
静态代码分析工具清单:开源篇(各语言)
静态代码分析工具清单:开源篇(多语言)
开源静态代码审计软件分析比对
由于可能有重名,建议童鞋们搜索时用公司名+工具名来搜索,比如Parasoft Jtest
其中不乏一些小众、冷门、过气、因年代久远销声匿迹了的(以官网凉了为准)。
软件测试网:http://www.51testing.com
1.动态测试(输出检测)
动态测试工具:动态测试工具的一般采用"插桩"的方式,向代码生成的可执行文件中插入一些监测代码,用来统计程序运行时的数据。动态测试工具的代表有:Compuware公司的DevPartner软件;Rational公司的Purify系列等。
名称 |
针对语言 |
所属公司 |
开源/商业收费 |
官网/下载地址 |
产品形式 |
googletest(Gtest) |
c++ |
google |
开源 |
https://github.com/google/googletest |
框架 |
JUnit |
java |
xUnit家族 |
开源 |
https://junit.org/ |
框架 |
CUnit |
C |
|
|
cunit.sourceforge.net/ |
框架 |
Catch |
C++ |
|
开源 |
https://github.com/catchorg/Catch2/ |
框架 |
NUnit |
.NET |
xUnit家族 |
开源 |
|
|
CppUnit |
c++ |
xUnit家族 |
开源 |
https://sourceforge.net/projects/cppunit/ |
框架 |
cpptest (区别于parasoft的c++test) |
c++ |
|
|
http://sourceforge.net/projects/cpptest |
|
Rational Suite 一大系列 |
—— |
IBM |
收费 |
|
|
Coverage |
C/C++ |
Bullseye |
收费 |
|
|
Cactus |
java |
|
开源 |
|
|
BoundsChecker |
|
|
开源 |
|
|
VcTester |
Ada, C/C++ |
|
|
http://www.eztester.com(凉了) |
插件 |
NuMega Devpartner |
VB、VC++及Java |
Compuware |
|
|
|
2.静态分析(代码质量)
静态测试工具:直接对代码进行分析,生成可执行文件。静态测试工具一般是对代码进行语法扫描,根据某种质量模型评价代码的质量,生成系统的调用关系图等。静态测试工具的代表有:Telelogic公司的Logiscope软件;PR公司的PRQA软件。
http://www.sohu.com/a/225782178_505788
https://www.cnblogs.com/hejing-swust/p/9451512.html
名称 |
针对语言 |
所属公司 |
开源/商业收费 |
官网/下载地址 |
产品形式 |
c++check(cppcheck) |
c++ |
—— |
—— |
https://sourceforge.net/projects/cppcheck http://cppcheck.sourceforge.net http://cppcheck.net/demo(在线试用) |
vs插件/应用/在线 |
Olink(Pork) |
c++ |
Mozilla |
—— |
http://danielwilkerson.com/oink/index.html |
|
Dehydra |
c++ |
Mozilla |
—— |
https://developer.mozilla.org/en-US/docs/Archive/Mozilla/Dehydra |
|
C and C++ Code Counter |
c++ |
|
|
http://sourceforge.net/projects/cccc/ |
|
Splint |
c++ |
|
|
|
|
Weff++ for GNU g++的选项功能 |
c++ |
|
|
|
|
Klocwork |
c++ |
|
收费 |
|
|
Gimpel |
c++ |
|
收费 |
|
|
Coverity |
c++ |
|
收费 |
|
|
SCA |
很多 |
Fortify Software |
收费 |
|
|
CxSuite |
很多 |
Checkmarx |
收费 |
|
|
CodeSecure |
ASP.NET、JAVA、PHP |
Armonize |
收费 |
|
|
Hypersource |
JAVA |
art of defence |
|
|
|
Prevent |
JAVA .NET C/C++ |
Coverity |
|
|
|
Flawfinder |
C/C++ |
|
开源 |
|
|
CodeSonar(集成了FindBugs、Checkstyle、PMD) |
C/C++ |
Grammatech |
|
http://www.51testing.com/html/51/10851-76264.html |
|
DevInspect |
JAVA |
HP |
|
http://www.51testing.com/html/51/10851-76264.html |
|
PC-Lint |
C/C++ |
|
商用 |
|
|
Hammurapi |
java |
|
开源 |
|
|
Lint4 |
java |
|
开源 |
|
|
JDepend |
java |
|
开源 |
|
|
BEAM(IBM Checking Tool for Bugs Errors and Mistakes) |
|
|
商用 |
|
|
Yasca |
|
|
开源 |
|
|
Inspector for JAVA |
JAVA |
SofCheck |
|
|
|
KlocWork |
JAVA .NET C/C++,C# |
Insight |
|
|
|
Ounce 6 |
JAVA .NET |
Ounce Labs |
|
|
|
SecurityReview |
JAVA .NET |
Veracode |
|
|
|
Prefast |
|
|
微软 |
在Visual Studio的团队版本中,使用Prefast,打开Project Properties --> Configuration Properties --> Code Analysis -->Enable Code Analysis For C/C++ on build。选择 Yes(/analyze)即可。 |
|
Ncover Explorer(代码覆盖率分析) |
|
|
|
|
|
~.综合应用
综合类(成套工具,测试同时包含静态分析,而非单纯框架)
名称 |
针对语言 |
所属公司 |
开源/商业收费 |
官网/下载地址 |
产品形式 |
c++test |
c++ |
parasoft |
收费 |
https://www.parasoft.com/ |
vs插件/应用 |
Jtest |
java |
parasoft |
收费 |
https://www.parasoft.com/ |
应用 |
TestStand |
|
national instructments |
有试用版 |
http://www.ni.com/zh-cn/shop/electronic-test-instrumentation/application-software-for-electronic-test-and-instrumentation-category/what-is-teststand.html?cid=Paid_Search-128991-China-BaiDu_TSD1_test_system |
|
Logiscope |
|
|
|
|
|
NuMega |
|
|
|
|
|
Testbed |
C,C++,ADA,Cobol |
LDRA |
|
|
|
小众、国产的:
名称 |
针对语言 |
所属公司 |
开源/商业收费 |
官网/下载地址 |
产品形式 |
雨田单元测试系统 |
C |
|
试用收费 |
http://www.tlemp.com(凉半截) |
应用 |
Visual Unit |
C++ |
凯乐软件 |
|
http://www.kailesoft.com/ |
应用 |
iUnit |
|
湖南泛联新安 |
|
http://www.ubisectech.com/html/iUnit/index.html |
应用 |
一系列 |
|
泽众软件 |
|
http://www.spasvo.com/ |
|
|
|
思客云 |
|
http://www.secureyun.cn/ |
|
云效-测试平台 |
|
阿里云 |
|
https://www.aliyun.com/product/yunxiao-testing |
|
测试服务 WeTest |
|
腾讯云 |
|
https://cloud.tencent.com/product/wetest |
|
Testin |
|
北京云测信息技术有限公司 |
|
https://www.testin.cn/ |
|
DT10 |
|
trinity |
|
http://www.trinitytec.com.cn/ |
|
3.软件测试工具(脚本录制与回放)
黑盒测试工具(功能自动化测试工具、软件测试工具)的一般原理是利用脚本的录制(Record)/回放(Playback),模拟用户的操作。黑盒测试工具的代表有:Rational公司的TeamTest、Robot;Compuware公司的QACenter。
https://blog.csdn.net/henu_xk126com/article/details/81868591#commentBox
执行重复的手动测试——自动化执行测试用例取代人工执行测试用例
名称 |
所属公司 |
官网/下载地址 |
产品特点 |
针对方向 |
WinRunner |
微软 |
|
|
windows系统软件 |
Mercury QuickTest Pro |
|
|
|
|
SilkTest |
|
|
|
|
Selenium |
|
|
|
|
TPT |
|
|
|
Web自动化测试 |
QTP |
|
|
|
WEB自动化测试 |
AutoRunner |
泽众软件 |
http://www.spasvo.com/autorunner |
|
|
Watir |
|
|
|
|
Selenium |
|
|
|
WEB自动化测试 |
MaxQ |
|
|
|
|
WebInject |
|
|
|
|
SoapUI |
|
|
|
接口自动化测试 |
postman |
|
|
|
接口自动化测试 |
robotium |
|
|
|
手机自动化测试 |
appium |
|
|
|
手机自动化测试 |
4.性能测试工具(预测系统行为和性能的负载测试工具)
MercuryInteractive的LoadRunner是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。LoadRunner的测试对象是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助您更快的查找和发现问题。
开源性能自动化测试工具:
Jmeter、OpenSTA、DBMonster、TPTEST、Web Application Load Simulator
名称 |
所属公司 |
官网/下载地址 |
产品特点 |
针对方向 |
LoadRunner |
MercuryInteractive |
|
|
|
jmeter |
|
|
开源 |
|
5.测试管理工具
测试管理工具对测试计划、测试用例、测试实施进行管理,并且,测试管理工具还包括对缺陷的跟踪管理。测试管理工具的代表有:Rational公司的TestManager;Compureware公司的TrackRecord;Mercury Interactive公司的TestDirector等软件。
名称 |
所属公司 |
官网/下载地址 |
产品特点 |
产品形式 |
·Kiwi TCMS |
|
http://kiwitcms.org/ |
开源 |
|
TestLink |
|
http://www.testlink.org/ |
开源 |
|
TestCaseDB |
|
http://www.testcasedb.com |
开源 |
|
Itest(国产) |
itest studio |
https://www.cnblogs.com/mypm/p/10649526.html https://itest.work/demo/ |
|
网页版 |
飞蛾 |
CODING |
https://feie.work/ |
|
|
禅道项目管理系统 |
|
https://www.zentao.net/ |
开源 |
|
Bugzilla |
|
https://www.bugzilla.org/ |
|
|
TestCenter (测试管理工具) |
|
http://www.opdown.com/soft/110667.html |
|
|
腾讯Bugly |
|
https://bugly.qq.com/v2 |
|
|
以上于2019-10-12 23:11:49
以下更新于2022-1-29
来源《军用电源模块自动化测试系统的设计与实现》
Compuware 白盒测试工具
工具名 |
支持语言环境 |
简介 |
BoundsChecker |
C+、Delphi |
API 和 OLE 错误检查、指针和泄露错误和内存错误检查 |
ThueTime |
C+、Java、Visual Basic |
代码运行效率检查、组件性能的分析 |
FailSafe |
Visual Basic |
自动错误处理和恢复系统 |
Jcheck |
MS Visual J++ |
图形化的线程和事件分析工具 |
TureCoverage |
C+、Java、Visual Basic |
函数调用次数、所占比率统计以及稳定性 |
SmartCheck |
Visual Basic |
函数调用次数、所占比率统计以及稳定性 |
CodeReview |
Visual Basic |
自动源代码分析工具 |
常见黑盒功能测试工具
工具名 |
公司名 |
WinRunner |
Mercury Interactive |
Astra Quicktest |
Mercury Interactive |
LoadRunner |
Mercury Interactive |
Robot |
IBM/Rational |
TeamTest |
IBM/Rational |
QARun |
Compuware |
QALoad |
Compuware |
SilkTest |
Segue Software |
SilkPerformer |
Segue Software |
e-Test |
Empirix |
e-Load |
Empirix |
WAS |
MS |
WebLoad |
Radview |
OpenSTA |
OpenSTA |
3、测试管理工具
测试管理工具用于对测试进行管理。一般而言,测试管理工具负责对测试计划、测试用例、测试实施进行管理、对产品缺陷跟踪管理、产品特性管理的等。
测试管理工具的代表有 Rational 公司的 TeamManager,Compuware 公司的TrackRecord、Mercury Interactive 公司的 TestDirector 等软件。
除此之外,还有专用于性能测试的工具包括有:Radview公司的WebLoad:Microsoft 公司的 WebStress 等工具;针对数据库测试的TestBytes;对应用性能进行优化的 EcoScope 等工具。
4、各种流程指导书
*各测试类型的测试方法作业指导书
文档审查作业指导书
代码审查作业指导书
静态分析作业指导书
代码走查作业指导书
逻辑测试作业指导书
功能测试作业指导书
性能测试作业指导书
接口测试作业指导书
API 接口测试脚本设计及实现作业指导书
人机交互界面测试作业指导书
强度测试作业指导书
余量测试作业指导书:
安全性测试作业指导书
恢复性测试作业指导书
边界测试作业指导节
数据处理测试作业指导书
安装测试作业指导书
容量测试作业指导书
互操作性测试作业指导书
*各测试活动作业指导书
测试需求分析作业指导书
测试策划作业指导书
测试设计和实现作业指导书
测试现行作业指导书
测试总结作业指导书
用章管理作业指导书
*工具使用作业指导书
LoadRunner 使用作业指导书
QTP 使用作业指导书
C++Test 使用作业指导书
Logiseqpe 使用作业指导书
QC 使用作业指导书
Selenium 作业指导书
Klaework 使用作业指导书
JACOCO 使用作业指导书