Lifecycle Test Automation

Automated testing involves many ideas in all aspects of the software lifecycle.

What to Automate?

It may not be possible to automate all activities in testing? How do you decide what to automate and what to leave to manual work?

The general answer is this: automate as much of the regression test cycle as you can. This cycle is the full cycle of activities in applying a set of tests to software for the second or subsequent time. Shortening this cycle is key to effective testing that minimizes the time-impact of testing on the SQA team as well as making maximum use of the available testing resources.

What this means is that initial test set up is less important to automate. In general, the cost of new manual test cases is paid only once, while the cost of manual application of test cases could be paid repeatedly.

Test Metadata

The central requirement in large-scale testing is to have a systematic approach to test metadata, that is, information about individual test cases and test executions.

Unique Test IDs

Each individual test case should have its own unique and permanent identification number or ID.

Test Attributes

Once a system of test IDs has been created, then a database of basic test attributes can be created and associated with this ID.

Change-Centric Testing

With large scale test automation over a long period of time, there may be too many test cases for daily use with software builds.

Change-centric testing works from source-code changes to select test cases that specifically cover the particular source lines that change. This can greatly reduce the cost of test execution and shorten feedback cycles.

Test Case Maintenance

In a test automation setting, each test case should be design for potential long-term use in system regression testing. Tests cases should hence be written for maintainability.

Continuous Integration Systems

Continuous integration systems perform significant test automation through automated builds triggered by commits to a source code repository.