Week in Test: June 02, 2025

Hello and welcome to another edition of Week in Test, the place where contributors of any skill level can find opportunities to contribute to WordPress through testing. You can find the Test Team in #core-test.

Jump to: Weekly Testing Roundup | Profile Badge Awards | Read/Watch/Listen | Upcoming Meetings

Weekly Testing Roundup 🤠

Weekly update: Test Team Update

Here’s a roundup of active tickets that are ready for testing contributions.

Did you know that contributions with the Test Team are also a fantastic way to level up your WordPress knowledge and skill? Dive in to contribute, and gain coveted props 😎 for a coming release.

Reproduction Testing 🔁

Who? Any contributor.
Why? It is helpful to show an issue exists for other users in order to move a ticket forward for patching.

The following new tickets are awaiting review, and need testers to attempt to reproduce the reported issue (aka “repro”), and then provide a reproduction test report with the results:

Patch Testing 🩹

Who? All contributors (not just developers) who can set up a local testing environment.
Why? It is necessary to apply proposed patches and test per the testing instructions in order to validate that a patch fixes the issue.

The following tickets have been reviewed and a patch provided, and need testers to apply the patch and manually test, then provide feedback through a patch test report:

PHPUnit Tests 🛟

Who? Any QA or PHPPHP PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. https://www.php.net/manual/en/index.php developer contributors who can (or are interested in learning how to) build automated PHPUnit tests.
Why? Automated tests improve the software development feedback loopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop for quality and backward compatibility.

The following tickets need PHPUnit tests built to accompany their respective patches:

Profile Badge Awards 🎉

No Badges awarded this week.

Read/Watch/Listen 🔗

Upcoming Meetings 🗓

🚨 There will be regular #core-test meetings held for 2025.

2025 Schedule:

Interested in hosting a <test-scrub>? Test Team needs you! Check out Leading Bug Scrubs for details, or inquire in #core-test for more info.

#core-test

X-post: Hallway Hangout: Let’s chat about the new AI team

X-comment from +make.wordpress.org/ai: Comment on Hallway Hangout: Let's chat about the new AI team

Get Involved: Core Test Team at WCEU 2025 Contributor Day

Hello WordPress enthusiasts 👋

Join us for Contributor Day at WCEU 2025 on Thursday, June 5th, in Basel, Switzerland a city known as the cultural capital of the country and famous for its vibrant art scene! It’s a day full of learning, teamwork, and real impact. The CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Test Team will be there with open arms whether you’re a first-time tester or already know your way around a bug report. Come and be part of something awesome and help make WordPress even better. Here’s a sneak peek at what we have planned for the Core Test Team and how you can get involved.

🎯 Core Test Team Goals

Our focus for the day revolves around achieving meaningful and ambitious contributions.

  • Onboard New Contributors: Provide guidance and mentorship to newcomers eager to join the Core Test Team.
  • Help with tickets that need testing:
  • Expand Automated Testing Coverage: Increase the number of automated tests for core components.
  • Test bugs or features and report new issues.
  • Improve Documentation: Enhance the clarity and comprehensiveness of testing guidelines.
  • Triage Issues: Review and prioritize open tickets.

Contributors with different skills, talents, and backgrounds can get involved in a variety of ways. If you are unsure how to start or what to do, give it a try. Table leads and experienced contributors will help you get started. You are welcome!

🌐 Collaboration and Community

Contributor DayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/ at WCEU 2025 won’t just be about contributing test; it’ll be about building connections and celebrating community. In a spirit of collaboration, contributors will share ideas, support one another, and recognize each other’s wins. The energy and enthusiasm will be contagious, reinforcing the shared purpose that unites the WordPress community.

If you are new to core test contributions and want to stay updated on what’s happening, please join the #core-test channel. 

🗓️ We have team meetings and Triage sessions on an alternating basis every Wednesday at 16:00 UTC.

