SE 555 Software Requirements & Specification Requirements Validation.

Slides:



Advertisements
Similar presentations
Damian Gordon.  Static Testing is the testing of a component or system at a specification or implementation level without execution of the software.
Advertisements

More CMM Part Two : Details.
Software Project Management Lecture # 11. Outline Quality Management ( chapter 26 - Pressman )  Software reviews  Formal Inspections & Technical Reviews.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #7 Software Engineering.
Static Technique. Static Technique - Review  A way of testing software work products  Program code, requirement spec., design spec.  Test plan, test.
Testing Without Executing the Code Pavlina Koleva Junior QA Engineer WinCore Telerik QA Academy Telerik QA Academy.
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
SE 555 Software Requirements & Specification Beyond Requirements Based on Weigers Chapter17.
SE 555 – Software Requirements & Specifications Introduction
1 Software Requirements Specification Lecture 14.
1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation.
Software Quality Assurance For Software Engineering && Architecture and Design.
Verification and Validation
OHT 4.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Software Quality assurance (SQA) SWE 333 Dr Khalid Alnafjan
Release & Deployment ITIL Version 3
Overview Software Quality Software Quality and Quality Assurance
S/W Project Management
CC20O7N - Software Engineering 1 CC2007N Software Engineering 1 Requirements Engineering Practices with Techniques.
Extreme Programming Software Development Written by Sanjay Kumar.
Software Systems Verification and Validation Laboratory Assignment 3 Integration, System, Regression, Acceptance Testing Assignment date: Lab 3 Delivery.
Copyright © Jerzy R. Nawrocki Requirements Review Requirements Engineering & Project.
RUP Implementation and Testing
Software Inspections. Defect Removal Efficiency The number of defects found prior to releasing a product divided by The number of defects found prior.
Software Inspection A basic tool for defect removal A basic tool for defect removal Urgent need for QA and removal can be supported by inspection Urgent.
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
Writing Quality Requirements Karl E. Wiegers Presented by: Ricardo Carlos.
CEN rd Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Phases of Software.
CPSC 873 John D. McGregor Session 4 Requirements V & V - continued.
Software Quality Assurance SE Software Quality Assurance What is “quality”?
Requirements Verification & Validation Requirements Engineering & Project Management.
Chapter 12: Systems Investigation and Analysis. Agenda  How to Develop a CBIS?  Systems Development Life Cycle (SDLC)  Prototyping  Join Application.
What is a Business Analyst? A Business Analyst is someone who works as a liaison among stakeholders in order to elicit, analyze, communicate and validate.
Systems Design Approaches The Waterfall vs. Iterative Methodologies.
Software Requirements Engineering: What, Why, Who, When, and How
Disciplined Software Engineering Lecture #7 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Product Design Finalization; Inspections.
Validating the Requirements Chapter 15. Prepared by : AHMED ABU SA'DA AHMED ABU SA'DA Moataz Wassim - May – /2010.
Lecture 7: Requirements Engineering
INFO 637Lecture #101 Software Engineering Process II Review INFO 637 Glenn Booker.
This chapter is extracted from Sommerville’s slides. Textbook chapter
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 7 1 Design and Code Reviews - Overview What are design and code.
Develop Project Charter
Software Life Cycle The software life cycle is the sequence of activities that occur during software development and maintenance.
Requirements Management with Use Cases Module 10: Requirements Across the Product Lifecycle Requirements Management with Use Cases Module 10: Requirements.
(SRS) SOFTWARE REQUIREMENT SPECIFICATION(SRS) 1. Topics to be discussed.. What is an SRS? Purpose of an SRS Who reads the SRS? Who writes the SRS? Characteristics.
Requirements Validation
1 Chapter 8 Building the Analysis Model (1) Analysis Concepts and Principles.
Project Management Project Integration Management Minder Chen, Ph.D. CSU Channel Islands
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
Lecture 4: Requirements Engineering COSI 120b, Principles of Software Engineering.
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
Software Requirements Specification Document (SRS)
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Testing and Debugging. Testing Fundamentals  Test as you develop Easier to find bugs early rather than later Prototyping helps identify problems early.
This chapter is extracted from Sommerville’s slides. Textbook chapter 22 1 Chapter 8 Validation and Verification 1.
Chapter 3- BASIC CONCEPTS OF TESTING Why software can never be perfect The terms commonly used by software testers.
Software Project Management Lecture # 12. Outline Quality Management ( chapter 26 - Pressman )  SQA  Who does it?  SQA Activities  Software reviews.
by: Er. Manu Bansal Deptt of IT Software Quality Assurance.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
 System Requirement Specification and System Planning.
Software Engineering (CSI 321)
Software Quality Assurance
Software and Systems Integration
SYSTEM ANALYSIS AND DESIGN
Requirements Verification and Validation
Software Quality Assurance
Requirements Verification and Validation
Requirements Verification and Validation
QA Reviews Lecture # 6.
Software Reviews.
Presentation transcript:

SE 555 Software Requirements & Specification Requirements Validation

SE 555 Software Requirements & Specification Two Views of Quality Assessment Verification Ensuring correctness from activity to activity in the software development process e.g., ensure that the code satisfies the design “Did we build the product right?” Validation Evaluating a system to see if it satisfies the customer needs Validate the requirements Do these requirements correctly capture the stakeholder needs? “Are we building the right product?” Validate that all stakeholders have a common understanding of the requirements Validate the system Does this deployed system actually satisfy the stakeholder needs? “Did we build the right product?”

