IS4500 Software Quality Assurance

Slides:



Advertisements
Similar presentations
What colour is the house on the hill? Waterloo – Wellington IIBA Chapter presentation April 11, 2007 David Milne.
Advertisements

Introduction to Software Engineering Dr. Basem Alkazemi
Introduction to Software Engineering
Copyright © 2006 Software Quality Research Laboratory DANSE Software Quality Assurance Tom Swain Software Quality Research Laboratory University of Tennessee.
Requirements Management
What is Software Engineering? the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software”
Software Engineering 2003 Jyrki Nummenmaa 1 REQUIREMENT SPECIFICATION Today: Requirements Specification Requirements tell us what the system should.
SoITSSpecifications of IT systems? 1 Specifications of IT systems checking and validating Jens Bennedsen and Peter Gorm Larsen
Chapter 4 – Requirements Engineering
Topics Covered: Software requirement specification(SRS) Software requirement specification(SRS) Authors of SRS Authors of SRS Need of SRS Need of SRS.
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
Business Analysis and Essential Competencies
Requirements Engineering How do we keep straight what we are supposed to be building?
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
IS4500 – SOFTWARE QUALITY ASSURANCE SERVICE & FUNCTIONAL TESTING STRATEGIES Copyright © 2012 by Martin Schedlbauer, Ph.D. All Rights Reserved. Do Not Duplicate.
MODULE 6: QUALITY ASSURANCE PRACTICES Copyright © 2010 by The Cathris Group and Martin J. Schedlbauer. All Rights Reserved. Do Not Duplicate or Distribute.
From Quality Control to Quality Assurance…and Beyond Alan Page Microsoft.
1 Introduction to Software Engineering Lecture 1.
Capturing the requirements  Requirement: a feature of the system or a description of something the system is capable of doing in order to fulfill the.
Requirements / Specifications. 01/18/10CS-499G2 Requirements Determine what the customer needs (wants) the software to do  What are requirements?  An.
Evaluating Requirements
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
Software Quality Assurance and Testing Fazal Rehman Shamil.
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
Search Engine Optimization © HiTech Institute. All rights reserved. Slide 1 Click to edit Master title style What is Business Analysis Body of Knowledge?
IS4500 – SOFTWARE QUALITY ASSURANCE QUALITY OF SERVICE TESTING STRATEGIES Copyright © 2012 by Martin Schedlbauer, Ph.D. All Rights Reserved. Do Not Duplicate.
IS4500 – SOFTWARE QUALITY ASSURANCE TESTING STRATEGIES Copyright © 2012 by Martin Schedlbauer, Ph.D. All Rights Reserved. Do Not Duplicate or Distribute.
 System Requirement Specification and System Planning.
Use Cases Discuss the what and how of use cases: Basics Examples Benefits Parts Stages Guidelines.
Software Testing.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Software Engineering (CSI 321)
Software Testing Basics
CMPE 280 Web UI Design and Development August 29 Class Meeting
Use Cases Discuss the what and how of use cases: Basics Benefits
Requirements Analysis Scenes
SOFTWARE TESTING OVERVIEW
Software Testing.
Writing Requirements Lecture # 23.
ECE361 Engineering Practice
Research Methods Dr. X.
Software Testing An Introduction.
SYSTEM ANALYSIS AND DESIGN
Requirements Analysis and Specification
Lecture 2 Introduction to Programming
BASICS OF SOFTWARE TESTING Chapter 1. Topics to be covered 1. Humans and errors, 2. Testing and Debugging, 3. Software Quality- Correctness Reliability.
CSC480 Software Engineering
HCI in the software process
Software Engineering (CSI 321)
Software Requirements analysis & specifications
Strategies For Software Test Documentation
Introduction to Software Testing
Unit 2:-Test Planning and Management
Software Engineering Lecture #12.
Software Requirements Specification Document
HCI in the software process
Algorithm and Ambiguity
Welcome to Corporate Training -1
Software Verification, Validation, and Acceptance Testing
HCI in the software process
Test Driven Lasse Koskela Chapter 9: Acceptance TDD Explained
Core Competencies for Primary School Teachers in Crisis Contexts
Lecture # 7 System Requirements
Software Testing Lifecycle Practice
Understanding Diversity
Test Cases, Test Suites and Test Case management systems
Requirements gathering
Software Reviews.
Unit IV – Chapter 2 V-Test Model.
Presentation transcript:

IS4500 Software Quality Assurance Copyright © 2012 by Martin Schedlbauer, Ph.D.. All Rights Reserved. Do Not Duplicate or Distribute Without Written Consent of the Author. www.neu.edu · m.schedlbauer@neu.edu

Introductions Please let us know: your name what year you are what coops you’ve done and if you have done any testing work IS4500 - Software Quality Assurance Testing Essentials

Learning Contract Complete this objective… Upon completion of this course, I would like to be able to __________.

Quality Control vs. Assurance Increasing the quality of a solution is done through two separate but equally important approaches: Quality Control Quality Assurance Note that the terms quality control and quality assurance are often confused.

Definition: Defect A solution defect is defined in the BABOK® as follows: “A defect is a deficiency in a product or service that reduces its quality or varies from a desired attribute, state, or functionality. “ This type of defect is detected through testing. However, often a solution meets the requirements but is still unacceptable to the end user or other stakeholders. This happens when some of the requirements were stated incorrectly, not fully understood, or may have changed over time.

Definition: Requirements Defect The BABOK® defines a requirements defect as follows: “A requirements defect is an error in requirements caused by incorrect, incomplete, missing, or conflicting requirements.” Such defects are detected through quality assurance practices such as verifying requirements through reviews or simulations.

Defects in Practice In practice, a defect is present when any one of these statements is true: The solution does not perform as required by its specification. The solution contains features that are not part of the specification. The solution does not meet unstated but assumed requirements. The solution’s functionality is not accessible to its end users because it is too difficult to use, too slow, or otherwise not usable.

Sources of Defects There are several causes of defects in solutions: incomplete inconsistent conflicting, or poorly stated requirements bad solution design or mistakes in coding. Several studies have pointed out that the majority of bugs are traceable back to bad requirements.

Role of the Tester The role of the tester is pretty simple: find as many defects as possible in the time allotted for testing and report the defects to the development team. The role of the tester is not solely to confirm that the software works. In fact, just because no defects have been uncovered during testing does not imply that the solution does not have any defects.

Workshop Activity Goal: Explore the role of the tester within your organization. Time: 10 minutes Format: Group or Individually Materials: Whiteboard, flipchart, or paper Instructions: Explore the following questions: How is testing done within your organization? What traits do you consider to be important in testers? How do testers in your organization communicate defects? Challenge Questions Is it possible to fully test a software solution? What is the consequence if you can’t? What would it mean to fully test a software solution? As a tester, how do you manage this reality?

Traits of Good Testers While there are many traits that make a good tester, many effective testers: Are excited to explore software applications Are methodical and detail-oriented Test not just for what should work, but also look for unusual usage patterns Try to break things Work diligently in the time allotted for testing Know how to communicate defects so that they can be traced to their source and repaired Are creative and not afraid to test unusual scenarios

Writing Testable Requirements Effective testing presumes effective requirements. The tester cannot validate what has not been defined. Therefore, effective testing starts with writing good requirements that are clear, unambiguous, and specific. At the end of the day, a requirement is nothing more than a precise statement of the expected behavior of the solution.

Requirements Definition A requirement is simply a feature that a product or service must have in order to be useful. The IEEE defines a requirement as a condition or capability needed by a user to solve a problem or achieve an objective. Not all requirements are expressed at the same level of detail and specificity.

Requirements Classification Projects typically define the following requirements types: business stakeholder (or user) functional solution non-functional (or quality of service) solution constraint transition

SMART Requirements Writing requirements that follow the SMART template is a good starting point. SMART requirements are specific measurable achievable relevant testable Note that there are alternate but equally valid definitions of SMART used in practice.

Workshop Activity Goal: Write SMART requirements. Time: 10 minutes Format: Group or Individually Materials: Whiteboard, flipchart, or paper Instructions: Rewrite the “poor” requirements from the workbook (and repeated below) as SMART requirements. The system shall produce a periodic report that displays all asset data. The system shall provide immediate feedback when an asset’s QR code has been scanned to indicate a successful scan. Use the discussion in the workbook as a guide on how to write the requirements to be more effective.

Verification & Validation These two terms are often used interchangeably, but they are not the same. They are often used in conjunction as software verification and validation (or V&V). Verification is the process of making sure that the requirements are correct, while validation is the process of confirming that the solution meets the requirements.

Standards & Certifications The IEEE publishes a number of relevant standard for software V&V. Numerous certifications exist for quality assurance and testing professionals.

Summary In this module we learned that: Testing is a critical phase in solution development Testing is one way to increase quality, another is through various quality assurance strategies Defects are deficiencies in products that must be uncovered, recorded, and communicated by the tester There are different types of requirements, but all should be defined following the SMART guidelines There are numerous certifications available for professionals that can attest to their testing skills and competencies

Workshop Activity Goal: Understand case study. Time: 15-20 minutes Format: Individually Materials: Case study background information in workbook Instructions: Read the BoatVentures case study background information. Make note of any issues or questions.