Software testing and importance of test automation in agile development

Agile development is the buzz word in today's software development and software testing world. It's a paradigm shift from the typical process oriented software development models used.

In agile mode, software release/delivery cycles are short. Features are doled out in small sets compared to the big bang approach in traditional delivery models. Hence testing in the agile environment demands new approaches to testing.

Unlike traditional V-Model, there is practically not enough time available for requirements review, feedback, writing test cases, test plans, etc. There will be quick walk throughs by developers and maybe some brief documentation on the feature planned to be released.

However, as testers it becomes all the more important to maintain documentation. We have to face the fact that in agile development, engineering will keep delivering features every release, but without a proper test plan / test cases documentation, the test coverage will lose visibility and it becomes hard to plan for allocating the resources for test requirements.

Another challenge in agile environment is regression testing. As new features are delivered frequently, it's the QA department's responsibility to ensure regression tests ensure core functionality of the product is not broken. Test automation becomes a necessity and very important to ensure test coverage. So, time and resource management becomes a crucial skill here.

All this can be managed with a little discipline adopted. Use a good test case management tool (Example: Testlink) to track the positive and negative test cases. Mark what can be automated and what cannot be automated. Automate the core tests that can be run day in day out for regression. And ensure tests that are not automated to be covered with manual testing. Test automation should not be ad-hoc. It has to be planned and executed like a development project with objectives and deadlines well defined. It has to accommodate the possible ongoing changes to product changes due to change in customer requirements.

This means continous progress on automation projects is extremely important and the test suites must be prepared on time for the ongoing changes in product development.

User login

Who's new

  • amitbhagwat
  • TenLekerand
  • ClainaNaigh
  • RaviGunasekaran
  • gopasruhafoni

Who's online

There are currently 0 users and 3 guests online.