👤 Meet the Test Team Table Leads

We’re thrilled to introduce our Test Team Table Leads for WCEU 2025. They are dedicated individuals will be guiding and supporting contributors throughout the day:

In-Person Table Leads:

Online (Remote) Table Leads:

Their drive and knowledge will inspire everyone to contribute their best and make a real difference.

🔗 Helpful Resources

To make the most of Contributor Day, take a moment to explore these resources beforehand so that you can dive straight into the exciting work when you arrive at the venue!

👀 Looking Ahead

As we prepare for this Contributor Day, we look forward to the progress and innovation that these contributions will bring to the WordPress project. We encourage everyone who plans to participate to stay engaged and keep the momentum going. Your contributions, whether big or small, make a significant impact.

Thank you in advance to all the contributors who will join us in Basel and those who will participate remotely. Together, we’re making WordPress better. 💪

Interested in Contributor Day, but not sure if Test is the right fit for you? Try out Make WordPress’s Find Your Team tool to discover right opportunities that may interest you.

Props to @oglekler for peer review of this post. 🙌

#core-test, #wceu, #wceu2025

Week in Test: May 26, 2025

Hello and welcome to another edition of Week in Test, the place where contributors of any skill level can find opportunities to contribute to WordPress through testing. You can find the Test Team in #core-test.

Jump to:  Weekly Testing Roundup | Profile Badge Awards | Read/Watch/Listen | Upcoming Meetings

Weekly Testing Roundup 🤠

Weekly update: Test Team Update

Here’s a roundup of active tickets that are ready for testing contributions.

Did you know that contributions with the Test Team are also a fantastic way to level up your WordPress knowledge and skill? Dive in to contribute, and gain coveted props 😎 for a coming release.

Reproduction Testing 🔁

Who? Any contributor.
Why? It is helpful to show an issue exists for other users in order to move a ticket forward for patching.

The following new tickets are awaiting review, and need testers to attempt to reproduce the reported issue (aka “repro”), and then provide a reproduction test report with the results:

Patch Testing 🩹

Who? All contributors (not just developers) who can set up a local testing environment.
Why? It is necessary to apply proposed patches and test per the testing instructions in order to validate that a patch fixes the issue.

The following tickets have been reviewed and a patch provided, and need testers to apply the patch and manually test, then provide feedback through a patch test report:

  • No tickets found

PHPUnit Tests 🛟

Who? Any QA or PHPPHP PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. https://www.php.net/manual/en/index.php developer contributors who can (or are interested in learning how to) build automated PHPUnit tests.
Why? Automated tests improve the software development feedback loopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop for quality and backward compatibility.

The following tickets need PHPUnit tests built to accompany their respective patches:

Profile Badge Awards 🎉

Profile Badges awarded to @muddassirnasim and @Shashank Jain

Read/Watch/Listen 🔗

  • The next major releaseMajor Release A set of releases or versions having the same major version number may be collectively referred to as “X.Y” -- for example version 5.2.x to refer to versions 5.2, 5.2.1, and all other versions in the 5.2. (five dot two dot) branch of that software. Major Releases often are the introduction of new major features and functionality. things are in progress and can be found here.
  • WCEU is around the corner. Please check out the schedule.
  • GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ 20.9 is scheduled for release on Wednesday, May 28, 2025.
  • No major announcements from the past week.

Upcoming Meetings 🗓

🚨 There will be regular #core-test meetings held for 2025.

2025 Schedule:

Interested in hosting a <test-scrub>? Test Team needs you! Check out Leading Bug Scrubs for details, or inquire in #core-test for more info.

#core-test

Test Chat Summary: 21st May 2025

On Wednesday, May 21, 2025 at 12:00 AM GMT+8, <test-chat> started in #core-test facilitated by @krupajnanda. The agenda can be found here.

1. Attendance


