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.
![Twitter avatar for @automationhacks](https://substackcdn.com/image/twitter_name/w_96/automationhacks.jpg)
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