Requirements Engineering

Page 1

Limited Business Circulation

Testing Essentials Unit 3 Requirements & Testing QSIT- Quality Solutions for Information Technology Pvt. Ltd., A 806 & 807, Mittal Tower, BANGALORE- 560 001,INDIA URL: www.qsitglobal.com PH: +91 80 41134334 Fax: +91 80 25597445

Software Testing Essentials

1

www.qsitglobal.com

Tollgate questions

What are requirements? Why is it called “requirements engineering”?

User, derived Functional and non-functional Software Testing Essentials

QSIT Copyright

2

www.qsitglobal.com

Page:1


Limited Business Circulation

Importance of RE: Study

Survey Conducted by Standish Group – Standish Group is a well respected market research firm – To find causes which are coming in the way of delivering quality software , on time and on budget

Data collection for study: – 352 companies – 8000 software projects

Software Testing Essentials

Findings – 31% of all software projects are canceled before completion

($81 billion waste)

53% of projects will cost 189% of estimates 9% on time and on budget (large companies) 16% on time and on budget (small companies)

3

www.qsitglobal.com

Top Three Reasons: Statistical Analysis

Project Impairment Factors

% Of Responses

Lack of User Input

12.8%

Incomplete Requirements and Specifications

12.3%

Changing Requirements and Specifications

11.8%

Causes for Failure Inability to understand and capture requirements effectively Weak engineering discipline in managing requirements Gold plating” Inaccurate planning Software Testing Essentials

QSIT Copyright

4

www.qsitglobal.com

Page:2


Limited Business Circulation

Cost of Requirement Errors

Studies performed at GTE, TRW and IBM: Errors made in the requirements phase are extremely expensive to repair

.

If a unit cost of ONE is assigned to the effort required to detect and repair an error during the Coding Stage, then the cost to detect and repair an error during •The Requirement Stage is between FIVE to TEN times less •The Maintenance Stage is TWENTY times more

As much as a 200:1 cost savings result from finding errors in the requirements stage versus finding errors in maintenance stage of the software life-cycle

Software Testing Essentials

Relative Cost Stage To Repair ================ 0.1 to 0.2 Reqmts. ----------------------------0.5 Design ----------------------------1 Coding ----------------------------2 Unit Test ----------------------------5 Acceptance ----------------------------20 Maintenance -----------------------------

5

www.qsitglobal.com

An eye-opener: Distribution of bugs

Software Testing Essentials

QSIT Copyright

6

www.qsitglobal.com

Page:3


Limited Business Circulation

Requirements: Definition

Requirements are a specification of what should be implemented. They are description of how the system should behave, or of a system property or attribute. They may be a constraint on the development process of the system. (Sommerville and Sawyer 1997)

Software Testing Essentials

7

www.qsitglobal.com

Levels of Requirement

Requirements comprises of THREE distinct levels

Business Requirements

User Requirements

Functional Requirements In addition every system has assortment of Non-Functional Requirements Software Testing Essentials 8

QSIT Copyright

www.qsitglobal.com

Page:4


Limited Business Circulation

Relationship of several types of Requirements

Functional

Non Functional

Business Req.

Vision & Scope Doc Business Rules User Req. Quality Attribute

Use-Case Doc External Interfaces

System Req.

Functional Req. Constraints

Software Requirements Specification

Software Testing Essentials

9

www.qsitglobal.com

Levels of Requirements - Glossary Business Requirements: High Level objectives of the organization or customer who requests the system User Requirements: User goals or tasks that the users must be able to perform with the product Functional Requirements: The software functionality that must be built into the product. System Requirements: The top-level requirements for a product that contains multiple subsystems. Software Testing Essentials

QSIT Copyright

10

www.qsitglobal.com

Page:5


Limited Business Circulation

Levels of Requirements – Glossary (Cont.) Business Rules: Include corporate policies, government regulations, industry standards, accounting practices and computational algorithms –

Statement that defines or constrains some aspect of the system Days worked in a week Taxonomy - facts, constraints, event rules, production rules (inferences), computations

Quality Attributes: Complements the product’s functionality by describing the product’s characteristics in different dimensions that are important to all stakeholders.

Software Testing Essentials

11

www.qsitglobal.com

How can we relate business rules and requirements?

RTM – link business rules and pertinent functional requirement

Software Testing Essentials

QSIT Copyright

12

www.qsitglobal.com

Page:6


Limited Business Circulation

