Why should we automate our tests?

Quality assurance testing holds different approaches, the first and up until recently most common one is manual testing; A tester who conducts a series of predefined test cases without aids of scripts. The other is automation testing which executed by automation developers; They write code that automatically performs various of test cases automatically or scheduled. Both approaches are equally important and each serves the same purpose in a different way. Each of the testing approaches has its own advantages, I will focus on the advantages of automation testing approach.


We all know automation testing is not cheap. It takes time and effort to evaluate and select the test tool that will fit best for our project’s needs. In some cases we will need to custom build a test platform, it takes time and money to build and maintain the platform; in some cases it could take even more time to actually implement it; Despite it, in a survey performed in 2017 with more than 1600 participants from more than 60 countries around the globe, 85% of tester responded ‘yes’ to having automation testing as an integral part of their quality assurance and project life cycle.


I will cover the top five reasons that in my opinion makes automation tests so crucial and vital to almost every project. Nevertheless, I do want to point out that not all projects are required to have automation tests, each project has different needs, time, budget and type. Those should be taken into consideration before investing in an automation framework for the long run.


1. Automation Reduces Time

In a fast paced agile environment, time has a crucial role, from releasing versions to fixing production bugs. Automation testing unlike manual testing are performed by a machine that can run our tests rapidly and repeatedly countless of times. In a world where time is money and competitive companies popping like mushrooms after the rain, saving time is a game changer. We can easily run our test suite countless of times without aligating a tester to do so. Nevertheles, automation help us detect areas that are bug prones and throught time to estimate in an accurate way the system's overall well being.

2. Automation Reduces Effort

When our tests are automated we can easily switch between environments, new api and new use cases, It allow us to effortlessly maintain an all purpose test platform. Clearing more time for creating more test cases and new features for our tests platform. Nevertheless, With automated testing, reports are produced quicker and are far more accurately.

Another issue is a new developer, when  tests are automated, new developers can just get go over the code, run it and quickly comprehend the system, saving effort of elaborate training process.

3. Automation Increases Productivity

Our tests are running as part of the build process. which gives developers more time to keep developing — unless, the tests are failing. When tests are failing it’s a rather simple process to detect new bugs or unintentional changes.

4. Automation Increases Predictability

If a process is done in the same way each and every time, than the results should be predictable. Of Course, there is an external variable, ourcode, which isn’t predictable. when tests are automated and our code is of a high standard, we increase the predictability of the outcome - we know in every possible moment the stability, coverage and projects overall quality assurance. In a financial or life risking related projects, reliability is crucial.

5. Automation Save Money

Automated testing increase coverage in far more significant way than manual testing. More aspect of the program can be tested; Especially those which a manual tester can perform, such as load testing, stress testing and complicated security tests. The beauty of automated testing is that it is not prone to human error, assuming the code is written properly. In manual testing, human errors and large volume of data that needs to be tested is more likely to not be  accurate.

I believe that if after taking into account all the variables of our project - budget, type of project, is the project for the long or short run and so on; And if we find automation suites our needs, the benefits of holding such a valuable and strong approach for our project is enormous and can help us achieve our ultimate goal - a project in the best quality we can deliver.


Keren Maslansky

QA Engineer at M.S.Bit Ltd.

6 年

Thanks for sharing, valuable information!

回复

Great article Sarit...kudos for the effort

回复

要查看或添加评论,请登录

Sarit Vakrat的更多文章

社区洞察

其他会员也浏览了