流行的软件测试工具介绍

英文原版书籍下载:https://bitbucket.org/xurongzhong/python-chinese-library/downloadss。

精品文章推荐:

python 2.7 中文教程及自动化测试介绍

使用Python学习selenium测试工具

性能测试艺术
Java单元测试之模拟利器-使用PowerMock进行Mock测试

网络工具ATC

主页 http://facebook.github.io/augmented-traffic-control/

代码托管:https://github.com/facebook/augmented-traffic-control

ATC(Augmented Traffic Control)允许控制设备与Internet的连接,用于模拟网络条件,比如高速,移动,甚至有问题的网络。涉及带宽、延时、丢包、包损坏、包乱序等情况。
因为ATC在网关上运行时,通过它连入网络的设备可以在基于Django的web页面上面配置相关网络参数。
ATC基于python2.7,使用iptables和TC内部,所以它仅支持Linux平台。

该环境在centos7上面比较容易搭架,通过无线网卡放出wifi即可。

OCRtesseract

开源OCR引擎。多用于破解简单的验证码。

开源,地址: https://github.com/tesseract-ocr/tesseract

python相关库:

https://pypi.python.org/pypi/pytesseract Python-tesseract is a python wrapper for google's Tesseract-OCR

https://pypi.python.org/pypi/tesserwrap Basic python bindings to the Tesseract C++ API

https://pypi.python.org/pypi/nidaba Expandable and scalable OCR pipeline

https://pypi.python.org/pypi/pyocr A Python wrapper for OCR engines (Tesseract, Cuneiform, etc)

https://pypi.python.org/pypi/pypdfocr Converts a scanned PDF into an OCR'ed pdf using Tesseract-OCR and Ghostscript

https://pypi.python.org/pypi/ocrodjvu ocrodjvu is a wrapper for OCR systems that allows you to perform OCR on DjVu files.

https://pypi.python.org/pypi/7lk_ocr_deploy Some deploy packages for ocr.

https://pypi.python.org/pypi/ocrmypdf OCRmyPDF adds an OCR text layer to scanned PDF files, allowing them to be searched

https://pypi.python.org/pypi/kraken OCR engine compatible with ocropus

持续集成Buildbot(推荐)

Buildbot是python实现的开源持续构建和持续交付工具,为Mozilla, Chromium, WebKit等知名项目使用。

与Jenkins相比,Buildbot在大陆使用者较少。原因在于Jenkins的界面相对较美观,更容易上手;Jenkins的中文文档比较丰富。但是Jenkins因为资源消耗庞大、不太方便定制而不受一些有实力的公司欢迎。这些不少把目光聚焦在Buildbot。

究竟Buildbot有哪些优点让这些公司青睐呢?Buildbot基于python网络框架Twisted,分布式做得好。Buildbot可以直接使用python包,轻松拥有上万库,具备强大的扩展能力。如果你觉得Jenkins已经轻松地满足你的需求,你不需要Buildbot。如果你在Jenkins时觉得效率低下、扩展困难、一些用python等脚本可以实现的动作在Jenkins困难重重,那么可以看看Buildbot。

参考资料:http://my.oschina.net/u/1433482/blog/650559

相关库:

https://pypi.python.org/pypi/mozci

It is a commandline client and python library to interact with Mozilla's Buildbot CI (and TaskCluster in the future). It simplifies and unifies querying and triggering jobs.

https://pypi.python.org/pypi/buildbot-www

Buildbot UI

https://pypi.python.org/pypi/buildbot-waterfall-view

Buildbot Waterfall View plugin

https://pypi.python.org/pypi/buildbot-console-view

Buildbot Console View plugin.

https://pypi.python.org/pypi/buildbot-slave

Buildbot Slave Daemon

WAF

主页:https://waf.io/

相关工具:https://pypi.python.org/pypi/waftools

行为驱动

Python: behave, Lettuce、pytest-bdd、lettuce_webdriver、expects、ensure、behave-django、Morelia

Ruby: Cucumber, Spinach
Java: JBehave, JDave, Cucumber
C#: NBehave, SpecFlow, Cucumber
PHP: Behat, Codeception, PhpUnit + Selenium
JavaScript: Cucumber-JS, Yadda, Jasmine-species
Flex: Cucumber

语法标准:Gherkin
GUI编辑器:Squish等。

web测试Firefox MeasureIt

MeasureIt是一把屏幕尺子,通过它可以丈量页面元素的尺寸。

Firesizer

用于测试分辨率。较新版本火狐需要The Addon Bar插件的支持。

FireShot

FireShot 创建完整的网页截图。

截图可以被快速注释以及:

上传到 Picasa、Flickr、ImageShack...

以 PNG、GIF、JPEG、PDF 、BMP格式保存到磁盘

