Testing. Testing is the most important component of software development that must be performed throughout the life cycle

Similar documents
Lesson 31- Non-Execution Based Testing. October 24, Software Engineering CSCI 4490

Test s in i g n I Week 14

Lecture 1: Introduction to Software Quality Assurance. Software Quality Assurance (INSE 6260/4-UU) Winter 2016

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

mywbut.com Software Reliability and Quality Management

Chapter 26. Quality Management

Software verification and validation. Introduction

SE420 Software Quality Assurance

B.H. Far

Building quality into the software from the. Keeping and. the software. software life cycle

What is SQA? Software Quality Assurance. Quality Concepts. Quality Concept (cont.)

Participation of Testing to Attain a Degree of Quality of Software

An Application of Causal Analysis to the Software Modification Process

Testing and Inspections (3C05/D22) Unit 11: Testing and Inspection. What is Testing?

9. Verification, Validation, Testing

Surviving the Top Ten Challenges of Software Testing

Software Quality. Lecture 4 CISC 323. Winter 2006

Skill Category 7. Quality Control Practices

Chapter 6. Software Quality Management & Estimation

SOFTWARE QUALITY ASSURANCE (SQA) Chapter 1

Blatant Commercialism

Defining the essential terms in testing Jokinen Tauno & Määttä Juha University of Oulu

R.POONKODI, ASSISTANT PROFESSOR, COMPUTER SCIENCE AND ENGINEERING, SRI ESHWAR COLLEGE OF ENGINEERING, COIMBATORE.

The Components of the SW Quality Assurance System - Overview. 08/09/2006 SE7161 Software Quality Assurance Slide 1

Work Plan and IV&V Methodology

Requirements Verification and Validation

ISTQB Sample Question Paper Dump #11

Testing 2. Testing: Agenda. for Systems Validation. Testing for Systems Validation CONCEPT HEIDELBERG

A Review Paper on Software Testing

Better Defect Analysis and Defect Prevention for Software Process Quality Improvement

Measuring and Assessing Software Quality

IT6004/ Software Testing

Engineering systems to avoid disasters

Bugs are costly... Kinds of Quality Assurance

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING IT6004 SOFTWARE ESTING UNIT I : INTRODUCTION

Software Reliability

Software Quality Factors

Software Engineering

Independent Verification and Validation of SAPHIRE 8 Software Project Plan

Requirements Gathering using Object- Oriented Models

SQA CONCEPT and DEFINITION. 12/08/2006 SE7161 Software Quality Assurance - HLZ 1

KNOWLEDGE AREA: SOFTWARE QUALITY

Software Inspections and Their Role in Software Quality Assurance

Software Testing : REVIEW and INSPECTION INSPECTION

PART THREE: Work Plan and IV&V Methodology (RFP 5.3.3)

CS 351 Requirements Engineering

Software Testing(TYIT) Software Testing. Who does Testing?

MTAT : Software Testing

1. Can you explain the PDCA cycle and where testing fits in?

SOFTWARE ENGINEERING WITH JAVA

Software Quality Engineering Courses Offered by The Westfall Team

Introduction to Software Testing

Introduction to Software Engineering

Software Quality Engineering Courses Offered by The Westfall Team

Cost-Effective Verification and Validation of Modeling and Simulation

Software Test Factory (A proposal of a process model to create a Test Factory)

Requirement Error Taxonomy

Testing throughout the software life cycle. Software Testing: INF3121 / INF4121

Reliability Module. By: Alex Miller and Mark Robinson. Material Summarized from Reliability Module

Knowledge Base for Writing Test Cases (Part 1)

SOFTWARE QUALITY IN 2002: A SURVEY OF THE STATE OF THE ART

SOFTWARE QUALITY IN 2002: A SURVEY OF THE STATE OF THE ART

The Product and the Process The Product The Evolving Role of Software Software Software: A Crisis on the Horizon Software Myths Summary References

An Overview of Software Reliability

Test Evaluation. Test Facets. Customer understandable. Spell Check. Idempotent Tests

Defect Management in Agile Software Development

ISTQB Certified Tester. Foundation Level. Sample Exam 1

Subject : Computer Science. Paper : Software Quality Management. Module : Quality Management Activities Module No: CS/SQM/15