@krupajnanda @ravigadhiyawp @sirlouen @mosescursor @kausaralm @oglekler @pooja1210 @pavanpatil1 @iamshashank @muddassirnasim (async) @nikunj8866 (async), @lumiblog (async)

2. Volunteer

This week’s Note-taker and facilitator:


For the next bi-weekly chat –

3. Announcements 📣

  • Test team table lead for WCEU Contributor dayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/
  • A Month in Core – April 2025 is out.
  • Performance Chat Summary: 20 May 2025
  • The next major releaseMajor Release A set of releases or versions having the same major version number may be collectively referred to as “X.Y” -- for example version 5.2.x to refer to versions 5.2, 5.2.1, and all other versions in the 5.2. (five dot two dot) branch of that software. Major Releases often are the introduction of new major features and functionality. things are in progress and can be found here.
  • WCEU is around the corner. Please check out the schedule.
  • Gutenberg 20.8 is now available
  • GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ 20.9 is scheduled for release on Wednesday, May 28, 2025.
  • Test team table lead for WCEU Contributor day @OGlekler will leading the Table for test team at WCEU. @Puja and  @SirLouen will be our online leads. We will soon publish a post mentioning all the information about what and how contributors can help us at WCEU contributor table.

4. Test Team Updates

5. Focal Group Updates

  • No updates.

6. Questions/Blockers

  • No Questions/Blockers were reported in this meeting

7. Call for Testers/Visibility

  • #core-editor team has shared this issues that needs testing. Please feel free to pick and contribute to any tickets and make sure to update the same in the #core-editor for the better visibility.

8. Open Floor

The conversation focused on improving the testing workflow and coordination during Contributor Days, especially regarding ticket handling and visibility of test efforts.

  • @sirlouen raised concerns about the difficulty of enforcing test tag management purely through control, suggesting that clear contributor instructions might be more effective.
  • @krupajnanda supported the idea that contributors should ensure tickets with sufficient test reports no longer carry the “needs-testing” keyword and encouraged proactive keyword checks before picking tickets.
  • @oglekler proposed better planning for future Contributors Day, highlighting interesting or challenging tickets to attract attention.
  • The team agreed on the need for more strategic planning and gradual improvements. @krupajnanda offered to draft a Contributor Day post, incorporating curated tickets with specific keywords, to guide contributors more effectively.
  • The idea of showcasing handpicked tickets was welcomed to engage contributors and highlight meaningful work..

9. Next Meeting 🗓

The next meeting will be on Thursday, June 05, 2025, at 12:00 AM GMT+8 , held on #core-test!

Are you interested in helping write Test chat summaries like this one? Volunteer at the start of the next <test-chat> and earn some props!Thank you @krupajnanda, for the peer review and for helping me write this post.

#core-test

Team Chat Agenda: 21th May 2025

Here is the agenda for the upcoming Test Team Chat scheduled for 21 May 2025 at 16:00 UTC, which is held in the #core-test Slack channel. Lurkers welcome!

Agenda

  • Attendance
  • This week’s
  • Looking for Note-taker and facilitator for the next meeting.
  • Announcements
    • Test team table lead for WCEU Contributor dayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/
    • A Month in Core – April 2025 is out.
    • Performance Chat Summary: 20 May 2025
    • The next major releaseMajor Release A set of releases or versions having the same major version number may be collectively referred to as “X.Y” -- for example version 5.2.x to refer to versions 5.2, 5.2.1, and all other versions in the 5.2. (five dot two dot) branch of that software. Major Releases often are the introduction of new major features and functionality. things are in progress and can be found here.
    • WCEU is around the corner. Please check out the schedule.
    • Gutenberg 20.8 is now available
    • GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ 20.9 is scheduled for release on Wednesday, May 28, 2025.
  • Test Team Announcements
  • Focal Group Updates
    • No Updates
  • Questions/Blockers
  • Call for testers/visibility:
    • #core-editor team has shared this issues those needs testing. Please feel free to pick and contribute to any tickets and make sure to update the same in the #core-editor for the better visibility.
  • Open Floor
  • Got a topic? Add in comments below, or bring it up live during the chat.

