先说软件测试行业的划分,一是黑盒测试或者叫功能测试、手动测试,二是白盒测试或者测试开发等。黑盒测试,含金量低,测试人员学的测试工具较少。白盒测试,现在软件行业越来越重视白盒测试,白盒测试要求会写代码,通常只是写一些脚本或者开发测试工具,Python、Shell、Perl常用于写测试脚本,当然如果公司内部以Java为主要编程语言的话,还是得学习java,总而言之就是,至少学习一门编程语言。
根据不同阶段的测试,对应有不同的测试方法以及测试工具。基本的测试工具包括:测试设计工具、静态分析工具、单元测试工具、功能测试工具、性能测试工具和测试过程管理。
下面我说一下为何要用这些工具。
首先是测试设计工具,此种工具主要是用于测试用例的设计。它又分为两类;分别是基于代码的测试用例设计工具,它主要是读入程序源文件,对其中的代码结构进行分析,之后产生测试输入数据进行测试;另一个是基于需求说明的测试用例设计工具。它首先把需求说明转化成工具所能理解的格式,之后由工具对转化后的需求说明进行分析,生成测试用例。
第二个是静态分析工具,它是对程序代码本身进行测试,它通过检查代码对程序的数据流和控制流信息进行分析,找出系统缺陷,同时可以检查出代码中命名不规范的地方。
第三个是单元测试工具,它主要通过模拟程序的输入和预期结果进行比对,来提高程序的质量,它一般在一个单元的开发完成之后,由开发者自行对模块进行单元测试。它是提高软件质量的基石。
第四个是功能测试自动化工具,它是回归测试所主要用到的工具,通过它的脚本录制和回放功能可以大大减轻测试人员的工作量,此外它还具有可编程行和检验功能,使得测试起来更加灵活。
典型的功能测试自动化工具有:Rational Robot,功能测试自动化工具的使用主要步骤包括:准备录制、进行录制、编辑测试脚本、调试脚本、回归测试中运行、分析结果、报告问题。
第五个是性能测试工具,它是为了模拟软件实际工作中所可能产生的高并发、不稳定的网络带宽、有限的服务器资源等环境。
性能测试也叫做压力测试或容量测试。它的测试内容主要包括:系统的相应时间、事务处理速度以及和时间敏感的需求。
第六个是测试过程管理工具,它贯穿了整个软件测试过程,包括制定测试计划、测试用例设计、测试执行、缺陷跟踪等。它管理整个测试过程中所产生的文档、数据统计、版本信息等。此类管理工具一般采用WEB系统,因为它易于访问修改,便于团队之间的沟通协作。
所以说借助这些测试工具不仅可以提高我们的测试效率,而且能够更加有效的组织管理整个软件的测试流程。换句话说使用测试工具可以让我们少加很多班。
1.操作系统:
Linux:vmware、xshell 、xftp 、ssh
2.数据库:
主流是以下三种数据库,尤其是MySQL以及oralce,在测试中必会的技能是对表的相关操作,增删改查,查询是最重要的。包括多表查询,子查询,连接查询以及复杂查询等。
mysql :前端连接工具为SQLyog 、Navicat
oralce :前端连接工具为plsql developer、Navicat也可以使用
sqlserver:前端连接工具为它自带企业管理器
当然还有很多不是最常用的比如:DB2,MongoDB,Sybase
3.开发工具:
java :eclipse 、myeclipse 、IDEA
python :PyCharm 、sublime
4.单元框架:
java :junit/testng
python :unittest/pytest
5.抓包工具:
fidder 、Charles、httpwatch、wireshark
6.接口测试工具:
postman、jmeter 、SoapUI 、在线接口测试工具、编写接口自动化脚本
7.自动化测试框架:
selenium 、Robot Framework 、appium 、UIautomater、Robotium、QTP、requests、httprunner
8.性能测试:
LoadRunner 、 jmeter 、GT 、iTest 、Emmagee(移动)
9.移动端(android):
adb、android sdk 、uiautomatorviewer、 hierarchyviewer 、 DDMS 、 monitor 、 Monkey
、MonkeyRunner 、androidstudio10.版本控制工具:
SVN 、Git、Gitlib、Github
11.bug管理工具:
Testlink、Mantis、bugFree、禅道 、TestDirector、QC
说一下自动化测试,企业一般用的测试工具,可供参考~
- web自动化工具——RobotFramework
RobotFramework是一款python编写的功能自动化测试框架。具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行,主要用于轮次很多的验收测试和验收测试驱动开发(ATDD)。
- 接口自动化工具——Jmeter
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但目前也是主流的接口测试工具之一。
Apache jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进行测试。它可以用于对服务器,网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。
- App自动化工具——Appium
Appium是一个自动化测试开源工具,支持iOS和android平台上的移动原生应用、移动Web应用和混合应用,也支持H5应用的自动化测试!
Appium是一个跨平台工具,它允许测试人员使用同样的接口、基于不同的平台写自动化测试代码,大大增加了测试套件间代码的复用性。
- App自动化工具——Airtest
Airtest是网易出品的一款基于图像识别和poco控件识别的一款UI自动化测试工具。Airtest的框架是网易团队自己开发的一个图像识别框架,这个框架的原型是一种新颖的图形脚本语言Sikuli。
Sikuli这个框架的原理是这样的,计算机用户不需要一行行的去写代码,而是用屏幕截屏的方式,用截出来的图形摆列组合成神器的程序,这是Airtest的一部分。
- PC端自动化工具——QTP
QTP是Quick Test Professional的简称,是一种自动测试工具,以VBScirpt为内嵌语言。QTP支持功能测试和回归测试自动化,可用于软件应用程序和环境的测试。
需要任何软件测试行业资讯,内推岗位的都可以来私聊哦~
很高兴能这个问题。
下面我来介绍一下软件测试常用的测试工具。
WINRUNNER
WinRunner:强大的企业级自动化测试工具
Mercury Interactive公司的WinRunner是一种企业级的功能测试工具,用于检测应用程序是否能够达到预期的功能及正常运行。通过自动录制、检测和回放用户的应用操作,WinRunner能够有效地帮助测试人员对复杂的企业级应用的不同发布版进行测试,提高测试人员的工作效率和质量,确保跨平台的、复杂的企业级应用无故障发布及长期稳定运行。
企业级应用可能包括Web应用系统,ERP系统,CRM系统等等。这些系统在发布之前,升级之后都要经过测试,确保所有功能都能正常运行,没有任何错误。如何有效地测试不断升级更新且不同环境的应用系统,是每个公司都会面临的问题。
如果时间或资源有限,这个问题会更加棘手。人工测试的工作量太大,还要额外的时间来培训新的测试人员等等。为了确保那些复杂的企业级应用在不同环境下都能正常可靠地运行,你需要一个能简单操作的测试工具来自动完成应用程序的功能性测试。
Rational Robot
IBMRational Robot是业界最顶尖的功能测试工具,它甚至可以在测试人员学习高级脚本技术之前帮助其进行成功的测试。它集成在测试人员的桌面IBM Rational TestManager上,在这里测试人员可以计划、组织、执行、管理和报告所有测试活动,包括手动测试报告。这种测试和管理的双重功能是自动化测试的理想开始。
LOADRUNNER
LoadRunner 是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试。通过使用LoadRunner ,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。
目前企业的网络应用环境都必须支持大量用户,网络体系架构中含各类应用环境且由不同供应商提供软件和硬件产品。难以预知的用户负载和愈来愈复杂的应用环境使公司时时担心会发生用户响应速度过慢,系统崩溃等问题。这些都不可避免地导致公司收益的损失。Mercury Interactive 的 LoadRunner 能让企业保护自己的收入来源,无需购置额外硬件而最大限度地利用现有的IT 资源,并确保终端用户在应用系统的各个环节中对其测试应用的质量,可靠性和可扩展性都有良好的评价。
JMeter
是开源测试工具,专门为运行和服务器负载测试而设计、100%的纯Java桌面运行程序。原先它是为Web/HTTP测试而设计的,但是它已经扩展以支持各种各样的测试模块。它和HTTP和SQL(使用JDBC)的模块一起运行。它可以用来测试静止或活动资料库中的服务器运行情况,可以用来模拟服务器或网络系统在重负载下的运行情况。它也提供了一个可替换的界面用来定制数据显示,测试同步及测试的创建和执行。
OpenSTA
它的全称是Open System Testing Architecture。OpenST的特点是可以模拟很多用户来访问需要测试的网站,它是一个功能强大、自定义设置功能完备的软件。但是,这些设置大部分需要通过Script来完成,因此在真正使用这个软件之前,必须学习好它的Script编写。如果需要完成很复杂的功能,Script的要求还比较高。当然这也是它的优点,一些程序员不会在意编写Script的。
当然还有一些,例如功能测试工具SilkTest,单元测试工具xUnit系列,全球测试管理系统testdirector,自动化白盒测试工具Jtest,性能测试工具WAS,性能测试和分析工具WEBLODE。