Introduction To Software Testing. Brian Nielsen. Center of Embedded Software Systems Aalborg University, Denmark CSS

Level 3 Principles, Practices and Legislation for the Periodic Inspection, Testing and Condition Reporting of Electrical Installations.

SOFTWARE TESTING REVEALED

Non-object-oriented design methods. Software Requirements and Design CITS 4401 Lecture 15

Software processes, quality, and standards VTV, fast methods, automation

Software Quality Assurance Framework (SQA) Yujuan Dou 窦玉娟 2008/11/28

Verification and Validation of Embedded Systems The good, the bad, the ordinary

National Oilwell Varco uses PTC University s elearning and assessment solutions to improve design and accountability

SOFTWARE QUALITY IN 2002: A SURVEY OF THE STATE OF THE ART

IEC Functional Safety Assessment

SOFTWARE Testing Introduction UNIT I. Software Testing. Software Testing. Why it is hard? MCA-303, Software Testing

The Reliability of the Individual UPS Still an issue?

SQA COMPONENTS AND PROJECT LIFE CYCLE

Software Testing Life Cycle

1. Why is Testing Necessary? 2. What is Testing? 3. Seven Testing Principles

SE curriculum in CC2001 made by IEEE and ACM: What is Software Engineering?

Software Engineering & Architecture

Rational Software White Paper TP 174

Software Testing Conference (STC) Leveraging Requirement Based Test Practices For Non-Safety Critical Software Systems

feature Validating and Improving Test-Case Effectiveness

SOFTWARE QUALITY IN 2005 A SURVEY OF THE STATE OF THE ART SOURCES OF SPR S QUALITY DATA. SPR clients from 1984 through 2005 BASIC DEFINITIONS

ISTQB CTFL BH QuestionsAnswers with Explanation

Introduction to Agile Life Cycles. CSCI 5828: Foundations of Software Engineering Lecture 07 09/13/2016

SOFTWARE QUALITY ASSURANCE

Unit-V Chapter-1 PROJECT CONTROL & PROCESS INSTRUMENTATION

Safety Committee Training December 6, 2017

Design Quality. Indu Lakshman

MSc Software Testing MSc Prófun hugbúnaðar

Introduction to software testing and quality process

B.H. Far

AN OVERVIEW OF RELIABILITY

Software product quality assurance

Transcription:

Testing Testing is the most important component of software development that must be performed throughout the life cycle Testing must be carried out by developers continuously More methodical testing must be done at the end of each life cycle 1

Testing There are two type of testing Non-Execution-Based testing Review specification Review design Review source code Execution-Based testing Execute source code 2

Verification and Validation Verification (V&V) Determining whether a phase has been done correctly Are we building the product right?[boehm, 1984a] Validation The process of testing before the product is released to the client Are we building the right product?[boehm, 1984a] 3

Quality Issues The term quality DOES NOT refer to excellence or luxury A quality product is a product that satisfies its specification The job of SQA is to ensure the high quality of the product Does the software satisfy its specification? 4

Quality Issues Managerial Independence It is important to have different managers for each development and SQA team Independent managers come into play when an organization has to make decisions: Do we deliver on time with many errors? Do we deliver late with fewer errors? This way if they do not agree they can consult a more senior manager 5

Review Specification document Design document Source code Review must be performed by someone other than the author Preferably by more than one person 6

Walkthrough A walkthrough team must consist of 4 to 6 experienced senior technical staff members They can find the critical errors Groups represented in a walkthrough: Manager responsible for drawing up the specification Client representative Development team representative SQA team representative 7

Walkthrough The material for the walkthrough must be distributed to the members in advance Each member must review the document and prepare the following lists List of items reviewer does not understand or is not clear about List of items reviewer believes to be incorrect 8

Managing Walkthrough Which of the following should chair the walkthrough? Representative for the document being reviewed Representative for design team Representative for SQA Representative for the client 9

Managing Walkthrough The person leading the walkthrough guides other members though the document to: Uncover errors, not to correct errors Reasons: The solution could be poor in quality The solution will cost more (Salary for all team members VS. an individual) Not all items are incorrect; need more analysis Short time to perform the walkthrough 10

