Anindita Sarkar Project Manager
Infosys Technologies Limited, Bangalore
This paper discusses the issues we have faced in our testing projects in managing requirements, test cases, test conditions and how we have resolved them. It also discusses the status reporting for a testing project from the requirements perspective. For the sake ofcompleteness this paper also discusses some aspects of the requirements change management process.
Every software project arises out of a business problem. Requirements gathering and analysis try to identify the business problem to be solved and probable characteristic a software product needs to have as a solution to the business problem.
Requirements are the foundation stone onwhich a software product is built. Gathering and managing requirements is one of the biggest challenges a project manager faces in a project. Robust requirement management process is one of the stepping-stones of success of a project.
This paper discusses the issues we have faced in gathering; analyzing and testing these requirements and the workarounds we have taken to overcome those issues.Gathering Requirements
Requirement gathering process can differ from project to project based on their nature, platform and technology. Testing teams will need to take care of the following aspects while gathering requirements for any kind of testing
Testability One of the major challenges we have faced during requirements gathering is the testability of a requirement. Very often customerscome up with requirements that are not testable. To determine the testability of a requirement following questions can be asked • Can we define the acceptance criteria for this requirement? If the answer is no then this requirement is not testable. • Clearly state the assumption you have made on this requirement. Check if the assumption is conflicting with any other assumption/requirement made sofar. If yes then the set of requirements are not testable • Is this requirement clashing with any other requirement? If yes then the set of requirements are not testable • Can it be broken into multiple requirements? If yes then the set of requirements are not testable. You will need to revisit the requirement again.
Completeness of the requirement Very often it is difficult to find outwhether a requirement is complete or not. Incomplete requirements may lead to rework during later stages of the project. To determine the completeness of a requirement following questions can be asked • Who are the actors for the requirement? Requirements of actors of all categories need to be considered to make a requirement complete. • Check about the alternate flows for a requirement. Most of therequirements are not complete because the alternate flows are not captured completely.
Try to understand the Rationale behind a requirement. This will help in identifying gaps in the requirement.
Dependencies of Requirements Clearly identify the dependency of your requirements on • • Any other requirement On systems which are outside the scope of the project. This is prevalent in batchtesting environment where inputs comes as flat files from other system. Interface requirements need to be clearly documented and signed off by all the stakeholders. Few Tips • Identify the pre and post conditions for the requirement. This will help in test data setup and documenting the test results. • Generate a Business workflow of the requirement. This will help the tester in understanding thesystem. • Any information about existing functionality, which is not changing, should be clearly distinguished from the changing requirements. It is a good idea to put these in a new section called Regression test scenario section. • Number all your requirements uniquely. This will help considerably in establishing tracebility. • Get an independent review done to confirm your understanding of...