Untitled Document
www.expresscomputeronline.com WEEKLY INSIGHT FOR TECHNOLOGY PROFESSIONALS
28 November 2005  
Untitled Document
Sections

Core to the Edge
Wireless
Cabling
Connectivity
Convergence
Infrastructure Management
Security
IP SAN
Value Added
Technology Life

Columns

Between The Bytes

Specials

HMA Bankbiz
UPS Batteries

Services
Subscribe/Renew
Archives
Search
Contact Us
Network Sites
Network Magazine India
Express Hospitality
Exp. Travel & Tourism
feBusiness Traveller
Express Pharma
Exp. Healthcare Mgmt.
Express Textile
Group Sites
ExpressIndia
Indian Express
Financial Express

Untitled Document
 
Home - Value-added - Article

Why Application Quality and Testing is Important


T. Srinivasan
Managing Director
Mercury India

Quite often in the world of application development, testing is not seriously considered until programming has been almost completed. Clearly, this approach to testing is inadequate in light of the increasingly high demand for software quality and short release cycles.

As a result, the place of testing in the application lifecycle is beginning to change.

Fueled by competitive pressures and high costs of downtime, application testing is evolving into a multi-stage process with its own methodology, structure, organization and documentation.

Increasingly more organizations are starting to adopt the process where application testing takes place in parallel with development, starting as soon as the project has commenced.

Like much of the development process, application testing process needs a methodical building block approach that includes requirements definition, planning, design, execution and analysis - to ensure coverage, consistency and reusability of testing assets.

As soon as the project requirements have been defined, test planning can get underway. The advantage of doing it in parallel with development is that the knowledge that was put into application design is not lost and can be applied to designing testing strategy.

Based on project objectives, test managers can build a master test plan, which will communicate testing strategy, priorities and objectives to the rest of the team.

Based on the master plan, testers can define test requirements, or specific testing goals. Requirements define WHAT needs to be tested and what objectives - such as performance goals - testers have in front of them. Once the requirements have been defined, testers can start developing testing procedures designed to meet/validate those requirements and run the tests.

What is Test Management

Test management is a method of organizing application test assets - such as test requirements, test plans, test documentation, test scripts and test results - to enable easy accessibility and reusability. Its aim is to deliver quality applications in less time. Test management is firmly rooted in the concept of better organization, collaboration and information sharing.

Planning, designing and running tests represent a considerable amount of work, but these efforts are well rewarded when all testing assets are shared by testers, developers and managers alike; preserved when a tester leaves the team; and reused throughout the application's lifecycle.

Do it right or do it over - The reasons for test management

Despite the claim that test project management is widely accepted as a common practice, most organizations don't have a standard process for organizing, managing and documenting their application testing efforts. Often, testing is conducted as an ad-hoc activity, which changes with every new project. Without a standard foundation for test planning, execution and defect tracking, testing efforts are non-repeatable, non-reusable and difficult to measure.

Better, Faster, Cheaper

Application testing without following any planning and design standards can result in the creation of tests, designs and plans that are not repeatable and therefore unable to be reused for future iterations of the test.

Organizations that think application testing process is difficult to implement, and even more challenging to enforce and maintain, should consider the cost of redundant work and accidentally lost and overwritten testing assets.

Without a central point of control and clear, repeatable methodologies, it's difficult to keep the testing project on track and deliver quality applications on time with limited resources.

Daily Builds and Smoke Tests

The process of releasing a new build every day and then checking it for consistency, functionality and compatibility is becoming increasingly popular not only in the Web environment, but in any organization that builds complex, dynamic applications. While smoke tests are fairly simple, the sheer number of tests and versions can make the testing process overwhelming and nearly impossible to manage.

A well-defined, systematic approach to testing and a centralized repository for tests, plans and execution results can significantly increase the accuracy of smoke tests and add value to having frequent builds.

Managing Changing Requirements

Complete requirements-based testing is the way to ensure that the finished system meets the user's needs. In an ideal world, each requirement would be tested at least once, and some requirements would be tested several times. But constant time and resource constraints make it extremely difficult to conduct comprehensive testing of all requirements.

As a result, testers must prioritize the requirements they wish to test. And like any other area of application design and development, requirements undergo frequent revisions and changes, which have to be reflected in the tests. Without a test-management process that ties test plans to application functional requirements and allows organizations to track requirements changes to test cases (and vice versa), it's nearly impossible to design tests to verify that the system contains specified functionality.

Global Testing

Testing, like most other IT departments, is seeing the effects of globalization. Even small companies often have their testing teams distributed throughout the country, or even the world. Cost considerations, higher availability of qualified testers and better retention of skilled employees force companies to turn to a "distributed" testing model. It's not uncommon to have multiple development and testing teams, spread around the world, working on the same project.

True, the Internet is making communication easier, but how does a distributed team like this ensure that its members are not accidentally deleting each other's files or working on duplicate defects? Without a clearly defined testing process and an easy-to-use, intuitive collaboration method, any attempt to set up a geographically distributed "virtual" testing team will likely bring more problems than benefits.

Many Tests, Many Projects

Effective testing requires a systematic process. When a testing team is handling multiple projects, each with its own cycles and priorities, it's easy to lose focus. Almost no organization has the luxury of dedicating a testing team to one development project.

At best, a testing team is part of the development group that is working on a particular product. Still, there are multiple functional areas, builds and baselines; different platforms and environments; and an endless array of integrations that need to be validated.

To keep track of multiple test cases, testers need a process that will allow them to manage multiple projects and clearly define the objectives of each one.

 


UNSUBSCRIBE HERE
Untitled Document
© Copyright 2001: Indian Express Newspapers (Mumbai) Limited (Mumbai, India). All rights reserved throughout the world. This entire site is compiled in Mumbai by the Business Publications Division (BPD) of the Indian Express Newspapers (Mumbai) Limited. Site managed by BPD.