The bridging stakeholder

Requirements analyst

Software Testing Essentials

13

www.qsitglobal.com

Characteristics of Good Requirement Complete Each requirement must fully describe the functionality to be delivered Correct Each requirement must accurately describe the functionality to be built Feasible It must be possible to implement each requirement within the known capabilities and limitations of the system and its operating environment Necessary Each requirement should document a capability that the customers really need. Software Testing Essentials

QSIT Copyright

14

www.qsitglobal.com

Page:7


Limited Business Circulation

Characteristics of Good Requirement (Cont.) Prioritized Every functional requirement must have implementation priority Unambiguous All readers of the requirement statement should arrive at a single consistent interpretation Verifiable It should be possible to derive test cases for every statement to determine whether the feature is implemented fully to its meaning in the product

Software Testing Essentials

15

www.qsitglobal.com

Characteristics of Good Requirement (Cont.) Consistent The functionality or feature described should not be conflicting with higher-level business, system or user-requirements Modifiable Should be able to revise the requirement, if absolutely necessary, and maintain the change history Traceable Requirements shall be uniquely labeled with persistent identifier

Software Testing Essentials

QSIT Copyright

16

www.qsitglobal.com

Page:8


Limited Business Circulation

What’s wrong with these requirements?

The The The The

system will correct records wherever possible system will be user friendly employee identifier must be within a valid range counter value is picked up from the last record

Create a means for protecting a small group of human beings from the hostile elements of their environment – What is missing? – What is ambiguous? – Have you introduced any new elements?

Software Testing Essentials

17

www.qsitglobal.com

Identify functional and non-functional requirements here. Electronic Diary I want a personal computerized diary so that I can maintain a diary of appointments at half-hourly intervals during normal working hours. Appointments should be either flexible (able to be moved) or fixed. Ideally, I would like my colleagues to be able to read my electronic diary from different machines but not to update it. My requirements are: 1 The diary must be able to accept appointments up to three months ahead. 2 The software must run on my Macintosh. 3 There must be a facility for entering regular appointments, such as lectures and tutorials, easily. 4 The most important thing is that the software should be reliable. 5 I would like to have 256 colours to allow me to colour code the importance of my appointments. 6 It would be useful to be able to copy extracts from my electronic diary to and from Microsoft Word documents. 7 The total size of the diary database must not exceed 1.4 Mbytes. 8 I need to be able to print the diary in the form of pages and transfer data to my PDA.

Software Testing Essentials

QSIT Copyright

18

www.qsitglobal.com

Page:9


Limited Business Circulation

Requirements Specification: Contents

PROJECT DRIVERS – The Purpose of the Product – Client, Customer and other Stakeholders – Users of the Product

PROJECT CONSTRAINTS – Mandated Constraints – Naming Conventions and Definitions – Relevant Facts and Assumptions

FUNCTIONAL REQUIREMENTS – The Scope of the Work – The Scope of the Product – Functional and Data Requirements Software Testing Essentials

19

www.qsitglobal.com

Requirements Specification: Contents (Contd.)

NON-FUNCTIONAL REQUIREMENTS – Look and Feel Requirements – Usability Requirements – Performance Requirements – Operational Requirements – Maintainability and Portability Requirements – Security Requirements – Cultural and Political Requirements – Legal Requirements

Software Testing Essentials

QSIT Copyright

20

www.qsitglobal.com

Page:10


Limited Business Circulation

Requirements Specification: Contents (Contd.)

PROJECT ISSUES – Open Issues – Off-the-Shelf Solutions – New Problems – Tasks – Cutover – Risks – Costs – User Documentation and Training – Ideas for Solutions

Software Testing Essentials

21

www.qsitglobal.com

Can we refine these requirements in an SRS?

The system behavior should be acceptable The response time shall be between 5 and 10 seconds The system shall be flexible The system shall ideally be catering to several users at the same time State-of-the-art features are part of the system The user documentation shall be simple

Software Testing Essentials

QSIT Copyright

22

www.qsitglobal.com

Page:11


Limited Business Circulation

Objectives of Requirement Validation

Requirements validation activities ensure that The SRS correctly describes the intended system capabilities and characteristics that will satisfy various stakeholder needs The software requirements have been correctly derived from the system requirements, business rules or other sources Complete and high quality All requirement representations are consistent with each other Requirements provide an adequate basis for design and construction Software Testing Essentials

23

www.qsitglobal.com

