Test Team Chat Summary: 14 September 2021

The meeting started on SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. here.

Short explanation for first time attendees

@hellofromtonya reminded, that this bi-weekly meeting is where people who test WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. gather to discuss important things regarding test contribution. Testing includes manual testing, attempting reproduce reported issues, and automated testing.

You can find the agenda meeting here.

Week in Test introduction

@hellofromtonya described the purpose of this weekly publication, in short, it includes:

  • Parts of the core where testing help is needed this week
  • Learning and reading opportunities

Team agreed that it’s very helpful.

Last week’s Team update introduction

@hellofromtonya reminded that it’s a Team update, an overview of what has happeed last week. It also includes stats that are related to our team.

The Team agreed that the queue of the items that need testers’ attention is long.

Focal group updates

@hellofromtonya explained that it’s a time for testers to share updates for testing project initiatives. This section has started with:

  • 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. http://php.net/manual/en/intro-whatis.php. 8.1 fixes are underway
  • Modernization to Latest PHPUnit project is nearly finished. Backporting is next, then dev note
  • PHPUnit Test modernization is ongoing

@hareesh added:

  • The latest version of jQuery UIUI UI is an acronym for User Interface - the layout of the page the user interacts with. Think ‘how are they doing that’ and less about what they are doing. was recently merged to Core. Need a lot of testing.

Documentation strategy

@francina opened this discussion, asking what instructions we want to give. The main reason was related to setting up environment.

@hellofromtonya proposed to create a docs empowering everyone to contribution, we need clear entry points for:

  • Local machine setups
  • How to do different types of testing
  • How to create test reports

Team agreed that this documentation should be present in Make Test website, Make Core should only refer to it.

@hellofromtonya mentioned, that PHPUnit docs page lacks a reference to where contributors can set up their local machines. That should be a priority.

@francina @juhise @hellofromtonya agreed that the Team should start documenting the steps for Docker testing environment and later repeat the same pattern for other solutions. On of the concerns is that screenshot are getting outdated very quickly.

@mkaz shown blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience.-editor’s development site setup instructions based on wp-env. Team agreed that all projects should be pointing to one place where everything related to development environment is stored and maintained.

@hellofromtonya proposed a step-by-step instrctions of creating documentation for different types of test environments:

  • Start with Docker
  • Setups on Make Test with reference in Make Core
  • Figure out the doc info structure / strategy
  • Doc for different OS: Windows, Mac, and Linux
  • Link to tooling’s official docs
  • Get feedback from contributors
  • Refine
  • Repeat

@francina proposed working session with setting up environments. It’s going to happen on 2021-09-23 14:00

People with different OS will be essential for the successful meeting.

@boniu91 shared a reminder that on 2021-09-17 13:15 the Test Scrub is going to happen taking care of the following tickets:

#build-test-tools, #core-test, #test

Test Team Chat Agenda for 14 Sep 2021

Here is the agenda for the upcoming Test Team Chat scheduled for 2021-09-14 13:00.

This meeting is held in the #core-test channel in the Making WordPress slackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/..

Agenda

  • Week in Test: where you can contribute and learn this week
  • Review last week’s Team update
  • Focal group updates
  • Open floor

Open Floor

Do you have something to propose for the agenda? Please leave a comment below.

Can’t make the meeting? Share anything relevant for the discussion in a comment below.

Props: @boniu91 for peer review.

#agenda, #build-test-tools

Week in Test – 13 Sep 2021

Welcome to this week’s edition of “Week in Test”. This post highlights where you as a contributor can get involved (testers needed), learning opportunities, and some reading to keep you informed.

🙋‍♀️ 🙋 Contributing: Tester Help Needed

Looking for ways to contribute? The following tickets and patches need contributors.

Manual testing help needed

Who? All contributors (not just developers) who can set up a local testing environment, apply patches, and test per the testing instructions.

The following are tickets and patches that need testers to manual test and provide feedback (test report):

  • #53962: Check comment is approved before allowing replies – @peterwilsoncc asked for help testing (see Slack comment here)
  • #52241: Windows OS specific – infinite 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. in clean_dirsize_cache()
  • #53429: Twenty Twenty-One dark mode (for 5.8.2)

PHPUnit tests help needed

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. http://php.net/manual/en/intro-whatis.php. developer contributors who can (or is interested in learning how to) build automated PHPUnit tests.

The following tickets need PHPUnit tests build:

  • #47642: Order by comment count – posts list tables
  • #52241: Windows OS specific – infinite loop in clean_dirsize_cache()
  • #50567: Set $post in update_post_cache()
  • #49985: REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/.: Using _embed and _fields query parameters in the same query
  • #52252: PHP Notice when monthnum query var is set without the year QV

