Tuesday, July 25, 2017

Top 10 Benefits of automated testing | David Tzemach

תוצאת תמונה עבור ‪best quotes about software testing‬‏


Execution Time

The creation of the test scripts may take some time, but once done, we can execute them faster than any human being that will try to execute them manually.

In addition, the tests can run at night and 24/7 via schedule, this is a Hugh advantage because it does not consume the daily work hours of the resources. 

Quick and detailed feedback

One biggest advantage of carrying out automated testing is the ability to get a quick and detailed feedback on the status of the application at any given time.

This capability is crucial to any development methodology but especially on Agile teams where the code is modified numerous times a day and can be validated with a simple test run.

No more Regression tests

let’s think about a testing process that does not include any automated tests, where testers perform the same regression tests on any testing cycle and version. What is the benefit? None, Testers become frustrated, the testing time is consumed and there is no thinking about advanced and complex test scenarios.

Now, let’s think about a testing process that includes automated tests, What the benefit? Testers will no longer execute regression tests, they will gain more time to improve the test design and focus on exploratory testing.


Automation on all levels of the application development

There are few mandatory phases involved in any process of application development, using automation frameworks, we can automate each phase, which will help us to find defects sooner (Both Functional and Logical).

To demonstrate this point, I created this table that demonstrates how automated tests can affect the quality per development level.

Development & Testing levels
We will test each function with unit tests
Automated tests
Tests are done when the component is tested as “Black-Box” with preliminary inputs and expected results.
Automated tests
Integration and Interface
We will test the integration and interfaces among two or more components, this is can be done using Stubs and Drivers.
Automated tests
The entire system is tested on isolated environment when all components are integrated together
Automated tests
End To End
The application is tested with external artifacts (File Servers, Networks, Etc.)
Automated tests
The human tester will run any tests that are not automated on the previous levels
Manual execution by testers

Continuous integration(CI)

Using automated tools we can implement a process of “Continuous integration” where each code modification is tested (Automatically J) before any check-in to the main branch. Implementing such process will increase the effectiveness of engineering in the following ways:
  • CI detects problems early, therefore any defects will have a smaller impact.
  • Developers receive a fast feedback about the status of the application.
  • Developers can submit their code multiple times a day.
  • The code is tested before conducting a new build.

Reduce the testing Costs

Yes, carrying out an automation process is expensive, but if you think about the full picture, the overall advantages will reduce the overall costs compared to the same process that conducts manually.

  • The testing Resources can be reduced after the initial implementation.
  • The entire development process becomes more efficient.
  • The manual testing effort is reduced
  • Regression effort is narrowed. 


Shared Responsibility

Automated tests are can be written by both developers and QA engineers, therefore, we can split the responsibility between the two sides that will increase the responsibility and contribution of the development team.


Test Coverage

Once built, the testing coverage is increased dramatically, Just think about each test case that you automated, you can run the same test(Simultaneity) on many supported environments, Browsers, and hardware that you just cannot run manually due to narrow timelines.


Reduce the Human resources

After the first implementation, you will no longer need the large number of manual testers that will run the same tests over and over again.



Automated tests are created from a test scripts that will follow the same steps over and over again, this is far more reliable than a human tester that can skip or ignore one step which will lead to a different result. 

No comments:

Post a Comment

My Presentations