Hi there! This week we have tons of fascinating articles, guides, tools, and many more. This week's issue includes Challenges and Lessons learned during E2E testing by Swim company, tutorial on fuzzing testing in Go, a case study on correctness and safety testing of stateful systems. 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
End-to-End Testing: Challenges and Lessons Learned — Walking through the ins and outs of E2E testing and the lessons and takeaways folks have learned on the ground here at Swimm.
Maintainable Rails system tests with page objects — This post is about an idea I had a long time ago and came back to recently. It’s from a similar category as my idea for Rails contexts, so it might not be 100% failproof, and I am looking for feedback. Mgr. Josef Strzibny
Tutorial: Getting started with fuzzing — This tutorial introduces the basics of fuzzing in Go. With fuzzing, random data is run against your test in an attempt to find vulnerabilities or crash-causing inputs. Some examples of vulnerabilities that can be found by fuzzing are SQL injection, buffer overflow, denial of service and cross-site scripting attacks.
A case study on correctness and safety testing of stateful systems — In this post I will present a technique to do testing using traces which can can be used with arbitrary stateful systems. They were applied in practice in cooked-validators, which was developed as a tool for writing Plutus validator scripts.
Testing custom Github Actions relying on KinD — Using this method, we can now create a new empty Kubernetes cluster for our test suite, and run Docker images interacting with this cluster.
Testing is an Unsolved Problem — It is easy to write a few lines of code, quite another to test it.
Why Don’t Developers Take Accessibility Seriously? — This article will present three different perspectives on accessibility in web design and development. Three perspectives that could help us bridge the great divide between users and designers/developers.
Switch between environments in Cypress — Short article on how to switch environments with examples.
Configuring Rails system tests for headless and headfull browsers — Want to run your system tests headless? And why not both ways? Here’s how to extend Rails tasks to run your system tests with the driver of your choice.
Mgr. Josef Strzibny
Accessibility driven test flows using Cypress Testing Library — Accessibility concerns are often overlooked on web apps. As QE Engineers, what can we do to make sure that our tests interact with the application similarly to how users would? Carter Capocaccia
What’s New In DevTools? — What’s new in Chrome, Edge, Safari and Firefox? Patrick Brosset breaks it down with the latest features in DevTools across browsers. Patrick Brosset
How To Check Network Requests Using Cypress — How to validate the network intercept using Cypress tests.
Are Automated Tests for Solo Projects Useful? — You might think writing automated tests for solo projects is a waste of time. Here are some reasons why they're helpful, even if only for yourself.
QA Engineer Python (Germany 🇩🇪 | Visa support 🌎)
flaconi is one of the largest online pure player for beauty products in Germany. The online shop’s extensive portfolio consists of more than 850 international brands and 55.000 products in the categories perfume, skin care, make-up, hair care, natural cosmetics and accessories. The online shop covers, from drugstore over organic cosmetics to premium, all product segments. flaconi was founded in 2011 and today already employs over 450 people at three locations, at its headquarters in Berlin-Charlottenburg and its logistics centre, as well as the flaconi Concept Store in Berlin Mitte.
Post your job with us.
🛠 Code, Tools and Resources
Soft Serve — A tasty, self-hostable Git server for the command line.
insta — A snapshot testing library for Rust.
tt — A terminal based typing test.
vitest — A Vite-native test framework.
html-mocker — Script to mock dynamic data in HTML for automatic responsiveness testing.
6 Ways to improve your code tests — Six real ways to improve your testing. Peter Fisher