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
And now he has written a detailed article on the each nugget. Some of my favorites among them are,
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.
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 👀.
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.
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.
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
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. 😃
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)
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.
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.
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
Xcode memory debugger
Locating the leak 🕵🏽♂️
I highly recommend reading the first part.
Constance has written a very comprehensive and beautifully illustrated article on designing load tests with Gatling.
you can read first part here.
Collection of few Commercial and Open Source JMeter Plugins.
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
A proposed standard which allows websites to define security policies.
Free and open source utility for network discovery and security auditing
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.
👋 Reach Out
Let me know what you thought about this newsletter, maybe you have some ideas you'd like to share.
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