Requirement Validation – Inputs and Outputs

Requiremen ts Document Organizatio nal Knowledge Organizatio nal Standards

Software Testing Essentials

QSIT Copyright

List of Problems Requirements Validation Agreed Actions

24

www.qsitglobal.com

Page:12


Limited Business Circulation

Requirements Review

A group of people – read and analyze the requirements, – look for problems, – meet and discuss the problems – agree on actions to address these problems

Software Testing Essentials

25

www.qsitglobal.com

Requirements Review Process

Plan review

Distribute documents

Prepare for review

Hold review meeting

Follow-up actions

Software Testing Essentials

QSIT Copyright

26

Revise document

www.qsitglobal.com

Page:13


Limited Business Circulation

Requirements Review Activities

Plan review – The review team is selected and a time and place for the review meeting is chosen. Distribute documents – The requirements document is distributed to the review team members Prepare for review – Individual reviewers read the requirements to find conflicts, omissions, inconsistencies, deviations from standards and other problems.

Software Testing Essentials

27

www.qsitglobal.com

Requirements Review Activities (Cont.)

Hold review meeting – Individual comments and problems are discussed and a set of actions to address the problems is agreed. Follow-up actions – The chair of the review checks that the agreed actions have been carried out. Revise document – The requirements document is revised to reflect the agreed actions. At this stage, it may be accepted or it may be re-reviewed

Software Testing Essentials

QSIT Copyright

28

www.qsitglobal.com

Page:14


Limited Business Circulation

Requirements Review – Problem Actions

Requirements clarification – The requirement may be badly expressed or may have accidentally omitted information which has been collected during requirements elicitation.

Missing information – Some information is missing from the requirements document. It is the responsibility of the requirements engineers who are revising the document to discover this information from system stakeholders. Software Testing Essentials

29

www.qsitglobal.com

Requirements Review – Problem Actions (Cont.)

Requirements conflict – There is a significant conflict between requirements. The stakeholders involved must negotiate to resolve the conflict.

Unrealistic requirement – The requirement does not appear to be implementable with the technology available or given other constraints on the system. Stakeholders must be consulted to decide how to make the requirement more realistic.

Software Testing Essentials

QSIT Copyright

30

www.qsitglobal.com

Page:15


Limited Business Circulation

Requirements Review Team

Reviews should involve a number of stakeholders drawn from different backgrounds – People from different backgrounds bring different skills and knowledge to the review – Stakeholders feel involved in the RE process and develop an understanding of the needs of other stakeholders Review team should always involve at least a domain expert and an end-user

Software Testing Essentials

31

www.qsitglobal.com

Checklists for review

Organization and completeness – Cross references to other documents – Appropriate level of detail – Adequacy for design – Missing information – Error handling Correctness – Conflicts/duplicates – Ambiguity, brevity – Scope – Testability Quality attributes – Performance objectives – Quantifiable quality

Software Testing Essentials

QSIT Copyright

32

www.qsitglobal.com

Page:16


Limited Business Circulation

Requirements Review – Checklist Questions

Is each requirement uniquely identified? Are specialized terms defined in the glossary Does a requirement stand on its own or do you have to examine other requirements to understand what it means? Do individual requirements use the terms consistently Is the same service requested in different requirements? Are there any contradictions in these requests? If a requirement makes reference to some other facilities, are these described elsewhere in the document? Are related requirements grouped together? If not, do they refer to each other?

Software Testing Essentials

33

www.qsitglobal.com

Types of requirements errors

Software Testing Essentials

QSIT Copyright

34

www.qsitglobal.com

Page:17


Limited Business Circulation

Quality Attributes and Requirements Quality Attributes Important Primarily to Users: Availability Efficiency Flexibility Integrity Interoperability Reliability Robustness Usability Scalability Data Security

Software Testing Essentials

Quality Attributes Important Primarily to Developers: Maintainability Portability Reusability Testability

35

www.qsitglobal.com

TEN Requirements Traps to Avoid

confusion about what a requirement is inadequate customer involvement vague and ambiguous requirements unprioritized requirements building functionality no one uses analysis paralysis scope creep inadequate requirements change process insufficient change impact analysis inadequate requirements version control

Software Testing Essentials

QSIT Copyright

36

www.qsitglobal.com

Page:18


Limited Business Circulation

User Acceptance Testing

QUESTIONS?

Software Testing Essentials

QSIT Copyright

37

www.qsitglobal.com

Page:19


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.