
1、Jasmine
Jasmine是一个行为驱动的测试开发框架,用于对JavaScript代码进行测试。它不依赖其它任何JavaScript框架,也不需要DOM。它的语法简洁、明确,写测试非常容易。
2、Mocha
Mocha是一个功能丰富的JavaScript测试框架,既运行于Node.js环境中,也可以运行于浏览器环境中。Mocha以串行方式运行测试,能做出灵活而准确的报告,也能将测试中未捕捉的异常映射到正确的测试用例。
3、Chai
Chai是个支持BDD/TDD的库,可用于node和浏览器,可配合任何JavaScript测试框架使用。
4、QUnit
QUnit是个功能强大又易于使用的JavaScript单元测试框架。jQuery、jQueryUI和jQueyMobile项目都使用这个框架,它能测试普通的JavaScript代码。
5、Sinon
Sinon.JS为JavaScript提供了独立的spies、stubs和mocks[译者注:Spy、Stub和Mock都是测试专用名词,Stub常被翻译为桩,spies是Spy的复数形式,是一种可以监视方法、调用和参数的技术]。它不依赖任何东西,可以配合任何单元测试框架工作。
6、Karma
Karma是针对连通浏览器的一个框架无关测试运行器。每一个测试结果对应每个浏览器,它的测试和显示都是通过命令行暴露给开发者的,这样他们就可以看到浏览器测试的通过或失败。
7、Selenium
Selenium有一个简单的目标:就是自动化浏览器。它主要用于自动化测试web应用程序,但是只是很简单地考虑到了基于网络的管理任务。
8、WebdriverIO
WebdriverIO允许用户仅添加几行代码就可以控制浏览器或移动应用程序,使测试代码更简单、简洁、易读。集成的TestRunner同样允许你以同步的方式调用异步命令,这样你不需要关心如何处理Promise以避免竞态条件。此外,它取消了所有的繁琐的设置工作,并且会为您管理的Selenium会话。
9、Nightwatch
Nightwatch.js是一个易于使用的Node.js,它是为基于浏览器的app和网站设计的终端到终端(E2E)的测试方法。它使用强大的W3CWebDriverAPI,用于在DOM元素上执行命令和断言。
10、PhantomCSS
PhantomCSS获得CasperJS捕获的屏幕截图,并使用Resemble.js将其与基准图进行对比,以测试RGB像素差异。java课程发现PhantomCSS然后生成图像差异对比,用于帮助您找到原因。
11、PhantomFlow
PhantomFlow使用决策树提供UI测试方案。针对PhantomJS,CasperJS和PhantomCSS的NodeJS包装器——PhantomFlow能够流畅地在代码中描述用户流程,同时生成用于可视化的结构化树数据。
分类: 电脑/网络 >>程序设计 >>其他编程语言解析:
JUnit是Java进行单元测试的一个框架, 需要下载junit, 3.8版本和后来的4.0以后版本编写测试的方法略有不同,
在3.8.2中需要导入junit.framework.中的类, 进行测试的类必须继承自TestCase类, 测试方法名称中需要含test字样, 可以在setup和teardown函数中管理一些每个测试函数都需要的资源比如数据库连接等,在测试函数中使用assert开头的函数来进行测试代码开发.以下是从junit文档中摘出的范例:
import junit.framework.Test
import junit.framework.TestCase
import junit.framework.TestSuite
/**
* Some simple tests.
*
*/
public class SimpleTest extends TestCase {
protected int fValue1
protected int fValue2
protected void setUp() {
fValue1= 2
fValue2= 3
}
public static Test suite() {
/*
* the type safe way
*
TestSuite suite= new TestSuite()
suite.addTest(
new SimpleTest("add") {
protected void runTest() { testAdd()}
}
)
suite.addTest(
new SimpleTest("testDivideByZero") {
protected void runTest() { testDivideByZero()}
}
)
return suite
*/
/*
* the dynamic way
*/
return new TestSuite(SimpleTest.class)
}
public void testAdd() {
double result= fValue1 + fValue2
// forced failure result == 5
assertTrue(result == 6)
}
public void testDivideByZero() {
int zero= 0
int result= 8/zero
result++// avoid warning for not using result
}
public void testEquals() {
assertEquals(12, 12)
assertEquals(12L, 12L)
assertEquals(new Long(12), new Long(12))
assertEquals("Size", 12, 13)
assertEquals("Capacity", 12.0, 11.99, 0.0)
}
public static void main (String[] args) {
junit.textui.TestRunner.run(suite())
}
}
在4.0.2中的变化是:
测试需要@.junit.Test的Annotation标记,其他部分也使用了Annotation标记,setup和teardown使用@.junit.Before 和@.junit.After, 在eclipse3.1的环境中不支持4.0.2, 可以使用junit 4.0.2中提供的adapter类来帮助eclipse内置的junit发现新版本的测试函数
天龙八部测试代码步骤如下:1、手工测试用例设计,任何时候,任何软件,都可以通过软件测试的方法,编写出比较好的测试用例,这个过程是一个训练的过程,要花很长的时间去做。
2、学习语言,一门语言就可以,可以经常编写一些大大小小的应用,理解程序开发过程,适当的时候可以写写简单的测试程序(自己理解的测试程序),这个也要花很长的时间去做。
3、学习一些测试脚本语言,有了前面的基础,这个过程就很快了。
4、在测试工作中总结哪些手工测试类型你认为需要有自动化,提升自己在这个过程中的锻炼。这个是在锻炼思想。
5、以手工测试中的某些点,编写测试代码来进行测试,目的覆盖某些功能点即可。
6、可以加入某些测试工具,学习工具的脚本语言,使用测试工具完成某些功能。这个过程是理解工具提倡的自动化测试思想,和工具提倡的自动化测试方法和方式。
7、自己开发测试代码和使用测试工具开发这两种方式交替使用,目的是覆盖更多的测试类型和更多的功能。
8、综合运用测试技术(包括管理、维护等等),在一个统一的平台上完成更多的自动化测试,在这个过程中要体会和解决测试工具的成本、测试脚本开发成本、脚本如果管理、脚本如何维护等等相关的问题。一般来讲这类问题都不是很容易解决的。是一个系统的问题,值得讨论和研究的。对于前面的技术是可以训练出来的。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)