——看书真是迅速进入一个陌生领域的最快办法……系统的、体系完整的知识比起在互联网上七拼八凑出的认识强太多了!
先记下一些理论概念……
软件生命周期模型
分析
设计与文档
编码与审查
测试与调试
发布与维护
软件测试对象的6种分类:
单元测试(静态检查、动态测试)
集成测试
压力测试
回归测试
Alpha测试(系统测试)
Bete测试(交付测试)
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
动态测试工具:动态测试工具的一般采用"插桩"的方式,向代码生成的可执行文件中插入一些监测代码,用来统计程序运行时的数据。动态测试工具的代表有:Compuware公司的DevPartner软件;Rational公司的Purify系列等。
名称 | 针对语言 | 所属公司 | 开源/商业收费 | 官网/下载地址 | 产品形式 |
---|---|---|---|---|---|
googletest(Gtest) | c++ | 开源 | 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 |
静态测试工具:直接对代码进行分析,生成可执行文件。静态测试工具一般是对代码进行语法扫描,根据某种质量模型评价代码的质量,生成系统的调用关系图等。静态测试工具的代表有: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/ |
黑盒测试工具(功能自动化测试工具、软件测试工具)的一般原理是利用脚本的录制(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 | 手机自动化测试 |
MercuryInteractive的LoadRunner是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。LoadRunner的测试对象是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助您更快的查找和发现问题。
开源性能自动化测试工具:
Jmeter、OpenSTA、DBMonster、TPTEST、Web Application Load Simulator
名称 | 所属公司 | 官网/下载地址 | 产品特点 | 针对方向 |
---|---|---|---|---|
LoadRunner | MercuryInteractive | |||
jmeter | 开源 |
测试管理工具对测试计划、测试用例、测试实施进行管理,并且,测试管理工具还包括对缺陷的跟踪管理。测试管理工具的代表有: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 |