Issue #13 : Software Testing Notes
🐛Dealing with Intermittent Bugs • How Much Testing is Enough? 🔎 • Are Automated Test Retries Good or Bad? and more...
Hello there!
Pritesh from Software Testing Notes here 👋.Welcome to the 13th issue of Software Testing Notes! 🚀. There's a lot of good reads, tools and resources this week. Let me know which one is your favorite this week, just reply to this email!
Hope you have a great rest of the week.
📚 Top Reads
How Much Testing is Enough?
“How much testing is enough to qualify a software release?” George Pirocanac lays out few helpful tips in the article on Google Testing Blog.
Document your process or strategy.
Have a solid base of unit tests.
Don’t skimp on integration testing.
Perform end-to-end testing for Critical User Journeys.
Understand and implement the other tiers of testing.
Understand your coverage of code and functionality.
Use feedback from the field to improve your process.
Testing, Quality, and my inability to teach by Patrick Prill
Quality is relative, quality is in a constant flow, quality is highly subjective, quality is everywhere and nowhere, quality can’t be predicted, quality cannot be put in numbers.
Quality Assurance is more than just writing and executing test cases. What does quality mean ? and how can we approach testing ? Patrick Prill shares his perspective on how he approaches testing and quality.
Quality Assurance is a process. It is not a role by Alan Richardson
(QA == Process) && (QA != Testing && QA != Tester && QA != Role)
Quality Assurance is a process. It is not a role. Roles have responsibilities, and we all have a responsibility for quality.
Are Automated Test Retries Good or Bad? by Andrew Knight
Automated test retries can be a blessing or a curse. It all depends on how testers use them. If testers use retries to reveal more information about failures, then retries greatly assist triage.
Andrew makes a compelling case about using retries for the failed test cases in automation suite. however there are many things that needs to be considered as this can become terrible antipattern if not given proper care. Explore about the case for it and against it in this post.
10 More Useful Git Commands You Should Know by Andreea Draniceanu via TestProject
Git has become one of things that you can’t live without. Find few useful git commands for everyday use shared by Andreea
Dealing with Intermittent Bugs by Nicola (Owen) Lindgren
Dou you remember that nasty bug that occurred once in 10 executions and you spent hours pulling your hairs on how the hack that happened ? Read this article as Nicola Lindgren shares some ideas on how to deal with intermittent bugs.
Gather information about the bug
Look at the logs
Timebox the investigation
Record what you have tried (be specific)
Pair with someone
Working with legacy code by Tiger Abrodi
Code without tests is bad code. It doesn’t matter how well written it is; it doesn’t matter how pretty or object-oriented or well-encapsulated it is. With tests, we can change the behavior of our code quickly and verifiably. Without them, we really don’t know if our code is getting better or worse. - Michael Feathers
So, how to work with legacy code ? how should we test it ? what kind of test can be performed ? Tiger Abrodi has put together a detailed article on the same.
⚙️ Automation
E2E Testing with React, Jest, and the TestProject JavaScript OpenSDK by Tyler Hawkins
Running End To End Test with TestProject JavaScript OpenSDK to test a React app with Jest test framework. The article includes,
Getting Started with TestProject
Configuring Jest
Writing Tests with the JavaScript OpenSDK
Running Our E2E Tests
Run Two Cypress Test Runners At The Same Time by Gleb Bahmutov
Wondering how to run two Cypress test runners concurrently ? Gleb’s got you covered. Learn with practical example on how to test a real-time Socket.io chat app by running two Cypress test runners concurrently.
How to execute javascript commands in cypress by Ganesh Hegde
In General, javascript commands are not much needed in cypress. The reason is it usually works directly within the browser. Still, if you are in need, Cypress provides a way to modify and perform Javascript actions. See below examples on,
Method 1: Execute Javascript in Cypress by getting Native Dom Element
Method 2: Execute Javascript in Cypress using window Object in Cypress
How to change the text in HTML Element in Cypress?
How to add an HTML element dynamically in Cypress?
▶️ API Automation Testing Full Course [YouTube] | JavaScript API Automation by Dilpreet Johal
Dilpreet Johal has put together a Course on Learning API Automation Testing using Javascript with Supertest & Mocha. YouTube tutorial covers some of the topics listed below.
Which libraries & frameworks to use for Javascript API Automation
Installation & Setup and Write your first API test using Javascript
API tests for HTTP GET, POST, PUT and DELETE method
API Tests Optimization and Using Async/Await with Supertest
Writing negative API tests, Mochawesome Reporter & API tests Jenkins Integration
💨 Performance
How a single PostgreSQL config change improved slow query performance by 50x by Pavan Patibandla
Sometimes a small change can have huge effect on performance. Pavan Patibandla writes about how they analyzed and made some small changes in their PostgreSQL config which improved query performance by 50x.
🛡️ Security
What is a Honeypot and How it Improves Network security? by Gurubaran KS
Honeypot is one type of security mechanism which creates a virtual trap to lure attackers. This is an intentionally vulnerable computer system that allows attackers to exploit the vulnerabilities.
Hack any Website - SubDomain A GUIDE TO SUBDOMAIN TAKEOVERS by Ananya Chatterjee
Introduction to perform a subdomain takeover with example scenario.
Easy Setup Charles Proxy to Intercept HTTPS traffic of Android Emulator by Kidd Tang
Looking for a way to intercept the HTTPS traffic in Android Emulator ? Kidd Tang’s got you covered in this step by step guide to setting up Charles Proxy with Android Emulator.
🌞 Accessibility
Overview of accessibility testing using DevTools
An article about accessibility testing in Microsoft Edge.
Using the Inspect tool to detect accessibility issues
Verify keyboard support by using the Tab and Enter keys
Analyze keyboard accessibility issues using DevTools
Testing contrast of text colors in various states
Use the Rendering tool to test accessibility for visual impairment
🛠️ Resources & Tools
ModHeader : Modify HTTP request and response headers:
when you use hyper test in order to create test cases at that moment in time we have to use this extension which is known as mob header.
Classic Cache Killer:
An extension that is used to clear the cache. It clears all the cache when you load a new web page.
Conftest:
Write tests for your Kubernetes configurations, Tekton pipeline definitions, Terraform code, Serverless configs or any other structured data.
📝 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,
When your integration test fails so hard it announces itself to your 44 million subscribers 🤣
👋 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