Monthly Archives: February 2015

Automation Testing smoothens the Software Development Cycle

Businesses these days run on software applications built to support almost all the departments of an organisation. Be it Customer management, where a CRM application comes handy or be it Resource planning, where an exhaustive ERP system manages every part of the business, software applications are inherently part of every business.

Project managers, testers and developers who are typically involved in such complex software application development process are given the task of building a bug free application with limited resources and time. Most of the businesses want their software projects to be delivered in quick time and they sometimes ignore a proper automation testing plan which later results in increased costs and wasted resources.

Automation testing is something which is gaining momentum and is increasingly adopted by organisations to get a bug free application in real quick time. With complex software applications, there is a greater need to execute 1000’s of test cases which are impossible to execute manually.

Testing usually involves testing not only functionalities but do a proper load testing, security testing and volume based testing to make sure it supports multiple users at any moment of time. Project manager’s needs to be careful to choose the best automated test tool which serves the purpose of testing the application functionalities.

Automation testing if executed properly can do wonders to the software application testing life cycle by executing test cases mapped to the requirements and at same time maximising the test coverage by allocating minimum number of resources. The automated test process should start early in software development life cycle when business requirements are captured. Business requirements are translated to test cases using a requirement traceability and mapped to multiple test cases to be executed by using the right automation testing tool.

Software development methodologies like Waterfall model, Incremental model and Iterative models usually involve testing from beginning itself and a repetitive testing with every new build which is released. This makes the manual testing a herculean task and is impossible to be executed in limited time. Automation testing makes the testers focus on multiple other aspects of trying and finding the bugs in the application as automation testing tools does not run on the iterative test cases. With continuous changes in the business requirements , test cases get added, subtracted and modified to refine the software and uncover the defects and with automation tools it becomes easier to manage such changes.

Economic benefit is also considered when deciding whether to go for Automation testing or not. For smaller projects with limited functionality and use, manual testing is considered to be right as the number of test cases to be executed are less. But as the scale of software project increases it is suitable to go for an automated test approach with increased number of test cases. Automated testing is mostly used in regressing the test cases using the automated test scripts which cover all the functionalities of an application.

Though Automation testing is a must in most of the software projects, manual testing is also important and it is a mix of automation and manual testing which makes up a Test plan. 100% automated testing is not recommend in any software project and a proper Automation test plan linked to the requirements is necessary which should not be executed in an ad hoc manner.

Automation testing leads to a reliable software application without defects, saves loads of time and at the same time improves the test quality. So you have to decide which automation testing tools you want to go with and how much you want to automate in the whole software testing process. If you are unsure about it, you can rely on competent Independent Software testing experts to choose the best software testing methodology for you.

5 things to consider before considering Test Automation

Automation testing is being aggressively adopted by various organizations looking to get the best result out of their testing efforts. Test automation in simple terms is use of software tools to execute the test cases and compare the actual outcome with the predicted outcome. This activity though performed manually by the testing teams but can be automated with use of right testing tool. There is an ongoing debate on Manual vs Automation testing in terms of ROI it provides and many organizations still go through various factors before adopting any of the well-known automation tools. Over last few years, the testing process has gone through a sea change with new testing methodologies like agile testing etc. Added to this, the complexity of the software has increased drastically and some applications in e-commerce and banking domain attracts huge amount of customers making testing even more important. It has become imperative to adopt test automation to meet the demands.

Here are the 5 things which one should consider before considering Test Automation for their project:

Project stage

The project stage plays an important role before going for the automation. UI for example should be finalized before going to decide to go for automation. If the requirements are constantly changing along with the UI, then the cost of automation can go up and it will require lots of effort to maintain the automation scripts.

Testing process

A good test automation framework can make the life easy for the testers as it promotes reuse of critical components and reduce maintenance efforts. Adopting an automation tool for its ease and record & playback feature alone can backfire. It requires a thorough understanding of current testing process and needs a clear vision / expectations before beginning with test automation. One needs to answer some questions like which modules of the application needs to be automated and so on before jumping into it.

Resources

Skilled resources are needed for any automation project given the complexity of the process. Building automation scripts requires knowledge of programming which should have a strong perspective of software design and architecture. Building an experienced automation team can cost you a lot and should be considered in the overall cost of the project. One can also consider the options of QA staffing or outsourcing to lower the impact.

Usage and Adoption

Automation frameworks can be fairly complex if not built properly. An ideal automation framework should be easy to adopt and easy to use for users. It should keep the fundamentals of the testing process intact and bring some standardization which is necessary to build a scalable test automation framework.

Cost

One of the main criterion which everyone considers before going for test automation is cost. A good test automation framework brings down the maintenance costs which are typically higher than the development costs. Apart from the dollars, you need to focus on right automation tools, skilled automation testers and a framework where scripts can be easily managed. One should try hands with some open sources frameworks initially and evaluate before you actually build one to see the real impact of the automation and costs associated with it. Hiring a test advisory service provider who can do this for you is also an option you should consider before going for test automation.

Automation testing can be one of the best ways to get most out of the resources and time. But analysing the exact cost of the automation is difficult and depends on the application which has to be automated. For the ROI sake, it is advisable to try building few scripts for some of the most complex part of application and run it multiple times on various builds to check the viability of it.

A mix of manual and automation testing is what is recommended for most of the applications. Automation gives you the flexibility to run the time intensive testing via automation tools while keeping the more intuitive work for the manual testers.