Managing Walkthrough Two ways to conduct a walkthrough Participant driven Each participant addresses his or her issues Representative for the specification team must:» Clarify issues» Explain the point if the reviewer is mistaken» Agree with the error 11

Managing Walkthrough Two ways to conduct a walkthrough: Document driven The document representative walks through the document The reviewers interrupt the representative:» By prepared comments» To ask questions This method leads to detecting more faults» Faults are spontaneously detected with this method 12

Managing Walkthrough Verbliizng statements will lead to fault detection Specification walkthrough Design walkthrough Plan walkthrough Code walkthrough 13

Managing Walkthrough The primary task of the walkthrough chair is to invoke questions and stimulate advanced discussions A walkthrough is an interactive, multi-sided process Walkthrough must not be used for evaluating the participants Detecting faults must be the goal of a walkthrough 14

Inspection Five steps are involved during inspection Overview Document is presented by the producer Document is distributed to inspection team Preparation Inspection team members try to understand the document in detail 15

Inspection Five steps are involved during inspection Inspection Walking through the document with inspection team Every item is covered Every branch is taken at least once Rework Responsible person or teams resolve all faults and problems noted during inspection 16

Inspection Five steps are involved during inspection Follow-up The chair has to ensure that every issue is addressed and resolved A re-inspection team is reconvened if more than 5% of the material inspected is reworked Inspection should not be used to evaluate individuals 17

Inspection Case studies [Bush, 1990] At JPL on average, each 2-hours of inspection exposed 4 major faults and 14 minor faults This is a saving of $25,000 per inspection 18

Comparison of Inspection and Walkthrough Walkthrough is a two step process Preparation Team analysis More informal than inspection 19

Comparison of Inspection and Walkthrough Inspection is a five step process Overview Preparation Inspection Rework Follow-up Inspection is formal 20

Strengths of Reviews Effective way of detecting faults Faults are detected in early phases of software process Good for modularized products Object-Oriented Paradigm Consists of mostly independent modules and classes 21

Weaknesses of Reviews If the previous phase documents have not been modified it is very hard to conduct a review Could be used for performance evaluation of individuals involved 22

Metrics for Inspection Fault density Fault per page Fault per 100 line of code Fault categories Major fault per unit of category Minor fault per unit of category 23

Metrics for Inspection Fault detection rate The number of major and minor faults detected in an hour Fault detection efficiency The number of major and minor faults detected in a person hour 24

Execution-Based Testing The process of executing code to find faults Terminology: Bug IEEE standard terminology for a fault Failure Observed incorrect behavior of the product as a result of fault Error Programmer mistake 25

Execution-Based Testing Program testing can be a very effective way to show the presence of bugs but is hopelessly inadequate for showing their absence [Dijkstra, 1972] If a product produces an incorrect output, it means the product definitely contains faults If a product produces correct output, it means the product may contain faults 26

Utility What Should Be Tested Usability of the product User needs are met when the correct product is used under specified conditions 27

Reliability What Should Be Tested Measurement of the frequency and criticality of a product failure It is important to know: How often, on average, the product fails Mean Time Between Failure (MTBF) How long would it take, on average, to repair it Mean Time To Repair (MTTR) 28

Robustness What Should Be Tested A robust product should not fail under heavy usage Performance How well does the product perform? Response time Space requirements 29

Correctness What Should Be Tested Does the product produce correct output when given correct input when operated in permitted condition? The input and output specification may be satisfied with incorrect result 30

Testing Versus Correctness Proofs Correctness proof is a mathematical technique It can show if the product is correct 31

Who Should Perform Executedbased Testing? Testing is the process of executing a product with the intention of finding faults [Myers 1979] Testing is a destructive process If the programmer attitude toward the code is a protective one, then the chance of finding faults (destructive task) is low 32

Who Should Perform Executedbased Testing? Majority of testing should be performed by an independent SQA team Programmers should not test their own modules Notion of destroying their own creation Module testing should be done by programmer and/or an independent SQA team Misunderstanding of the specification or design Integrated testing must be done by an independent SQA team 33

Who Should Perform Executedbased Testing? The tester (programmer or an independent person) cannot input random values and say It looks good by looking at the output The correct output must be calculated by an expert with a given input. This way we can insure the software is performing correctly or it is fault tolerant 34

When Testing Stops Testing stops when a product is irrevocably discarded 35