Author: TribalAdmin

Pesticide Paradox in Test Automation

How Pesticide Paradox can impact Test Automation?

One of the attendee at a recent meetup I hosted(on behalf of MOT KL) asked this interesting question.

Even though I answered it, the time constraint didn’t let me elaborate enough. So let me start with an apology for that and this article is in return to that question, based on my understanding of the concept. I believe this article will help you to understand the concept & moreover gives some ideas on “How to keep our Tests relevant“.

Disclaimer: This article focuses more on Pesticide Paradox in Test Automation whereby accepting the fact that there are more paradoxes around Software testing.

 

For Starters, let’s understand/revisit what is a Pesticide Paradox?

Pesticide paradox principle of testing goes something like this…

Every method you use to prevent or find bugs leaves a residue of subtler bugs against which those methods are ineffectual – Boris Beizer on Pesticide Paradox

Corollary to this he also stated that: ‘Test suites wear out’ in the book “Software Testing Techniques

These definitions make us think and I do believe that some tests lose their power to find particular bugs over time. Some tests which were effective, efficient and revealing before, will get wear out because of the modifications made to the product by developers. And in an eco-system which has a better feedback loop, these test suites may wear out faster. Different conditions /situations demand changes in the way we approach them. If we use the same techniques over and over, the tests will no longer have a meaningful impact.

Pesticide Paradox is a metaphor! It’s true & false at the same time. The role of metaphor is to make us think – Michael Bolton

When does Pesticide Paradox in Software Testing happen?

  • When the same tests & test data is repeated
  • When the same test data is reused
  • When more iterations of the same test are executed and there is nothing new to be revealed by that particular test
  • When product code becomes resistant to the test code
  • When new defects are failed to be caught by existing tests and thereby released to production

Highly repeatable testing can actually minimize the chance of discovering all the important problems, for the same reason that stepping in someone else’s footprints minimizes the chance of being blown up by a land mine – James Bach

Pesticide paradox naturally has an effect on Test Automation as well. Let’s understand it better.

Pesticide Paradox in Test Automation

When we automate the checks, it is ideal to understand the application first. Digest what is being tested by the scripts, why is it failing or why is it not failing. If failing what should we do to fix it? We tend to have a cognitive bias called, IKEA effect which makes us more attached to the tests we create. As we add more automated checks, we start relying on those tests more. We keep running them frequently for regression cycle but sparingly conduct a review on the tests which is being executed. And we tend to believe that our tests/checks are good enough to identify all the issues… which is kind of wrong, right??

Let me explain with an example. Imagine there is a regression test suite with 100 test cases which is executed for all releases. In one of the releases, there were few enhancements and we were asked to test it. Since we have “Regression Test Suite” what we do is to execute it, to ensure the change is not impacting the existing areas.

If all the tests are passed, does it mean

  • there are no underlying bugs?
  • there are no new defects introduced by the enhancements?
  • we can confidently release the product?
  • there is no other area left off by regression test suite?

If you ask me, this can have two interpretations:

  1. Yes, provided we ensured proactively that the tests(logic/data/assertions) are modified accordingly to accommodate new enhancements.
  2. No, when we blindly trust our tests without analyzing the enhancement and its impact on the regression test suite.

In my opinion, the automated checks which we create are very narrow compared to the other broader aspects. Automation will always check for the things we intended. It helps to do our work in a smarter way but it’s not smart enough to improvise on itself.

The effectiveness of our Regression Suite as well decreases over a period of time as after several iterations, as developers become more careful to those hotspot areas and fix those bugs as early as possible. As a result, the count of bugs identified (in that area with the available tests) gets reduced. This may give us a (false?) feeling that release being shipped is of good quality.

Automation is a double-edged sword if not maintained properly.

Throughout my career, I have met people who believe automated checks once scripted are done forever! And they don’t require any modifications or maintenance. Really?

This is one of the misconceptions which we have for automation which has been given a “Silver Bullet” status by a considerable part of the Software industry.

Tests do not write, modify or maintain themselves. To make them serve their purpose, maintenance is inevitable. Test automation is a software development activity, which has the same problems & challenges as any other development activity. The more tests we intend to automate, the more would be the cost and time for creating and maintaining those.

Well, what can possibly bring us here?

  • It is practically impossible to test all the application scenarios which go back to the Catch-22 of software testingTesting is potentially endless.
  • The functionality of application changes over time.
  • We tend to cover what is known, what is changed and what is new, leaving the unknowns behind.
  • Getting comfortable, as we didn’t sense any danger from some part of the application.

