Monday, May 18, 2009

The growing role of Software Testing

Today, most software and technology organizations run dedicated quality assurance department with complete staffing from junior testers to senior quality assurance engineers. The reason behind this is Software testing not only uncover that a product works properly under required conditions but can also initiate that it does not function properly under specific conditions. The scope of software testing includes examination of code as well as execution of that code in various environments and conditions as well as examining all aspects of code.

Although testing is an integral part of SDLC, emphasis is given to keep it independent from development. In the past, software testing was merely executing a series of steps manually and punching various key strokes as an attempt to break the application and testing was carried out after development was over. Today this has changed and the software testing activity starts right from the requirements definition stage and testing professionals play the role of arbitrator, mediator, translator, negotiator between the parties to ensuring that their ideas not only accurately specified and designed, but that the criterias required for effective quality and testing are captured and articulated into models and tools so that tests are accurately generated to verify the design and validate the requirements.

In many organisations today, ‘test driven development’ is the norm. This increased focus on quality has greatly increased the scope of testing activity. Testing is now compared at par with other IT services in terms of revenue for companies and also for the kind of remuneration and career growth it has on offer for a professional to enter this domain. In, addition the recent development of complex web-applications, where multi-layered designs were architected in order to hold complex business logic, which also have to be supported in various platforms and network structures will further increase the potential areas for failure and as a result the need of efficient testing approaches. Testing and Quality assurance are becoming more important in software engineering process as they add more value to businesses in their desire of brining products and services to market as rapidly as possible, with minimal risks.

However, Software testing should not be taken as an alternative to software development, contrary testing professionals should work closer with Subject matter experts, Business analysts, system architects and end users to mitigate the risks and increasing benefits of business changes.