软件测试开源小工具介绍

Test Complete(自动化测试)

TestComplete是AutomatedQA公司开发的一套支持自动测试软件的工具。在当今的软件开发中,自动测试非常重要,大型软件开发公司很久以来就已经将其作为软件开发的一项重要环节。然而,自动测试软件一般成本较高而且不易使用,很难在小型公司内推广。 TestComplete为Windows、.NET、Java和Web应用程序提供了一个特性全面的自动测试环境。将开发人员和QA部门人员从繁琐耗时的人工测试中解脱出来。 TestComplete测试具有系统化、自动化和结构化特性,支持.NET,Java,Visual C++, Visual Basic, Delphi,C++Builder 和web应用程序。

========================================

Selenium(自动化测试)

简介:

作为一款强大的开源Web测试工具,其架构思想有别于其它很多网页测试工具。

优点:

  1、S/C架构:决定了Selenium可以很容易的跨平台、跨语言的特性

  2、基于Socket命令执行方式:决定了Selenium可以在几乎所有语言上进行扩展和运行。

  3、统一的语法风格,容易上手。

  4、灵活的目标定位(Target Location)方式,支持基于:xpaht、DOM、ID等多种方式识别

  5、录制回放,这个的好处写过代码的人都知道,而且支持录制后转换成各种语言。

  6、分布式测试支持。

缺点:

  1、非HTML方式的脚本运行,必须准备JRE环境和开启JavaServer端。

  2、涉及到多种语言(JS、JAVA、HTML、客户端语言),完全精通整个架构比较困难

  3、底层错误是定位困难。

  4、模态窗体处理问题。

  5、部分弹出窗口处理存在问题。

  6、每次测试都要打开浏览器,和直接模拟HTTP交互的软件相比较耗资源。

评论:

无可否认每个工具都有自身的缺点,但是作为一款开源Web测试工具,虽然有部分小缺点,但因其功能的强大,使我选择它作为Web测试的平台,其实Selenium众多的用户数已经说明了一切。

 

========================================

AutoIT(自动化测试)

简介:

AutoIt v3 是用以编写并生成具有 BASIC 语言风格的脚本程序的免费软件, 它被设计用来在Windows GUI(用户界面)中进行自动操作.通过它可以组合使用模拟键击,鼠标移动和窗口/控件操作等来实现自动化任务. AutoIt 非常小巧,完全运行在所有windows操作系统上.并且不需要任何运行库.

AutoIt 最初是为PC的”批量处理”而设计, 用于对数千台PC进行(同样的)配置. 现在,autoit是一个支持复杂表达式, 自定义函数,循环等的强大脚本软件.

可以做的事:

简单易懂的类 BASIC 表达式

模拟键盘,鼠标动作事件

操作窗口与进程

直接与窗口的”标准控件”交互(设置/获取文字,移动,关闭,等等)

脚本可以编译为标准可执行文件

创建用户图形界面接口(GUI)

COM支持

正则表达式

直接调用外部DLL 和 Windows API 函数

程序运行为功能(让程序运行于其它账户)

完全兼容于 Windows 2000 / XP / 2003 / Vista / 2008

Unicode 与 64位运算支持

高精度,易使用的数学运算

可以运行于 Windows Vista Account Control (UAC)

缺点:

1、由于暂时无法判断“远程连接”中用户名、密码输入错误后的登录失败界面,“远程连接”中登录失败后不会重试

2、由于使用的“发送模拟键击操作函数Send()”对输入法敏感,在工具运行中会自动切换系统输入法至英文状态

3、支持快捷键操作F5,F6,F7

4、工具使用中,有时打开磁盘后等待时间可能较长(5-10s),还需进一步优化

可以从官方网站http://www.autoitscript.com/site/autoit/downloads/下载AutoIT最新版本v3.3.6.1。

亦可从国内汉化网站http://www.autoitx.com/下载最新的汉化版本。

 

========================================

JMeter(自动化测试)

Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域。它可以用于测试静态和动态资源例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库, FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来在不同压力类别下测试它们的强度和分析整体性能。

 另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。

Apache jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进行测试。它可以用于对服务器,网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对象。

JMeter的作用

  1.能够对HTTP和FTP服务器进行压力和性能测试, 也可以对任何数据库进行同样的测试(通过JDBC)。 2.完全的可移植性和100% 纯java。

  3.完全 Swing 和轻量组件支持(预编译的JAR使用 javax.swing.*)包。

  4.完全多线程 框架允许通过多个线程并发取样和 通过单独的线程组对不同的功能同时取样。

  5.精心的GUI设计允许快速操作和更精确的计时。

  6.缓存和离线分析/回放测试结果。 [2]