How can we prevent or overcome Pesticide Paradox in Test Automation?

  • By writing a new test script to evaluate different parts
  • By changing/modifying test script and test data from time to time
  • By updating the techniques & methods used, with a sense of continuous improvement to make tests more effective
  • By constantly aligning yourself with the product changes
  • By constantly analyzing the bugs identified

Is this enough?

We talked about the IKEA effect before right. Let me tell you why I mentioned that. I was a person who likes to see the tests created by me gives a pass status during my initial days because I was more attached to those, and I believed my baby can never go wrong (which itself was wrong ? ).

Now if I see a test which keeps on passing over a few consecutive execution cycles, there will be an intuition in my mind rather than being happy.

Am I doing the right thing? Is there anything I missed? Or Is there anything to be modified?

I think this intuition helped me a lot to keep my tests relevant. But, indeed there are more ideas.

How to Keep our Automated Tests relevant?

  • Don’t assume that we have full coverage with our automated tests, there is always more.
  • Don’t be too formal, sometimes more bugs can be identified by informal ways
  • Peer reviews & sessions to understand more about the features and to get diversified opinions from a fresh perspective.
  • Believe that, Automated Tests can also have bugs.
  • Deleting the irrelevant tests and keep the code clean.
  • Think Outside the Box and add new scripts by changing the usual scripted flows & data
  • Add fuzzing and randomization to tests
  • Create tests which are more focussed on possible user interactions instead of following traditional test case based automation only
  • Think from several levels and different angles to get different perspectives
  • Test our Tests, quite often
  • Review & Verify test suits and scenarios regularly
  • Last but not the least: Step Back, Think Like a Tester, Frame the Test, then Develop the Test

Learn how to Defocus. Defocusing is the solution to the paradox of automation. It means to continuously change your tests, your techniques, and even your test strategy – James Bach

To overcome the Pesticide Paradox in Test Automation firstly we should overcome the bias & misconceptions and start considering automation as software development. As the application evolves, we must be continuously willing to design new test cases & modify the existing ones. And maybe over time, we can adopt a model-based testing technique that allows us to reuse the test code to automatically test new scenarios and code changes.

All these can help to control the impact and avoid pesticide paradox in test automation, but there can be more things of course and this list alone may not help in all contexts. So feel free to think as per your context, and add more based on top of these ideas.

Revisit, Review, Revise & Reframe.

Ideate, Innovate & Iterate.

 


 

About the Author:Pesticide Paradox in Test Automation Nithin SS

Nithin is a passionate and enthusiastic QA professional with 6+ years of experience in the field of IT with a focus on Quality Assurance (Automation & Manual) of web & mobile-based applications. Currently attached with Fave, as Senior QA Automation Engineer driving their test automation journey. He is mainly involved in building robust test automation solutions from the ground up. Also, involved in Test & Release strategies to improve software delivery.

He enjoys sharing his learning and experiences through creative writing and loved to be known as a storyteller. An active member of various Software Testing communities and founder of Synapse-QA, a community-driven co-writing space for testers.

https://www.linkedin.com/in/nithin-ss

 

P.S.  If you also wish to write for The Test Tribe, You can know more Here- https://www.thetesttribe.com/speak-for-tribe/

01
6 Tips on Starting a New Job – What to do in the first few days of the job

A lot of people want to quit their current jobs (out of any reason best known to them) and move on to a new one. At the same time, those lot of people end up not changing their jobs because of unwillingness to leave their current comfort zone.

Indeed changing jobs is discomforting. Establishing a good repute at a new place is arduous and needs a proactive effort from the new joiner to create a good one. 

In this blog, we are giving you Tips on “Starting a New Job” and what you can do in the first few weeks as a new joiner in the company:

Induct yourself well

Most companies will have a formal induction process. Even if it sounds boring to you, It is highly recommended to attend the induction with full involvement and know that the company you are joining is its about. Sure we do a lot of research before joining, but you will directly get the information first hand in the induction process. Also, it is a great chance to interact with people from HR, Admin, Finance teams etc.

You should also make the best chance of the team introductions which your reporting manager will do in your first few days where he/she introduces you to every member of the team. Making notes as to know who is doing what is not a bad idea either and in fact, strongly suggested.

Formalize your onboarding

It is extremely important to understand what are the expectations from you in the first 4-6 weeks. While some companies may have a formal onboarding doc , some might not have. In that case, you can make your onboarding doc yourself by collecting all information has been already provided to you and discussing openly with your reporting manager as to what is his/her expectations from you.