Leave a Comment

  • Do you have something to propose for the agenda?
  • Can’t make the meeting, but have a question for the Test Team?

If any of the above apply, please leave a comment below.

#core-test

X-post: Test Team Update: 19 May, 2025

X-post from +make.wordpress.org/updates: Test Team Update: 19 May, 2025

Week in Test: May 19, 2025

Hello and welcome to another edition of Week in Test, the place where contributors of any skill level can find opportunities to contribute to WordPress through testing. You can find the Test Team in #core-test.

Jump to: Weekly Testing Roundup | Profile Badge Awards | Read/Watch/Listen | Upcoming Meetings

Weekly Testing Roundup 🤠

Weekly update: Test Team Update

Here’s a roundup of active tickets that are ready for testing contributions.

Did you know that contributions with the Test Team are also a fantastic way to level up your WordPress knowledge and skill? Dive in to contribute, and gain coveted props 😎 for a coming release.

Reproduction Testing 🔁

Who? Any contributor.
Why? It is helpful to show an issue exists for other users in order to move a ticket forward for patching.

The following new tickets are awaiting review, and need testers to attempt to reproduce the reported issue (aka “repro”), and then provide a reproduction test report with the results:

Patch Testing 🩹

Who? All contributors (not just developers) who can set up a local testing environment.
Why? It is necessary to apply proposed patches and test per the testing instructions in order to validate that a patch fixes the issue.

The following tickets have been reviewed and a patch provided, and need testers to apply the patch and manually test, then provide feedback through a patch test report:

PHPUnit Tests 🛟

Who? Any QA or PHPPHP PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. https://www.php.net/manual/en/index.php developer contributors who can (or are interested in learning how to) build automated PHPUnit tests.
Why? Automated tests improve the software development feedback loopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop for quality and backward compatibility.

The following tickets need PHPUnit tests built to accompany their respective patches:

Profile Badge Awards 🎉

No Badges awarded this week.

Read/Watch/Listen 🔗

  • Gutenberg 20.8 is now available
  • The CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Team is planning to set up a release squad, a plan/scope and a schedule for 6.8.2 (and beyond)
  • In case you if you are interested, A Month in Core – April 2025 is out.
  • The next major releaseMajor Release A set of releases or versions having the same major version number may be collectively referred to as “X.Y” -- for example version 5.2.x to refer to versions 5.2, 5.2.1, and all other versions in the 5.2. (five dot two dot) branch of that software. Major Releases often are the introduction of new major features and functionality. things are in progress and can be found here.
  • WCEU is around the corner. Please check out the schedule.

Upcoming Meetings 🗓

🚨 There will be regular #core-test meetings held for 2025.

2025 Schedule:

Interested in hosting a <test-scrub>? Test Team needs you! Check out Leading Bug Scrubs for details, or inquire in #core-test for more info.

#core-test

Building the Testing Use-Case

Testing for backend upgrades, refactors of code, and overall any new feature that cannot be “touched or seen” regularly feels very challenging for most WordPress developers.

Sometimes unit-testing can do part of the heavy lifting, especially when having expertise in TDD, as a great deliverable could be provided.

The problem with unit-tests is that sometimes they are completely biased to our thoughts and ideas. It’s extremely difficult to think outside the box (especially when you are absorbed into a development that takes most of our attention), and this could potentially leave behind some scenarios you have not considered testing.

Adding up, when finally code is delivered, including sometimes those unit-tests, the rest of the people who are going to review it will not have the full understanding of the problem, with all the nuances, edge cases, or scenarios that could pop out of your resulting code.

