纯粹的手工测试早已不满足如今的项目需求,各种测试工具的应用早已成为普遍趋势。如何选取合适的工具来完成对应的测试工作?本文将针对Web测试,列举 一些推荐的测试工具,并加以简单介绍。
  (每个工具的实际使用都可做一大篇文章,这边仅简要介绍,不包含具体使用)

 1、Web开发调试工具

  技术没有所谓的开发及测试的界限,工具亦是。Web开发调试工具怎可仅被开发使用,这些工具也是测试工程师的利器(此类工具的掌握可说是Web测试工作者必备的基本技能)。
  如今各种浏览器泛滥,但从内核上而言,浏览器的种类可分为IE内核、谷歌内核(Webkit)、火狐内核;还有IE内核+Webkit内核,即双核的浏览器。比如傲游浏览器、360极速浏览器、搜狗高速浏览器等。所以,针对Web端B/S测试(网站or网页应用等),主要会在IE、Chrome、FireFox这三个典型的浏览器上进行测试。下面就这三个浏览器的开发者调试工具或插件做下简单的介绍。
 (三者的基础功能和使用方式大同小异,熟悉前端及网络技术就能较易学会其用法。) 

  IE —— F12开发人员工具

  IE自带的F12开发者工具,可说是IE的良心之作。无论是调整HTML&CSS、JS调试,还是网络抓包,性能测试,甚至是查找内存泄漏,都能在F12开发者工具中找到相应的使用方式。
  具体的使用不细说了,值得一提的是,仿真一栏里,可模拟IE的各个版本,如本身是IE11,仿真就提供了IE10、9、8、7等文档的仿真。虽说和真实版本的IE浏览器仍可能有差异,但为多版本IE兼容性测试提供了帮助及参考。

 Chrome —— 开发者工具

  Chrome可说是程序猿们最爱用的浏览器,其自带的开发者工具自然也是最常用的。
  Chrome 开发者工具是公认的优秀的前端调试工具,只是 Chrome DevTools暂时没有中文手册,如英文有困难的可参考这个Github项目:Chrome 开发者工具中文手册。
  简单使用可可以参考这篇(Chrome浏览器开发者工具

  FireFox —— FireBug 插件

  FireFox也有自带的开发者工具,只是FireBug插件更为出色,故推荐使用。
  此外,有不少基于Firebug上的优秀插件及扩展(如 YSlow、PageSpeed、FireFinder等)
  三者比较
  如对以上三种工具进行对比,个人观点可能有失偏驳,毕竟Chrome用的比较多。自用经验:界面Chrome更好用,JS调试上Firebug更方便,IE用于IE版本的兼容测试。可参考此知乎回答: Firebug 和 Chrome 自带的开发人员工具相比起来有哪些优缺点?

 2、UI自动化测试

  说到软件测试工具,很多人第一反应会是自动化测试工具。但其实工具只是辅助,重要的是对自动化的理解,什么情况下适合做自动化?自动化如何分层?对应的自动化测试原理又是什么?貌似有点扯远了,但个人认为这点再怎么强调也不为过,会用自动化测试工具离真正意义上的自动化测试还差得远呢
  言归正传,再提自动化测试,很多人会想到模仿真人操作的自动化,对于Web测试,即UI自动化测试。如果早几年,可能我会提到QTP,但现在真心不推荐,如今用QTP的企业少之又少(类似诺基亚如今的使用率),当然也不是说QTP不好(HP毕竟烧了那么多钱),缺点在于它过于庞大,且附加条件过多(正版License价格你懂的、且仅可VBS写脚本)。
  Selenium 是ThoughtWorks公司编写的用于Web应用程序测试的工具。开源;支持多平台,Linux、Windows、Mac;支持的多浏览器包括IE、Mozilla Firefox、Google Chrome等。Selenium测试直接运行在浏览器中(WebDriver),就像真正的用户在操作一样,可进行一系列的系统功能测试。官网:www.selenium.org (可能被墙。。)
  Selenium的强大之处在于提供了诸多语言的开源框架,如 C#、Java、Pyhon、Ruby、PHP等,若有这些开发语言的基础,可较轻松地结合并定制出适合的测试框架(也需配合对应的单元测试框架如NUnit、JUnit、PyUnit等)

 Selenium IDE

  一个Firefox插件,可录制回放,并可生成用例脚本(建议不要直接使用生成的脚本)。录制回放功能对于需重复同样操作的测试还是蛮方便的。

 PhantomJS

  PhantomJS 是一个基于 WebKit 的服务器端 JavaScript API。它全面支持web而不需浏览器支持,其快速,原生支持各种Web标准: DOM 处理, CSS 选择器, JSON, Canvas, 和 SVG。 PhantomJS 可以用于页面自动化, 网络监测, 网页截屏 ,以及无界面测试等。官网:http://phantomjs.org/
  PhantomJS 是无界面测试,通俗来说就是不会起浏览器,这大大提高了运行的效率。
  PhantomJS可结合Selenium一起使用,发挥更大效用,这也是笔者最近研究的一个方向。

3、接口(API)自动化测试

  单独对测试接口(API)是非常有必要且有成效的。之前介绍的Web调试工具能方便地截获接口,可查看对应的Request及Response等,可Replay,可查看对应接口的响应时间,甚至可做接口的性能测试(Fiddler功能支持)。只是上述说的这些工具 ,并不能把接口保存下来,自动运行并做验证。
  自然,我们可以自写接口的自动化测试脚本,各语言也有各种现成的开源框架,但若是不熟悉开发语言的测试者,同样也有不少接口自动化测试工具可供使用,推荐fiddler、PostMan及SoapUI这两个工具。

3.1Fiddler

  Fiddler是最强大最好用的Web调试工具,没有之一 (遗憾的是只能Windows下使用)。官网: www.fiddler2.com
  Fiddler能记录所有客户端和服务器的http和https请求,允许监视,设置断点,甚至修改输入输出数据,Fiddler包含了一个强大的基于事件脚本的子系统,并且能使用.net语言进行扩展。
  对HTTP 协议越了解,就能越掌握Fiddler的使用方法;越使用Fiddler,就越能帮助你了解HTTP协议。

3.2.PostMan

  Postman现在是一个Chrome App(以前是Chrome的插件),官网:http://www.getpostman.com/ ;通过Chrome插件入口可轻松安装Postman。
  Postman的功能非常强大,能基本满足接口的自动化需求(有些高级功能需收费),详情 可参考这篇:基于Postman的API自动化测试。

3.3.SoapUI

  SoapUI是一个开源测试工具,通过soap/http来检查、调用、实现Web Service的功能/负载/符合性测试。官网:https://www.soapui.org/
  SoapUI 是一个完整的自动化测试解决方案。它提供了业界领先的技术和标准的支持,包含SOAP和REST的Web服务、JMS企业消息层,数据库,以及丰富的互联网应用等。
  SoapUI 用户操作界面直观、易用,而实际功能十分强大且可扩展。详细使用可参考官网文档:https://www.soapui.org/open-source.html
  SoapUI 还提供了命令行工具,方便加入至任务调度,或作为构建过程中的一个组成部分。

4、性能测试

  又有话说在前头了,会用性能测试工具离真正意义上的性能测试差得远得很!(还是那句话,工具只是辅助,要明白为何用、如何用、以及用好才是关键~)
  略无奈的是,很多做性能测试是这样的:公司说让他们对系统做个性能测试,于是就从网上找了点LoadRunner的使用说明并安装(当然是破解版),目的就为出份报告。对于一些大公司的专业性能测试人员来说,这个很可笑,但这种情况是存在且普遍的,一些所谓的专做性能测试的外包也是这么忽悠的(碰到过的真事….)

4.1JMeter

  Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。
  JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来在不同压力类别下测试它们的强度和分析整体性能。

4.2LoadRunner

  HP老牌的性能测试工具,不得不说功能及其强大。
  LoadRunner,是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。企业使用LoadRunner能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。 LoadRunner可适用于各种体系架构的自动负载测试,能预测系统行为并评估系统性能。

  扩展及引申

  随着Web应用越来越复杂,已有的测试工具往往已无法满足需求,大企业往往进行自主研发对应的测试工具/平台
  各种开源的测试框架为定制化测试工具或平台提供了基础,如何活学活用将是测试工程师或测试开发工程师技术深造的一大方向(当然,全部是自己码的代码也无不可)。

web测试工具总结的更多相关文章

  1. 开源Web测试工具介绍

    HtmlUnitHtmlUnit 是 JUnit 的扩展测试框架之一.HtmlUnit 将返回文档模拟成 HTML,这样您便可以直接处理这些文档了.HtmlUnit 使用例如 table.form 等 ...

  2. 如何在MVC_WebAPI项目中的APIController帮助页面添加Web测试工具测试

    本文转载自:http://www.cnblogs.com/pmars/p/3673811.html 先看效果图: 以下是原文: 如何在帮助页面添加测试工具 上一篇我在ASP.NET里面添加了一个Hel ...

  3. ab ApacheBench web测试工具

    http://www.ibm.com/developerworks/cn/linux/l-cn-ulimit/ ApacheBench参数说明 格式:ab [options] [http://]hos ...

  4. web测试工具列表

    ab.webbench,siege,loadrunner(专业的测试软件可形成图表.) 推荐使用ab测试. tcp并发测试: c1000k

  5. 移动WEB测试工具 Adobe Edge Inspect

    要用到的内容: Adobe Edge Code CC      https://creative.adobe.com/products/code?promoid=KFKML Adobe Edge In ...

  6. 推荐10款免费的在线UI测试工具

    发布网站之前至关重要的一步是网站测试.网站测试要求我们全面地运行网站并通过所有基本测试,如响应式设计测试.安全测试.易用性测试.跨浏览器兼容性.网站速度测试等. 网站测试对SEO.搜索引擎排名.转换率 ...

  7. Web测试Selenium:如何选取元素

    Web测试工具Selenium:如何选取元素 2009-02-17 23:23 by 敏捷的水, 5372 阅读, 22 评论, 收藏, 编辑 selenium是一个非常棒的Web测试工具,他对Aja ...

  8. Python渗透测试工具合集

    摘自:http://www.freebuf.com/tools/94777.html 如果你热爱漏洞研究.逆向工程或者渗透测试,我强烈推荐你使用 Python 作为编程语言.它包含大量实用的库和工具, ...

  9. 2015第22周一Web性能测试工具及IE扩展区别

    在高性能web测试工具推荐http://www.jb51.net/article/23034.htm中发现了dynaTrace 感觉很不错,不但可以检测资源加载瀑布图,而且还能监控页面呈现时间,CPU ...

随机推荐

  1. 利用APT实现Android编译时注解

    摘要: 一.APT概述 我们在前面的java注解详解一文中已经讲过,可以在运行时利用反射机制运行处理注解.其实,我们还可以在编译时处理注解,这就是不得不说官方为我们提供的注解处理工具APT (Anno ...

  2. 说一下自己对于 Linux 哲学的理解

    查阅了一些资料,官方的哲学思想貌似是: 一切皆文件 由众多单一目的的小程序,一个程序只实现一个功能,多个程序组合完成复杂任务 文本文件保存配置信息 尽量避免与用户交互 什么,你问我的理解?哲学思想?E ...

  3. nginx中级应用

    1.安装监控模块 Nginx中的stub_status模块主要用于查看Nginx的一些状态信息. 本模块默认是不会编译进Nginx的,如果你要使用该模块,则要在编译安装Nginx时指定: . /con ...

  4. DbSet中Find,AsNoTracking,Attach及DBEntityEntry,ChangeTracker

    Find,AsNoTracking,Attach,DBEntityEntry,ChangeTracker,Local 一:DBSet 我们在SaveChange的时候,如果获取到DbSet中一些Ent ...

  5. 构造复杂Lambda困惑之学会用LinqPad和Linqer实现Sql 和 Lambda之间的互转

    一:linq的话我们可能会遇到两个问题: 1. 我们的linq出现性能低下的时候,如果优化???? 我们写的linq所生成的sql是无法控制的... (要做性能优化,必须预先知道sql会生成啥样的?? ...

  6. [LeetCode 题解]: Maximum Depth of Binary Tree

    Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the long ...

  7. [数学趣味001]RSA算法原理及示例

    可以先看看这个视频: RSA_Encryption_Algorithm 公开密钥 Perwork: 私钥:Sender和Receiver预先约定加密和解密方案,向其他人保密. 这个实现比较难:向其他人 ...

  8. C# Log4.Net日志组件的应用系列(二)

    引言 Log4Net应该可以说是.NET中最流行的开源日志组件了.在各种项目框架中可以说是必不可少的组成部分.个人认为Log4Net有下面几个优点: 1. 使用灵活,它可以将日志分不同的等级,以不同的 ...

  9. 十八、Node.js创建Web服务器(二)

    在上一篇文章中我们在自定义模块自定义了几种文件类型的头文件加工的方法: /** * 自定义模块加工响应头文件类型 */ module.exports.getminiName=function (ext ...

  10. “全栈2019”Java第十九章:关系运算符、条件运算符和三元运算符

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...