Ⅰ 现在常用的C/C++单元测试工具有那些
现在比较常用的有cppunit,visualunit,c++test.cppunit是开源软件,C++test是parasoft公司的,试用麻烦,而且价钱比较贵,没用过。visualunit是国产的C/C++单元测试工具,我用过觉得很不错,该公司的技术支持也很到位,在使用过程中遇到问题都能及时帮用户解决。
Visual unit最新的版本是2.1。
部分功能清单如下:
具有完善的桩功能,从开始编码到升级维护的各个阶段,均可对任意层次、范围的代码实施分割测试;
自动生成测试代码和用例框架;
可视化编辑测试用例,用简单语法判断各种输出,还可自动判断中间变量;
可在用例中随意模拟、控制子函数的行为,包括设定返回值、输出参数、成员变量、全局变量的值,多次调用同一子函数可以设置不同的行为;
自动统计语句、条件、分支、路径覆盖;
显示参数、成员变量、返回值等输入输出数据;
显示每个用例所执行的代码;
自动画出逻辑结构图,显示每个用例的执行路径;
显示逻辑结构图中任一语句块、分支、分支结构、路径的代码;
逻辑结构图可自由裁剪,语句块、分支、分支结构、路径均可删除/恢复;
用例设计器可轻松找出遗漏用例,实现100%的语句、条件、分支、路径覆盖;
自动描述程序行为,帮助整理、验证编程思路提高编程效率,快速排除程序错误;
增强调试器功能,自动支持后退、重复、可视化选择输入、调试中切换输入;
自动生成HTML格式的测试报告。
详细的资料,楼主可以上http://www.kailesoft.cn查找.
Ⅱ 能做单元测试的工具有哪些比较好
asp无法组织有效的单元测试。如果你的项目需要单元测试,那应该是比较正规,规模不算很小的那种了。
建议更换开发环境和开发语言,比如用vs2008
Ⅲ 有什么好用的单元测试工具和集成测试工具
广州凯乐软件技术有限公司研发的VISUAL UNIT 4.5,是一款自动化表格驱动的单元及集成测试工具。不需要测试代码,测试工作=填表格,方便太多太多了。最重要是可以很快的完成MC/DC全覆盖。
Ⅳ 单元测试的测试工具
现在开始介绍单元测试工具,分别按编程语言进行分组介绍。 CppUnit
首先是CppUnit,这是C++单元测试工具的鼻祖,免费的开源的单元测试框架。由于已有一众高人写了不少关于CppUnit的很好的文章,老纳就不现丑了,想了解CppUnit的朋友,建议读一下Cpluser 所作的《CppUnit测试框架入门》,。该文也提供了CppUnit的下载地址。
C++Test
然后介绍C++Test,这是Parasoft公司的产品。[C++Test是一个功能强大的自动化C/C++单元级测试工具,可以自动测试任何C/C++函数、类,自动生成测试用例、测试驱动函数或桩函数,在自动化的环境下极其容易快速的将单元级的测试覆盖率达到100%]。[]内的文字引自,这是华唐公司的网页。老纳想写些介绍C++Test的文字,但发现无法超越华唐公司的网页上的介绍,所以也就省点事了,想了解C++Test的朋友,建议访问该公司的网站。华唐公司代理C++Test,想要购买或索取报价、试用版都可以找他们。
Visual Unit
最后介绍Visual Unit,简称VU,这是国产的单元测试工具,据说申请了多项专利,拥有一批创新的技术,不过老纳只关心是不是有用和好用。[自动生成测试代码 快速建立功能测试用例程序行为一目了然 极高的测试完整性 高效完成白盒覆盖 快速排错 高效调试 详尽的测试报告]。[]内的文字是VU开发商的网页上摘录的,。前面所述测试要求:完成功能测试,完成语句覆盖、条件覆盖、分支覆盖、路径覆盖,用VU可以轻松实现,还有一点值得一提:使用VU还能提高编码的效率,总体来说,在完成单元测试的同时,编码调试的时间还能大幅度缩短。算了,不想再讲了,老纳显摆理论、介绍经验还是有兴趣的,因为可以满足老纳好为人师的虚荣心,但介绍工具就觉得索然无味了,毕竟工具好不好用,合不合用,要试过才知道,还是自己去开发商的网站看吧,可以下载演示版,还有演示课件。
gtest
gtest测试框架是在不同平台上(Linux,Mac OS X,Windows,Cygwin,Windows CE和Symbian)为编写C++测试而生成的。它是基于xUnit架构的测试框架,支持自动发现测试,丰富的断言集,用户定义的断言,death测试,致命与非致命的失败,类型参数化测试,各类运行测试的选项和XML的测试报告。需要详细了解的朋友可以参阅《玩转Google单元测试框架gtest系列》该篇文章。 JUnit
JUnit 是 Java 社区中知名度最高的单元测试工具。它诞生于 1997 年,由 Erich Gamma 和 Kent Beck 共同开发完成。其中 Erich Gamma 是经典着作《设计模式:可复用面向对象软件的基础》一书的作者之一,并在 Eclipse 中有很大的贡献;Kent Beck 则是一位极限编程(XP)方面的专家和先驱。JUnit 设计的非常小巧,但是功能却非常强大。JUnit ——是一个开发源代码的Java测试框架,用于编写和运行可重复的测试。他是用于单元测试框架体系xUnit的一个实例(用于java语言)。主要用于白盒测试,回归测试。
JUnit的好处和JUnit单元测试编写原则:
好处:可以使测试代码与产品代码分开;针对某一个类的测试代码通过较少的改动便可以应用于另一个类的测试;易于集成到测试人员的构建过程中,JUnit和Ant的结合可以实施增量开发;JUnit是公开源代码的,可以进行二次开发;可以方便地对JUnit进行扩展;
编写原则:是简化测试的编写,这种简化包括测试框架的学习和实际测试单元的编写;是使测试单元保持持久性;是可以利用既有的测试来编写相关的测试;
JUnit使用帮助
1、junit3.x版本,我们通常使用junit 3.8
(1)、使用junit3.x版本进行单元测试时,测试类必须要继承于TestCase父类;
(2)、测试方法需要遵循的原则:
A、public的
B、void的
C、无方法参数
D、方法名称必须以test开头
(3)、不同的Test Case之间一定要保持完全的独立性,不能有任何的关联。
(4)、我们要掌握好测试方法的顺序,不能依赖于测试方法自己的执行顺序。
dome:
public class TestMyNumber extends TestCase {
private MyNumber myNumber;
public TestMyNumber(String name) {
super(name);
}
// 在每个测试方法执行 [之前] 都会被调用
@Override
public void setUp() throws Exception {
// System.out.println(欢迎使用Junit进行单元测试…);
myNumber = new MyNumber();
}
// 在每个测试方法执行 [之后] 都会被调用
@Override
public void tearDown() throws Exception {
// System.out.println(Junit单元测试结束…);
}
public void testDivideByZero() {
Throwable te = null;
try {
myNumber.divide(6, 0);
Assert.fail(测试失败);
} catch (Exception e) {
e.printStackTrace();
te = e;
}
Assert.assertEquals(Exception.class, te.getClass());
Assert.assertEquals(除数不能为 0 , te.getMessage());
}
}
2、junit4.x版本
(1)、使用junit4.x版本进行单元测试时,不用测试类继承TestCase父类,因为,junit4.x全面引入了Annotation来执行我们编写的测试。
(2)、junit4.x版本,引用了注解的方式,进行单元测试;
(3)、junit4.x版本我们常用的注解:
A、@Before 注解:与junit3.x中的setUp()方法功能一样,在每个测试方法之前执行;
B、@After 注解:与junit3.x中的tearDown()方法功能一样,在每个测试方法之后执行;
C、@BeforeClass 注解:在所有方法执行之前执行;
D、@AfterClass 注解:在所有方法执行之后执行;
E、@Test(timeout = xxx) 注解:设置当前测试方法在一定时间内运行完,否则返回错误;
F、@Test(expected = Exception.class) 注解:设置被测试的方法是否有异常抛出。抛出异常类型为:Exception.class;
G、@Ignore 注解:注释掉一个测试方法或一个类,被注释的方法或类,不会被执行。
dome:
package com.an.junit;
import static org.junit.Assert.*;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
public class TestMyNumber {
private MyNumber myNumber;
@BeforeClass
// 在所有方法执行之前执行
public static void globalInit() {
System.out.println(init all method...);
}
@AfterClass
// 在所有方法执行之后执行
public static void globalDestory() {
System.out.println(destory all method...);
}
@Before
// 在每个测试方法之前执行
public void setUp() {
System.out.println(start setUp method);
myNumber = new MyNumber();
}
@After
// 在每个测试方法之后执行
public void tearDown() {
System.out.println(end tearDown method);
}
@Test(timeout=600)// 设置限定测试方法的运行时间 如果超出则返回错误
public void testAdd() {
System.out.println(testAdd method);
int result = myNumber.add(2, 3);
assertEquals(5, result);
}
@Test
public void testSubtract() {
System.out.println(testSubtract method);
int result = myNumber.subtract(1, 2);
assertEquals(-1, result);
}
@Test
public void testMultiply() {
System.out.println(testMultiply method);
int result = myNumber.multiply(2, 3);
assertEquals(6, result);
}
@Test
public void testDivide() {
System.out.println(testDivide method);
int result = 0;
try {
result = myNumber.divide(6, 2);
} catch (Exception e) {
fail();
}
assertEquals(3, result);
}
@Test(expected = Exception.class)
public void testDivide2() throws Exception {
System.out.println(testDivide2 method);
myNumber.divide(6, 0);
fail(test Error);
}
public static void main(String[] args) {
}
}
有兴趣的朋友可以下下来仔细研究下,也可以到安安DIY创作室博客一起讨论一下。
JUnit-addons
对JUnit的一些补充,比如设置、获取被测试对象的私有属性的值,调用被测试对象的私有方法等。
常用类:junitx.util.PrivateAccessor
Spring 测试框架
可以测试基于Spring的应用,通过配置文件和注解自动组装需要的单元测试对象。
提供了一些常用的J2EE Mock对象,比如HttpSession的Mock类等。
可以支持数据库自动回滚,以防止对数据库的单元测试(插入,删除等)不可重复执行,防止修改数据库状态等。
DJUnit
通过代码自动产生Mock对象,省去了自己手动编写N多的Mock类。
此外,它的Eclipse插件还可以做到测试覆盖率、分支统计。
EasyMock
功能同DJUnit,也是通过编程自动Mock掉与测试对象无关的类,方法。
Ⅳ javascript的单元测试工具有哪些
Jasmine官方称其为行为驱动开发测试框架(behavior-)。主要的功能有:
1、基本的测试函数(expect)
2、将测试函数组成集合进行描述(describe),允许对集合中的测试函数3、进行同一的操作(Setup,Teardown)
4、内置丰富的匹配器(Matcher),同时支持自定义匹配器
5、提供对于函数状态(包括参数,调用,返回情况)的考察(Spy)
6、提供计时工具(Jasmine.Clock)
7、支持异步测试
8、平台无关,可以测试前台页面的Javascript代码和Nodejs代码
Ⅵ 一般用于C语言C++的单元测试工具有哪些
美国的有:RTRT和C++Text
中国的有:VISUAL UNIT 4
推荐使用:VISUAL UNIT 4,因为这款工具测试不需要写代码,点点鼠标,填填表格就可以。可以搜索他们官网试用:广州凯乐软件技术有限公司
Ⅶ 目前流行的单元测试工具有哪些,注意是单元测试工具哦,求教。加分
在一种传统的结构化编程语言中,比如C,要进行测试的单元一般是函数或子过程。在象C++这样的面向对象的语言中, 要进行测试的基本单元是类。对Ada语言来说,开发人员可以选择是在独立的过程和函数,还是在Ada包的级别上进行单元测试。单元测试的原则同样被扩展到第四代语言(4GL)的开发中,在这里基本单元被典型地划分为一个菜单或显示界面。
单元测试不仅仅是作为无错编码一种辅助手段在一次性的开发过程中使用,单元测试必须是可重复的,无论是在软件修改,或是移植到新的运行环境的过程中。因此,所有的测试都必须在整个软件系统的生命周期中进行维护。
经常与单元测试联系起来的另外一些开发活动包括代码走读(Code review),静态分析(Static analysis)和动态分析(Dynamic analysis)。静态分析就是对软件的源代码进行研读,查找错误或收集一些度量数据,并不需要对代码进行编译和执行。动态分析就是通过观察软件运行时的动作,来提供执行跟踪,时间分析,以及测试覆盖度方面的信息。
Ⅷ 自动化单元测试工具目前常用的有哪些
QTP
完整名称是:Quick Test Professional。初学者可以通过录制电脑屏幕上的所有操作,来自动生成一些回归测试用例 。也可以用编程语言自定义控制。
Selenium
Selenium可以用来测试Web应用程序,通过编写测试脚本来模拟用户对浏览器 的操作,更接近用户测试。但真正实行起自动化测试脚本来,需要维护的成本很高。
soapUI
soapUI属于开源工具,使用范围较广,且轻量级,也要以集成IDE工具中,并且支持所有的标准协议。用来做小型项目的回归测试非常合适 。
Silktest
一般用于测试企业级产品,对于企业级产品的功能测试非常高效,同时内置的各种功能齐全,完全支持跨平台及跨浏览器的技术功能测试。
Squish
Squish是一款免费的GUI测试工具,安装包可以直接从官网下载,安装过程十分简单,可以通过引导中的新建测试计划,新建用例集来跟踪学习,上手非常快。需要注册后申请 。