This will help you in more than one way a) This will help you get quick wins once you achieve weekly targets in the initial weeks which will be a huge morale boost b) This will also set you right in the eyes of your manager and other senior people.

Make notes. More than you ever did

It is in general a great habit to make more notes but the importance of note making is all the important in the first few weeks of a new job. Again, notes making in the first few solves a wide range of purposes a) It shows your intent and seriousness in meetings or discussions b)The initial few weeks are loaded with information, it helps you to collect them and go back at them as and when you need.

Overall, it puts you in a better and more controlled place in the information carnage of the first few weeks. However, be cautious, it is better to understand what is happening before suggesting anything new.

Network

Networking, again, is not something which you should do regularly and not only at the time of a new job. However, doing it with an extra push in the first few weeks of a new job puts in you a better place in terms of understanding who is doing what and why is he doing a particular thing. Talking to people from your team and cross-functional teams opens your doors about the company, the project you are working on which helps you to fit the piece of your task as a puzzle piece in the overall puzzle.

Ping members of your team or other cross functional teams with whom you work to introduce yourself in detail and understand from them their work. More often than not you may be able to find commonalities between both of you. 

Here are some of the things you can ask:

  1. How can I help you in your work or possible collaborations?
  2. What would be your advice for me?
  3. How things work here?

You can start a conversation using this template (feel free to use your own as well)

Hey <Name>, Hope you are well. I am <>, I joined about <> weeks back. I wanted to connect with you to understand how can I help you and your teams?

Bonus tip: For Video calls, it is always better to turn the video on. People might not get a good impression talking to a black screen.

Volunteer

Volunteering is one of the most under rated ways of building an initial rapport in a new organization. You can volunteer for any HR Event as your team rep, you can volunteer to be a part of the hiring process, you can volunteer for any CSR activity to name a few events where you can volunteer.

Find a mentor or a buddy

While most companies these days have a buddy system, where they assign a buddy to every new joinee who can help him/her in the first few days, if you don’t get assigned one, ask you manager to assign one or you can ask someone with whom you have interacted to become your mentor or buddy. 

A mentor or buddy can be a great partner to navigate through the hesitation of initial few days.

Eventually, we get along in a company, but sooner you do it, the better it is for you to do well there. Be fearless and yet be respectful in your approach. We hope this blog as helped you and your network and you will be able to make its use when you make a career change next time.

To read more exciting and insightful blogs related to software testing, visit our page – https://www.thetesttribe.com/blog/

00
The Test Tribe Software Testing Weekly Newsletter #2

Hi ,

We hope you are doing well and keeping safe. First things first, thank you for the fantastic response to the newsletter’s first edition. It only motivates us to do better. So, with the same thought in mind, we bring you the second edition of our software testing weekly newsletter.

Testsigma Community Edition, now live! Testsigma Community Edition (CE), an open-source test automation platform has officially been announced by Testsigma. The platform enables users to set up quickly and automate tests for web, mobile and APIs in just minutes. Check it out here.

Top Discussions from Discord Community
  • A comprehensive discussion on onboarding, training of new employees, the importance of rich documentation happened here.
  • IoT Testing was one of the most discussed topics in the last few days. The community brainstormed on the approach to IoT Testing etc., here. The discussion motivated us to create a new channel dedicated to IoT Testing.
  • Building a framework is one thing, and its successful deployment is another. Which one is more important? Read what the community had to say here.
Latest in software testing technology

 This new feature allows testers and developers to build synthetic test data on the fly for functional and performance tests and virtual services. Once created, the test data can be linked and reused with multiple tests and services.

 Testim extends Tricentis’ own AI-powered continuous testing platform and will help the company further simplify test automation, enabling organizations to create resilient end-to-end tests quickly and easily

Top Upcoming software testing conference 2022
  • Meetup on Load Testing using JMeter Our 7th Virtual Meetup is on 12th February, where Sandeep Garg will host a Session on “JMeter, Please assist me in Testing for THAT load”. He will address why load testing a web application is necessary, when the load testing life cycle should begin, and more!
  • Worqference– 15 Atomic Workshops on topics like Security Testing, Cypress, Selenium, Appium, DevOps, Testing, etc., by hand-picked Instructors from across the globe in one conference! By the way, do you know? Worqference now has a free day track on 4th February, with five workshops for free. Don’t let go of this opportunity and register now.
  • Webinar on “Docker Testing” by Monika Sharma- Happening on 19th March, this webinar will cover some topics like Docker heavy application, different testing perspectives, Test Automation, Pipeline designing, and more!
  • Automation Bootcamp with Selenium and Java with Kunal Ashar– Dominated by Hands-on Exercises, 85+ of them spread across 45+ Hours. This 12 week+ Bootcamp is the most extensive Industry grade Selenium with Java training on the Internet! It is now entering its fourth Cohort.