As a WordPress developer, you have to consider that other reviewers in the team could range from a coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. committer with 15 years of code to a brand-new testing contributor out of a WordCampWordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. willing to start lending a hand. And getting them to review if the unit tests are right, or even to review the code and add new unit-tests for more edge cases is, in numerous instances, even for the most experienced reviewers, a hard task and something to avoid.

Here is why a Testing Use-Case could become really handy for these scenarios, a paradigm of testing that could be easily learned and applied and would help further progress many reports with patches that have been stuck for ages.

Let’s dive into the Testing Use-Case

Ideally, from a Testing perspective, the best code refactor, patch, upgrade, or feature is the one that actually addresses a problem you are already having.

For example, as a patch creator, you can find any of these scenarios:

  • Have a theme or a pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. that is missing this functionality.
  • Find a deprecation notice in the logs.
  • Find an error in code that requires not only a quick fix but a whole revamp of the code.
  • Have a real-life requirement by any real stakeholder in our business or life in general, and we can express the entire demand down to the last detail.

These are all examples of Testing-Use Cases

But what happens if you don’t have any of those? What if you are a code freestyler that likes to sort things before they actually happen? Or maybe you have been developing somewhere else and out of sudden you think about an alternative fix that could be improved, despite not really having a real-life example to showcase our idea?

Here is where building a Testing Use-Case becomes handy.

Ideas to Build Your Testing Use-Case

Not it’s time to put some examples of the most common issues that were found lately and how implementing a Testing Use-Cases could help to move forward the patch and overall any report that could potentially get stuck.

The Hook

One of the most common reports with troubles to be tested, and many end up in the “pending box” because of new HooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same.. Most hooks come out of a specific need from a dev, but for some reason, many devs fear that explaining their use-case could feel “agendistic” and not usable by the majority. Also, it’s very common that there is almost always a workaround using outlandish PHPPHP PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. https://www.php.net/manual/en/index.php functions that bypass many standards and are not ideal by any means to achieve the same result as what a hook could provide us. So it’s very common that Hooks fade into oblivion.

Ideally, the #1 Testing Use-Case is, by far, explaining your business scenario without fearing any critique. Say you have a client that is paying you a big ticket, and you need that damned hook to get that attribute to do that selective filtering for the membership plugin you are building. This is totally fine if you need this hook for a commercial case. You can think that your case is unique and explanation will reveal it, but if you feel the need for this hook and there is no other straightforward way to achieve the same result without workarounds and hacks, it should be enough. Explaining the alternative solutions that were investigated will support your case. You may think that adding a hook to code is a simple thing, but when it is added, there will be no way to remove it or make changes that will break backwards compatibility, so the hook should be in the right place when it is definitely needed and have the right name and parameters. In addition, it should be documented in the code and in the Field guide and other documentation later. That one line of code requires a lot of support to happen.

