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