The Recent Bests from TTT Blog
  • How to Build High-Performance Testing Teams?

Prashant Hegde shares his thoughts on building high-performance testing teams in this blog. It would be best if you didn’t miss this blog to create a testing team that performs.

Many people are now keen to make a career in software testing. Getting a job in software testing is one of the most often asked questions by Students, Freshmen, etc. Rahul Parwal shares his thoughts on getting a job in software testing as a fresher here.

Quote of the Week

Don’t just fix the bugs; fix whatever permitted the bugs in the first place.”

Anonymous

Take a Break and Watch the binge-worthy
  • Soft Skills for Testers
    In this video, Daniel Knott talks about five soft skills that every software tester must-have, the importance of communication, why testers must adapt to every new project or product, and why the sixth sense for testers is essential. Watch here.
  • Better Bug Reports
    In this video, Paul Holland covers how to write better bug reports to reduce miscommunication and put the information needed into your bug reports, from writing a compelling title to describing workarounds for the bug being reported. Watch here.
  • Build An Appium 2.0 Plugin In Under 8 Minutes
    In this video, Jonathan Lipps will walk you through creating a simple Node.js-based Appium 2.0 plugin in less than 8 minutes! Watch here.
Go! Get Hired!
  1. Manual QA Tester
    fifthnote
    India
    2 – 5 years
     
  2. QA Automation Senior
    AppSierra Solutions
    Noida
    2 years+ of hands-on experience using Selenium with Java
     
  3. Software Development Engineer in Test
    RD&X Network
    Bangalore
    3-4 years of Java Programming language experience
     
  4. Senior Software Engineer
    Pharmeasy
    Bangalore, Delhi, Hyderabad
    2+ years of testing and automation experience
From the masterpieces

Some food for thought about Discarding useless appendages to the word ‘Quality’ from the book, Quality is Free by Philip B Crosby.

Speaking about giving the quality business some thought, I feel it is time to discard a lot of the useless appendages that have made quality management difficult to understand. The word “quality” is good enough to stand by itself. We should eliminate “control,” “assurance,” and other modifiers that too often accompany it. These identify relatively insignificant and minute differences in approach. The term “quality assurance” came into being during the first frantic missile years ago so a few astute individuals could move into higher salary brackets and at the same time be involved in more dignified work. They were soon peering over shoulders, rather than making quality happen. Certainly, I have no objection to a little nest feathering, but it is possible to make an excellent living actually doing the job of quality rather than just auditing to find out why it wasn’t done.

Top Community Announcement
  • Did you know that there exists an online library for testing? If no, leave everything and hop on to Library of Testing – Powered by The Test Tribe. A community-curated directory of Software Testing Learning resources to help the Testers across the globe choose the right ones for their learning needs. 
  • Writing is a medium to extract our thoughts and pen down our experiences. Therefore, it not only helps us but anyone who reads it. However, a writer writes once, but his legacy keeps ongoing in the form of content they create. So, if you want to make your legacy by writing around testing, this is the place you should visit.
Content that is Gold but never Old

Practical Deep Testing Stories by Pradeep Soundararajan. Pradeep sums up his decades of experience in these blogs, from being a tester to running a testing company that serves deep tech startups.

So, that’s it from this edition. We hope you enjoy reading it as much we did while creating this one. If you have any feedback suggestions, do let us know.

And do not forget to forward this to your testing teams.

Cheers!

Pravika, Rahul, Sandeep, Mahathee, Himani, Steffy, Mahesh, and Ashutosh

00
The Test Tribe Newsletter #1 – Latest Trends in Software Testing

Hope you are doing great and keeping safe. Firsts are always special, no? We are super happy today to write our first Newsletter today and share it with you so that you can be aware of the latest trends in the software testing world. Show some love if you like it.

We would also want to thank Testsigma who is supporting this inaugural issue of the TTT Newsletter. Testsigma just announced their community version. Open-source & packed with promising features! Testsigma promises to enable users to set up quickly and automate tests for web, mobile and APIs in just minutes.  Check out their Github repo

Let’s dive into this Newsletter issue!

Top Discussions from Discord Community

  • A comprehensive discussion on the frequency of test suite optimization and approach towards it was done here.
  • The community discussed the impact of feature flags in testing and automation here.
  • The possibility of increased requirements for testers upskilling on Security aspects if the cyber attacks go very high in future and companies start caring about this aspect from the very ‘left’, was discussed here.

