软件测试者必备的九种工具

一般在产品研发的过程中,我们对于交付出高质量软件的愿望,是和那些不断探索新的测试工具与技术的需求成正比的。可以说,如果没有现代化的工具,我们几乎无法实现测试过程的自动化,也就无法保证软件产品的鲁棒性。同时,在测试人员的收藏库里各种工具的质量,也直接决定了他完成测试工作的效率和准确度。可见,为了加快和缩短测试周期,并促进测试流程的顺利推进,软件测试专业人员必须掌握和熟悉一些常用的专业工具。下面我们为您编制了一份涉及各种应用领域的工具列表。

软件测试者必备的九种工具

1.跨浏览器测试工具

基于全方位测试需求的考虑,跨浏览器测试应该是最重要的类型之一。如今,各种类型的浏览器可谓是琳琅满目。因此,我们需要确保用户在通过不同种类的浏览器访问平台服务时,不会产生较大的体验落差。

在市面上,诸如LambdaTest(请参见)之类的在线工具,就能够帮助您以一种轻松互动的方式,解决此方面的问题。LambdaTest是一种非常流行的在线工具,您可以通过它对超过2000多个真正的浏览器、与操作系统进行跨浏览器式的测试。

测试人员甚至可以使用该工具来自动捕捉屏幕上的截图,以加速对于目标平台网络布局的测试。另外,其他同类型比较流行的测试工具还有:Browserstack(请参见)和Saucelabs(请参见)。

2.自动化测试工具

众所周知,软件测试人员平时的工作量既多且复杂。因此,为了给他们减负,以及加快测试周期,各种高效率的自动化测试工具往往是必须的。Selenium是自动化测试工具领域最为流行的一种套件。Selenium的IDE能够以插件的形式被安装到测试者的浏览器中,从而方便地实现Web界面的测试。

另外,Selenium 的Remote Control可以通过录制用户的操作,来简化Web测试人员的各项重复作业。Selenium的Grid具有编写、运行和并行处理测试的功能。而Selenium的Core则是基于JsUnit,完全由JavaScript所编写,因此可以被运行在各种支持JavaScript的主流浏览器之上。根据《针对自动化测试各种挑战的调查》(请参见)一文,九成的测试人员已经或正在使用着Selenium。

3. API类测试工具

测试应用程序的接口是如今软件开发的另一个不可缺少的环节。然而,由于API缺乏友好的用户界面,无法展示其传递层的执行过程,因此其整体上往往显得比较复杂与繁琐。各类软件测试人员亟待拥有一种可用来测试API的专业工具。

根据由Google所提供的趋势分析(请参见)表明:在市面上,软件测试人员对于API及其对应测试工具的需求都比较大。在此类工具中,最常见的莫过于SoapUI(请参见)了。

SoapUI是一种开源的测试工具,可以专门被用来测试API。它通过SOAP和HTTP来调用和检查各种Web服务的功能和性能。该工具既可以作为一种单独的测试软件被使用,也可以作为插件被集成到Eclipse、Maven、Netbeans和IntelliJ中。

4.负载类测试工具

作为性能测试的一个关键组成部分,负载测试是通过模拟那些发往服务器的HTTP流量,来评估其性能的一种测试过程。面对同一时间内可能出现大量用户的访问负载,它能够让测试人员获悉某个网站或应用程序所做出的各种响应。

同样,在众多可选的负载测试工具中,最流行的当属Load Storm(请参见)。这款基于云的测试解决方案,能够以一种简单且具有成本效益的方式,来产生多达五万个用户的并发量,进而对目标所能够承受的各种负载进行测试。您可以通过它来选择并创建属于自己的测试计划、测试标准和测试场景。

此外,还有一些其他比较流行的负载测试工具也值得您去关注,它们是:Testing Anywhere(请参见)、LoadImpact(请参见)和Loadster(请参见)。

5.安全类测试工具

如今在复杂的网络环境中,及时、准确地识别出网站上的安全漏洞,对于每一个网站运营者来说都是至关重要的。因此,安全测试的核心目的就是要保证您的软件产品具有一定的抗攻击能力,相应的数据也能够免受黑客的窃取。诸如Vega(请参见)之类的软件安全工具就能够帮助测试人员达到这样的目的。

Vega是一种用Java编写的、配有友好GUI的开源工具。它提供针对Windows、Linux和Mac OS等各种平台的免费版本。Vega能够帮助测试人员验证诸如SQL注入、跨站脚本(XSS)、敏感信息泄露和其他类型的安全漏洞。而且,无论是用它来进行性能测试,还是把它作为一种自动化扫描的工具,它都具有一定的灵活性和实用价值。

6.可访问性测试工具

随着时间的推移,您往往需要保证自己网站里的各个页面,都能持续地被不同的用户运用不同的浏览工具所访问到。因此可访问性测试工具应运而生。其中DYNO Mapper(请参见)最具代表性。

与跨浏览器测试有着几分相似之处,此类工具通过“爬取”和模拟访问目标网站,以确保各类用户群体能够流畅地获取页面,及其相应的服务。DYNO Mapper配备了一些“可视化”的功能,它能够展示网站的真实组织架构,允许测试人员通过简单点击,交互式地创建可视化的站点视图,进而方便了各种技术类的排障与审计工作。您甚至运用该工具来评估网站的HTML内容和代码质量。

7. JavaScript类测试工具

如下图所示:如今在的互联网上,有95%的网站都使用到了JavaScript技术。

由此可见,在软件测试人员的工具谱中,一定少不了JavaScript类型的专业测试工具。JSFiddle(请参见)是该领域最为常用的测试工具之一。该在线工具提供了非常简单的用户界面,您可以立即查看到测试的结果。也就是说,测试人员可以在线编辑和测试HTML、CSS、JavaScript等代码。而且这些编辑代码既可以直接被保存,也可被分享给其他人,或者被嵌入到目标网站之中。另外,您也可以尝试JSBin(请参见),它的界面更加简洁,并且能提供许多跨浏览器的测试工具,以及对JavaScript的专门支持。

8.探索性测试工具

概括地说,探索性测试是指:学习、设计和测试同步执行。此类工具的代表性产品是qTEST(请参见)。您需要做的事情是将qTEST的管理器部署到云端,然后在其连接器的帮助下,与JIRA相集成,实现端到端的质量测试。另外,它还可以与诸如Bugzilla、FogBugz和Rally等工具进行整合。同时,qTEST还提供了基于会话的测试、和敏捷测试管理等一些额外的功能。

9.可视化测试工具

正所谓:内行看门道,外行看热闹。普通用户是不会去关心您网站后端的数据库,到底被设计得有多精良、有多复杂。他们更注重的是网站的外观是否赏心悦目,是否抓人眼球。因此,除了确保在技术性上过硬之外,软件测试人员也必须核验网站的视觉效果。诸如Functionize(请参见)之类的工具能够提供并支持视觉测试、性能测试和移动测试。通过使用该自动化测试工具,您可以在几分钟之内进行上千次的不同种类的测试。

综上所述,上面九大领域的工具都是软件测试专业人员所必备的。常言道,工欲善其事,必先利其器。找准了方向和用对了工具,远胜过您对着电脑屏幕冥思苦想。希望您能够花些时间去逐一体验和操作这些工具。只有熟悉了它们,您才能从容地面对各种类型的测试需求;也只有这样,您才有资格自称为一位明智的测试工程师。最后祝您测试愉快!

原文标题:9 Must-Have Tools for Software Testers,作者:Lynda Barnes

作者:作者:陈峻编译

原文:http://developer.51cto.com/art/201812/589480.htm

相关推荐