*此次博文是上海海洋大学17软工1班软件工程专题实践专题课程第4次个人博客,内容是介绍一些除VSTS的软件测试工具外的一些其他平台上的测试工具,并介绍如何在自己的项目中具体使用。
一、单元测试工具
SourceMonitor
(1)工具介绍
SourceMonitor可对多种语言写就的代码进行度量,包括C、C++、C#、Java、VB、Delphi和HTML,并且针对不同的语言,输出不同的代码度量值。像其他代码度量工具一样,它只关注代码,并为编码人员提供及时的反馈,它不是一款项目管理工具,不关注项目实行中从功能分析到设计编码,再到测试这全部进程。它只是一个“度量”工具,但是通过基本的度量,可以从代码表面层次发现一些根本的,基础的问题,且它使用起来十分方便,即可以每次都直接打开软件选择文件进行分析也可以在eclipse当作插件使用,且只用手动选择自己想要分析的代码,除此之外所有的数据全都是自动生成,非常的便利,当然分析的内容也是十分全面的,因此完全可以将它做为最基础的一个工具来为软件质量把关。
(2)工具使用介绍
首先新建一个项目,并将自己要测试的项目导入到软件中,之后跳转至图1-1,页面的左边是不分析的文件,右边的是分析的文件,两边都可以通过双击使文件换区,确保自己要分析的文件都放在右边后点击OK按钮即可。
1-1
点击OK按钮后会跳转至图1-2所示页面,这里显示的就是所有要分析的代码复杂度的总和。如果想要选择查看其中某个文件的代码复杂度,那么通过双击图1-2数据的那一列就可以跳转至单个文件的代码复杂度情况。
1-2
双击后跳转至图1-3所示界面,在这里你就能看到每个代码文件所对应的代码复杂度,包括总的代码量、语句量、分支、深度、块数以及各种平均数值等等。而它为了我们能够看的更加直观和清晰,还为我们提供了图像化的分析结果。如果我们想要查看图形的分析结果,那么通过双击你想要知道的文件数据行即可。
1-3
双击数据行后的结果如下图1-4到1-8所示。通过观察分析所得的代码复杂度的分析结果就可以让我们对自己的代码有了初步的了解,在以后的各种测试中也能让自己心中有所尺度。
1-4
1-5
1-6
1-7
1-8
二、功能测试工具
Selenium IDE
(1)工具介绍
Selenium IDE 是工具套件中最简单的哦!通过录制并重播功能,可以快速创建测试用例。这个跟QTP中的对应部分类似。不用怎么费劲就能学会。因为它很简单,IDE只能用来分析元素的原型,而不是创建全套的复杂的测试用例。虽然你可以没有编程知识就来学习,但你也必须熟悉HTML, JavaScript,和DOM才能用好这个工具。在我们学习命令“runScript”的时候会用到JavaScript的知识。
Selenium IDE在创建测试时,支持自动完成命令。这个功能有两个目的:
帮助测试者快速输入命令
限制了用户输入无效命令
(2)工具使用介绍
1.搭建测试环境
安装火狐浏览器并下载插件Selenium IDE。
下载地址:https://docs.seleniumhq.org/selenium-ide/
安装成功后,火狐浏览器中就可以看到如下图2-1所示的小图标。
2-1
点击图标,跳出图2-2所示界面。然后点击新建项目,就可跳转至图2-3所示的测试主页面,在其中再点击zengjia 按钮,增添新的测试项目即可。
2-2
2-3
脚本编辑好之后,IDE还可以生成测试脚本,并提供导出功能,导出的代码可以在Eclipse上进行运行,有些版本的导出语言甚至可以有很多种,我们需要什么就选择什么,导出功能如图2-4所示,部分版本导出的可选版本如图2-5所示。
2-4
2-5
三、性能测试工具
(1)工具介绍
JMeter
Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。它可以用于对静态的和动态的资源的性能进行测试。它可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对象。
(2)工具使用介绍
启动JMeter后,JMeter会自动生成一个空的测试计划,用户可以基于该测试计划建立自己的测试计划。JMeter中 每个测试计划至少需要包含一个线程组,一个性能测试请求负载是基于一个线程组完成的。我们在测试计划右键弹出下拉菜单(添加-->线程(用户)--->线程组)中选择线程组即可。
3-1
线程组主要包含三个参数:线程数、准备时长(Ramp-Up时间(秒))、循环次数。
线程数:虚拟用户数。一个虚拟用户占用一个进程或线程。设置多少虚拟用户数在这里也就是设置多少个线程数
准备时长:设置的虚拟用户数需要多长时间全部启动。如果线程数为100 ,准备时长为1 ,那么需要1秒钟启动100个线程。
循环次数:每个线程发送请求的次数。如果线程数为100 ,循环次数为3 ,那么每个线程发送3次请求。总请求数为100*3=300 。如果勾选了“永远”,那么所有线程会一直发送请求,一到选择停止运行脚本。
添加完成线程组后,在线程组上右键菜单(添加--->取样器--->HTTP请求)选择HTTP请求。
一个HTTP请求的配置参数主要包括:
1.名称:本属性用于标识一个取样器,建议使用一个有意义的名称
2.注释:对于测试没有任何作用,仅用户记录用户可读的注释信息
3.服务器名称或IP :HTTP请求发送的目标服务器名称或IP地址
4.端口号:目标服务器的端口号,默认值为80
5.协议:向目标服务器发送HTTP请求时的协议,可以是http或者是https ,默认值为http
6.方法:发送HTTP请求的方法,可用方法包括GET、POST、HEAD、PUT、OPTIONS、TRACE、DELETE等
7.Content encoding :内容的编码方式,默认值为iso8859
8.路径:目标URL路径(不包括服务器地址和端口)
3-2
然后,设置一个循环控制器来进行对目标页面进行反复压力测试。
3-3
添加察看结果树,右键点击线程组,在弹的菜单(添加--->监听器--->察看结果树)中选择察看结果树。
添加聚合报告,右键点击线程组,在弹的菜单(添加--->监听器--->聚合报告)中选择聚合报告。
添加图形结果,右键点击线程组,在弹的菜单(添加--->监听器--->图形结果)中选择图形结果。
3-4
最后点击工具栏绿色按钮即可运行,根据显示的错误类型可以得知是哪方面的问题,有不支持的媒体类型、HTTP请求太多等等。由于我们小组的项目还未完全做出所以无法对自己的项目进行测试。
原文:https://www.cnblogs.com/zxp888/p/10961975.html