Skip to main content

Introduction

In Automated testing, testers are required to write test scripts and frameworks to automate test execution. Specific tools are used dependant on the project. Automated testing relies on the testers pre-scripted test to compare real results against the expected results. By comparing results, the tester can determine whether the product performs as expected.

A key benefit of Automated testing is that it allows you to execute repetitive tasks, such as Regression tests, without the need for human intervention. Even though all processes are performed automatically, automation requires some manual effort to create initial testing scripts. Automated tests are executed with the help of tools, scripts, frameworks, and software to perform the pre-defined actions written in the test cases. An Automated tester must possess strong programming knowledge with the most common languages being Java, C#, C++, and Python.

Automated Testing Process

The following steps represent a series of steps that must be undertaken to perform Automated testing.

  • Test Tool Selection: This very much depends on the technology used to build the product. Not all testing tools support each technology
  • Define the Scope: Which area of the product under test will be Automated?
  • Planning and Development: Create an Automation strategy containing all the selected tools, the framework design, schedule, timeline, deliverables, and test execution
  • Test Execution: Compiled Automation scripts are executed. The test can be executed using the Automation tool or through a test management tool
  • Maintenance: As the product under test continues to add new functionalities, additional scripts need to be added, reviewed and maintained. Active maintenance can improve the effectiveness of Automated Scripts

Manual vs Automated

Any software testing type can be executed both manually and automated. In each testing type, a range of testing methods are available, methods which are covered on this site, such as Black-box testing, White-box testing, Integration testing, System testing, Performance testing, and Load testing. Some methods are better suited to Manual, and others to Automated.

Manual Testing icon

Manual

  • Manual testing requires human involvement
  • Manual testing can be labour intensive
  • Manual testing can imply high costs
  • Manual testing can be applied to any product
  • Manual testing can be considered to be not accurate due to potential human error
Automated Testing icon

Automated

  • Automated uses tools to execute tests
  • Automated testing can save time
  • Automated testing can be cost effective
  • Automated testing is better suited in stable systems
  • Automated testing is more reliable

Automated Testing Scenario

Automated testing is best suited to the following scenarios

Regression Testing

Automated testing is suitable if a product has frequent code changes. Frequent changes to the code requires frequent testing. Regression testing ensures that any changes to the code or addition of code do not affect existing functionalities.

Load Testing

Load testing tests the behaviour of an application when accessed simultaneously by multiple users, and Automated testing is preferred to help determine a system’s performance under real-life load conditions.

Performance Testing

Automated testing is preferred for Performance testing due to the aim being to eliminate bottlenecks, requiring Automation to represent high numbers of concurrent users. Performance testing tests for speed, scalability, and stability of the product.

Return to the top
User Sitemap