软件测试技术(性能与自动化测试)

一、实验原理

1、功能与自动化测试

功能自动化测试是指使用自动化工具和脚本来模拟用户操作,验证软件应用程序的各种功能是否按照预期工作的过程。在进行功能自动化测试时,测试人员通常编写脚本,这些脚本可以模拟用户在应用程序中进行的各种操作,例如点击按钮、输入文本、选择选项等等。测试人员还可以使用自动化工具来创建这些脚本,从而加快测试的速度和准确性。这些脚本可以在不同的平台和环境中运行,并且可以多次运行,以确保软件应用程序的功能始终如一。

功能自动化测试可以帮助测试人员在早期阶段发现和修复软件应用程序中的缺陷和错误,从而减少后期修复的成本和时间。它还可以提高测试的覆盖率和准确性,从而提高软件应用程序的质量和可靠性。

2、Selenium

Selenium是一种广泛使用的自动化测试工具,用于测试Web应用程序的功能和用户界面。它提供了一个基于浏览器的自动化测试框架,可以模拟用户在Web应用程序中的操作,例如点击按钮、输入文本、选择选项等等。Selenium可以使用多种编程语言编写测试脚本,例如Java、Python、C#等等。

Selenium支持不同类型的浏览器,例如Chrome、Firefox、Safari和IE等等,它可以在这些浏览器中运行测试用例,并且可以在不同的操作系统和平台上运行,例如Windows、Mac和Linux等等。Selenium还支持多种测试框架,例如JUnit、TestNG和NUnit等等,可以方便地与其他测试工具和框架集成。

Selenium的核心组件包括WebDriver、IDE和Grid。WebDriver是一个用于驱动浏览器的接口,它可以与不同类型的浏览器交互,并提供了许多方法来控制浏览器的行为。IDE是一个用于创建和编辑Selenium测试脚本的集成开发环境,它可以记录用户在浏览器中的操作,并将其转换为Selenium测试脚本。Grid是一个用于分发测试工作负载的工具,它可以将测试任务分配给不同的计算机和浏览器,以实现并发执行测试用例的能力。

总的来说,Selenium是一种功能强大的自动化测试工具,它可以帮助测试人员和开发人员快速、准确地测试Web应用程序,并提高软件应用程序的质量和可靠性。

3、性能与自动化测试

性能自动化测试是指使用自动化工具和脚本来模拟用户行为,测试软件应用程序在负载条件下的性能表现。它可以帮助开发人员和测试人员评估软件应用程序的性能指标,例如响应时间、吞吐量、并发用户数等等。

在进行性能自动化测试时,测试人员通常使用自动化工具来模拟用户行为,例如发送请求、接收响应、执行事务等等。这些工具可以模拟多个并发用户,在不同的负载条件下测试软件应用程序的性能。测试人员还可以使用自动化工具来收集和分析性能数据,例如响应时间、CPU利用率、内存占用率等等。

性能自动化测试可以帮助测试人员在早期阶段发现和修复性能问题,从而减少后期修复的成本和时间。它还可以帮助开发人员优化软件应用程序的性能,以提高用户体验和满意度。性能自动化测试通常结合其他类型的自动化测试,例如功能自动化测试和安全自动化测试,以确保软件应用程序的全面性能和质量。

常用的性能自动化测试工具包括JMeter、LoadRunner、Gatling等等。这些工具提供了丰富的功能和选项,可以满足不同类型的性能测试需求,并且可以与其他测试工具和框架集成,以实现自动化测试的全面覆盖。

4、Jmeter

JMeter是一个用于性能测试的开源工具,它可以模拟多个并发用户访问Web应用程序,以测试其性能和稳定性。JMeter支持多种协议,例如HTTP、FTP、JDBC、SOAP等等,并支持多种数据格式,如XML、JSON等,可以测试不同类型的应用程序和系统。

