Quality Assurance IS 101Y/CMSC 101Y November 12, 2013 Carolyn Seaman University of Maryland Baltimore County.

Slides:



Advertisements
Similar presentations
Object Oriented Analysis And Design-IT0207 iiI Semester
Advertisements

Testing Coverage Test case
Test Yaodong Bi.
Test process essentials Riitta Viitamäki,
Lecture 8: Testing, Verification and Validation
Testing and Quality Assurance
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
Annoucements  Next labs 9 and 10 are paired for everyone. So don’t miss the lab.  There is a review session for the quiz on Monday, November 4, at 8:00.
1 SOFTWARE TESTING Przygotował: Marcin Lubawski. 2 Testing Process AnalyseDesignMaintainBuildTestInstal Software testing strategies Verification Validation.
The “Lifecycle” of Software. Chapter 5. Alternatives to the Waterfall Model The “Waterfall” model can mislead: boundaries between phases are not always.
Testing Without Executing the Code Pavlina Koleva Junior QA Engineer WinCore Telerik QA Academy Telerik QA Academy.
Illinois Institute of Technology
Testing an individual module
Software Testing. “Software and Cathedrals are much the same: First we build them, then we pray!!!” -Sam Redwine, Jr.
Systems Analysis and Design in a Changing World, 6th Edition
 QUALITY ASSURANCE:  QA is defined as a procedure or set of procedures intended to ensure that a product or service under development (before work is.
Software Testing Prasad G.
Chapter 11: Testing The dynamic verification of the behavior of a program on a finite set of test cases, suitable selected from the usually infinite execution.
BY RAJESWARI S SOFTWARE TESTING. INTRODUCTION Software testing is the process of testing the software product. Effective software testing will contribute.
1 Software Testing Techniques CIS 375 Bruce R. Maxim UM-Dearborn.
Test Design Techniques
Software Quality Assurance Lecture #8 By: Faraz Ahmed.
1 Software Testing (Part-II) Lecture Software Testing Software Testing is the process of finding the bugs in a software. It helps in Verifying and.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
© 2012 IBM Corporation Rational Insight | Back to Basis Series Chao Zhang Unit Testing.
Software Quality Assurance Activities
Introduction Telerik Software Academy Software Quality Assurance.
CMSC 345 Fall 2000 Unit Testing. The testing process.
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.
Systems Development Lifecycle Project Identification & Selection Project Initiation & Planning Analysis Logical Design Physical Design Implementation Maintenance.
Chapter 8 – Software Testing Lecture 1 1Chapter 8 Software testing The bearing of a child takes nine months, no matter how many women are assigned. Many.
Verification and Validation Overview References: Shach, Object Oriented and Classical Software Engineering Pressman, Software Engineering: a Practitioner’s.
Software Testing Testing principles. Testing Testing involves operation of a system or application under controlled conditions & evaluating the results.
Lecture 11 Testing and Debugging SFDV Principles of Information Systems.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
Software Testing Testing types Testing strategy Testing principles.
Testing Workflow In the Unified Process and Agile/Scrum processes.
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem.
This chapter is extracted from Sommerville’s slides. Textbook chapter
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Software Testing and Quality Assurance 1. What is the objectives of Software Testing?
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
© Michael Crosby and Charles Sacker, 2001 Systematic Software Reviews Software reviews are a “quality improvement process for written material”.
Software Quality Assurance and Testing Fazal Rehman Shamil.
 Software Testing Software Testing  Characteristics of Testable Software Characteristics of Testable Software  A Testing Life Cycle A Testing Life.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
1 Phase Testing. Janice Regan, For each group of units Overview of Implementation phase Create Class Skeletons Define Implementation Plan (+ determine.
This chapter is extracted from Sommerville’s slides. Textbook chapter 22 1 Chapter 8 Validation and Verification 1.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Manual Testing Concepts Instructor: Surender. Agenda  Content: 1. Testing Overview I. What is testing II. Who does testing III. When to Start Testing.
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.
1 Software Testing. 2 What is Software Testing ? Testing is a verification and validation activity that is performed by executing program code.
Software Testing Strategies for building test group
Software Testing.
Rekayasa Perangkat Lunak Part-13
SOFTWARE TESTING OVERVIEW
Verification and Testing
Verification and Validation Overview
Quality Management Perfectqaservices.
IS442 Information Systems Engineering
Systems Development Lifecycle
Lecture 09:Software Testing
Static Testing Static testing refers to testing that takes place without Execution - examining and reviewing it. Dynamic Testing Dynamic testing is what.
Chapter 10 – Software Testing
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Software Testing “If you can’t test it, you can’t design it”
Chapter 7 Software Testing.
Software Reviews.
Software Testing Strategies
Presentation transcript:

Quality Assurance IS 101Y/CMSC 101Y November 12, 2013 Carolyn Seaman University of Maryland Baltimore County

Data Analysis Assignment Stacked bar charts

Data Analysis Assignment Aggregate and focus

Quality Assurance Refers to any activity whose goal is to make sure that the system or application being built is free from error and of high quality That it works That it solves a problem That it’s usable

A process view of QA Problem Identification Analysis Design Implementation QA Maintenance SDLC: Systems Development Lifecycle Installation CMSC, CMPE, IS

QA includes: Testing Exercises a system or part of a system to make sure it produces the correct output or behaves in expected ways Cannot happen until some part of the system is implemented Reviews and inspections Visual “reading” of some artifact Can be done early by reviewing early documents, e.g. design

Testing Terms Coverage ideally, testing will exercise the system in all possible ways not possible, so we use different criteria to judge how well our testing strategy “covers” the system Test case consists of data, procedure, and expected result represents just one situation under which the system (or some part of it) might run

Test Planning A test plan includes: test objectives schedule and logistics test strategies test cases procedure data expected result procedures for handling problems

Testing Phases Unit testing - does this piece work by itself? Integration testing - do these two pieces work together? System testing - do all the pieces work together? Alpha acceptance testing - try it out with in- house “users” Installation testing - can users install it and does it work in their environment? Beta acceptance testing - try it out with real users In development/ maintenance organization In user organization

Testing Techniques Structural testing techniques “white box” testing based on statements in the code or individual hardware and connections coverage criteria related to physical parts of the system tests how a program/system does something Functional testing techniques “black box” testing based on input and output coverage criteria based on behavior aspects tests the behavior of a system or program

System Testing Techniques Goal is to evaluate the system as a whole, not its parts Techniques can be structural or functional Techniques can be used in any stage that tests the system as a whole (acceptance, installation, etc.) Techniques not mutually exclusive

System Testing Techniques (cont.) stress testing - test larger-than-normal capacity in terms of transactions, data, users, speed, etc. execution testing - test performance in terms of speed, precision, etc. recovery testing - test how the system recovers from a disaster, how it handles corrupted data, etc. operations testing - test how the system fits in with existing operations and procedures in the user organization compliance testing - test adherence to standards security testing - test security requirements

System Testing Techniques (cont.) requirements testing - fundamental form of testing - makes sure the system does what it’s required to do regression testing - make sure unchanged functionality remains unchanged error-handling testing - test required error-handling functions (usually user error) manual-support testing - test that the system can be used properly - includes user documentation historical test data - tests until the number of defects found approaches the average number of defects in the products produced under similar circumstances

Unit Testing Goal is to evaluate some piece (file, program, module, component, etc.) in isolation Techniques can be structural or functional In practice, it’s usually ad-hoc and looks a lot like debugging More structured approaches exist

Unit Testing Techniques input domain testing - pick test cases representative of the range of allowable input, including high, low, and average values equivalence partitioning - partition the range of allowable input so that the program is expected to behave similarly for all inputs in a given partition, then pick a test case from each partition boundary value - choose test cases with input values at the boundary (both inside and outside) of the allowable range

Unit Testing Techniques (cont.) statement testing - ensure the set of test cases exercises every statement at least once branch testing - each branch of an if/then statement is exercised path testing - every path is exercised (impossible in practice) fault seeding - put a certain number of known faults into the code, then test until they are all found

Reviews and Inspection: Goal and Motivation By detecting defects early, and preventing their leakage downstream, the higher cost of later detection and rework is eliminated.

Basic Steps Using a reading technique, Perform a visual examination of the document Detect and correct: Defects Violation of design standards Other problems

Examples of artifacts that can be reviewed Include: Contracts Installation plans Progress reports Design descriptions Release notes Requirements specifications Source code

What Is a Defect? Any occurrence in a work product that is determined to be incomplete, incorrect, or missing Any instance which a requirement is not satisfied (Fagan, 1986) Informal synonyms: bug, fault, issue, problem, anomaly

Common Attributes of Systematic Reviews and Inspections Systematic reviews and inspections have these attributes in common: Team participation Documented results of the review Documented procedures for conducting the review

Management Reviews Performed by those directly responsible for the system Monitor progress Determine status of plans and schedules Confirm requirements and their system allocation Or, evaluate management approaches used to achieve fitness or purpose

Technical Reviews Confirms that a product Conforms to specifications Adheres to regulations, standards, guidelines, plans Changes are properly implemented Changes affect only those system areas identified by the change specification

Inspections (Formal Peer Reviews) Confirms that the software product satisfies Specifications Specified quality attributes Regulations, standards, guidelines, plans Identifies deviations from standards and specification results in logging a defect

Walk-throughs Evaluate a product or artifact or document Sometimes used for educating an audience Major objectives: Find anomalies Improve the product Consider alternative implementations Evaluate performance to standards and specs

Audits The purpose of an audit is to provide an independent evaluation of conformance of products and processes to applicable Regulations Standards Guidelines Plans Procedures

Inspection Process Most popular is the Fagan method Inspection is separated into 5/6 phases (Planning) Overview Preparation Inspection Meeting Rework Follow-up

Review and Inspection Pitfalls Insufficient Preparation Moderator Domination Incorrect Review Rate Ego-involvement and Personality Conflict Issue Resolution and Meeting Digression Recording Difficulties and Clerical Overhead

Other QA Activities Process conformance Making sure that quality procedures are followed Risk analysis Planning for adverse events Making the unexpected expected Hiring and training Developing guidelines and standards Identifying new training needs

Project demos This Thursday!!! No slides Everyone must participate and answer questions Show your program Running Code Talk about what it does and what it doesn’t do YET 10 minutes, including questions Turn in.pde file and document BEFORE class on Blackboard

Peer Evaluations Take a look at the Peer Evaluation form and think about the following two options: 1. Each student gets the actual sheets filled out by their teammates 2. Each student gets a summary of the feedback written by the instructor Evaluations due in class on THURSDAY (rewards to those who bring them to class)