Issue #14 : Software Testing Notes
📝 Use SOLID Principles To Become Better Automation Tester • Simple truths of Software Testing and Automation • 🛹 Memory Management and more...
👋 Hello and welcome to the 14th issue of Software Testing Notes! 🚀.
Pritesh from Software Testing Notes here. As always I have lot of good reads, tools and resources for you this week. Let me know which one is your favorite, just reply to this email!
Consider subscribing if you haven’t already 👇
Have a great week ahead.
📚 Top Reads
Simple truths of Software Testing and Automation by Gaurav Singh
Sometime ago Gaurav Singh shared a twitter thread , capturing some musings about Software testing and test automation.
And now he has written a detailed article on the each nugget. Some of my favorites among them are,
Paper Review: Non-Deterministic Concurrency Bugs by Oleksandr Romanov
Concurrency bugs are often associated with timing issues in single-machine multi-threaded systems. But as systems are getting more complex and distributed, the number of distributed-concurrency problems is increasing.
Oleksandr Romanov shares his insights on a paper about the nature of the distributed concurrency bugs.
Context eats Process for Breakfast by Patrick Prill
Patrick is back again with another masterpiece. The quote “Context is king” holds true in almost every situation and testing is no different. Before reading this, go and pour yourself a cup of coffee ☕. you’ll know why as you read 👀.
How to strengthen the bond with the developers by Rafael Bandeira
Having good communication between teams is a paramount to any product success. Rafael Bandeira has written a very good piece on a technique to improve teamwork between Devs and QAs, enhancing software quality in the process.
Gaurav Singh has also shared the few key points like Pairing with devs more often in above shared link.
Even programming languages have bugs! by Balaji Santhanagopalan
Bugs are not jut in your product. Programming language which has been used to write program has bugs too and it affects everyone including developers and testers alike. Balaji Santhanagopalan explains it neatly in this article.
⚙️ Automation
Use SOLID Principles To Become Better Automation Tester by Gustavo Daniel Moreira
SOLID principles are the first five object-oriented design principles by Robert C. Martin, popularly known as Uncle Bob.
This article explores each individual principle and how these SOLID principles can make us better at developing automation tests.
Single Responsibility Principle (SRP): A class should have one, and only one, reason to change
Open Closed Principle (OCP): Software entities (classes, modules, functions, etc.) should be open for extension, but closed for modification
Liskov Substitution Principle (LSP): Subtypes must be substitutable for their base types
Interface Segregation Principle (ISP): Make fine grained interfaces that are client specific
Dependency Inversion Principle (DIP): Depend on abstractions, not on concretions
Selenium Docker Tutorial by Dilpreet Johal
Learn how to use the Selenium Standalone Docker images to execute tests inside Docker containers and run them on both Firefox and Chrome. Dilpreet Johal also has a video session if you are a hands on kind of person. 😃
Yes! You Can Avoid Automation Mistakes by Ravind Nayar
Automation tests will add great value to your project when done right and can become an disaster if not done properly. Here Ravind Nayar suggests few points to remember when designing the automation tests for your project.
Poorly Defined Scope
Not involving Exploratory Testing with Automation
Not leveraging the Full Value of Automated Tests
Attempt to Replace Human Testing
Inappropriate Tool Selection
Not Paying Attention to Return on Investment (ROI)
Legacy test automation code 😨 …. what should QAs do? by Karishma S.
So you have a legacy systems with some legacy automation frameworks. How do you deal with it ? keep it as it is ? replace it ? what ? Karishma S. provides some insights on the same in this article.
Protractor is dead, long live Cypress! – Part 1 by Rainer Hahnekamp
I had no idea that Angular announced the deprecation of their E2E testing tool protractor.
In this article, Rainer Hahnekamp provides a short overview over the differences between the various E2E frameworks, and argues why you should use Cypress and – in the second part – help you with the first steps.
💨 Performance
Memory Management Part 2: Reference Cycles, Closures and Debugging by Yahya Saddiq
Memory Profiling is a very critical part of your performance testing. Yahya Saddiq has written a great piece on memory management. In this article, you’ll learn about:
Breaking reference cycle in classes and closures
Escaping & non-escaping closures
Delayed deallocation
Xcode memory debugger
Locating the leak 🕵🏽♂️
I highly recommend reading the first part.
Load Testing with Gatling II by Constance Armitage
Constance has written a very comprehensive and beautifully illustrated article on designing load tests with Gatling.
you can read first part here.
Commercial and Open Source JMeter Plugins by Software Testing Magazine
Collection of few Commercial and Open Source JMeter Plugins.
🛡️ Security
What is a Dictionary Attack? How the Attack works and How to Prevent the Dictionary Attack by Gurpinder Chahal via Cyber Security News
Learn with particle example about Dictionary Attack Using Burp Suite Tool and How to protect your system against dictionary attack.
🛠️ Resources & Tools
security.txt
A proposed standard which allows websites to define security policies.
Nmap Security Scanner
Free and open source utility for network discovery and security auditing
Load Testing Center (codename ltc)
Online web application-dashboard for report analyzing, running and online monitoring of load tests started with JMeter
📝 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.
And Finally,
How management think automated tests are made…
👋 Reach Out
Let me know what you thought about this newsletter, maybe you have some ideas you'd like to share.
You can follow me personally @priteshusdadiya. I give insights into Testing, development & how I'm growing Software Testing Notes.
You can follow @thetestingkit to keep up-to-date on the community & fresh links to read.
Thanks so much for reading ️️
Pritesh- Software Testing Notes