Test Automation

Benefits in test automation

  • Efficiency: Automated tests can run faster and more frequently than manual tests, allowing for quicker feedback on the software's quality.
  • Early detection of bugs, TA provides faster validation and smaller feedback cycle. So, increased efficiency.

  • Time and cost savings: Save time because automated tests are reusable. And executing usually faster. They save time that leads the shorter time-to-market of product.
  • Cost saving in long run by reducing number of manual testing.

  • Accuracy: Automation reduces the risk of human errors that can occur during manual testing. Automated tests follow a predefined script, eliminating the variability introduced by human testers.
  • Continuous Integration and Continuous Delivery (CI/CD): Automation is crucial for implementing CI/CD pipelines, where code is automatically built, tested, and deployed. This accelerates the software delivery process.

Disadvantages:

  • The primary goal of automated testing is to save time, effort, and money on repetitive tests that don’t change frequently.
  • Automation could be expensive, if you don’t find out how and what to automated and you need consider the time

  • Development time and cost, maintenance cost.

So, by using automation, we are able to increase test coverage by:

  • repeating test cases multiple times with different input data
  • executing test cases that we shouldn’t have thought of before
  • freeing up time to create new test cases.

What is the right time to start implementing QA automation?

  • Long-term development and frequent releases
  • Project’s all functionalities are stable and don’t need improvement
  • A lot of routine work, which may lead for missing defects

The primary goal of automated testing is to save time, effort, and money on repetitive tests that don’t change frequently.

Automation could be expensive, if you don’t find out how and what to automated and you need consider the time (automation the test should not take much time compared to human)

Decide what to automate

Automation is recommended for:

  • Test cases that are executed repeatedly and requirements are not changing (ex: CRUDs)
  • Large scale testing (high volume of testing): testing across multiple platforms and configurations.
  • Complex scenarios: test cases that involve multiple data inputs, many states calculations, and many interactions.
  • Test cases which are time consuming
  • High risk and business critical test cases
  • Automated is recommended for types of testing:
    • Regression
    • Performance (load and stress testing)
    • Data driven testing

How to prioritize the test scenarios?

  1. Start from most impactful features, tedious tasks, repetitive tasks.
  2. Give each scenario a value (evaluate with stack-holders)
    1. Importance of feature
    2. Probability this feature will be fixed if broken
    3. Distinctness of scenario (add multiple items can be done one by one)
  3. Risks: if broken what will be impact to customer
  4. Cost: easy/quick to write script

Automation is NOT recommended for

  • One-time, ad-hoc or exploratory testing
  • Testing a feature under development (Requirements changing freq.)
  • Testing 3rd party service
  • Cases where time and cost investment is too high
  • Usability testing/Accessibility teting: Human judgment is crucial for evaluating the user-friendliness and intuitiveness of an application.
SuperMade with Super