This is the Software Testing Notes, a newsletter that goes out every Wednesday. I republish it here for sharing and referencing, but if you'd like to sign up you can do so right here:
Hello there! 👋
Welcome the 71st edition of Software Testing Notes, a weekly newsletter featuring must-read content on Software Testing. I hope this week has been good for you so far.
This framework v/s that framework debates are as old as they could be. Now the latest has been about Cypress v/s Playwright or Everything else v/s Selenium.
The most important point that many of us tend forget in this is Context. The tool/framework/Language you choose should not be because it’s the new thing, or it’s treading or because you like it. Instead, take a broader perspective and look at what are you trying to achieve. Few weeks ago, I stumbled upon this Comparison spreadsheet template by Maksim Zinovev (Discussion post for context). This was one of most thoughtful comparison that I have come across recently. (Thanks to Nicola Lindgren for sharing this gem on LinkedIn)
Titus Fortner also shared a twitter thread recently,
Selenium is designed to be a non-opinioniated browser automation tool, where alternatives are test automation tools with many opinions.
This is a very good information with Pros and Cons of test automation tools having opinions. If you are also happen to be evaluating tech for your project then this twitter thread and Maksim Zinovev’s template should serve you as a nice reference point for your requirements.
Now onto the this week’s curated links. I have lots of nice reads for you this week, So let’s dive in!
📚 Testing
Exploratory Testing Basics by Emna Ayadi
Habit of exploring is what makes a difference in good and great testers. This is a very insightful article by Emna Ayadi explaining basics of Exploratory Testing as well as advantages of it and few tips on how you could put Exploratory Testing in practice effectively.
Stop Using Gherkin as Scripting Language by David Rodenas
When we talk about the BDD and Gherkin, we are usually talking about in the context of automated testing. David Rodenas did a wonderful job describing the obvious pit we tend to fall in over and over again when it comes to writing BDD scenarios and what we could do better.
Deep Testing by Dave Westerveld
Holy shit! yup, That’s the first thing came to mind after reading this blog post.
Are you learning the craft of testing and want to get better at it? There is so much learning material out there on internet that it’s overwhelming at times. Dave Westerveld shares some of the great advice in this piece and shows us how to cut through the noise and use best of the Internet in your quest of growing as a Software Tester. I enjoyed reading about “Grounding yourself in the basics” very much.🙏
➜ Read all curated stuff on Software Testing here.
⚙️ Automation
Top-notch stateful testing in Android by Sergio Sastre Florez
Stateful testing is a more sophisticated version of property-based testing where we verify that after each predefined action, the state fulfills a given requirement or property, which might depend on its previous state.
There is not much documentation about how to perform stateful testing in Android. Here is a great detailed article by Sergio Sastre Florez on how to perform stateful testing using Jqwik testing library to verify state logic in an Android app with real world example.
Wait, Is Avoiding Low-Code An Automation Anti-Pattern? by Paul Grizzaffi
Are you evaluating an automation tool for your next project? is it Low Code? This post by Paul Grizzaffi might just be the help you need to decide what works best for your application.
Additionally, Dennis Martinez also wrote a very useful article discussing benefits and limitations of using Test recording tools. 👉 Are Automated Test Recording Tools Worth It?.
How To Filter Requests and Resources in Chrome DevTools by Antonello Zanini
Aside from default checkbox filters, there are few other ways to filter requests as well. Take a look a this article by Antonello Zanini and learn how to filter requests and resources in the Network section of Chrome DevTools through its special filter commands.
API Testing: Using the Fluent Interface Pattern for JSON Assertions by Patrick Prill
I’m sure many of us has seen and written a spaghetti code asserting literally everything when API response is too large. I liked the way Patrick Prill describes this as an “assertion orgy”🤣. But if not this then what else you could do? Well, Patrick shows how we could utilize Fluent Interface to write more neat and clean assertions.
E2E Testing Series by Anders Ramsay
Writing end to end tests with Cypress? Anders Ramsay has written a four part series of posts about the process and benefits of writing and using Cypress End to End Tests.
Also checkout this video by Brian Mann (founder of Cypress) talking about E2E testing best practices.
➜ Read all curated stuff on Software Testing Automation.
💨 Performance
Fault Injection Testing with API Gateway by Bobur Umurzokov
Apache APISIX Fault Injection Plugin offers a mechanism to inject some errors into our APIs and ensures that our resilience measures are effective.
This blog post by Bobur Umurzokov describes how we can test robustness and resilience of our APIs by performing Fault Injections. Learn about few fault injection testing techniques such as delays and aborts to test the resiliency of your application with Apache APISIX.
➜ Read all curated stuff on Performance Testing.
🛡️ Security
23 free ways to learn about API security testing by Daniel Kelley
If you are a tester hoping to learn more about security testing, then you should checkout this list of videos, blog articles and websites that will help you learn everything about security testing. Although this twitter thread by Daniel Kelley has no links attached for each resource, you should be able to find most of the stuff with simple google search.
Network Penetration Testing by Ross Jackman
Nice overview of Network Penetration Testing and it’s different testing types to help you improve network security of your product.
➜ Read all curated stuff on Security Testing.
🛠️ Resources & Tools
CyrilEx Regex Tester — is a regular expression tester and visualizer for JS, PHP, Python, Java, Ruby and MySQL. A beta string generator allows to generate string from regular expression.
GradeJS — It analyzes production Webpack bundles without having access to the source code of a website. Instantly see vulnerabilities, outdated packages, and more just by entering a web application URL.
Mockoon — A customizable, parametrized and mock API server with a template engine, supporting features like faker.js for faking values or your own custom fakers.
📝 List of Software Testers
It's hard to find good articles, podcasts on Software Testing. Even hard to find people who create them. Are you also looking for amazing software testers to follow or read their content ? check out this page dedicated to software testers.
Do you also create content around Software Testing ? Submit yours here and I will add it to the list.
🎁 Bonus Content
📌 OTHER INTERESTING STUFF
- Dealing with limiting beliefs
- Working on overcoming Imposter Syndrome
- Why are you so busy? You should only ever be busy on purpose
⭐ LAST WEEK'S MOST READ
- "I would have found this bug with E2E tests" is a fallacy!
- Zalando Quality Engineering Journey—From Monolith to Microservices
- Some ways to get better at debugging
😂 And Finally,
Thinking outside the Box — This is what testers do🤣
Keep Smiling and have a fun week.
📨 Send Me Your Articles, Tutorials, Tools!
Made something? Send links via Direct Message on Twitter @thetestingkit (details here). If you have any suggestions for improvement or corrections, feel free to reply to this email.
Thanks to everyone for subscribing and reading!
Happy Testing!
Pritesh(@priteshusdadiya)
Did You Enjoy This?
Then consider joining the 2,667 other people getting the Software Testing Notes newsletter. It's a collection of fascinating finds from my week, about wide range of topics surrounding software testing and whatever else catches my interest.