
440-系统测试与性能调优
文章平均质量分 87
oscar999
毕业于中国科学技术大学,数据库四级、通过系统设计师、系统分析师、信息系统项目管理师资格认证。国际项目管理(IPMP)C级认证。超过15年软件项目开发和管理经验,精通Java Web相关技术(包括Spring系列、Ext JS等),对PHP、Python、C#、Vue等有涉猎。
展开
-
Karate 介绍与快速示例(API测试自动化、模拟、性能测试与UI自动化工具)
Karate是一个将API测试自动化、模拟、性能测试甚至UI自动化结合到一个统一框架中的开源工具。Karate 是用Java语言编写, 可以在Java 项目项目中运行API的测试,对于不熟悉Java的团队,Karate提供了一个跨平台的独立可执行文件。不必编译代码。只需以简单易读的语法编写测试——为HTTP、JSON、GraphQL和XML精心设计。可以在同一测试脚本中混合使用API和UI测试自动化。原创 2025-01-01 22:12:19 · 609 阅读 · 0 评论 -
Mockito异常解决之——org.mockito.exceptions.misusing.UnnecessaryStubbingException-不必要的存根
该异常用于指出测试代码中存在不必要的存根(stubbing)操作。这种异常通常发生在模拟(mock)对象的方法被存根了,但是在测试的执行路径中这些方法并没有被实际调用。原创 2024-12-07 21:36:06 · 926 阅读 · 0 评论 -
透彻理解并解决Mockito模拟框架的单元测试无法运行的问题
本篇介绍和解决Mockito 的单元测试的运行问题原创 2024-12-07 13:05:57 · 1382 阅读 · 0 评论 -
Java 单元测试模拟框架-Mockito 的介绍
Mockito 允许开发人员创建和管理模拟对象(mock objects),以便在测试过程中替换那些不容易构造或获取的对象。Mockito 是一个用于单元测试的模拟框架,基于它可以使用简洁易用的API编写出色的测试。Mockito当前的最新版本是 5.14.2,在pom.xml中导入之后就可以开始使用了。创建Mock对象, 验证对象的方法是否被调用了。Mockito的使用步骤。模拟方法执行返回的结果。原创 2024-12-01 20:51:46 · 1909 阅读 · 0 评论 -
如何写好的测试
为软件编写测试是有益的,编写优秀的测试同样至关重要。。通常,在实践测试驱动开发(TDD)时最能实现这一点。通过TDD,可以在设计时识别出可能出错的地方。不要因为一个小问题而不好意思编写一个简单的测试用例。你永远不知道这段代码何时、为何或如何被使用甚至修改。。!这不是一条硬性规定,但跨越这条界限可能会产生后果!(很可能如此)。当模拟外部API时,测试无法用于驱动设计,因为API属于其他人;这个第三方可以并且会更改API的签名和行为。翻译 2024-12-01 14:04:51 · 57 阅读 · 0 评论 -
Java 中使用Mockito 模拟对象的单元测试的快速示例
Mockito是一个流行的Java模拟框架,它允许你在单元测试中创建和配置模拟对象,以便在测试过程中替换那些不容易构造或获取的对象。Mockito可以与JUnit无缝集成,下面的示例演示 Mockito + JUnit实现模拟对象的单元测试。原创 2024-11-10 20:13:02 · 772 阅读 · 0 评论 -
Java 使用Maven Surefire插件批量运行单元测试
Maven中使用mvn test运行测试Maven中用于运行单元测试的插件称为 Maven SurefireMaven Surefire不需要显示配置, 如果需要进阶使用,可以进行配置。原创 2024-10-30 22:42:27 · 1001 阅读 · 0 评论 -
JMeter实战之——模拟登录
本篇介绍使用JMeter 如何对需要登录的站点进行压力测试。原创 2024-10-23 22:34:42 · 2088 阅读 · 0 评论 -
JMeter详细介绍和相关概念
在测试计划上可以添加用户定义的变量,这些变量相当于是全局变量,一般添加一些系统常用的配置。但请注意,如果测试过程中想切换环境或配置,一般不建议在测试计划上添加变量,因为不方便启用和禁用。此时,可以直接添加用户自定义变量组件。原创 2024-10-22 22:17:19 · 1134 阅读 · 0 评论 -
JMeter快速入门示例
JMeter是一款开源的性能测试工具,常用于对Web服务和接口进行性能测试。原创 2024-10-21 22:22:24 · 733 阅读 · 0 评论 -
在VS Code中进行Java的单元测试
在VS Code中可以使用 Test Runner for Java扩展进行Java的测试执行和调试。原创 2024-05-28 22:38:08 · 3587 阅读 · 2 评论 -
使用 Cucumber框架进行BDD测试的一些项目
BehatMage项目介绍BehatMage是一个基于Behat的Magento测试框架,用于自动化测试Magento电子商务平台的功能和性能。Behat是一个行为驱动开发(BDD)的测试框架,它使用自然语言描述测试用例,使测试过程更加直观和易于理解。通过BehatMage,开发人员可以编写针对Magento平台的测试用例,并自动执行这些测试。这有助于确保在开发过程中及时发现和修复潜在的问题,提高软件的质量和稳定性。BehatMage还支持多种测试场景,包括功能测试、性能测试、安全性测试等。原创 2024-04-20 22:31:05 · 1469 阅读 · 0 评论 -
BDD之Gherkin(小黄瓜)语法
Gherkin是一种DSL(领域特定语言),它使得人们不具备技术背景的用户也能轻易读懂软件的行为描述。它的语法结构简单明晰,以关键字开始,可以被非程序员理解,是编写Cucumber测试的标准语言。Gherkin旨在以自然语言编写,它鼓励的是行为驱动的开发(BDD)。Gherkin的目的是让非技术人员能够理解软件的逻辑并参与自动化测试的编写。正确使用Gherkin能够提高团队成员之间的沟通,并帮助确保软件开发根据真实世界的业务需求进行。原创 2024-02-16 09:58:28 · 2219 阅读 · 0 评论 -
BDD(Behavior-Driven Development)行为驱动开发介绍
如果我们能够在描述场景的用例里边用一些变量来代替,把变量对应的值(数据)提取出来存为一个表格或者独立的文件,这样将会使得用例的可读性很好,而且也不会缺失细节信息(数据),后期的维护和修改也较为方便。其实,产生这两个不一致的真正原因是因为不同角色有着不同的领域知识,说着不同的语言,大家在沟通的时候,如果都用自己领域语言,必然会产生沟通代沟,导致理解的不一致性。用例场景的描述格式“GIVEN…BDD的作用是把利益关系人、交付团队等不同方面的项目相关人员集中到一起,形成共同的理解,共同的价值观以及共同的期望值。原创 2024-01-14 21:53:29 · 1682 阅读 · 0 评论 -
SBE(Specification By Example)实例化需求介绍
Gherkin 是一种领域特定语言,在行为驱动开发(BDD)中被广泛用来编写测试案例。它使用了一种简洁,易读的格式,使得开发者和非技术背景的人员都可以理解软件的行为。Gherkin 是 给Cucumber 工具开发的一个语言, 因其简单和通用性, 逐渐成为通用的描述语言。基本的 Gherkin 语句把需求描述为多个场景,每个场景都是给定一些条件(Given),当某件事发生(When),然后应该有一些结果(Then)。原创 2024-01-14 13:27:44 · 1820 阅读 · 0 评论 -
Cucumber-JVM的示例和运行解析
Cucumber-JVM 是一个支持 Behavior-Driven Development (BDD) 的 Java 框架。在 BDD 中,可以编写可读的描述来表达软件功能的行为,而这些描述也可以作为自动化测试。原创 2023-12-27 22:45:22 · 1080 阅读 · 0 评论 -
Selenium 全面介绍
它支持多种编程语言,如Java、Python和C#等,可以用于模拟用户在Web应用程序上的操作,如点击按钮、填写表单、提交数据等。它引入了WebDriver,一个新的工具,可以与不同的浏览器交互,并提供更稳定和可靠的自动化测试。到2018年,Selenium发布了Selenium 4.0的Alpha版本,该版本带来了许多新的功能,包括更好的浏览器支持,更先进的定位策略和更强大的插件系统。它提供了一个易于使用的界面和功能强大的自动化测试工具,帮助用户提高测试效率,减少人工错误,并提高软件质量。原创 2023-12-20 21:52:42 · 672 阅读 · 0 评论 -
Python BDD 框架比较之 pytest-bdd vs behave
这两个框架都有其优点和特性,选择哪一个主要取决于特定需求。如果你已经在使用pytest,并且希望以最少的学习曲线使用 BDD,那么pytest-bdd可能是更好的选择。另一方面,如果你希望编写的测试代码更接近自然语言,并且适合非技术团队成员阅读和修改,那么behave可能是更好的选择。原创 2023-11-24 07:11:08 · 1472 阅读 · 0 评论 -
Python BDD之Behave测试报告
behave 本身产生的测试包括可以使用在CI/CD 的集成上, 用来判断整个测试是否成功, 如果需要一些更直观和易读的报告, 可以结合Allure 等工具。原创 2023-11-22 21:58:50 · 842 阅读 · 0 评论 -
python BDD 的相关概念
pytest-bdd 和Behave 是Python中比较流行的BDD 框架,两种使用的规格文件基本类型,规格文件都是以 .feature结尾,一个需求文件中只能有一个Feature字段,可以包含多个Scenario(用户场景)。在 pytest-bdd 中,fixture 的使用方式非常相似,但支持为步骤 (given, when, then) 设置 fixture,使在 BDD 测试中更容易设置和共享上下文。都是在开启测试前设置预期环境或状态的工具,但它们在用途和功能上有所区别,用在不同的场景。原创 2023-11-22 21:54:12 · 488 阅读 · 0 评论 -
基于pytest-bdd的项目目录结构和命名规范
pytest-bdd 将自动加载与场景匹配的步骤,并在执行测试时逐步执行它们。如果从BDD的定义和作用来看的话,这种目录结构就有点混淆了 BDD和测试的概念,因为BDD是有终端用户参与进来的部分, 目录层级较深不利于使用,个人是比较不建议这种方式。上面的目录规范是将BDD的规范文件和测试作为独立的部分, 也有的项目从测试角度出发,将BDD的文件作为测试的一部分, 统一放入项目的tests 目录中,6. 在基于面向对象的设计中,可以一个类一个场景文件, 也可以一个功能一个场景文件。原创 2023-11-16 22:52:19 · 1020 阅读 · 0 评论 -
Behave介绍和快速示例
Behave是一个用于行为驱动开发 (Behavior-Driven Development, BDD) 的 Python 库。使用 Behave,可以编写自然语言格式的使用场景来描述软件的行为,然后用 Python 实现这些场景下的步骤,形成可直接运行的测试。Behave的目标是帮助用户、开发人员和QA人员通过让他们写出更易于理解的测试用例来更好地理解和构建软件产品。Behave使用Gherkin语言来编写测试用例,该语言是一种自然语言,易于理解,并且可以很好地与非技术人员共享和交流测试结果。原创 2023-11-15 22:42:59 · 1055 阅读 · 0 评论 -
TDD、BDD、ATDD以及SBE的概念和区别
在软件开发或是软件测试中会遇到以下这些词:TDD 、BDD 、ATDD以及SBE,这些词代表什么意思呢?它们之间有什么关系吗?原创 2023-11-08 22:08:53 · 961 阅读 · 0 评论 -
基于Cucumber的行为驱动开发(BDD)实例
本篇介绍 Cucumber 的基本使用, 因为Cucumber是BDD的工具, 所以首先需要弄清楚什么是BDD,而在介绍BDD之前,先看看常见的软件开发方法。原创 2023-10-09 22:48:27 · 1321 阅读 · 0 评论 -
单元测试该怎么写
单元测试是一种软件测试方法,用于测试程序的最小单元——函数、方法或类的功能、性能和正确性。它是一种自动化测试,通过编写测试代码来验证程序的各个单元是否符合预期,从而提高代码的质量和可靠性。单元测试的目的在于降低代码的缺陷率,减少维护成本和提高代码的可维护性。从这个定义中可以看到单元测试的对象是函数、方法、功能、性能等,这个定义也容易引起单元测试就是从代码出发的误解。那么单元测试究竟是否应该从代码出发呢?原创 2023-10-08 22:12:44 · 380 阅读 · 0 评论 -
自动化测试工具汇总
自动化测试工具可以减少测试工作量,提高测试工作效率,但首先是能够选择一个合适的且满足企业信息系统工程环境的自动化测试工具,因为不同的测试工具,其面向的测试对象是不一样的。按照测试工具的主要用途和应用领域,可以将自动化测试工具分为以下几类: 负载压力测试: LoadRunner 特点a,支持的协议多且个别协议支持的版本比较高;特点b,负载压力测试方案设置灵活;特点c,丰富的转载 2008-04-03 13:39:00 · 1820 阅读 · 1 评论 -
压力测试工具集
工具 相关网址LoadRunner http://www.mercuryinteractive.com/products/loadrunner/SilkPerformer http://www.segue.com/products/load-s ... nce-testing/i转载 2011-07-19 18:19:36 · 2290 阅读 · 0 评论 -
自动化测试工具之 selenium
selenium-- 中文翻译是 “硒”; 这里说的 selenium 是一个自动化测试的工具。官方网址:http://docs.seleniumhq.org/这个站点地址看起来有点奇怪, 以docs 开始, 乍一看, 以为这是这个工具文档的地址. 其文档地址是: http://docs.seleniumhq.org/docs/其官方站点是说已经有一些大的浏览器厂商自带这个自动化工具, 目前看起来还没有实现。selenium主要提供了两个工具一个是Selenium IDE, 另一原创 2013-09-08 13:07:27 · 2476 阅读 · 0 评论 -
自动化测试工具selenium 之Selenium-IDE
前言Selenium-IDE 是用来开发Selenium的测试用例的工具,它是一个易于使用的Firefox插件而且是开发测试用例最有效的方法安装使用firefox,可以从以下地址安装 downloads page。点击 Download 之后, 出现点击 "Install Now", 一直next.安装完成之后, 重启firefox.打开IDE安装完成后,在firefox 的 “工具” 菜单就原创 2013-10-06 18:39:29 · 9922 阅读 · 0 评论 -
Perfmon - Windows 自带系统监测工具
一、 简述可以用于监视CPU使用率、内存使用率、硬盘读写速度、网络速度等。Perfmon提供了图表化的系统性能实时监视器、性能日志和警报管理,系统的性能日志可定义为二进制文件、文本文件、SQLSERVER表记录等方式,可以很方便地使用第三方工具进行性能分析。perfmon.exe 文件位于C:\Windows\System32目录下。 使用方法: 1)开始 - 运行,输原创 2012-08-29 08:38:36 · 103981 阅读 · 0 评论 -
Linux性能监控与分析之--- CPU
CPU性能指标1. 用户进程使用CPU的比率2. 系统进程使用CPU的比率3. WIO, 等待I/O 而是CPU处于空闲状态的比率。4. CPU的空闲率5. CPU用于上下文交换的比率6,nice7,real-time8,运行进程队列的长度9,平均负载Linux下常用监控CPU性能的工具有1. iostat只能查看所有CPU的平均信息原创 2012-08-30 20:07:33 · 7483 阅读 · 1 评论 -
Java 性能优化系列之1[设计与程序优化]
性能一般来说,性能通过以下几个方面来表现:执行速度内存分配启动时间负载承受能力定量评测的性能指标:执行时间CPU时间内存分配磁盘吞吐量网络吞吐量响应时间调优的层面设计调优代码调优JVM调优数据库调优操作系统调优性能调优必须有明确的目标,不要为了调优而调优,如果当前程序并没有明显的性能问题,盲目地进行调整,其风险可能远远大于收益。设计优化1. 单例模式对于系统的关键组件和被频繁使用的对象,使用单例模原创 2015-07-28 07:49:36 · 2446 阅读 · 0 评论 -
OpenSTA -- 开源测试工具软件
目前比较著名的并发性能测试工具有Rational Robot、QALoad、LoadRunner 和微软的WAS 等。这其中QALoad、LoadRunner、Rational Robot 都是比较不错的商业测试工具(价格也很贵哦),微软的WAS 是一个免费的测试工具,使用起来比较简单,但是由于不能显示和编辑所录制的测试脚本,其可控性和图形化测试结果都较弱,故造成一定的局限性。 Open原创 2008-04-03 13:35:00 · 2114 阅读 · 0 评论