SE 555 Software Requirements & Specification Requirements Validation Does the SRS correctly describe the intended system capabilities and characteristics? Does the SRS satisfy the various stakeholder’s needs? For conflicting needs, is there consensus on trade-off choices? Were the functional requirements correctly derived from the business requirements, system requirements, business rules, and sources? Are the requirements complete, unambiguous, testable, consistent, modifiable, etc.? Do the requirements have the necessary qualities (stability, priority, cost/benefit, etc.) to proceed with design and implementation? Remember that this is incremental: Is this subset of requirements ready for design and implementation? If valid, baseline this subset and manage change

SE 555 Software Requirements & Specification Requirements Validation Techniques Requirements reviews Prototyping to elicit and validate requirements Requirements analysis modeling to develop deeper understanding and to expose ambiguity and incomplete areas Prove properties of formal analysis models Incremental development and architecture-centric development to expose quality requirements issues early Plan how each requirement will be verified in acceptance tests Observe operational usage of the system to see if it truly meets the stakeholders’ needs

SE 555 Software Requirements & Specification V- Mode l Plan and develop tests throughout the life cycle Perform formal reviews of software models Implement tests when code is available to test Repeat “V” at each iteration Requirements modeling Analysis modeling Design modeling Implementation Unit test Sub-system integration test System integration test Acceptance test Sub-system integration test plan and cases System integration test plan and cases Acceptance test plan and cases Formal Reviews

SE 555 Software Requirements & Specification Review Techniques Personal review Peer review Walkthrough Inspection Defects found in requirements would cost …  10 times more to remove if not discovered until implementation  100 times more to remove if not discovered until deployment Reviews can be used for requirements, designs, code, test cases, and other artifacts and deliverables Focus only on finding defects Resolving the defects is a different activity

SE 555 Software Requirements & Specification Personal & Peer Reviews In a personal review Analyst privately reviews his/her product Objective is to find defects before they propagate into design, implementation, and test cases In a peer review, this is done by exchanging the artifact with a peer/colleague Reviews are most effective when structured and measured

SE 555 Software Requirements & Specification Walkthroughs Walkthroughs typically follow a meeting format Developer leads the reviewers through the artifact Reviewers may include peers, managers, or other interested parties Objective is to communicate or obtain approval of content Defects are barriers to understanding or approval Little preparation is required

SE 555 Software Requirements & Specification Inspections Inspections follow a structured process Done by a small group (6 or fewer) of stakeholders Author Customer/end user People who will do work based on these requirements Developer, tester, technical writer, manager, etc. People responsible for work products that interface to the functionality specified Inspections are widely considered to be the “highest- leverage software quality technique” available. [Gilb 1993]

SE 555 Software Requirements & Specification Inspection Roles Author Principal responsibility for the artifact’s development Able to answer technical questions about the artifact Responsible for fixing defects agreed upon in the inspection meeting. Moderator Facilitates the inspection process Responsible for checking later that the problems found have been fixed Inspectors Review the artifact (or some assigned portion) before the inspection meeting Provide their inputs and contribute to discussions during the meeting Reader Paraphrases the SRS one requirement at a time, followed by other reviewers pointing out potential defects and issues Paraphrasing helps expose ambiguity Recorder Ensures that problems found get recorded, Completes the inspection report (results and data)

SE 555 Software Requirements & Specification Inspection Guidelines Plan and prepare for the inspection Review the inspection process Prepare a task list and schedule Assign inspection roles Assemble inspection materials Prepare inspector checklists Set an agenda for the inspection meeting and stick to it The product should be inspected in small “chunks” Meetings should be at least one hour, but no more than two hours Inspect the work product, not the author Limit debate and rebuttal in the inspection meeting Identify problems, do not attempt to solve them Take written notes of the meeting; collect effort and defect data Limit the number of participants and insist upon advanced preparation See the Defect Checklist in Wiegers Figs and 15-5

SE 555 Software Requirements & Specification Testing the Requirements Test cases that are based on the functional requirements or derived from user requirements help make the expected system behaviors tangible to the project participants Designing test cases will reveal many problems with the requirements even if you don’t execute the tests It is hard to describe the expected system response for vague or ambiguous requirements It is straightforward to write test cases for complete, clear, accurate requirements Develop requirements and tests together Define test cases early to identify and resolve defects early Complementary, synergistic views of the system Write test cases for normal flow, alternative flows, and exceptions

SE 555 Software Requirements & Specification Requirements and Tests are Synergistic Functional Requirements and Analysis Models Test Cases and Scenarios Test Procedures and Scripts Technical Designs User Interface Designs User Requirements TesterAnalyst Compare

SE 555 Software Requirements & Specification System Validation: Customer Acceptance Customer acceptance testing executes the system in its operational context Does it satisfy the documented requirements when running in the real world? Is it fit for use in the intended operating environment? Write acceptance tests focused on normal flows Write acceptance tests for non-functional requirements, too Have customers write acceptance criteria How would you judge whether the system satisfies your needs? The “ultimate” validation: observe the production use of the system and see if it satisfies needs Look for new opportunities