Software Testing Practices, Test Methodologies and Test Competency Services


Welcome to the world of Software Testing & Best Test Practices.

All you wanted to know about Software Testing, Test Practices, Test Methodologies and building the Test Competency Services !!


Monday, May 19, 2008

Requirements Analysis

After the project has been acquired and the contract has been signed, one of the first functions of the Analysis team is the process of Requirement Definition. Lets explore this now :)

Requirements analysis encompasses those tasks that go into determining the requirements of a new or altered system, taking account of the possibly conflicting requirements of the various stakeholders, such as users. Requirements analysis is the stage where client requirements are gathered & is critical to the success of a project. This is done on the basis of information provided by the client in the form of documents, existing systems and process specs, on-site analysis interviews with end-users, market research and competitor analysis. This stage has the following steps:

Requirements Elicitation: It is the process of gathering customer needs. This involves asking the customers, users and others about the objectives of the system, what is to be accomplished, how the system fits into the business needs and finally how the system will be used.


Analyzing requirements: Once the requirements have been gathered, they become the basis for “Requirements Analysis”. Analysis categorizes requirements and organizes them into related subsets, explores each requirement in relationship to others, examines requirement for consistency, omissions and ambiguity, and prioritizes requirements based on the needs of the customer. Rough estimates of development are made and used to assess the impact of each requirement on project cost and delivery time. Using an iterative approach, requirements are eliminated, combined and modified so that each party achieves some measure of satisfaction. The requirements are used to generate Business Process Flows, Use Cases Modeling and Data Flow diagrams which facilitates a clearer understanding of the requirements and its solution, for both the customer and the developer.

Requirements Specification: It is the process of describing what a system will do. It involves scoping the requirements so that it meets the customer’s vision. Requirements Specification serves as a foundation software, hardware and database design. It describes the function (Functional and Non-Functional) and performance of the system and the constraints that will govern its development. It specifies the inputs and also describes the outputs. These specifications need to be

(i) Complete, Comprehensive, Consistent, Modifiable, Measurable
(ii) Unambiguous ,Testable, Writable, Implementable

Requirements Management: It is the process that helps the project team identify, control, and track changes to the requirements at any time as the project proceeds. Requirements Verification, Validation and Traceability examines the specification to ensure that all system requirements have been stated unambiguously and that inconsistencies, omissions and errors have been detected and corrected.
Recording requirements: Requirements may be documented in various forms, such as natural-language documents, use cases, user stories, or process specifications.

No comments: