We all know that the software testing is an activity which consists of verifying and validating the software products or services against given functional and non functional requirements. Software testing is an integral part of any software development process. In fact, it’s one of the most important and indispensable activities in a service or product development as it ensures the quality of the product or service taking the end user experience to a new level. After all, who would like to deal with an unreliable and unpredictable software system, especially when it’s a business, life or safety critical environment. A defect in operational production environment is more costly than a bug in the development and testing environments as often the cost of fixing the defects in live operational systems come with the downtime of software system which results either in loss of business and/or diminished user experience.
Traditionally software testing has been an end of development life cycle activity and last phase in any software development process. Software Testers were addressed as “Gatekeepers of the Quality”. However, during last decade software development landscape has rapidly evolved introducing dozens of new terms like Agile and TDD. This has impacted software testing as a discipline in a significant way. No more it’s an end of development life cycle activity for the software products. Software testers are involved in the project right from the inception through the delivery of the final products. In fact, software testing has gained more importance as software systems are used almost in every aspect of our daily lives and deployed in the critical systems at ever growing pace.
Growing need of testing the software systems has paved a way for efficient use of time of the available employees and the infrastructure. Introduction of Automation in the testing discipline is the outcome of this need for improving efficiency and productivity. Generally, the term “Automation” is defined as use of various systems with minimal human control or intervention. In the context of testing, it would mean the automated execution of the tests by means of specialized frameworks intended for the testing.
We need to consider following points while considering a project for Test automation
ROI (Return on Investment) on Test Automation after doing CBA (Cost Based Analysis)
Stability of Application
Maintenance Life cycle of the application under test
Resource training needs
Selection of technology for test automation
We will continue the discussion on this in the subsequent posts in the blog.