August 4, 2020
WHAT IS AUTOMATED SOFTWARE TESTING?

Automation Testing or Automated Testing means carrying out the execution of test cases automatically as opposed to manually and producing the test results without any human intervention.

Automated Testing is typically used in functional regression testing as well as non-function testing such as performance testing, load testing, network testing and security testing. Automated testing tools are very useful to speed up the test cycle as they can replicate manual testing processes at a much faster rate.

FUNCTIONAL TESTING

For functional testing, automation is a time, resource and cost-efficient way to automate manual testing that leaves no or very much less scope for human error in the test results. Having said that, not all manual testing is suitable for automation. Testing Performance can help calculate the return on investment to evaluate manual tests that are suitable for automation.

Once built, automated tests can be executed repeatably to test the same application thus minimizing redundant manual work, freeing up test resources, allowing testing to be scheduled for anytime (including overnight), increasing test coverage, decreasing app to market time and greatly reducing human error.

CONTINUOUS INTEGRATION (CI)

It is this repeatability that also makes automated testing so effective in Continuous Integration (CI).  

Traditionally developers worked on their individual code assignments for an application, which would later be integrated with the rest of the team’s efforts manually.  It could take days, weeks or longer for the build to be tested.  This would often lead to duplication of code, multiple code strategies and creating very hard to find bugs. The developers, having already moved on to the next assignment, had a harder time to fix issues.  

Continuous Integration allows for new code to be tested using automation in a continuous code / test / release process, as it speeds up the development process and catches bugs early in the software development lifecycle. This is only made possible by automating testing.  It would take a very large, highly efficient team of manual testers to keep up with the speed required for Continuous Integration to work effectively.  Automation allows sprints to move forward at the natural pace of development rather than manual testing holding up the process.

PERFORMANCE TESTING

Non-Functional testing such as performance testing can also be automated. It is more complex and therefore needs to be targeted.

It is not realistic to performance test all components of a system, as there are just too many parts in play to be adequately accommodated by a single, high-level approach to performance test automation.

An end-to-end Performance Test Strategy that runs a sequence of these select component level tests is still critical to test the overall response of the application, but testing components at the early stages can reduce the testing time and help in early detection of performance issues.  This is considered to be best practice for Agile, Shift Left, Continuous Integration and Test Early approaches. Detecting performance issues early on in the lifecycle leads to a reduction of risk, as well as project overrun in terms of budget and time.

Posted on:

August 4, 2020

in

Automated testing

category.

Is there a project You'd like to discuss?

related insights

Explaining DevSecOps

Artificial Intelligence (AI) and Machine Learning (ML) in Performance Testing

The Differences between Usability and Accessibility Testing

Why Incorporate Non-Functional Testing Early in the Software Development Cycle ?

Benefits / Drawbacks of Production Performance Testing in Test / Scaled Down Environments

Incorporating Performance Testing within CI/CD Pipelines

How to Obtain Stakeholder Buy-In for Non-Functional Testing

Troubleshooting Performance Issues in Test Environments: A Real-World Scenario

Demystifying Database Tuning - Unraveling Database Performance

‍Functional Test Automation: Why companies often feel let down by the outcome of their investment

The OWASP Top Ten - The Top 10 Web Application Security Risks

Avoiding Artificial Bottlenecks / Performance Issues in Performance Testing

Accessibility Guidelines - Testing for Accessibility and Understanding WCAG 2.1, the Upcoming WCAG 2.2 and Future WCAG 3.0 Updates

What is Volumetric Analysis ?

The Performance Testing Cycle / Process Explained

Service Level Agreements vs. Non-Functional Requirements for Performance Testing

Applying Automated Test Solutions

Combining Performance Testing and Chaos Engineering

Non-Functional Testing Strategy for Performance

Explaining Penetration Testing

Explaining Performance Testing

Explaining Accessibility Testing

Silk Central Upgrade - A simple upgrade ?

Virtual Machine LoadRunner Load Generators on Azure Setup

How Selenium WebDriver can be used for Performance Testing and its Pros and Cons

Performance Testing with SSO, OAuth

16 Tips Before You Automate

Load Testing and Performance Testing Tools

10 Top Tips for Creating Automated Performance Test Scripts