How to approach automation?

Phases in automation

It is all about following STLC, but tweaking it by applying automation part. But in general scope of our work is:

  1. Test planning. But before we have to learn the requirements of course. Learn the system, understand scopes, prioritize features. Identify what is in scope of testing, think what and how will be automated. Define the right tools and frameworks (API, UI, perf testing, test data, CI pipeline), develop test execution plans, how to utilize the tests to provide the quality. Think about test environment. Define risks (project changing, env not available, test data is wrong).
  2. Test Design. Designing test scenarios and test cases. You definitely need to understand E2E user flows here. Determine what can be automated.
  3. Test Development. Writing actual code, developing test scripts using tools and frameworks that were defined during test planning. Think about test user and test data, authentication and authorization. OVERALL test scripts should be maintainable, reusable, and follow coding standards.
  4. Test Execution. After tests have been developed, they are executed on the application under tests. The automated tests interact with application, and perform test steps, validated actual and expected results.
  5. Test environment!! Think where and how tests will be executed. CI/CD tool?

    QA, DEV, PROD env.

    Smoke and regression testing. Define scope.

  6. Defect reporting and tracking. After we detected some defect, tickets should be created, assigned to developer and we need to track resolution progress.
  7. Test maintenance. New change requests are coming, tests become deprecated. We need to update our tests cases, and test scripts. Fix broken tests, add new tests.
  8. Test closure. Creating a report about test execution. With, metrics, bugs found, test coverage. Evaluate overall testing, and test automation process.

Decide what to automate

  1. Start from most impactful features, tedious tasks, repetitive tasks.
  2. Scenarios to automate (features)
  3. 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)
  4. Risks
    1. If broken what will be impact to customer
    2. Probability of use
  5. Cost
    1. Easy/quick to write script
SuperMade with Super