Wednesday, February 15, 2023

When to Start the Automation in Software Testing?


The Question of a Decade?

Today, when I draft this post, the calendar date is 14th February 2023.  If I look back to 10 years ago and ask myself what are the questions in and around Software Testing and Automation, I see this question.  What is that question?

When to start the automation?

We answer, hear, read, and discuss this question, today too!

Often, the opinion that comes out is, ".... to automate when it is stable".  Note that it is an opinion, not an answer or a fact accepted universally.


To Start Automation when it is "Stable"!?

My learning is,

Do not think of starting the automation when it is "stable".

The "stable" is an assumption we tend to believe by the outcome of using the system.  The binaries are never "stable".

The binaries appear to not show any risks and problems for the way one is using it in a context.  To be more precise, we are not seeing the risks and problems that binaries are showing us in other dimensions.  That is, the dimensions that we are not aware of or the dimensions that we are not focusing on.


When to Start the Automation?

I learn,

Start the automation, when the system is testable!

This leads to me the questions:

  • What is testable?
  • When it is testable?
Understanding testability helps me to learn and identify its child attribute -- automatability.  That is, understanding testability helps me to learn the order of "testable".

Testability does not mean "stable".  Testable does not mean "stable".

But the assumption "stable" means there are some characteristics of testability, automatability, and order of testable.

Automate when you learn, it is testable, and identify a layer of testability.  This helps to pick the better seam [that is the appropriate layer(s)] for automation in a given context.

Keep the automation structure ready, so that intent of a test can be expressed via code as we identify [a layer of] testability.

Maybe, this is what people say LEFT or SHIFT LEFT or START LEFT.  Or, could be out of the SHIFT LEFT BOX!



3 comments:

  1. [[..Pingback..]]
    This article was curated as a part of #75th Issue of Software Testing Notes Newsletter.
    https://softwaretestingnotes.substack.com/p/issue-75-software-testing-notes

    ReplyDelete
  2. Thanks for the Article but i want to ask how should we schedule learning.
    i am a junior QA Engineer and started learning automation with python already done some basics projects like (automation from Front-end with pyunit test framework) Data driven and some database SQL/MongoDb testing with the python scripts
    but dont know why i can not preparing the learning tasks objectives as i am expecting there is so much things to learn and time is less
    the reason of asking is when you were a begineer how did you start your career as automation engineer what were your chosen steps and paths.

    ReplyDelete
    Replies
    1. Hello Anonymous,

      I'm happy to read your question.
      Wow! It is good to know that you have started the practice using Python. Continue! You are doing it!

      Also, I'm ready to share. Sharing in one comment is not possible for me.

      Please, connect to me on this email-id: ravisuirya1 at gmail dot com

      I will listen more to you and share what I'm aware.

      Delete

Please, do write your comment on the read information. Thank you.