JMeter的高可扩展性

  1.可链接的取样器允许无限制的测试能力。

  2.各种负载统计表和可链接的计时器可供选择。

  3.数据分析和可视化插件提供了很好的可扩展性以及个性化。

  4.具有提供动态输入到测试的功能(包括Javascrīpt)。

  5.支持脚本变成的取样器(在1.9.2及以上版本支持BeanShell)。

  在设计阶段,JMeter能够充当HTTP PROXY(代理)来记录IE/NETSCAPE的HTTP请求,也可以记录apache等WebServer的log文件来重现HTTP流量。当这些HTTP客户端请求被记录以后,测试运行时可以方便的设置重复次数和并发度(线程数)来产生巨大的流量。JMeter还提供可视化组件以及报表工具把量服务器在不同压力下的性能展现出来。

  相比其他HTTP测试工具,JMeter最主要的特点在于扩展性强。JMeter能够自动扫描其lib/ext子目录下.jar文件中的插件,并且将其装载到内存,让用户通过不同的菜单调用。

JMeter的测试结果字段的意义

  1、Label: 定义的HTTP请求名称

  2、Samples: 表示这次测试中一共发出了多少个请求

  3、Average: 访问页面的平均响应时间

  4、Min: 访问页面的最小响应时间

  5、Max: 访问页面的最大响应时间

  6、Error%: 错误的请求的数量/请求的总数

  7、Throughput:每秒完成的请求数

  8、KB/Sec: 每秒从服务器端接收到的数据量

JMeter的历史

  Apache Software Foundation 的 Stefano Mazzocchi 是JMeter的最初开发人员。他编写它主要用于测试ApacheJServ的性能(一个后来被Apache Tomcat项目替代的项目)。我们重新设计了JMeter,增强了它的GUI和添加了功能测试支持。

JMeter远景

  我们希望看到随着开发人员利用插件架构的优势,JMeter的能力能够迅速扩展。将来开发的主要目标是使得JMeter尽可能地变成一个有用的衰退测试工具,而不损失JMeter的压力测试能力。

 

========================================

JUnit(自动化测试)

JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework)。Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。Junit是一套框架,继承TestCase类,就可以用Junit进行自动测试了。

优点

1 保证你写的每个单元模块都是正确的。
2 如果系统出什么问题了,能以最快速度定位到某个单元的错误。
3 当代码渐渐多了,对于重构有特别重要的作用
4 当别人想看你接口的时候,给他看你的单元测试的代码,很容易理解你的接口的意义

缺点

单元测试的维护成本确实比较高,一旦业务改变了,在维护业务代码的同时还得维护单元测试代码。

还有:对于业务层的逻辑还比较好点,对于其他几个层不太好写。

  

========================================

MantisBT(测试过程管理)

 

========================================

【TestLink(测试过程管理)】

TestLink用于进行测试过程中的管理,通过使用TestLink提供的功能,可以将测试过程从测试需求、测试设计、到测试执行完整的管理起来,同时,它还提供了好多种测试结果的统计和分析,使我们能够简单的开始测试工作和分析测试结果。TestLink 是sourceforge的开放源代码项目之一。作为基于web的测试管理系统,TestLink的主要功能包括:

  测试需求管理

  测试用例管理

  测试用例对测试需求的覆盖管理

  测试计划的制定

  测试用例的执行

  大量测试数据的度量和统计功能。

目前在XLS导入上存在缺陷,但可以使用第三方的“Testlink Convert”工具实现XLS/TXT/XML导入导出。
优点: 

1根据不同的项目管理不同的测试计划,测试用例,测试构建相互之间独立

  2 根据树状的项目,组件,分类,测试用例,设计测试用例

  3 可以基于关键字搜索测试用例。

  4 可以将现有测试用例简单修改后复用,

  5 同一项目可以制定不同的测试计划,然后将相同的测试用例分配给该测试计划 (可以实现测试用例的复用,筛选)

  6 可以设定执行测试的状态(通过,失败,锁定,尚未执行),失败的测试用例可以和bugzilla 中的bug 关联,每个测试用例执行的时候,可以填写相关说明。

  7 测试结果分析(可以实现按照需求,按照测试计划,按照测试用例状态,按照版本,统计测试结果)

  8 自定义角色,通过角色控制用户权限

  9 测试结果可以导出为excel 表格

  10 测试用例可以导出为csv , html 格式

  11 通过超连接,可以将文本格式的需求,计划关联

12 可以将测试用例和测试需求对应。测试可以根据优先级指派给测试员,定义里程碑

 缺点:

1不能根据优先级筛选用例,如果需要优先级,必须通过关键字来实现,比较麻烦

2不能设定测试用例的种类,如果需要必须通过关键字来实现,更麻烦,也不太现实

3 如果测试用例需要大量的数据,创建测试用例时不方便

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值