Reproducing reported issue help needed:

Who? Any contributor.

Since last week, there are at least 18 new tickets which need testers to attempt reproducing the reported issue and then providing a test report with the results.

Reproducing the reported issue is the first step in a new defect ticket’s lifecycle. Why? In order to fix a bug, first step is confirm the bug is reproducible and is due to WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. itself (and not a third party like 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 or theme).

Documentation help needed

Who? Any contributor

Learning

🎙 This Friday at 14:00 UTC: come join the live working session.

Watch and learn past working sessions:

Reading

Props to @boniu91 for peer review.

#build-test-tools, #core-test, #testing-plugins

Week in Test – 30 Aug 2021

This is the first edition of Week in Test. This post highlights where you as a contributor can get involved (testers needed), learning opportunities, and some reading to keep you informed.

🙋‍♀️ 🙋 Contributing: Tester Help Needed

Looking for ways to contribute? The following tickets and patches need contributors.

Manual testing help needed

Who? All contributors (not just developers) who can set up a local testing environment, apply patches, and test per the testing instructions.

The following are tickets and patches that need testers to manual test and provide feedback (test report):

PHPUnit tests help needed

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. http://php.net/manual/en/intro-whatis.php. developer contributors who can (or is interested in learning how to) build automated PHPUnit tests.

The following tickets need PHPUnit tests build:

  • #47642: Order by comment count – posts list tables
  • #52241: Windows OS specific – infinite 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. in clean_dirsize_cache()
  • #50567: Set $post` in update_post_cache()

Reproducing reported issue help needed:

Who? Any contributor.

Since last week, there are at least 19 new tickets which need testers to attempt reproducing the reported issue and then providing a test report with the results.

Reproducing the reported issue is the first step in a new defect ticket’s lifecycle. Why? In order to fix a bug, first step is confirm the bug is reproducible and is due to WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. itself (and not a third party like 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 or theme).

Documentation help needed

Who? Any contributor

Learning

This Friday will be another round of live mob programming session for preparing WordPress for PHP 8.1.

The following are past live working sessions (many more are available):

Reading

Props to @boniu91 for peer review.

#build-test-tools

[Call for volunteeers] Audit and Update Testing Instructions across the Make sites

In the summer of 2021, the Test team started meeting again for chats, triage sessions, and scrubs. One of the things that keeps coming up is the need to have clear instructions for testing.

They are scattered across many Make websites, they are not all kept up-to-date with changes in the different environments they mention, they not always link to existing documentation and, in some cases, they link to pages that no longer exist.

This makes it more difficult for new contributors to join the sessions and actively participate in the team initiatives.

During one of the meetings, the attendees agreed that having good documentation is a priority to welcome new contributors.

Goals

  1. Make sure all testing instructions for the most commonly used environments used to test WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. are updated and unified, across the Make websites.
  2. Review the existing Test team handbook: edit, remove and add pages.

Process

At this stage, I am focusing on the first goal: review the testing instructions, simplify if possible, and make sure they are all up-to-date.

The process I have in mind is:

  1. Create a spreadsheet with all the pages that mention testing in the:
    1. Make Hanbooks for: AccessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility), Core, Design, Test
    2. wordpress-develop
    3. TracTrac Trac is the place where contributors create issues for bugs or feature requests much like GitHub.https://core.trac.wordpress.org/.
  2. Post in the team-reps SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. Channel a call for volunteers, so all teams involved can coordinate
  3. Create or edit instructions for each environment and cross-link if necessary.
  4. Update people in the team-reps every X weeks about the progress done (to be decided with the group of volunteers that will work on this initiative).
  5. Future > Act swiftly when something changes, so ideally instructions are never out of date. This is quite hard without version control in our handbooks, but we’ll cross this bridge when we get here 😉

Here is the spreadsheet: https://docs.google.com/spreadsheets/d/1D4Q2_P_FriSxj19P2HIso81s2SZf5RcUVFaTUe12cuk/edit?usp=sharing

Then we can move on to goal number 2 (or another group of people can work on that simultaneously).

Wanna help? Comment in this blog post with your Slack username and we can start working 🙂

Thank you!

Props to @hellofromtonya and @mai21 for peer review.

#build-test-tools, #docs

Test Team Chat Summary: 17 August 2021

The meeting started on SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/., here.

Explanation for first time attendees, what is the Test Team Chat?

@hellofromtonya described that this is our time together to talk about things for our team: blockers, needs, roadmap, learning, docs, etc.

