51Testing软件测试论坛
标题: Web测试工具指南 [打印本页]
作者: 奇犽 时间: 2018-1-30 13:13
标题: Web测试工具指南
纯粹的手工测试早已不满足如今的项目需求,各种测试工具的应用早已成为普遍趋势。如何
选取合适的工具来完成对应的测试工作?本文将针对web测试,列举 一些推荐的测试工具,并加
以简单介绍。
P.S 每个工具的实际使用都可做一大篇文章,这边仅简要介绍,不包含具体使用。但即使这
样,本文仍较长。。。建议Mark下,慢慢看 (′?ω?`)
Web开发调试工具
技术没有所谓的开发及测试的界限,工具亦是。Web开发调试工具怎可仅被开发使用,这些
工具也是测试工程师的利器(此类工具的掌握可说是Web测试工作者必备的基本技能)。
浏览器调试
如今各种浏览器泛滥,但从内核上而言,浏览器的种类可分为IE内核、
谷歌内核 (Webkit)、火狐内核;还有IE内核+Webkit内核,即双核的浏览器。比如傲游浏览器、
360极 速浏览器、搜狗高速浏览器等。所以,针对Web端B/S测试(网站or网页应用等),主要会在IE、
Chrome、FireFox这三个典型的浏览器上进行测试。下面就这三个浏览器的开发者调试工具或插
件做下简单的介绍。
P.S 三者的基础功能和使用方式大同小异,熟悉前端及网络技术就能较易学会其用法。
IE —— F12开发人员工具
IE自带的F12开发者工具,可说是IE的良心之作。无论是调整HTML&CSS、JS调试,还是网
络抓包,性能测试,甚至是查找内存泄漏,都能在F12开发者工具中找到相应的使用方式。
[attach]110383[/attach]
具体的使用不细说了,值得一提的是,仿真一栏里,可模拟IE的各个版本,如本身是IE11,仿
真就提供了IE10、9、8、7等文档的仿真。虽说和真实版本的IE浏览器仍可能有差异,但为多版本
IE兼容性测试提供了帮助及参考。
Chrome —— 开发者工具
Chrome可说是程序猿们最爱用的浏览器,其自带的开发者工具自然也是最常用的。
[attach]110384[/attach]
Chrome 开发者工具是公认的优秀的前端调试工具,只是 Chrome DevTools暂时没有中文手
册,如英文有困难的可参考这个Github项目:Chrome 开发者工具中文手册。
P.S 笔者准备写一篇Chrome开发者工具使用的博文,敬请期待~(虽然不知猴年马月…)
FireFox —— FireBug 插件
FireFox也有自带的开发者工具,只是FireBug插件更为出色,故推荐使用。
[attach]110385[/attach]
此外,有不少基于Firebug上的优秀插件及扩展(如 YSlow、PageSpeed、FireFinder等)
三者比较
如对以上三种工具进行对比,个人观点可能有失偏驳,毕竟Chrome用的比较多。自用经验:
界面Chrome更好用,JS调试上Firebug更方便,IE用于IE版本的兼容测试。可参考此知乎回答:
Firebug 和 Chrome 自带的开发人员工具相比起来有哪些优缺点?
Fiddler
把Fiddler作为二级标题纯粹个人观点:Fiddler是最强大最好用的Web调试工具,没有之一
(遗憾的是只能[url=]Windows[/url]下使用)。官网: www.fiddler2.com
[attach]110386[/attach]
Fiddler能
记录所有客户端和服务器的http和https请求,允许监视,设置断点,甚至修改输入
输出数据,Fiddler包含了一个强大的基于事件脚本的子系统,并且能使用.net语言进行扩展。
对HTTP 协议越了解,就能越掌握Fiddler的使用方法;越使用Fiddler,就越能帮助你了解
HTTP协议。
UI自动化测试
说到软件测试工具,很多人第一反应会是自动化测试工具。但其实工具只是辅助,重要的是
对自动化的理解,什么情况下适合做自动化?自动化如何分层?对应的自动化测试原理又是什
么?貌似有点扯远了,但个人认为这点再怎么强调也不为过,会用自动化测试工具离真正意义上
的自动化测试还差得远呢 ╭(╯^╰)╮
言归正传,再提自动化测试,很多人会想到模仿真人操作的自动化,对于Web测试,即UI自
动化测试。如果早几年,可能我会提到QTP,但现在真心不推荐,如今用QTP的企业少之又少
(类似诺基亚如今的使用率),当然也不是说QTP不好(HP毕竟烧了那么多钱),缺点在于它过
于庞大,且附加条件过多(正版License价格你懂的、且仅可VBS写脚本)。
Selenium
Selenium 是ThoughtWorks公司编写的用于Web应用程序测试的工具。开源;支持多平
台,Linux、Windows、Mac;支持的多浏览器包括IE、Mozilla Firefox、Google Chrome等。
Selenium测试直接运行在浏览器中(WebDriver),就像真正的用户在操作一样,可进行一系列的
系统功能测试。官网:www.selenium.org (可能被墙。。)
[attach]110387[/attach]
作者: 奇犽 时间: 2018-1-30 13:22
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/
[attach]110388[/attach]
PhantomJS 是无界面测试,通俗来说就是不会起浏览器,这大大提高了运行的效率。
PhantomJS可结合Selenium一起使用,发挥更大效用,这也是笔者最近研究的一个方向。
接口(API)自动化测试
单独对测试接口(API)是非常有必要且有成效的。之前介绍的Web调试工具能方便地截获接
口,可查看对应的Request及Response等,可Replay,可查看对应接口的响应时间,甚至可做接
口的性能测试(Fiddler功能支持)。只是上述说的这些工具 ,并不能把接口保存下来,自动运行
并做验证。
自然,我们可以自写接口的自动化测试脚本,各语言也有各种现成的开源框架,但若是不熟
悉开发语言的测试者,同样也有不少接口自动化测试工具可供使用,推荐PostMan及SoapUI这两
个工具。
PostMan
Postman现在是一个Chrome App(以前是Chrome的插件),官网:
http://www.getpostman.com/ ;通过Chrome插件入口可轻松安装Postman。
[attach]110389[/attach]
Postman的功能非常强大,能基本满足接口的自动化需求(有些高级功能需收费),详情 可
参考这篇:基于Postman的API自动化测试。
SoapUI
SoapUI是一个开源测试工具,通过soap/http来检查、调用、实现Web Service的功能/负载
/符合性测试。官网:https://www.soapui.org/
[attach]110390[/attach]
SoapUI 是一个完整的自动化测试解决方案。它提供了业界领先的技术和标准的支持,包含
SOAP和REST的Web服务、JMS企业消息层,数据库,以及丰富的互联网应用等。
SoapUI 用户操作界面直观、易用,而实际功能十分强大且可扩展。详细使用可参考官网文
SoapUI 还提供了命令行工具,方便加入至任务调度,或作为构建过程中的一个组成部分。
性能测试
又有话说在前头了,会用性能测试工具离真正意义上的性能测试差得远得很!(还是那句
话,工具只是辅助,要明白为何用、如何用、以及用好才是关键~)
略无奈的是,很多做性能测试是这样的:公司说让他们对系统做个性能测试,于是就从网上
找了点LoadRunner的使用说明并安装(当然是破解版),目的就为出份报告。对于一些大公司
的专业性能测试人员来说,这个很可笑,但这种情况是存在且普遍的,一些所谓的专做性能测试
的外包也是这么忽悠的(碰到过的真事….)
JMeter
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,
它最初被设计用于Web应用测试,但后来扩展到其他测试领域。
JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来在不同压力类别下测试它们的强
度和分析整体性能。
LoadRunner
HP老牌的性能测试工具,不得不说功能及其强大,笔者对其使用估计也就皮毛(惭愧  ̄~ ̄;)。
[attach]110391[/attach]
LoadRunner,是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发
负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。企
业使用LoadRunner能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。
LoadRunner可适用于各种体系架构的自动负载测试,能预测系统行为并评估系统性能。
扩展及引申
随着Web应用越来越复杂,已有的测试工具往往已无法满足需求,大企业往往进行自主研发
对应的测试工具/平台(测试开发的工作之一 ???? )
各种开源的测试框架为定制化测试工具或平台提供了基础,如何活学活用将是测试工程师或
测试开发工程师技术深造的一大方向(当然,全部是自己码的代码也无不可)。
有关APP测试工具本来也想列举的,可由于笔者没用过,手机专项测试水较深,本人不敢盲
从推荐,但值得一探。
作者: 测试的精髓 时间: 2018-2-1 17:21
楼主写的挺好的 ,学习了
作者: gbstar 时间: 2018-2-19 20:40
感谢楼主的分享,总结的不错!赞一个!
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) |
Powered by Discuz! X3.2 |