主流测试工具简介
主流测试工具简介
一、测试开发
Swagger
1.Swagger是一个规范且完整的框架,用于生成,描述,调用和可视化RESTful风格的Web服务。
2.Swagger的目标是对REST API定义一个标准且和语言无关的接口,可以让人和计算机拥有无需访问源码,文档或网络流量检测就可以发现和理解服务的能力。当通过Swagger进行正确定义,用户可以理解远程服务并使用最少实现逻辑与远程服务进行交互。与为底层编程所实现的接口类似,Swagger消除了调用服务时可能会有的猜测。
Django
1.Django是一个开放源代码的Web应用框架,是由Python携程。采用了MVT的软件设计模式,即模型Model,视图View和模板Template。它最初是被开发用来管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的。这套框架是以比利时的吉普赛爵士吉他手Django Reinhardt来命名的。
2.Django的主要目标是使得开发复杂的,数据库驱动的网站变得简单。Django注重组件的重用性和可插拔性,敏捷开发和DRY法则。在Django中Python被普遍使用,甚至包括配置文件和数据模型。
Spring Boot
Spring Boot是由Pivotal团队提供的全新框架,起设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
二、主流的性能测试工具
JMeter
JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。它可以用于测试静态和动态资源,例如静态文件,Java小服务程序,CGI脚本,Java对象,数据库,FTP服务器等等。
JMeter可以用于对服务器,网络或对象模拟巨大的负载,来自不同压力类别下测试他们的强度和分析整体性你那个。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。
LoadRunner
LoadRunner是一种预测系统行为和性能的负载测试工具。通过模拟上千万用户实施并发负载及实时性能检测的方式来确认和查找问题。LoadRunner能够对整个企业架构进行测试。企业使用LoadRunner能最大限度的缩短测试时间,优化性能和加速应用系统的发布周期。
LoadRunner可适用于各种体系架构的自动负载测试,能预测系统行为并评估系统性能。
Gatling
Gatling是一款基于Scala开发的高性能服务器性能测试工具,同时也是一款功能强大的负载测试工具,它为易于使用,高可维护行和高性能而设计。开箱即用,Gatling由于对HTTP协议的出色支持,使其成为负载测试任何HTTP服务器的首选工具。
LoadNinja
1.LoadNinja是一个性能和负载测试框架,用于诊断API和UI性能问题。
2.LoadNinja具有内置的TrueLoad技术,与传统的协议进行的性能测试相比,该技术可使用测试终端用户体验的速度提高60%。
3.LoadNinja核心特性是数以千计的在真是浏览器上的用法,测试脚本的录制和回放,问题实时诊断。
三、主流单元测试工具
Pytest
Pytest是成熟的功能齐全的python测试工具,可以帮助你编写更好的程序。她是一个使构建简单和可伸缩的测试变得容易的框架,测试具有表达性和可读性,不需要样板代码。几分钟后就可以开始对应用程序或库进行小的单元测试或复杂的功能测试。
TestNG
1.TestNG是基于java的单元测试工具,受非常流行的工具NUnit和JUnit启发。
2.与Nunit和JUnit相比,TestNG具有更加强大的功能那个,使其成为集成和端到端测试的多功能工具。
3.TestNG的核心特性是多线程测试执行,数据驱动的测试支持,使用JDK方式提供日志和运行,借助IDE插件或使用了build.xml的Apche Ant,从而得以灵活执行。
unittest
1.unittest是python自带的一个单元测试框架。
2.unittest又称为PyUnit,是由java的Junit衍生而来,基本结构是类似的。对于单元测试需要设置预先条件,对比预期结果和实际结果。
3.由于unittest是python自带的标准模块,所以不需要单独再去安装。引入包import unittest即可使用。
JUnit
JUnit是一个java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的SUnit和XUnit的Xunit家族中最为成功的一个。JUnit有它自己的JUnit扩展生态圈,多数java的开发环境都已经集成了JUnit作为单元测试的工具。