Reminder about the poll related to schedule fo our meetings

@boniu91 reminded, that there’s open poll to decide when we’ll be meeting in the future, twice a week:

  • Tuesday meeting
  • Friday test scrub session

@hellofromtonya asked to post the answers as comments inside the mentioned post.

Update: Modernize to Latest PHPUnit work

@hellofromtonya described what is the goal:

  • Run on the latest PHPUnit version
  • Use the PHPUnit Polyfills to shim backwards for backwards-compatibility (which enables 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. http://php.net/manual/en/intro-whatis.php. cross-version testing using the matching PHPUnit version)
  • etc

And also what’s the current status:

  • All supported PHP versions are now running with their matching PHPUnit version :white_check_mark:
  • Old workarounds are removed :white_check_mark:
  • Tests are running on PHP 8.1 :white_check_mark:
  • The test suite’s assertions and expectations have been updated to PHPUnit 9.x :white_check_mark:
  • Backports are in progress
  • Dev Note is in progress and should be out very soon

CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. tests were blocked for over 2 years from running PHPUnit 8 and 9. They are not blocked anymore!!

@pbearne asked if we have any list of backports that needs to be finished
@hellofromtonya write a list of PRs:

There are 2 PRs for backports:

Plus, there’s still work to do in #53904

Also, the backports are waiting for PR 1587 to be fully reviewed and committed, we need to be sure that all paths are covered.

@lucatume offered, that he can take a look

Open Floor

@boniu91 asked if there’s any calendar with future WP Core releases
@francina answered that not yet

@pbearne asked what’s the plan for the @covers
@hellofromtonya answered that the plan for @covers is to address those during the reorganization and namespacing effort.

Why?
That’s when we’ll be thoroughly reviewing each test. At that point, we’ll know what each test is actually covering.

Why wait?
To avoid duplicating effort. We’re focusing first on PHP 8.1 and modernizing for latest PHPUnit. Once that’s done, then we plan to switch to the reorganization, namespacing, covers effort.

Ways of contribution

@hellofromtonya mentioned that there are many ways of contribution:

  • On the PHP side of things, there’s about ~10% code coverage in the automated tests.
  • Adding more unit and integration tests will also help the e2e effort too.
  • Once we get the tests modernized, then comes: improving the docs

For those who don’t know how to build automated tests, you can contribute too:

  • Help identify if there’s a test for a function or public method
  • If not, create a new ticket for it

@boniu91 commented that it would be good to have some kind of document that would describe the possible ways of contribution for new Test Team members.

Team agreed, @francina agreed to lead the effort, @hellofromtonya and @boniu91 offered help.



#build-test-tools

Test Team meetings schedule – poll

Test Team is meeting twice a week:

  • Tuesdays 13:00 UTC bi-weekly for Triage Sessions
  • Tuesdays 13:00 UTC bi-weekly for Team meetings
  • Fridays 13:15 UTC for Test Scrubs

This schedule was discussed while ago, when the team wasn’t crystalized as it’s right now. This is why it’s a good time to ask members of this Team whether the time of meetings is okay, or shall we reschedule it.

Please post in the comments your opinion about that, we’ll be collecting votes until 30th of August and then make a decision.

Thank you for reading!

#build-test-tools, #core-meeting

Test Team Chat Summary: 3 August 2021

The meeting started on SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/., here.

Announcement: Test Team Reps nominations

Announcement starts here.

@hellofromtonya mentioned that two testers were nominated for this position to work together, both of them accepted the nomination, @hellofromtonya @boniu91

Team had no objections to those nominations

@hellofromtonya published and shared previously prepared introductions of newly nominated Test Team Reps

Discussion: What is needed for Testers to make their contribution easier and better

The discussion starts here.

@francina shared her list, people present on the meeting agreed:

  • Clear testing instructions in tickets
  • Clear, unified, synched instructions to setup different testing environments
  • Streaming to go through tests together and learn by doing
  • A roadmap and action plan to automated testing

@lucatume added, that’s not clear for him:

  • Where and how he could contribute in a best way. He’s willing to help with what he’s the best in: coding.
  • It’s also not clear where we should collect discussions about the tickets and other important things.

@hellofromtonya replied to the second point, saying that:

  • If the discussion is related to ticket, we should collect them in ticket. If the discussion happens on Slack, it’s a good practice to link it inside the ticket.
  • Slack is great for adding collaboration, seeking guidance, Team chats, etc.

@lucatume expanded the previous (first) point and for the most effective contribution, the following things should be clear:

  • A clear indication of what tickets will need test code, not manual testing.
  • A clear path to how test code can be contributed. If tools are required, what tools are required.
  • A definition of “good” and “bad” friction.

@hellofromtonya answered, that tickets with needs-unit-tests keyword are the ones for the PHPUnit side of things. We don’t have anything for the e2e tests though.

@lucatume suggested adding needs-e2e-tests keyword and the Team agreed that’d be useful.

@francina mentioned, that the current test setup is Jest + Puppeteer. We need developers to set up a tool for the Team that will make creating e2e tests easy.

Team agreed that it’s not possible to have 100% of automated tests, with no human review.

@francina shared what the Team needs right now to kick off the e2e testing:

  • Skilled QA engineers to setup up the infrastructure
  • Documentation to teach people to write testing specs
  • People to write the tests
  • Automated test engineers to review and maintain

@hellofromtonya said, that most likely, the bottleneck will be the group of automation test engineers to do the review, tuning, and maintenance work.

@lucatume explained how the “autogenerating” of e2e tests looks like (here)

@hellofromtonya confirmed the workflow:

  • Human does the manual test
  • Tooling records those steps
  • Tooling converts the steps into code

Mai mentioned, that generated code can be worse in terms of quality than the one written by a human. Team agreed that it’ll need to be refined and maintained. @hellofromtonya shared improved workflow:

  • Human tester does the manual testing steps
  • Tooling records those steps
  • Tooling converts the steps into code
  • Test code is attached to the ticket
  • Code is reviewed by a human is skilled in e2e tests and the thing under test
  • Once approved, a coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. committer commits the test code into the project
  • Skilled e2e test humans maintain the tests (including tuning and refinement)

Team agreed to start a pilot initiative:

  • Build a prototype
  • Start small with a handful of impactful e2e tests
  • Get those tests stable
  • Learn
  • Iterate

@lucatume will start creating the prototype
@francina offered reviewing the test handbooks

#build-test-tools, #test-team

Test Team Reps for 2021+

Two candidates were nominated during the open nomination period, both of whom accepted their nominations. The new Test Team Reps for 2021 (and beyond) are Piotr Boniu (@boniu91) and Tonya Mork (@hellofromtonya)!

Meet Piotr Boniu

Piotr is fascinated by WordPress since 8 years. Firstly, it was just a fun for him, later it became a way to live. He attends WordCamps whenever possible since WCEU 2017 in Paris. In 2019 in Brighton he was a speaker.

Within the project, he served as the 5.9 Test Lead.

In his career, he’s transitioning into technical product management for a WordPress performance product company, after having previously served as a QA Engineer and Technical Support Engineer.

On the personal side, Piotr is a resident of Canary Islands, previously lived in Madrid and Warsaw. He resides in a small town called Puerto de la Cruz with a girlfriend and his two cats. He’s obsessed with technology and gadgets that are making life easier, his free time is filled with hiking, sports and swimming in the ocean.

You can read more about him on his profile page.

Meet Tonya Mork

Tonya Mork @hellofromtonya

Tonya is a leader, architect, engineer (software and electrical), educator, and learner. She became hooked on contributing during the 5.6 release cycle. She saw the impact the Test Team can and could have on the project. She brings her empowerment and transformational approach to help the team rebuild itself, help fuel continuous improvement, and help contributors get started, gain and grow their skills, and grow their impact.

Within the project, she served as the 5.6 and 5.7 Triage Lead, coached the 5.8 triage and test release squad, is a Build/Test Tooling co-maintainer, and is a full-time contributor (as of February).

Outside of the project, she’s likely best known as a developer educator. She’s been leading and advising multi-disciplined engineering teams for over 3 decades in the areas of architecture, quality, testing, performance, and operations.

On the personal side, Tonya lives in a small fishing village on the NW coast of Lake Michigan in the US with her spouse (celebrated their 35th anniversary this year), dog (who thinks he’s a cat), and cat (who thinks he’s a dog and ruler of the house).

You can read more about her journey on HeroPress and her profile page.

#build-test-tools, #team-reps

Test Team Chat Agenda for August 3, 2021

Here is the agenda for the upcoming Test Team Chat scheduled for 2021-08-03 13:00.

This meeting is held in the #core-test channel in the Making WordPress slackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/..

Agenda

  • Update on Test Team Reps
  • What do testers (like you) need?
  • Focal group updates
  • Open floor

Reading and Watching

A list of last week’s posts and live streams.

Posts:

Live streams:

Open Floor

Do you have something to propose for the agenda? Please leave a comment below.

Can’t make the meeting? Share anything relevant for the discussion in a comment below.

Props: @boniu91 for peer review.

#agenda, #build-test-tools