复制到剪贴板

打印

使用电子邮件发送

在外部编辑器中打开

SPOF-O-MATC

SPOF-O-MATIC是一款检测的第三方失败的Chrome扩展。

iMacros

如果你喜欢FireFox网页浏览器,但是厌倦了重复性的任务比如每天访问相同的网站,填写表单,记忆密码,那么iMacros(Firefox版)就是你梦想的解决方案! iMacros设计用来自动执行网页上最具重复性的任务。如果有什么行动你需要重复,只需在iMacros中记录它。下次你需要做它时,只需点击一个按钮整个宏就会运行!有了iMacros,你就可以轻松快速的填写表单,记忆密码,从其它网站下载信息,抓取网页(从多个网站中获取信息),还有更多。你可以在你的计算机上保留宏供自己使用,或者将它们放入网页,博客,公司内部网或者如何社交书签服务和其他人一起分享。使用的极限只取决与你的想象力!*** 任何你用FireFox做的,iMacros都可以自动执行它。***

免费版本支持Firefox、Chrome、Internet Explorer。

收费版本通过屏幕和图片识别技术支持Adobe Flash, Adobe Flex, Silverlight和Java applet。

免费版本无控制流功能。

Telerik

商业工具:Telerik, 基于windows,可以测试web、桌面、移动应用。它是用于功能测试,自动化测试,性能测试和移动应用测试。特性包括:

无脚本测试录制回放。

测试跨流行的浏览器

支持HTML,AJAX,Silverlight、.NET应用程序测试。

能集成在Visual Studio Team Foundation Server中。

能与Nunit, MbUnit等XUnit集成单元测试。

与CruiseControl、MS Build Server, and TeamCity集成,MS构建服务器,以及TeamCity的。

Bug跟踪工具的集成。

Fiddler Web调试集成。

与HP Quality Center集成。

twill

twill是一门简单的语言,允许用户用命令行界面浏览网页。还支持表格,cookies等最标准的Web功能。

twill通过简单的Python接口支持自动化的Web测试。

twill是Python开源软件。

下载:https://pypi.python.org/pypi/twill/
主页:http://twill.idyll.org/
不需要太多编程基础,推荐初学者使用。

测试框架Robot Framework

Robot Framework是开源的自动化测试验收测试框架,测试用例基于关键字驱动,使用表格式语法。表格可以写在纯文本,HTML,制表符分隔值(TSV),或reST格式的文件中表示。

基于Robot Framework封装开发了大量库,比如appium、selenium。

下面列出部分Robot Framework,它们都可以在https://pypi.python.org
搜索到。

robotframework-httplibrary、robotframework-imaplibrary、robotframework-ioslibrary、robotframework-sshlibrary、robotframework-tools、robotframework-pabot(并行测试)、robotframework-databaselibrary、robotframework-extendedselenium2library、plone.app.robotframework、robotframework-seleniumlibrary、robotframework-ride(编辑器)、robotframework-requests(网络请求)、robotframework-pageobjects、robotremoteserver、TestLink-API-Python-client、robotsuite

Robot Framework的长处在与漂亮的报表、不懂编程也可以使用。缺点是深入使用需要库的开发工作量比较大,有很多python中能直接使用的功能不能调用,对于懂代码的人,不如直接使用pytest等框架来得直接。

参考资料:http://blog.chinaunix.net/uid-20393955-id-3072256.html 后期会撤掉该文。

性能测试Profile工具

PHP: http://php.net/manual/zh/book.xhprof.php

funkload

Functional and load web tester.
https://pypi.python.org/pypi/funkload
http://funkload.nuxeo.org

Multi-Mechanize(推荐)

Multi-Mechanize 是一个开源的性能和负载测试框架,它并发运行多个 Python 脚本对网站或者服务生成负载(组合事务)。测试输出报告保存为HTML或JMeter的兼容的XML。Multi-Mechanize最常用于web性能 和可扩展性(scalability)测试,也适用于任何python可以访问的API。尤其适合后台性能测试。稍微懂点编程的话,这个工具会远强过商业 的性能测试工具。

主要特性:

支持各种 HTTP methods

高级超链接和HTML表单支持

支持 SSL

自动处理 Cookies

可设置HTTP头

自动处理重定向

支持代理

支持 HTTP 认证

详细参考资料:http://my.oschina.net/u/1433482/blog/634047

Locust(推荐)

Locust是易于使用、分布式的用户负载测试工具。用于网站(或其他系统)的负载测试,计算出系统可以处理并发用户数。

测试时大量蝗虫会攻击你的网站。每只蝗虫(或叫测试用户)可以自定义、测试过程由web界面实时监控。这能帮助测试并确定瓶颈。

Locust 完全基于的事件,单机可以支持数千用户。它不使用回调,而是基于轻量进程gevent, 能简单地实线各种场景。

