At this article, I will try to explain why you must use an automation framework during the different phases of the SDLC process, I will do it by examine a list of eleven facts that will help you to get all the information that you need to get a future decisions
So why do we need to use automation during our testing effort...?
Fact no'1 - No one wants to repeat the same test twice
So you all familiar with the lovable testing method called "Regression" testing, well, without a solid automation, you will repeat your tests over and over again (Depends on the company software releases), which will eventually lead to a frustration among your testers.
Fact no'2 - Automation will save you time
I know that some of you will tell me that you need to put a Hugh effort to create any working automation so this fact is wrong, but let me tell you this, if you design a good and solid automation, that built with best practices right from the beginning, you will achieve :
- A working automation that is flexible to changes (can support new test cases, platforms or any other scenarios that you will need to add during the testing cycles).
- Reduce the effort of your manual tests with a minimum of 50-60%.
- Reusable code that you can use in other automation scenarios.
- Reduce the automation maintenance time.
Fact no'3 – Automation on all layers of the SDLC
Most people think that you use automation to run tests, well this is a very narrow vision, when you examine the different phases of the SDLC process, you will find out that you can use automation in almost every phase, just for example:
1.Automated scripts to create your test environment.
2.Automated tests to examine a new build prior to releasing it to QA.
3.Automated tests on the UNIT and component level.
4.Automated tests that will examine a code modification.
5.Automated tests during the testing cycles.
Fact no'4– Automation as the gatekeeper
When ready, your automation will allow you to validate any code modification (both Edited/New) prior to release it to QA/customer (Classic for a small Service pack/Patch), this fact alone is priceless when you examine the amount of time that the engineering team will waste if this code modification will cause a major defect (Qa/Dev).
Fact no'5 – Automation can free your testers!
Think about it, after implementation, you can run your automated tests during the night hours, this will allow the testers to investigate the automation results in the morning and then they can focus on more complex tests (Especially on the “Nonfunctional” side of testing).
Fact no'6 – Automation can cover multiple test types
We can say today, that the new automation frameworks will allow the organization to cover many test types that were not supported in previous years, this will allow the organization to transfer the manual effort of performance, User interface and many other test types that until now where abandoned from the automation coverage.
Fact no'7 – Automated tests will improve the testing accuracy
Automated tests will do the same operation over and over again without any deviation from the scenario you defined (the same code will run with the exact algorithm until you change it). Now not like the automated tests, a manual tester will always have the chance to make mistakes when running is tests, therefore you cannot guarantee that the accuracy of the tests will be the same as you can achieve in the automated test process.
Fact no'8 – Automation can do things that you cannot achieve manually
It's simple, using a few commands, we can simulate testing scenarios that you simply cannot achieve with the manual testing process.
Fact no'9 – automation is fun!
Manual tests are great and I know that for some people, it's also the preferred testing method, but for me, developing automation tools/scripts are simply more fun and more effective than do the same operation over and over again.
Fact no'10 – Automation will allow you to narrow the costs
The main target of Automated tests is to replace the endless cycles of regression tests, after implementation, the automated tests will reduce the number of the manual testers that was required to run the same cycles prior to the automation coverage.
Fact no'11 – You cannot work Agile without automated testing
I will not review the Hugh important of automated tests in agile implementation, but I will say this, in agile we have a very short iteration (2-4 weeks), this iteration includes all the activities that involved in a software development process, therefore you cannot allow the waste of time of executing regression tests, this will lead to bottlenecks, waste of resources, and eventually will affect the team commitment.