JMeter可以在不同的平台上运行,例如Windows、Linux和Mac等等。它提供了一个用户友好的图形界面,可以方便地创建测试计划、测试脚本和测试报告。JMeter还支持多种测试类型,例如负载测试、压力测试、容量测试和持久性测试等等,可以满足不同的性能测试需求。

JMeter的核心功能包括线程组、取样器、配置元件和后处理器等等:线程组是模拟用户行为的基本单元,可以设置并发用户数、循环次数和随机延迟等等;取样器是用于发送请求和接收响应的组件,它可以测试Web应用程序的各种性能指标,如响应时间、吞吐量、错误率等等;配置元件是用于设置测试参数和环境变量的组件,它可以模拟不同的负载条件,如并发用户数、请求速率等等;后处理器是用于处理测试结果和生成测试报告的组件,可以分析性能数据并生成可视化报告;提供了脚本录制功能,可以通过模拟浏览器行为来自动生成测试脚本,从而简化测试过程。同时支持分布式测试,可以在多台机器上同时运行测试,以增加测试负载和提高测试效率。

总的来说,JMeter是一个功能强大的性能测试工具,它可以帮助测试人员评估Web应用程序的性能和稳定性,并提供详细的测试报告和分析。使用JMeter进行性能自动化测试可以提高测试效率和准确性,从而提高软件应用程序的质量和可靠性。

二、实验步骤

1、Selenium

  1. 功能需求分析:选择目标网站,根据软件需求,选择主要功能进行测试;
  2. 启动Google Chrome:点击Selenium IDE插件,启动Selenium IDE,进入录制状态;
  3. 在Google Chrome中进行操作,Selenium IDE自动记录用户的操作步骤;
  4. 操作完成后,点击Selenium IDE中的录制按钮,停止录制;
  5. 点击Selenium IDE中的Run,运行录制的脚本。

2、Jmeter

  1. 安装JDK1.5+,配置JAVA_HOME和CLASSPATH;
  2. 下载Jmeter二进制文件并解压,启动jmeter.bat批处理文件,显示Jmeter可视化界面;
  3. 建立测试计划,设置线程组、HTTP请求、HTTP代理服务器、监听器等;
  4. 单击菜单栏run -> Start,执行测试计划;
  5. 查看监听器中如结果树、聚合报告中的内容,分析测试结果

三、详细设计

1、Selenium

(1)测试目标

Bilibili视频网站。

(2)测试功能

用户搜索与视频播放。

(3)录制脚本

打开Google Chrome中的Selenium IDE插件并创建工程:

创建测试脚本用例,输入测试网址(https://www.bilibili.com/):

点击右上角的Start Recording,对打开的网站进行功能测试操作,完成脚本录制:

(4)运行并检测脚本记录

2、Jmeter

(1)测试目标

湖南科技大学本科招生网。

(2)测试功能

访问页面和获取页面内容。

(3)创建测试计划和线程组(Testing)

(4)设置HTTP请求

(5)添加HTTP代理服务器

(6)录制脚本,设置访问操作

(7)单击菜单栏run -> Start,执行性能测试

四、实验结果与分析

1、Selenium

(1)用户搜索功能测试

观察到页面成功按步骤依次跳转到up主“温竣岩”,并显示该up主投稿的相关视频数据,即用户搜索功能通过测试。

(2)视频播放功能测试

观察到页面成功按步骤依次跳转到up主“温竣岩”的投稿视频《电子监听、全国断网、棱镜门背后、中国如何从末路狂奔到世界之巅》页面,并成功播放该视频,即视频播放功能通过测试。

综合上述分析,可以说明网页成功通过功能测试。

2、Jmeter

(1)结果树

(2)聚合报告

观察结果树和聚合报告的详细内容,可知绝大多数HTTP请求和png文件均成功访问,仅有少数js文件访问失败(异常率为10.71%,且异常原因基本为js文件访问失败),可能的原因有代理设置、网络连接、防火墙、js文件路径、服务器等,更可能的原因是页面可能会对js文件进行安全处理,从而导致无法访问。

通过上述分析,基本可以说明网页成功通过性能测试。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

有为肥宅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值