Now to create the Testing Use-Case we have two options:

  1. You can actually provide some of the code of that plugin you are building that showcases the feature where the new hook you are willing to implement is going to be applied.
  2. If you would rather not showcase your code for copyright dilemmas with your client (funny in a GPLGPL GPL is an acronym for GNU Public License. It is the standard license WordPress uses for Open Source licensing https://wordpress.org/about/license/. The GPL is a ‘copyleft’ license https://www.gnu.org/licenses/copyleft.en.html. This means that derivative work can only be distributed under the same license terms. This is in distinction to permissive free software licenses, of which the BSD license and the MIT License are widely used examples. environment, but we all know that this still happens), reproduce a minimal MVPMinimum Viable Product "A minimum viable product (MVP) is a product with just enough features to satisfy early customers, and to provide feedback for future product development." - WikiPedia version of what you are willing to achieve, mocking some data or building a hydration function to fill whatever content is required to display the issue, and creating a very simple plugin that delivers that and uses that hook and executes successfully.

Choose whatever you prefer. But be aware that what is actually problematic is making your way through it without explaining much, without any testing at all, and despite the hook being super simple, straightforward, and unlikely to be problematic at all, this always leads to distrust and leans towards the forgotten zone where it will never be reviewed and integrated into the core. It’s always better to be transparent and clear of what needs to be done in a GPL environment, and in the worst case, discuss the feasibility and maybe a better clean code alternative if possible.

Do you want to review a Hook Testing Use-Case plugin example?
Check this one: https://github.com/SirLouen/testing-41757/
Used in this report: https://core.trac.wordpress.org/ticket/41757

Code Refactors

There is a rule in the WordPress community: never refactor if you don’t have a good reason for this. This is mainly because it takes many resources to test and debug issues coming from the refactor, and most code reviewers are busy enough just with the regular bugs to be fixed and pending improvements to be implemented to invest time in this protocol, so refactoring could be important but not as critical as other topics.

But very occasionally, there could a good reason for a code refactor, for example, an upcoming PHP deprecation.

In these cases, the best scenario, unfortunately, is waiting for the deprecation notice reports to appear, and start fixing from there, one by one. Bear in mind that deprecations take ages to be converted into unsupported features; hence, waiting is probably the best and easiest bet.

But what if you are a restless soul and like to have everything bleeding edge updated?

The following steps are recommended after the patch has been built (or before):

  1. First, identify which core functions you have modified. If there are unit-tests already, you can edit them to cover your new code; otherwise you could always build them later.
  2. Consider that the current function was working as-is with the current premise. You should start building a very simple plugin that uses this old premise with all the functions you modified, test them, and display the results.
  3. After that, you will think about your new premise and again, in the same plugin, apply it once more to all the functions you modified.

Remember that both, before and after, you should be passing the test with the new premises. Yes, with a unit-test you are doing this. But, as it was commented in the beginning, unit-tests can become very convoluted (because they are not generally designed for simplicity, but for heavy-lifting the future-proof of the whole system). On the other side, a plugin can be elegant, simple, and easy to showcase all we want to test. Any coder, regardless of his coding level, will probably be able to inspect it, understand it, and maybe think in more edge cases based on what he sees. It’s a new paradigm of simplicity and support for your peer reviewers. And perhaps the difference between a lost into oblivion patch or a patch that will be reviewed comfortably and steadily. As a rule of thumb, it’s easier to port a test use-case plugin to unit-tests than the other way around.

Do you want to review a Hook Testing Use-Case plugin example?
Check this one: https://github.com/SirLouen/test-block-attributes/
Used in this report: https://core.trac.wordpress.org/ticket/61154

Back-End Enhancements and New Features

This categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. is like a hodgepodge because here you could find very different examples, and it’s going to be very difficult to make a general assumption on how to always proceed. But some rule of thumb could apply here, similar to the two previous sections:

  1. If you have a real use case, a feature required by your client, or a snippet of code that can prove your enhancement, this will be sufficient. You simply need something more than unit-tests, that again, can be biased. Something that can be replicated in the WP front-end or admin panel and be tested with real data, not just with the mock samples from the unit-testing framework. Finding any of these is going to be the ideal scenario for most cases.
  2. If, for some reason in life, it happens that you have come to this enhancement almost out of nowhere, while reviewing some other thing or for whatever other reason, a plugin that proves the new feature is clearly needed. The steps are very similar to the previous section, “Code Refactors” but adapting to the potential new functions we have developed.

Do you want to review an Enhancement Testing Use-Case plugin example?
Check this one: https://github.com/SirLouen/testing-template-loading/
Used in this report: https://core.trac.wordpress.org/ticket/58905
Also, this one: https://github.com/SirLouen/wp-mail-embed-showcase/
Used in this report: https://core.trac.wordpress.org/ticket/28059

Performance Upgrades

Finally, the crown’s jewel of backend patches. In fact, most devs in the performance team are relatively familiar with this; hence, not much to be explained here for them. But just some general ideas for those who are still not very familiar with this.

A performance upgrade must factually test that there is a performance upgrade. It’s not enough with “before this it took 2 seconds and not it takes 1.” Real data that could be deployedDeploy Launching code from a local development environment to the production web server, so that it's available to visitors. in multiple computers, environments, etc. is required, and really show that there is a real performance improvement.

For this, you will need to write a plugin that does, at minimal, these two things:

  1. A hydration system to generate X number of whatever we need to test. If a WP_Query with 10K posts should be tested, then a hydration plugin that actually creates those 10K dummy posts for us is required. If there is a plugin out there that works and does this, refer to it. Don’t suppose we all know it.
  2. A plugin that, actually, makes use of those 10K posts and tests this performance improvement with functions like microtime and get_num_queries (including SAVEQUERIES)

This could feel pretty obvious, but these two parts are essential to building a Testing Use-Case for performance upgrades. And it’s still surprising the massive number of times that they cannot be found in the Performance tickets. Simply don’t expect anyone to write them for you. Take the lead and send it the whole pack by yourself: the patch + the plugin with performance tests. Otherwise, there is a big risk that the ticket ends forever in the forgotten box of unreleased patches.

Do you want to review a Performance Upgrade Use-Case plugin example?
Check this one: https://github.com/SirLouen/wp-query-benchmarking-v2
Used in this report: https://core.trac.wordpress.org/ticket/18836
Also, this one: https://github.com/SirLouen/image-memory-exhaustion-tester/
Used in this report: https://core.trac.wordpress.org/ticket/24688

Future Improvements

More examples in the future will be provided as they become available because some categories, like the Back-End Enhancements and New Features, certainly need them.

If you have any comments, any questions, or any ideas to improve this guide on how to build your Testing Use-Case, please comment.

Props to @oglekler and @audrasjb for helping review this article and offering feedback

Changelog

21/06/2025 – Added new New Feature Use Case

03/06/2025 – Added new Performance Use Case

08/05/2025 – Initial Article.

#good-practices, #handbook, #use-case

Week in Test: May 12, 2025

Hello and welcome to another edition of Week in Test, the place where contributors of any skill level can find opportunities to contribute to WordPress through testing. You can find the Test Team in #core-test.

Jump to: Weekly Testing Roundup | Profile Badge Awards | Read/Watch/Listen | Upcoming Meetings

Weekly Testing Roundup 🤠

Weekly update: Test Team Update

Here’s a roundup of active tickets that are ready for testing contributions.

Did you know that contributions with the Test Team are also a fantastic way to level up your WordPress knowledge and skill? Dive in to contribute, and gain coveted props 😎 for a coming release.

Reproduction Testing 🔁

Who? Any contributor.
Why? It is helpful to show an issue exists for other users in order to move a ticket forward for patching.

The following new tickets are awaiting review, and need testers to attempt to reproduce the reported issue (aka “repro”), and then provide a reproduction test report with the results:

Patch Testing 🩹

Who? All contributors (not just developers) who can set up a local testing environment.
Why? It is necessary to apply proposed patches and test per the testing instructions in order to validate that a patch fixes the issue.

The following tickets have been reviewed and a patch provided, and need testers to apply the patch and manually test, then provide feedback through a patch test report:

PHPUnit Tests 🛟

Who? Any QA or PHPPHP PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. https://www.php.net/manual/en/index.php developer contributors who can (or are interested in learning how to) build automated PHPUnit tests.
Why? Automated tests improve the software development feedback loopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop for quality and backward compatibility.

The following tickets need PHPUnit tests built to accompany their respective patches:

Profile Badge Awards 🎉

No Badges awarded this week.

Read/Watch/Listen 🔗

Upcoming Meetings 🗓

🚨 There will be regular #core-test meetings held for 2025.

2025 Schedule:

Interested in hosting a <test-scrub>? Test Team needs you! Check out Leading Bug Scrubs for details, or inquire in #core-test for more info.

#core-test