In the recent Monthly Developer Office Hours, Greg Bell @zhongruige, Jamel Reid, and Lucas Bustamante delved into the topics of managed testing solutions for third-party developers and the opinionated versus non-opinionated approach to code quality. The session aimed to gather perspectives and insights from the community on these subjects.
Defining Quality and Managed Testing Solutions:
The discussion began with @zhongruige putting focus on defining quality and exploring ways to drive quality in different areas of development. One approach under consideration was being opinionated, which involves establishing frameworks and coding standards for testing. The idea of a managed testing solution was also discussed, which would provide developers with a solution for running tests on a managed infrastructure.:
Lucas Bustamante introduced the Quality Insights Toolkit (QIT), which is the first time the team has spoken publically about the tool and its uses. There was some discussion around how this tool differs from the existing testing tools, such as the Quality Check Tool. This is an evolution of the Quality Check Tool, and we are excited to share updates with the community as we continue to improve the tool and make parts of it available to the whole developer community.
Enforcing Standards and Ensuring Security:
Kevin Phillips emphasized the importance of enforcing standards to enhance the security and maintainability of the WooCommerce platform. By setting and promoting coding standards, developers can create more secure and reliable code. Additionally, there was a call for more emphasis on Test-Driven Development (TDD) to encourage a systematic and reliable approach to code development.
The idea of exploring Test-Driven Development (TDD) practices and creating educational resources on developing plugins with TDD was also shared with the folks working on documentation, as they are collecting feedback around what kinds of kinds the community would find important. If you have opinions on what kinds of guides and documentation would be useful to you, reach to us! We are always looking for feedback.
Challenges of an Opinionated Approach:
The discussion highlighted the challenges of developing an opinionated boilerplate for testing. One challenge is choosing between different testing tools and languages, such as JavaScript (JS) or PHP, which can result in varying preferences among developers. While an opinionated boilerplate may not cater to everyoneโs preferences, it can still serve as a starting point with best practices based on the WooCommerce teamโs experience. Weโve had this conversation before where we have wanted to take a more opinionated approach to documentation, because we donโt want people to feel lost when they land on Woo, and that sentiment was echoed in this office hours.
Sample Extensions as a starting point:
Brian Henry suggested the creation of a sample extension with tests, similar to the sample blocks dummy gateway, to provide guidance on setting up tests for extensions. Brian expressed the need for well-documented examples, mentioning the challenges of working with WooCommerceโs existing end-to-end tests.
Working with the WooCommerce E2E tests as examples, Iโve found myself using deprecated approaches before finding the correct way (after the long back and forth in issues). A well-documented sample extension would get people 80% the way. Right now weโre all doing the hard part individually.
Brian Henry, WC Slack
Thank you
Thank you all for participating, and see you at the next office hours!
Leave a Reply