💡 Intro
Hello and welcome to another issue of Test Automation Weekly. Today you have to try new Lighthouse API, find out answers on 20 questions before starting automation testing and more. Want something mentioned? Tweet us at @testingdigest. Happy reading!
If you'd like to support Test Automation Weekly please share this issue with friends and colleagues. Don't forget to subscribe to our newsletter to stay up to date on all news.
📚 Articles, Tutorials, and Opinions

Lighthouse user flows by Google — Try out a new Lighthouse API to measure performance and best practices throughout a user flow. Lighthouse is a fantastic tool for testing performance and best practices during initial page load.
Brendan Kenny
JavaScript Test Code Coverage in Rails — In modern apps, it’s common to enhance the user experience with JavaScript. Whether it’s just some JavaScript sprinkles here and there or a full JS-based frontend, this is as important as your Ruby code when it comes to the app’s correct functionality. In this article we’ll show how to measure the test code coverage for the JavaScript code when running system/integration tests along with the Ruby code coverage.
Ariel Juodziukynas
Deleting your app from the iOS simulator during UI tests — This post offers an improved version of the code and some thoughts on when to use this. I hope this post also serves as a better bookmark than a tweet, which isn’t as reliable of a reference or as easy to find. It’s also a reminder for my future self.
Jesse Squires
How We Do It: IoT Production Testing — This is an article in a series that discuss how we at Thingsquare solve hard technical challenges in the Internet of Things (IoT) field.
Fredrik Rosendal
20 Questions To Answer Before You Start Automating Tests — In this article, you will be presented with 20 questions that you and your team must answer before you start automating tests. In the end, a cheat sheet that contains all the questions discussed in this article will be available, which can be used as a quick guide whenever you need to define a strategy in a new project.
Paulo Oliveira
What's New in Scalable Automated Testing — We know it can be challenging to run Android instrumented tests at scale, especially when you have a big test suite that you want to run against a variety of Android device profiles.
Arif Sukoco & Jolanda Verhoef
From TDD to PBT via Kotest — Garth says "I’ve been a big fan of Property Based Testing for a number of years, based on my experiences with ScalaCheck. It’s always been an annoyance that Kotlin did not support this testing style, at least to the same extent. There was some functionality in Kotest (formerly KotlinTest), but it paled in comparison to what was available in Scala, F# and Python."
Garth Gilmour
Faster test execution with cypress-grep — In this blog post, I will show how to efficiently grep tests on CI to save the CI time, and omit the noise from the tests that were filtered out. Gleb Bahmutov
Testing your JSON API in Ruby with dry-rb — In this article I’m going to show one of my preferred ways to test the structure of JSON responses in a clear and readable way—by making use of the dry-schema gem and some other dry-rb libraries. Paul Götze
How to start your career in software testing — So, you want to become a software tester but you are not currently working in the IT industry? There are a few things you can do to get your foot in the door, but it can take a bit of time to actually land your first role as a tester.
Nicola Lindgren
API Testing from where to start — API was always a topic that I waned to explore more, I decided to start writing this blog in phases while learning more about it instead of taking some notes elsewhere separately.
Emna Ayadi
Cypress Run Tests That Have Certain Tags — One of the features that I wish Cypress had is a way to group feature tests together so that I can run all tests for the feature I am currently coding or testing without having to put them all into the same spec file. Now you can with the Cypress grep plugin.
Justin James
Recruiting test consultants — Skills and experience are useful to build up a tester’s toolkit, but the way a tester behaves to me makes the difference between a good and a great tester. But none of this actually matters if they are not the right fit for the company and vice versa.
Steven Burton
Finding .NET Memory Leaks through Soak Testing — In this post, we’ll walk you through the basics of memory leaks in .NET: what they are, how they occur, and why they matter. We’ll also show you how it’s possible to use techniques and tools already at your disposal — in particular, soak testing — to diagnose and fix memory issues.
Carlos Schults
Handling Alert Interruptions in iOS UI Tests — Unexpected system alerts can interrupt your test from interacting with UI elements, causing failures to occur.
Nathan Krishnan
Why adhoc testing is not exploratory testing — When asked if they do exploratory testing they say that they do it and it’s all “clicking around to find bugs”. That my friends is not exploratory testing, it’s adhoc testing. In this post I’m going to lay out the difference between these two testing styles.
Callum Akehurst-Ryan
Building, Testing, and Deploying Google Cloud Functions With Ruby — Google's Cloud Functions let developers run their code in production in a scalable way without worrying about the minutiae of server administration. In this article, Subomi shows walks us through building a real-world service using GCF.
Subomi Oluwalana
NodeJS Desktop Automation with RobotJS — Some while ago, I saw a meme video of "a day in the life of a software engineer" where the engineer wrote a script to make his computer switch on automatically, open Slack, and move the mouse at regular intervals while he is asleep to make it appear he is online and working at the same time.
Kayode Oluwasegun
Testing Kotlin Coroutines — Testing suspending functions in most cases is not different from testing normal functions. Take a look at the below showUserData from ShowUserUseCase. Checking if it shows data as expected can be easily achieved thanks to a few fakes1 (or mocks2) and simple assertions.
Marcin Moskała
💻 Jobs
Quality Assurance Automation Engineer (US Remote)
As a Quality Assurance Automation Engineer on this team, you will be responsible for assessing and advocating high quality across an increasing amount of customized user experiences while maximizing the engineering velocity of deployed changes. Along with UX, Product, and software developers, you are a subject matter expert on everything we test and build.
Indeed
Post your job with us.
🛠 Code, Tools and Resources

gramma — Command-line grammar checker.
caderek
How to Generate Beautiful PDFs — In this article, I want to give you a few tips to generate beautiful PDFs of SPAs with Puppeteer.
Clément Marcilhacy
Bats-core — Bats is a TAP-compliant testing framework for Bash. It provides a simple way to verify that the UNIX programs you write behave as expected.
Bats
libFuzzer — A library for coverage-guided fuzz testing.
llvm
Minitest — Plus All The Features You Always Wanted.
Michael Grosser
JaCoCo — Is a free Java code coverage library distributed under the Eclipse Public License.
Java Code Coverage Tools
🎬 Videos
Using JaCoCo to measure system test coverage — In this video, I'll show how to use JaCoCo and its JVM agent to measure the coverage of our system tests, with a Quarkus application. YouTube
Test-driving complex features with Laravel & Pest — Mateus Guimaraes show a couple of neat tests powered by Pest. YouTube
🎧 Podcast
Playwright and CucumberJS — Are you considering using Playwright for your next automation project? In this episode, Sonja Leaf, Director of Engineering at Cloudburst, will share why her team chose Playwright and how it has worked for them so far. Discover why they moved on from Cucumberjs, some newer features of Playwright, visual test automation, and much more. Joe Colantonio and Sonja Quartz Leaf
🐦 Tweet
🎪 Memes


