Yet another way to contribute! Remember this 20-piece WordPress contribution chart with the tester Easter Egg? Even though testing is growing stronger in WordPress core with each release, it’s still mostly manual — usability, visual regression, accessibility, and beta testing with real sites before launch.
Now the tide is turning a bit more toward automation. I’m beyond thrilled to see this!
Tide is a new software test automation project kicking off in WordPress core.
Announced at WCUS 2017Tide is: “A path to better code across the WordPress ecosystem” — tools to run automated tests for all themes and plugins in the WordPress official directories.
Tide, a project started here at XWP and supported by Google, Automattic, and WP Engine, aims to equip WordPress users and developers to make better decisions about the plugins and themes they install and build.
Tide is a service, consisting of an API, Audit Server, and Sync Server, working in tandem to run a series of automated tests against the WordPress.org plugin and theme directories. Through the Tide plugin, the results of these tests are delivered as an aggregated score in the WordPress admin that represents the overall code quality of the plugin or theme. A comprehensive report is generated, equipping developers to better understand how they can increase the quality of their code.
Once up and running these automated tests would update the plugin and theme description with a status and score so everyone knows whether they pass the tests or not, from PHP version compatibility to the quality of the “front-end output.”
The Tide project is now officially moved over to the WordPress project. See the related story on WP Tavern for a longer history. And, if you’re curious like me about the tech “innards” — take a look at the source code on GitHub.
Screenshot of the Tide API plugin code on GitHub.
I love the genesis of the name:
…inspired by the proverb ‘A rising tide lifts all boats,’ thinking that if a tool like this could lower the barrier of entry to good quality code for enough developers, it could lift the quality of code across the whole WordPress ecosystem.” Rob Stinson
One key to success: Tide makes it super easy for developers to identify weaknesses in their code — and learn how to fix them. It’s not just about getting a high score or to ranking better against a minimum requirement. It’ll teach us all to improve. I love that.
Even after we’ve tested all the important user flows and polished the edges in our app or site, people still stumble. Why? Because we’re humans, and because our products still have:
Broken flows: transition points or interactions, like a form on a site, that aren’t working correctly.
Content gaps: someone needs a specific piece of content, but you don’t have it—or it’s not in the right place at the right time.
Pain points: people get hung up and are likely to abandon the site or app.
Making digital products friendly isn’t enough to make them feel human.
For more on this topic, I highly recommend Design for Real Life from A Book Apart; the ebook is only $11.
Instead of treating stress situations as edge cases, it’s time we move them to the center of our conversations—to start with our most vulnerable, distracted, and stressed-out users, and then work our way outward.
The reasoning is simple: when we make things for people at their worst, they’ll work that much better when people are at their best.
This is a book review of The Way of the Web Tester by Jonathan Rasmusson. Hat tip: Alister Scott.
A beginner’s guide to automated testing, though not specific to the web, despite the title. Covering the quintessential pyramid of UI, integration, and unit tests as well as basic building blocks of HTML, CSS, HTTP and REST APIs, and JavaScript. The book also spends time on best practices for general software programming and testing.
The goal for test automation, according to the author, is to have more time to do the fun things like developing new features, and less time on boring things like fixing bugs. We can’t test everything, yet “with the right 20%, we can sure test a lot.” Agreed. In broad strokes, this book debunks many common misconceptions of automated testing.
Don’t try to automate everything. Instead, automate just enough.
I love the dual audience of testers and developers, and how each chapter addresses the goals for each to learn in the coming text. The chapter ending summaries are handy. The text flows and the examples are easy to follow. Though a quick read, the book ends up covering important topics such as organization, naming, coupling, reusable code, and avoiding flaky tests by making them deterministic.
A few minor nitpicks: I found the metaphor of armor and mobility a tad confusing, and some of the humor seemed off-putting and unnecessary. As a beginner book I didn’t like how it conflated an important concept of CSS selectors and using similar syntax with jQuery to select elements by ID; in my opinion this difference should be understood at a beginner level. The author also doesn’t mention targeting data URIs in HTML attributes for selection, which seems to me to be worth a mention as a useful technique when working without relying on extra IDs or classes everywhere—such as legacy code or HTML output from third-party templates that you don’t control—and is present in popular JavaScript frameworks such as React.
I love the concept of a Developer Productivity team at a software company—at Spotify, Rasmusson describes a squad that went around killing and fixing flaky tests. Making things run better, making everyone happier. I think of Excellence Wranglers at Automattic as having a similar goal in our work as quality advocates.
The Way of the Web Tester does a great job introducing important concepts and covers the basics of automated testing, and I’d recommend it to everyone, even seasoned developers and testers.
Want to contribute to WordPress apps on Android and iOS? If you aren’t a developer or designer, no worries, we need your help as a tester. Anyone and everyone is welcome to pitch in — all you need is a keen eye and a iOS or Android phone or tablet.
Head over to Make WordPress Mobile and subscribe to receive email updates. Notice certain posts are titled “Call for Testing” — that’s where you can jump in, read the testing notes, and test the new beta versions on your device.
For both iOS and Android there’s a one-time step to join as a beta tester via TestFlight or Google Play Store. After you join, you’ll have access to download and use — and test — the latest and greatest versions of the WordPress apps before they are available to the public.
I am very pleased to announce that all of our e2e tests for the WordPress.com platform are open source as of this morning. This is following in the footsteps of the WordPress.com Calypso front-end which is also open source. I am continually reminded of how fortunate I am to work at Automattic who takes pride in its commitment […]
Software developer—and former technical writer—Jim Grey gives advice to technical writers looking to stay in software as a focus on user experience (UX) replaces the need for technical writers.
…the writing is on the wall. If you’re not finding fewer technical writing job openings yet, you will soon. Fortunately, your skills transfer to other jobs in software development organizations. You will need to build some new skills for many of these jobs, but you might be able to land that first new job without them and build them as you work.
New roles suggested include testing and quality assurance, product management, and UX/design.
…I think this trend toward effective UX is better for the user, and gives writers good paths for growth.
I love these tips and specific role descriptions. I’d say this advice applies to anyone who loves writing and documentation and wants to move into product design and development.
(Technical side notes: I found this post via the WordPress.com Reader’s suggested blogs to follow. I then posted it to this site using the Press This function in WordPress, called “WordPress Post” under Advanced Settings in the new WordPress.com interface. Screenshot example.)
I came across two new (to me) tools today for testing websites, Alkaline and Load Impact.
Alkaline is a new Mac application from Litmus that allows you to “tests your website designs across 17 different Windows browsers right from your Mac desktop.” It works as a standalone app, or with Coda and TextMate using plugins. The free version tests in Firefox and Internet Explorer 7, and if you sign up for a paid Litmus account you can test in all 17 browsers.
Load Impact is an online testing tool to simulate high user loads. There is a free option allowing you to simulate a low load level, and the test results help you see which assets (CSS, images, JavaScript) are slow-loading or problematic as well as how the site performs the more users hit it at once. I don’t see this replacing YSlow for quick and dirty speed tests and load optimization, but it could be an awesome tool for larger websites that need to do “real” stress and load tests.