详细参考资料:http://my.oschina.net/u/1433482/blog/634047

Loader.io

Loader.io是一个免费的负载测试服务,可以对你的webapps和API进行上千并发连接的压力测试。上传token文件验证网站之后即可实时或定时测试。

主页:https://loader.io/

GTmetrix

https://gtmetrix.com/ 基于Google的Pagespeed和Yslow,还可以监控网站。

收集关键性能指标如页面加载时间,总页面大小和请求的总数。

在真实Android设备上分析页面。

从世界各地测试你的页面。

主页:https://gtmetrix.com/

LoadWise

LoadWise是一个简单的性能负载测试工具,使用Firefox浏览器脚本记录器。 也可用于功能测试,免费版本只支持三个用户。

Badboy

Badboy是一个功能强大的开源工具,专门用于复杂的Web应用的自动化测试和负载测试。支持录制/回放界面、性能测试、报告等功能,很多地方和JMeter类似,在处理AJAX方面更好。

Webperformance

Webperformance是一个商业负载测试工具,无需安装应用程序和配置服务器。测试启动可以创建基于URL和录制。

主页:http://www.webperformance.com/

WebPagetest

WebPagetest是用于测量和分析网页性能的开源工具。提交URL后它产生的页面级指标问题的报告,包括加载时间,所有加载时间,第一个字节的时间,开始渲染时间,速度指标,DOM元素和返回码。

主页:http://www.webpagetest.org/

百度也提供了类似功能,参见:http://developer.baidu.com/apm/

SourceMonitor

免费程序SourceMonitor可查看软件源代码大小及相对模块复杂度。

分析速度:一万行/秒

支持C++, C, C#, VB.NET, Java, Delphi, Visual Basic (VB6) or HTML

在软件开发过程中保存检查点指标

显示和打印度量表格和图表,包括Kiviat图。

主页:http://www.campwoodsw.com/sourcemonitor.html

性能测试参考资料:

https://blazemeter.com/blog/open-source-load-testing-tools-which-one-should-you-use

移动测试Eggplant

使用VNC server之类的网关。 支持iOS, Android,Windows Phone, BlackBerry,是基于图像识别的测试工具。脚本:SenseTalk。不受坐标限制。

脚本跨OS、不会修改应用,能完全控制设备。

商业软件 http://www.testplant.com/eggplant/testing-tools/

CPU Monitor Advanced Lite

来自Google Play,用于监控CPU,可以保存历史记录,并以图形直观展示,但是大陆的应用市场貌似搜索不到,如果能安装请在博客http://my.oschina.net/u/1433482留言,多谢。

通常使用替代:CPU Monitor(豌豆荚)、CPU-Z等。

TestObject

TestObject是拥有成百上千真实设备的测试平台,可以直接通过浏览器访问。上载APP然后可以查看执行情况,支持Robotium, Espresso和Appium。

通常用于安卓机型的测试。

商业软件:https://testobject.com/

有几个类似的提供云测试服务的公司:

云测汇:https://www.yuncehui.cn/ 专注于性能测试

Testin: 即云测,http://testin.cn/ 支持Robotium、淘宝Athrun框架

易测云:支持Robotium、Athrun、Guerrilla等开源测试框架,并使用基于控件识别的、东软自主研发的测试工具Radar。http://www.yiceyun.com/

以上几家没有TestObject强大,但是有中国特色的选择之一。

其他

Powerfuzzer是开源的、高度自动化的,完全可定制,基于其他fuzzer的python web fuzzer。主要针对HTTP协议,生成大量随机数据,试图crash网站。最近更新时间2009,比较久远,为此不做详细介绍。

(0)