Trending Topics

  • Testing Engineers are the most sought after Job
    Testing Engineers are the most sought-after job in India in the previous quarter. India’s leading daily, Times of India published this report here.
  • Apple’s Safari bug has been revealing people’s browsing history for months
    According to a new report, a software vulnerability in Apple’s Safari 15 browser might allow any website to track users’ internet activities and possibly expose their identities on macOS, iOS, and iPadOS 15. Read this article to know more about it. This news item is not written or cross-checked by TTT, we are just sharing the news.

Top Upcoming Testing Conferences/Events

  • Automating Test Design and Designing Test Automation Bootcamp with Robert Sabourin– During the 4-week Bootcamp, you will learn how automation can support test design and help you achieve critical functional and non-functional test objectives. This course focuses on real techniques applied to real projects with plenty of real examples and case studies
  • The Test Tribe 7th Virtual Meetup– Happening on the 12th of February, Sandeep Garg will host a Session on “JMeter, Please assist me in Testing for THAT load” and will try to answer some questions like why is load testing a web application necessary, when should the load testing life cycle begin, and more! 
  • Worqference– 15 Atomic Workshops on topics like AI/ML Recommendation Engine, Cypress, Selenium, Appium, DevOps, Testing, etc. by hand-picked Instructors from across the globe in one conference! From practical demonstration-based teaching and workbooks after each session to some crazy networking and fun, Worqference has it all

The Recent Bests from TTT Blog

  • We looked back at the year gone by. The highs, the lows, the good, the bad, everything. The community grew multi-fold and we witnessed the launch of our 2.0 Avatar. Read more about it here.
  • In this blog, we discuss multiple factors that should be thought of before deciding to stop testing. We talk about input quality-related factors, situations owing to management issues, and exit criteria in length

Quote of the Week

“First, solve the problem. Then, write the code.”

John Johnson

Take a Break and Watch the binge-worthy

  • Testing in a post epidemic world
    The epidemic has hit us all. Does it mean anything for the present way we are testing? What will change the post epidemic for the testing world if it does? Listen to what leading experts in the field have to say
  • API Testing from the Basics and Postman Workshop
    In this video, one of our community members, Pricilla talks about API Basics, API Testing in detail. In the second half, she does a live demo in Postman Workshop
  •  “Word Smatter” by Damian Synadinos
    Damian chose a slightly unconventional, interesting, and conversational method to give testers a high-level summary of the importance of Semantics and Semantic Discussions. The metaphors used by Damian are just awesome! Tune in here.

Jobs in software testing

  • QA Tester
    Technozer Solution
    Surat, Gujarat
    0-2 years of experience in QA testing

From the masterpieces

Here is a snippet from the book Lessons Learned in Software Testing: A Context-Driven Approach: Kaner, Cem, Bach, James, Pettichord, Bret

When a bug has been marked as resolved, a tester should review it. If the bug was marked as fixed, the tester should try to show that the fix was incomplete. If the bug report was rejected as nonreproducible or not understandable, the tester should fix the report. If the bug was deferred or rejected as a non-bug, the tester should decide whether to gather additional data in order to challenge the deferral or rejection. If the bug was rejected as a duplicate, the tester should decide whether she agrees. Some project teams bury bugs by marking them as duplicates. Normally, the tester who reported the bug will retest it, but if a non-tester reported it, the bug should be evaluated by the tester most familiar with that part of the program. When feasible, that tester should also consult with the original reporter. No bug should be marked as closed unless it has been reviewed and closed by a tester.

Top Community Announcement

  • Worqference Referral Program
    Enrol in the program to get discounts for the ones you refer to register for Worqference and rewards for yourself. Check more details here.
  • The Test Tribe’s Call For Volunteers, 2022
    We are looking for the next Tribe Champions who want to positively impact the Testing Community space, all driven by values. If you are keen, express your interest here.

Content that is Gold but never Old

Great Resources for Software Testing curated by Huib Schoots. These are resources that can serve as ready reckoner irrespective of your experience, domains, etc.

That’s it for this issue then. We would like to thank our contributors to this Issue: Mahathee, Steffy, Rahul, Sandeep, Pravika, and Himani

We hope you enjoyed today’s Issue. Feel free to forward this to your Testing team. Write to us for any feedback/suggestions.

To read more exciting and insightful blogs related to software testing, visit our page – https://www.thetesttribe.com/blog/