相关推荐

  • java selenium元素定位大全

    页面元素定位是自动化中最重要的事情, selenium Webdriver 提供了很多种元素定位的方法.  测试人员应该熟练掌握各种定位方法. 使用最简单,最稳定的定位方法. 阅读目录 自动化测试步骤 定位方法大全 如何定位 通过ID查找元素: By.id() 通过Name查找元素:By.name() 通过TagName查找元素: By.tagName() 通过ClassName 查找元素 By.className 通过LinkText查找元素 By.linkText(); 通过PartialL

  • java selenium操作弹出对话框示例讲解

    Web 开发人员通常需要利用JavaScript弹出对话框来给用户一些信息提示, 包括以下几种类型 阅读目录 对话框类型 测试页面 Selenium 操作对话框的代码 对话框类型 1.  警告框: 用于提示用户相关信息的验证结果, 错误或警告等 2. 提示框: 用于提示用户在当前对话框中输入数据,一般需要用户单击取消或者确认按钮 3. 确认框: 用于提示用户确认或者取消某个操作,一般需要用户单击取消或者确认按钮 测试页面 用如下页面为例进行讲解, 包括了警告框,提示框,确认框 http://si

  • 软件测试面试如何测试一个杯子

    软件测试面试如何测试一个杯子 在软件测试的面试中, 经常会碰到类似的问题. 比如:如何测试一个杯子, 或者如何测试一只笔. 要求你设计20个以上的test case. 这类的面试题目,是考察面试者是否熟悉各种软件测试方法, 设计test case的能力, 以及test sense. 首先应该反问下面试官, 需求是什么样的,比如大概是个什么样的杯子. 我回答这类问题的思路, 从软件测试的各种不同方法来联想,  具体如下. 功能测试(Function test) 能否装水, 除了装水, 能否装其他液

  • java selenium 常见web UI 元素操作及API使用

    本篇介绍我们如何利用selenium 来操作各种页面元素 阅读目录 链接(link) 输入框 textbox 按钮(Button) 下拉选择框(Select) 单选按钮(Radio Button) 多选框 check box 链接(link) <div> <p>链接 link</p> <a href="www.cnblogs.com/tankxiao">小坦克</a> </div> 链接的操作 // 找到链接元素

  • java selenium XPath 定位实现方法

    xpath 的定位方法, 非常强大.  使用这种方法几乎可以定位到页面上的任意元素. 阅读目录 什么是xpath xpath定位的缺点 testXpath.html 代码如下 绝对路径定位方式 使用浏览器调试工具,可以直接获取xpath语句 绝对路径的缺点 绝对路径和相对路径的区别 相对路径定位方式 使用索引号定位 使用页面属性定位 模糊定位starts-with关键字 模糊定位contains关键字 text() 函数 文本定位 什么是xpath xpath 是XML Path的简称, 由于H

  • 软件测试方法大汇总

    软件测试方法大汇总 软件测试方法种类繁多,记忆起来混乱, 如果把软件测试方法进行分类, 就会清晰很多. 我参考一些书籍和网上的资料, 把常用的软件测试方法列出来, 让大家对软件测试行业有个总体的看法. 从测试设计方法分类 测试名称 测试内容 Black box黑盒测试 把软件系统当作一个"黑箱",无法了解或使用系统的内部结构及知识.从软件的行为,而不是内部结构出发来设计测试. White box白盒测试 设计者可以看到软件系统的内部结构,并且使用软件的内部知识来指导测试数据及方法的选择

  • 软件测试面试如何测试网页的登录页面

    软件测试面试如何测试网页的登录页面 这个面试题碰到过很多次, 再次总结下来. 具体需求: 有一个登陆页面, 上面有2个textbox, 一个提交按钮.  请针对这个页面设计30个以上的test case. 此题的考察目的: 面试者是否熟悉各种测试方法,是否有丰富的Web测试经验, 是否了解Web开发,以及设计Test case的能力 这个题目还是相当有难度的, 一般的人很难把这个题目回答好. 功能测试(Function test) 输入正确的用户名和密码,点击提交按钮,验证是否能正确登录. 输入

  • java selenium 操作浏览器实例

    本篇文章介绍selenium 操作浏览器 阅读目录 浏览器最大化 前进,后退, 刷新 截图操作 模拟鼠标操作 杀掉Windows浏览器进程 浏览器最大化 前进,后退, 刷新 public static void testBrowser(WebDriver driver) throws Exception { driver.get("http://www.cnblogs.com/tankxiao"); Thread.sleep(5000); // 浏览器最大化 driver.manage

  • 一个软件测试工程师的加班经历

    海交通大学计算机学士,企业管理硕士.现任职于英特尔中国软件实验室,从事嵌入式Linux相关的开发工作.PMT Community发起人之一,PMT是一个由软件行业专业人士自发组成的非营利性团体,致力于软件技术和管理的研究与实践.      写下这段流水帐似的周末加班经历,并不是因为无聊.只是老婆要我交待,一个"臭"(这个字眼只有很少机会享用)做软件的,老是这么晚回来,究竟在外面做些什么.如果哪天你也被要求写这样的材料,你可以参考:除了这个作用以外,或许,不同的人会从中看到不同的东西吧.

  • java selenium使用浏览器调试工具实现方法

    在基于UI元素的自动化测试中, 无论是桌面的UI自动化测试,还是Web的UI自动化测试.   首先我们需要查找和识别UI元素. 在基于Web UI 自动化测试中, 测试人员需要了解HTML, CSS和Javascript的一些知识, 还需要学会使用各种浏览器的调试功能 查找Web UI 页面上的元素, 必须先了解页面的DOM结构, 元素的属性, 甚至一些JavaScript的调用信息.  现在主流的浏览器都自带了很多强有力的工具 阅读目录 Google Chrome Internet Explo

随机推荐