Ingegneria del Software II academic year: Course Web-site: [

Size: px
Start display at page:

Download "Ingegneria del Software II academic year: 2004-2005 Course Web-site: [www.di.univaq.it/ingegneria2/]"

Transcription

1 Course: Ingegneria del Software II academic year: Course Web-site: [ An Introduction to Testing Lecturer: Henry Muccini and Vittorio Cortellessa Computer Science Department University of L'Aquila -Italy [ [

2 Copyright Notice» The material in these slides may be freely reproduced and distributed, partially or totally, as far as an explicit reference or acknowledge to the material author is preserved. Henry Muccini 2

3 Acknowledgment» With very special thanks to Antonia Bertolino and Debra J. Richardson which collaborated in previous versions of this lecture note 3

4 Agenda» Testing Basics - Definition of Software Testing» Testing Glossary» Testing Approaches 4

5 Testing basics» Definition of swtesting» Fault vs. failure» Test selection - Coveragetesting - Reliability testing - Specification-basedtesting» Traceability and test execution 5» Testing from LTS

6 Testing» Testingis a word with manyinterpretations - Inspection/review/analysis - Debugging - Conformance testing - Usability testing - Performance testing -. 6

7 What testing is not (citationfromhamlet, 1994):» I've searched hard for defects in this program, found a lot of them, and repaired them. I can't find any more, so I'm confident there aren't any. The fishing analogy:» I've caught a lot of fish in this lake, but I fished all day today without a bite, so there aren't any more.» NB: Quantitatively, a day's fishing probes far more of a large lake than a year's testing does of the input domain of even a trivial program. 7

8 An all-inclusive definition: Software testing consists of:» the dynamic verification of the behavior of a program» on a finite set of test cases» suitably selected from the (in practice infinite) input domain» against the specified expected behavior 8

9 Testing vs. Other Approaches» Where isthe boundarybetween testing and other (analysis/verification) methods? What distinguishessoftware testing from other approachesis execution. Thisrequiresthe abilityto: - launch the tests on some executable version (traceability problem), and - analyse (observe and evaluate) the results(not granted for embedded systems)» I am not sayingtestingissuperior and we should disregard other approaches: on the contrary, testingand other methodsshould complement/support eachother 9

10 Test purpose» The software is tested in orderto: - Find bugs: debug testing, e.g., by: > Conformancetesting > Robustness testing > Coverage testing - Measure its reliability:by statistical inference - Measure itsperformance - Release it tothe customer(acceptancetest) - not mutuallyexclusive goals, butrather complementary 10» Of coursedifferent approaches are taken

11 The high cost of testing» Anysoftware test campaign involves a trade-off between - Limiting resource utilization(time,effort) as few testsaspossible - Augmentingourconfidence as many testsaspossible» Two research challenges: - Determininga feasibleand meaningful stoppingrule - Evaluatingtest effectiveness (reliability, coveragenotion,...verytoughproblem 11

12 Testing Glossary 12

13 Failures, Errors, Faults» Failure: incorrect/unexpected behavior or output - incident is the symptoms revealed by execution - failures are usually classified» Potential Failure: incorrect internal state - sometimes also called an error, state error, or internal error» Fault: anomaly in source code - may or may not produce a failure - a bug» Error: inappropriate development action 13 - action that introduced a fault

14 THE FAULT-FAILURE MODEL Fault Error Failure affects the delivered service must be activated sw internal state is corrupted (latent or manifest) A fault will manifest itself as a failure if all of the 3following conditions hold: 1) EXECUTION: the faulty piece of code is executed 2) INFECTION: the internal state of the program is corrupted: error 3) PROPAGATION: the error propagates to program output 14 PIE MODEL (Voas, IEEE TSE Aug. 1992)

15 The ambiguous notion of a fault» What a tester or a user observes is a failure. What is then a fault? - It is a useful and intuitive notion, but very difficult to formalize.» In practice we often characterise a fault with the modifications made to fix it: e.g. Wrong operator. In such a way, - the concept of a fault becomes meaningful only after it has beenfixed. - Moreover, different people may react to a same failure with different fixes (and clever programmer find minimum fixes)» A solution is to avoid the ambiguous notion of a fault and reason instead in terms of failure regions, i.e. collections of input points that give rise to failures. - A failure region is characterisedby a size and a pattern 15

16 Fundamental Testing Questions» Test Case: How is test described / recorded?» Test Criteria: What should we test?» Test Oracle: Is the test correct?» Test Adequacy: How much is enough? 16» Test Process: Is testing complete and effective? How to make the most of limited resources?

17 Test Case» Specification of - identifier - test items - input and output specs - environmental requirements - procedural requirements» Augmented with history of - actual results - evaluation status 17 - contribution to coverage

18 Test Criterion» Test Criterion provides the guidelines, rules, strategy by which test cases are selected requirements on test data -> conditions on test data -> actual test data» Equivalence partitioning is hoped for - a test of any value in a given class is equivalent to a test of any other value in that class - if a test case in a class reveals a failure, then any other test case in that class should reveal the failure 18 - some approaches limit conclusions to some chosen class of faults and/or failures

19 Theory of Testing Let P S D T C =program under test =specification of P =input domain of S and P = subset of D, used as test set for P = test criterion» P is incorrect if it is inconsistent with S on some element of D» T is unsuccessful if there exists an element of T on which P is incorrect 19

20 Subdomain-based Test Criterion» A test criterion C is subdomain-based ifit induces one or more subsets, or subdomains, of the input domain» A subdomain-based criterion typically does not partition the input domain (into a set of non-overlapping subdomains whose union is the entire domain) 20

21 Test Oracle 21» A test oracle is a mechanism for verifying the behavior of test execution - extremely costly and error prone to verify - oracle design is a critical part of test planning» Sources of oracles - input/outcome oracle - tester decision - regression test suites - standardized test suites and oracles - gold or existing program - formal specification

22 The oracle problem The Expected Output is f*(d) YES, given input d f(d) = f*(d)» In some cases easier (e.g., an existing version, existing formal specification), but generally very difficult (e.g., operational testing) 22» Not enough emphasized research problem?

23 Test Adequacy» Theoretical notions of test adequacy are usually defined in terms of adequacy criteria - Coverage metrics (sufficient percentage of the program structure has been exercised) - Empirical assurance (failures/test curve flatten out) - Error seeding (percentage of seeded faults found is proportional to the percentage of real faults found) - Independent testing (faults found in common are representative of total population of faults) 23» Adequacy criteria are evaluated with respect to a test suite and a program under test

24 Testing Approaches 24

25 Unit, Integration and System Testing [BE90, ch1]» Unit Testing: - A unit is the smallest piece of software > A unit may be a procedure, a piece of code, one component (in object oriented systems), one system as a whole. - The Unit test purpose is to ensure that the uniti satisfies its functional specification and/or that its implemented structure matches the intended design structure - Unit tests can also be applied for test interface or local data structure. 25

26 Integration Testing» Integration testing is specifically aimed at exposing the problems that arise from the combination of components - Assuming that components have been unit tested - Especially communicating interfaces among integrated components need to be tested to avoid communication errors.» Different approaches: - non-incremental: big-bang - incremental: top-down, bottom-up, mixed - In Object-Oriented distributed systems: new techniques, based on dependence analysis or dynamic relations of inheritance and polymorphism. 26

27 System Testing» Involves the whole system embedded in its actual hardware environment» It attempts to reveal bugs which depends on the environment (bugs that cannot be attributed to components)» Recovery testing, security testing, stress testing and performance testing 27

28 Integration Testing» Stress testing: designed to test the software with abnormal situations. - Stress testing attempts to find the limits at which the system will fail through abnormal quantity or frequency of inputs. - The test is expected to succeed when the system is stressed with higher rates of inputs, maximum use of memory or system resources.» Performance testing is usually applied to real-time, embedded systems in which low performances may have serious impact on the normal execution. - Performance testing checks the run-time performance of the system and may be coupled with stress testing. - Performance is not strictly related to functional requirements: functional tests may fail, while performance ones may succeed. 28

29 Henry Muccini s methafor» The metaphor I like to use to explain how unit, integration and system testing differ considers - a unit as a musician, playing his/her instrument. Unit esting consists in verifying that the musician produces high quality music. - Putting together musicians each one playing good music is not enough to guarantee that the group (i.e., the integration of units) produces good music. They may play different pieces, or the same piece with different rhythms. - The group may then play in different environments (e.g., theater, stadium, arena) with different results (i.e., system testing). 29

30 Testing Planning throughout Process levels of abstraction User Requirements Software Requirements Specification plan & validate /verify Acceptance Testing System Testing Architecture Design Specification Integration Testing design & analyze Component Specifications Component Testing integrate & test 30 Unit Implementations Unit Testing time

31 Operational Testing» A completely different approach: - We cannot realistically presume to find and remove the last failure. - Then, we should invest test resources to find out the biggest ones.» Goodness here means to minimise the user perceived faults, i.e. - Try to find earlier those bugs that are more frequently encountered (neglect small bugs) 31 - Not suitable for safety critical applications

32 Structural and Functional Testing» Structural Testing - Test cases selected based on structure of code - Views program /component as white box (also called glass box testing)» Functional Testing - Test cases selected based on specification - Views program/component as black box 32 Can do black-box testing of program by white-box testing of specification

33 Black Box vs. White Box Testing SELECTED INPUTS RESULTANT OUTPUTS DESIRED OUTPUT BLACK BOX TESTING SELECTED INPUTS RESULTANT OUTPUTS INTERNAL BEHAVIOR DESIRED OUTPUT SOFTWARE DESIGN 33 WHITE BOX TESTING

34 Structural (White-Box) Test Criteria» Criteria based on - control flow - data flow - expected faults» Defined formally in terms of flow graphs» Metric: percentage of coverage achieved» Adequacy based on metric requirements for criteria 34 Objective: Cover the software structure

35 Flow Graphs» Control Flow - The partial order of statement execution, as defined by the semantics of the language» Data Flow - The flow of values from definitions of a variable to its uses Graph representation of control flow and data flow relationships 35

36 A Sample Program to Test function P return INTEGER is begin X, Y: INTEGER; READ(X); READ(Y); while (X > 10) loop X := X 10; exit when X = 10; end loop; if (Y < 20 and then X mod 2 = 0) then Y := Y + 20; else Y := Y 20; end if; return 2*X + Y; end P; 36

37 P s Control Flow Graph (CFG) ,3,4 5 T F T F 9 T 9a 9 9b T 14 F F 12 37

38 All-Statements Coverage of P At least 2 test cases needed ,3,4 5 T F F 9 T T 14 Example all-statements-adequate test set: (X = 20, Y = 10) <2,3,4,5,6,7,9,10,14> (X = 20, Y = 30) <2,3,4,5,6,7,9,12,14> F 12 38

39 All-Edges Coverage of P At least 3 test cases needed ,3,4 5 T F F 9a T T 9b T Example all-edges-adequate test set: (X = 20, Y = 10) <2,3,4,5,6,7,9a,9b,10,14> (X = 5, Y = 30) <2,3,4,5,9a,12,14> (X = 21, Y = 10) <2,3,4,5,6,7,5,6,7,5,9a,9b,12,14> F F 12

40 P s Control and Data Flow Graph X Y X X X 2,3,4 5 T 6 F F X 9a T 7 T X 9b T 10 Y 14 X Y X F F 12 Y Y X 40

41 Functional Testing» The internal structure and behavior of the program is not considered» What is assumed is to have the (formal or informal) specification of the system under test and the objective is to analyze if the system correctly behaves with respect to the specifications» This analysis technique is particularly useful when the source code is not available 41» A functional test consists of analyzing how the system reacts to external inputs

42 References» [BE90] B. Beizer. Software Testing Techniques. Van Nostrand Reinhold, 2nd. Edition, 1990.» [M03] E. Marchetti. Software Testing in the XXI century: Methods, Tools and New Approaches to Manage, Control and Evaluate This Critical Phase. Ph.D. Thesis, Dipartimento di Informatica, Universita di Pisa, year 2003, 42

Chapter 17 Software Testing Strategies Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman For

More information

Software Engineering. Software Testing. Based on Software Engineering, 7 th Edition by Ian Sommerville

Software Engineering. Software Testing. Based on Software Engineering, 7 th Edition by Ian Sommerville Software Engineering Software Testing Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To discuss the distinctions between validation testing and defect t testing To describe the

More information

Basic Testing Concepts and Terminology

Basic Testing Concepts and Terminology T-76.5613 Software Testing and Quality Assurance Lecture 2, 13.9.2006 Basic Testing Concepts and Terminology Juha Itkonen SoberIT Contents Realities and principles of Testing terminology and basic concepts

More information

Software testing. Objectives

Software testing. Objectives Software testing cmsc435-1 Objectives To discuss the distinctions between validation testing and defect testing To describe the principles of system and component testing To describe strategies for generating

More information

Module 10. Coding and Testing. Version 2 CSE IIT, Kharagpur

Module 10. Coding and Testing. Version 2 CSE IIT, Kharagpur Module 10 Coding and Testing Lesson 23 Code Review Specific Instructional Objectives At the end of this lesson the student would be able to: Identify the necessity of coding standards. Differentiate between

More information

Module 10. Coding and Testing. Version 2 CSE IIT, Kharagpur

Module 10. Coding and Testing. Version 2 CSE IIT, Kharagpur Module 10 Coding and Testing Lesson 26 Debugging, Integration and System Testing Specific Instructional Objectives At the end of this lesson the student would be able to: Explain why debugging is needed.

More information

Software Testing. Knowledge Base. Rajat Kumar Bal. Introduction

Software Testing. Knowledge Base. Rajat Kumar Bal. Introduction Software Testing Rajat Kumar Bal Introduction In India itself, Software industry growth has been phenomenal. IT field has enormously grown in the past 50 years. IT industry in India is expected to touch

More information

Metrics in Software Test Planning and Test Design Processes

Metrics in Software Test Planning and Test Design Processes Master Thesis Software Engineering Thesis no: MSE-2007:02 January 2007 Metrics in Software Test Planning and Test Design Processes Wasif Afzal School of Engineering Blekinge Institute of Technology Box

More information

ISTQB Certified Tester. Foundation Level. Sample Exam 1

ISTQB Certified Tester. Foundation Level. Sample Exam 1 ISTQB Certified Tester Foundation Level Version 2015 American Copyright Notice This document may be copied in its entirety, or extracts made, if the source is acknowledged. #1 When test cases are designed

More information

Testing Introduction. IEEE Definitions

Testing Introduction. IEEE Definitions Testing Introduction IEEE Definitions Software testing is the process of analyzing a software item to detect the differences between existing and required conditions (that is, bugs) and to evaluate the

More information

Introduction to Computers and Programming. Testing

Introduction to Computers and Programming. Testing Introduction to Computers and Programming Prof. I. K. Lundqvist Lecture 13 April 16 2004 Testing Goals of Testing Classification Test Coverage Test Technique Blackbox vs Whitebox Real bugs and software

More information

Verification and Validation of Software Components and Component Based Software Systems

Verification and Validation of Software Components and Component Based Software Systems Chapter 5 29 Verification and Validation of Software Components and Component Based Christina Wallin Industrial Information Technology Software Engineering Processes ABB Corporate Research christina.wallin@mdh.se

More information

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University

Software Engineering Introduction & Background. Complaints. General Problems. Department of Computer Science Kent State University Software Engineering Introduction & Background Department of Computer Science Kent State University Complaints Software production is often done by amateurs Software development is done by tinkering or

More information

Introduction to Software Engineering. 8. Software Quality

Introduction to Software Engineering. 8. Software Quality Introduction to Software Engineering 8. Software Quality Roadmap > What is quality? > Quality Attributes > Quality Assurance: Planning and Reviewing > Quality System and Standards 2 Sources > Software

More information

CS 451 Software Engineering Winter 2009

CS 451 Software Engineering Winter 2009 CS 451 Software Engineering Winter 2009 Yuanfang Cai Room 104, University Crossings 215.895.0298 yfcai@cs.drexel.edu 1 Testing Process Testing Testing only reveals the presence of defects Does not identify

More information

Chapter 8 Software Testing

Chapter 8 Software Testing Chapter 8 Software Testing Summary 1 Topics covered Development testing Test-driven development Release testing User testing 2 Program testing Testing is intended to show that a program does what it is

More information

Software Testing Interview Questions

Software Testing Interview Questions Software Testing Interview Questions 1. What s the Software Testing? A set of activities conducted with the intent of finding errors in software. 2.What is Acceptance Testing? Testing conducted to enable

More information

Presentation: 1.1 Introduction to Software Testing

Presentation: 1.1 Introduction to Software Testing Software Testing M1: Introduction to Software Testing 1.1 What is Software Testing? 1.2 Need for Software Testing 1.3 Testing Fundamentals M2: Introduction to Testing Techniques 2.1 Static Testing 2.2

More information

How To Write Software

How To Write Software 1 Medical Device Software - Software Life Cycle Processes IEC 62304 2 Credits John F. Murray Software Compliance Expert U.S. Food and Drug Administration Marcie R. Williams Medical Device Fellow Ph.D.

More information

Ingegneria del Software II academic year: 2004-2005 Course Web-site: [www.di.univaq.it/ingegneria2/]

Ingegneria del Software II academic year: 2004-2005 Course Web-site: [www.di.univaq.it/ingegneria2/] Course: Ingegneria del Software II academic year: 2004-2005 Course Web-site: [www.di.univaq.it/ingegneria2/] Middleware Technology: Middleware Applications and Distributed Systems Lecturer: Henry Muccini

More information

Quotes from Object-Oriented Software Construction

Quotes from Object-Oriented Software Construction Quotes from Object-Oriented Software Construction Bertrand Meyer Prentice-Hall, 1988 Preface, p. xiv We study the object-oriented approach as a set of principles, methods and tools which can be instrumental

More information

Chapter 11: Integration- and System Testing

Chapter 11: Integration- and System Testing Chapter 11: Integration- and System Testing Chapter 14: Testing (2/2) Object-Oriented Software Construction Armin B. Cremers, Sascha Alda & Tobias Rho (based on Bruegge & Dutoit) Software Lifecycle Activities...and

More information

應 用 測 試 於 軟 體 發 展 生 命 週 期. Testing In The Software Development Life Cycle

應 用 測 試 於 軟 體 發 展 生 命 週 期. Testing In The Software Development Life Cycle The Second Management Innovation and Practices Conference, Tamsui, Taiwan, April 2001,Volume 2, pp59-68 應 用 測 試 於 軟 體 發 展 生 命 週 期 Testing In The Software Development Life Cycle 蔡 博 元 莊 立 文 真 理 大 學 資 訊

More information

Software Testing. Quality & Testing. Software Testing

Software Testing. Quality & Testing. Software Testing Software Testing Software Testing Error: mistake made by the programmer/developer Fault: a incorrect piece of code/document (i.e., bug) Failure: result of a fault Goal of software testing: Cause failures

More information

Constraint Programming for Random Testing of a Trading System

Constraint Programming for Random Testing of a Trading System Constraint Programming for Random Testing of a Trading System Roberto Castañeda Lozano Master s thesis. Stockholm, January 28, 2010. School of Information and Communication Technology KTH Royal Institute

More information

Software Engineering Compiled By: Roshani Ghimire Page 1

Software Engineering Compiled By: Roshani Ghimire Page 1 Unit 7: Metric for Process and Product 7.1 Software Measurement Measurement is the process by which numbers or symbols are assigned to the attributes of entities in the real world in such a way as to define

More information

APPROACHES TO SOFTWARE TESTING PROGRAM VERIFICATION AND VALIDATION

APPROACHES TO SOFTWARE TESTING PROGRAM VERIFICATION AND VALIDATION 1 APPROACHES TO SOFTWARE TESTING PROGRAM VERIFICATION AND VALIDATION Validation: Are we building the right product? Does program meet expectations of user? Verification: Are we building the product right?

More information

Chapter 11, Testing, Part 2: Integration and System Testing

Chapter 11, Testing, Part 2: Integration and System Testing Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 11, Testing, Part 2: Integration and System Testing Overview Integration testing Big bang Bottom up Top down Sandwich System testing

More information

Software Testing Strategies and Techniques

Software Testing Strategies and Techniques Software Testing Strategies and Techniques Sheetal Thakare 1, Savita Chavan 2, Prof. P. M. Chawan 3 1,2 MTech, Computer Engineering VJTI, Mumbai 3 Associate Professor, Computer Technology Department, VJTI,

More information

Specification and Analysis of Contracts Lecture 1 Introduction

Specification and Analysis of Contracts Lecture 1 Introduction Specification and Analysis of Contracts Lecture 1 Introduction Gerardo Schneider gerardo@ifi.uio.no http://folk.uio.no/gerardo/ Department of Informatics, University of Oslo SEFM School, Oct. 27 - Nov.

More information

An Analysis on Objectives, Importance and Types of Software Testing

An Analysis on Objectives, Importance and Types of Software Testing Available Online at www.ijcsmc.com International Journal of Computer Science and Mobile Computing A Monthly Journal of Computer Science and Information Technology IJCSMC, Vol. 2, Issue. 9, September 2013,

More information

Latest Research and Development on Software Testing Techniques and Tools

Latest Research and Development on Software Testing Techniques and Tools General Article International Journal of Current Engineering and Technology E-ISSN 2277 4106, P-ISSN 2347-5161 2014 INPRESSCO, All Rights Reserved Available at http://inpressco.com/category/ijcet Rasneet

More information

Definitions. Software Metrics. Why Measure Software? Example Metrics. Software Engineering. Determine quality of the current product or process

Definitions. Software Metrics. Why Measure Software? Example Metrics. Software Engineering. Determine quality of the current product or process Definitions Software Metrics Software Engineering Measure - quantitative indication of extent, amount, dimension, capacity, or size of some attribute of a product or process. Number of errors Metric -

More information

Requirements are elicited from users and represented either informally by means of proper glossaries or formally (e.g., by means of goal-oriented

Requirements are elicited from users and represented either informally by means of proper glossaries or formally (e.g., by means of goal-oriented A Comphrehensive Approach to Data Warehouse Testing Matteo Golfarelli & Stefano Rizzi DEIS University of Bologna Agenda: 1. DW testing specificities 2. The methodological framework 3. What & How should

More information

Chapter 11: Integrationand System Testing

Chapter 11: Integrationand System Testing Object-Oriented Software Engineering Using UML, Patterns, and Java Chapter 11: Integrationand System Testing Integration Testing Strategy The entire system is viewed as a collection of subsystems (sets

More information

Software Engineering. How does software fail? Terminology CS / COE 1530

Software Engineering. How does software fail? Terminology CS / COE 1530 Software Engineering CS / COE 1530 Testing How does software fail? Wrong requirement: not what the customer wants Missing requirement Requirement impossible to implement Faulty design Faulty code Improperly

More information

Comparing the Testing Approaches of Traditional, Object-Oriented and Agent- Oriented Software System

Comparing the Testing Approaches of Traditional, Object-Oriented and Agent- Oriented Software System Comparing the Testing Approaches of Traditional, Object-Oriented and Agent- Oriented Software System N.Sivakumar 1 and K.Vivekanandan 2 Department of computer Science and Engineering Pondicherry Engineering

More information

1 White-Box Testing by Stubs and Drivers

1 White-Box Testing by Stubs and Drivers White-box testing is a verification technique software engineers can use to examine if their code works as expected. In this chapter, we will explain the following: a method for writing a set of white-box

More information

Software Testing. Definition: Testing is a process of executing a program with data, with the sole intention of finding errors in the program.

Software Testing. Definition: Testing is a process of executing a program with data, with the sole intention of finding errors in the program. Software Testing Definition: Testing is a process of executing a program with data, with the sole intention of finding errors in the program. Testing can only reveal the presence of errors and not the

More information

CS314: Course Summary

CS314: Course Summary CS314: Course Summary Prof. Robert B. France Dept. of Computer Science Colorado State University Robert B. France 1 1 Software Development Issues Explored - 1 Software engineering basics Why do we need

More information

EVALUATING METRICS AT CLASS AND METHOD LEVEL FOR JAVA PROGRAMS USING KNOWLEDGE BASED SYSTEMS

EVALUATING METRICS AT CLASS AND METHOD LEVEL FOR JAVA PROGRAMS USING KNOWLEDGE BASED SYSTEMS EVALUATING METRICS AT CLASS AND METHOD LEVEL FOR JAVA PROGRAMS USING KNOWLEDGE BASED SYSTEMS Umamaheswari E. 1, N. Bhalaji 2 and D. K. Ghosh 3 1 SCSE, VIT Chennai Campus, Chennai, India 2 SSN College of

More information

CHAPTER 1 INTRODUCTION

CHAPTER 1 INTRODUCTION 1 CHAPTER 1 INTRODUCTION 1.1 Overview Software testing is a verification process in which an application of the software or the program meets the business requirements and technology that have dominated

More information

Oracle Insurance Policy Administration System Quality Assurance Testing Methodology. An Oracle White Paper August 2008

Oracle Insurance Policy Administration System Quality Assurance Testing Methodology. An Oracle White Paper August 2008 Oracle Insurance Policy Administration System Quality Assurance Testing Methodology An Oracle White Paper August 2008 Oracle Insurance Policy Administration System Quality Assurance Testing Methodology

More information

Ingegneria del Software Corso di Laurea in Informatica per il Management. Object Oriented Principles

Ingegneria del Software Corso di Laurea in Informatica per il Management. Object Oriented Principles Ingegneria del Software Corso di Laurea in Informatica per il Management Object Oriented Principles Davide Rossi Dipartimento di Informatica Università di Bologna Design goal The goal of design-related

More information

Test Management and Techniques

Test Management and Techniques These slides are distributed under the Creative Commons License. In brief summary, you may make and distribute copies of these slides so long as you give the original author credit and, if you alter, transform

More information

SAP Cross-Connector Software Architecture

SAP Cross-Connector Software Architecture Course: Ingegneria del Software II academic year: 2004-2005 Course Web-site: [www.di.univaq.it/ingegneria2/] Lecture 5: The SXA Telecommunication System Software Architecture [TR 06/01] Lecturer: Henry

More information

Chap 1. Software Quality Management

Chap 1. Software Quality Management Chap 1. Software Quality Management Part 1.1 Quality Assurance and Standards Part 1.2 Software Review and Inspection Part 1.3 Software Measurement and Metrics 1 Part 1.1 Quality Assurance and Standards

More information

Standard for Software Component Testing

Standard for Software Component Testing Standard for Software Component Testing Working Draft 3.4 Date: 27 April 2001 produced by the British Computer Society Specialist Interest Group in Software Testing (BCS SIGIST) Copyright Notice This document

More information

Name of chapter & details

Name of chapter & details Course Title Course Code Software Testing IT905 (Elective-IV) Theory : 03 Course Credit Practical : 01 Tutorial : 00 Course Learning Outcomes Credits : 04 On the completion of the course, students will

More information

Introduction to Software Engineering. 9. Project Management

Introduction to Software Engineering. 9. Project Management Introduction to Software Engineering 9. Project Management Roadmap > Risk management > Scoping and estimation > Planning and scheduling > Dealing with delays > Staffing, directing, teamwork 2 Literature

More information

An Increase in Software Testing Robustness: Enhancing the Software Development Standard for Space Systems

An Increase in Software Testing Robustness: Enhancing the Software Development Standard for Space Systems An Increase in Software Robustness: Enhancing the Software Development Standard for Space Systems Karen Owens and Suellen Eslinger Software Engineering Subdivision 15 th Ground System Architectures Workshop

More information

The Theory of Software Testing

The Theory of Software Testing The Theory of Software Testing Adtha Lawanna Department of Information Technology, Faculty of Science and Technology Assumption University, Bangkok, Thailand E-mail: Abstract Software

More information

Introduction to Automated Testing

Introduction to Automated Testing Introduction to Automated Testing What is Software testing? Examination of a software unit, several integrated software units or an entire software package by running it. execution based on test cases

More information

White Papers: Unit Testing. www.dcmtech.com. Unit Testing

White Papers: Unit Testing. www.dcmtech.com. Unit Testing Unit Testing Table of Contents TESTING, VERIFICATION AND VALIDATION...1 UNIT TESTING PROCEDURES...3 C1 100% COVERAGE...3 QUERY GENERATION...4 TESTING, VERIFICATION and VALIDATION Black Box Testing White

More information

Karunya University Dept. of Information Technology

Karunya University Dept. of Information Technology PART A Questions 1. Mention any two software process models. 2. Define risk management. 3. What is a module? 4. What do you mean by requirement process? 5. Define integration testing. 6. State the main

More information

How To Improve Software Quality

How To Improve Software Quality Software Qualities Quality Assurance Maintainer Go Documentation Readable Ce Go Design Functionality Ease of use Ease of learning User Reliability Correctness Efficiency Low Cost Portability Increased

More information

CSTE Mock Test - Part III Questions Along with Answers

CSTE Mock Test - Part III Questions Along with Answers Note: This material is for Evaluators reference only. Caters to answers of CSTE Mock Test - Part III paper. 1. Independence is important in testing is mostly due to the fact that (Ans: C) a. Developers

More information

Formal Software Testing. Terri Grenda, CSTE IV&V Testing Solutions, LLC www.ivvts.com

Formal Software Testing. Terri Grenda, CSTE IV&V Testing Solutions, LLC www.ivvts.com Formal Software Testing Terri Grenda, CSTE IV&V Testing Solutions, LLC www.ivvts.com Scope of Testing Find defects early Remove defects prior to production Identify Risks Unbiased opinion When Should Testing

More information

Software Process for QA

Software Process for QA Software Process for QA Basic approaches & alternatives CIS 610, W98 / M Young 1/7/98 1 This introduction and overview is intended to provide some basic background on software process (sometimes called

More information

SOFTWARE ENGINEERING INTERVIEW QUESTIONS

SOFTWARE ENGINEERING INTERVIEW QUESTIONS SOFTWARE ENGINEERING INTERVIEW QUESTIONS http://www.tutorialspoint.com/software_engineering/software_engineering_interview_questions.htm Copyright tutorialspoint.com Dear readers, these Software Engineering

More information

Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur

Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur Module 2 Software Life Cycle Model Lesson 4 Prototyping and Spiral Life Cycle Models Specific Instructional Objectives At the end of this lesson the student will be able to: Explain what a prototype is.

More information

Standard Glossary of Terms Used in Software Testing. Version 3.01

Standard Glossary of Terms Used in Software Testing. Version 3.01 Standard Glossary of Terms Used in Software Testing Version 3.01 Terms Used in the Foundation Level Syllabus International Software Testing Qualifications Board Copyright International Software Testing

More information

Iterative Design and Testing within the Software Development Life Cycle

Iterative Design and Testing within the Software Development Life Cycle Software Quality Journal, 6(4), December 1997, 295-309 Iterative Design and Testing within the Software Development Life Cycle Bor-Yuan Tsai *, Simon Stobart, Norman Parrington and Barrie Thompson School

More information

Certification Authorities Software Team (CAST) Position Paper CAST-13

Certification Authorities Software Team (CAST) Position Paper CAST-13 Certification Authorities Software Team (CAST) Position Paper CAST-13 Automatic Code Generation Tools Development Assurance Completed June 2002 NOTE: This position paper has been coordinated among the

More information

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: 0306211(Computer Programming 2).

Software Engineering/Courses Description Introduction to Software Engineering Credit Hours: 3 Prerequisite: 0306211(Computer Programming 2). 0305203 0305280 0305301 0305302 Software Engineering/Courses Description Introduction to Software Engineering Prerequisite: 0306211(Computer Programming 2). This course introduces students to the problems

More information

CS 1632 SOFTWARE QUALITY ASSURANCE. 2 Marks. Sample Questions and Answers

CS 1632 SOFTWARE QUALITY ASSURANCE. 2 Marks. Sample Questions and Answers CS 1632 SOFTWARE QUALITY ASSURANCE 2 Marks Sample Questions and Answers 1. Define quality. Quality is the degree of goodness of a product or service or perceived by the customer. Quality concept is the

More information

for Grid Middleware March 29th, 2007

for Grid Middleware March 29th, 2007 Software Fault Diagnosis for Grid Middleware with Bayesian Networks OFFIS Institute for Information Technology TrustSoft Graduate School on Trustworthy Software Systems Software Engineering Group, University

More information

Software Engineering I: Software Technology WS 2008/09. Integration Testing and System Testing

Software Engineering I: Software Technology WS 2008/09. Integration Testing and System Testing Software Engineering I: Software Technology WS 2008/09 Integration Testing and System Testing Bernd Bruegge Applied Software Engineering Technische Universitaet Muenchen 1 Overview Integration testing

More information

Sample Exam. 2011 Syllabus

Sample Exam. 2011 Syllabus ISTQ Foundation Level 2011 Syllabus Version 2.3 Qualifications oard Release ate: 13 June 2015 ertified Tester Foundation Level Qualifications oard opyright 2015 Qualifications oard (hereinafter called

More information

Test case design techniques I: Whitebox testing CISS

Test case design techniques I: Whitebox testing CISS Test case design techniques I: Whitebox testing Overview What is a test case Sources for test case derivation Test case execution White box testing Flowgraphs Test criteria/coverage Statement / branch

More information

Techniques and Tools for Rich Internet Applications Testing

Techniques and Tools for Rich Internet Applications Testing Techniques and Tools for Rich Internet Applications Testing Domenico Amalfitano Anna Rita Fasolino Porfirio Tramontana Dipartimento di Informatica e Sistemistica University of Naples Federico II, Italy

More information

Different Approaches to White Box Testing Technique for Finding Errors

Different Approaches to White Box Testing Technique for Finding Errors Different Approaches to White Box Testing Technique for Finding Errors Mohd. Ehmer Khan Department of Information Technology Al Musanna College of Technology, Sultanate of Oman ehmerkhan@gmail.com Abstract

More information

Preventive Approach for Web Applications Security Testing OWASP 10/30/2009. The OWASP Foundation http://www.owasp.org

Preventive Approach for Web Applications Security Testing OWASP 10/30/2009. The OWASP Foundation http://www.owasp.org Preventive Approach for Web Applications Security Testing 10/30/2009 Luiz Otávio Duarte Ferrucio de Franco Rosa Walcir M. Cardoso Jr. Renato Archer Information Technology Center Brazilian Ministry of Science

More information

SCADE SUITE SOFTWARE VERIFICATION PLAN FOR DO-178B LEVEL A & B

SCADE SUITE SOFTWARE VERIFICATION PLAN FOR DO-178B LEVEL A & B SCADE SUITE SOFTWARE VERIFICATION PLAN FOR DO-78B LEVEL A & B TABLE OF CONTENTS. INTRODUCTION..... PURPOSE..... RELATED DOCUMENTS..... GLOSSARY... 9.. CONVENTIONS..... RELATION WITH OTHER PLANS....6. MODIFICATION

More information

Software Quality. Software Quality Assurance and Software Reuse. Three Important Points. Quality Factors

Software Quality. Software Quality Assurance and Software Reuse. Three Important Points. Quality Factors Software Quality Software Quality Assurance and Software Reuse Peter Lo Conformance to explicitly-stated functional and performance requirements, explicitly-documented development standards, and implicit

More information

Personal Software Process (PSP)

Personal Software Process (PSP) Personal Software Process (PSP) Application of CMM principles to individuals Developed by Watts Humphrey of the Software Engineering Institute (SEI) in the early 1990s Extensive supporting materials: books,

More information

European Commission. <Project Name> Test Management Plan. Date: 23/10/2008 Version: 1.002 Authors: Revised by: Approved by: Public: Reference Number:

European Commission. <Project Name> Test Management Plan. Date: 23/10/2008 Version: 1.002 Authors: Revised by: Approved by: Public: Reference Number: EUROPEAN COMMISSION DIRECTORATE-GENERAL INFORMATICS Information systems Directorate European Commission Test Management Plan Date: 23/10/2008 Version: 1.002 Authors: Revised by: Approved

More information

Science and Practice of Software Testing

Science and Practice of Software Testing Dr. S.S.Riaz Ahamed / Internatinal Journal of Engineering Science and Technology STUDYING THE FEASIBILITY AND IMPORTANCE OF SOFTWARE TESTING: AN ANALYSIS Dr.S.S.Riaz Ahamed Principal, Sathak Institute

More information

JOURNAL OF MEDICAL INFORMATICS & TECHNOLOGIES Vol. 21/2012, ISSN 1642-6037

JOURNAL OF MEDICAL INFORMATICS & TECHNOLOGIES Vol. 21/2012, ISSN 1642-6037 JOURNAL OF MEDICAL INFORMATICS & TECHNOLOGIES Vol. 21/2012, ISSN 1642-6037 FDA, medical software, recall, safety of medical devices. Leszek DREWNIOK 1, Ewelina PIEKAR 1, Mirosław STASIAK 1, Remigiusz MANIURA

More information

Software Engineering (Set-I)

Software Engineering (Set-I) MCA(4 th Sem) Software Engineering (Set-I) Q. 1) Answer the following questions (2x10) a) Mention the importance of phase containment errors. Relate phase containment errors with the development cost of

More information

Test case design techniques II: Blackbox testing CISS

Test case design techniques II: Blackbox testing CISS Test case design techniques II: Blackbox testing Overview Black-box testing (or functional testing): Equivalence partitioning Boundary value analysis Domain analysis Cause-effect graphing Behavioural testing

More information

Building Reusable Testing Assets for a Product Line

Building Reusable Testing Assets for a Product Line Building Reusable Testing Assets for a Product Line John D. McGregor Visiting Scientist - SEI Senior Partner - Korson-McGregor Associate Professor - Clemson University johnmc@cs.clemson.edu Qualifications

More information

The V-model. Validation and Verification. Inspections [24.3] Testing overview [8, 15.2] - system testing. How much V&V is enough?

The V-model. Validation and Verification. Inspections [24.3] Testing overview [8, 15.2] - system testing. How much V&V is enough? Validation and Verification Inspections [24.3] Testing overview [8, 15.2] - system testing Requirements Design The V-model V & V Plans Implementation Unit tests System tests Integration tests Operation,

More information

Levels of Software Testing. Functional Testing

Levels of Software Testing. Functional Testing Levels of Software Testing There are different levels during the process of Testing. In this chapter a brief description is provided about these levels. Levels of testing include the different methodologies

More information

Group18-CUCE2012. Mr. Mobile Project. Software Testing Plan (STP) Version: 4.0. CM Identifier: G18_SE004

Group18-CUCE2012. Mr. Mobile Project. Software Testing Plan (STP) Version: 4.0. CM Identifier: G18_SE004 Group18-CUCE2012 Mr. Mobile Project Software Testing Plan (STP) Version: 4.0 CM Identifier: G18_SE004 26 April 2010 Revision History Prepared/ Modified by Ahmed Adel Ahmed Abdullah, Ahmed Hafez and Sheriff

More information

FSW QA Testing Levels Definitions

FSW QA Testing Levels Definitions FSW QA Testing Levels Definitions 1. Overview This document is used to help determine the amount and quality of testing (or its scope) that is planned for or has been performed on a project. This analysis

More information

Regression Testing Based on Comparing Fault Detection by multi criteria before prioritization and after prioritization

Regression Testing Based on Comparing Fault Detection by multi criteria before prioritization and after prioritization Regression Testing Based on Comparing Fault Detection by multi criteria before prioritization and after prioritization KanwalpreetKaur #, Satwinder Singh * #Research Scholar, Dept of Computer Science and

More information

Static Analysis of Dynamic Properties - Automatic Program Verification to Prove the Absence of Dynamic Runtime Errors

Static Analysis of Dynamic Properties - Automatic Program Verification to Prove the Absence of Dynamic Runtime Errors Static Analysis of Dynamic Properties - Automatic Program Verification to Prove the Absence of Dynamic Runtime Errors Klaus Wissing PolySpace Technologies GmbH Argelsrieder Feld 22 82234 Wessling-Oberpfaffenhofen

More information

A Comprehensive Approach to Master Data Management Testing

A Comprehensive Approach to Master Data Management Testing A Comprehensive Approach to Master Data Management Testing Abstract Testing plays an important role in the SDLC of any Software Product. Testing is vital in Data Warehousing Projects because of the criticality

More information

Process Models and Metrics

Process Models and Metrics Process Models and Metrics PROCESS MODELS AND METRICS These models and metrics capture information about the processes being performed We can model and measure the definition of the process process performers

More information

Testing of safety-critical software some principles

Testing of safety-critical software some principles 1(60) Testing of safety-critical software some principles Emerging Trends in Software Testing: autumn 2012 Matti Vuori, Tampere University of Technology 27.11.2012 Contents 1/4 Topics of this lecture 6

More information

WHAT WE NEED TO START THE PERFORMANCE TESTING?

WHAT WE NEED TO START THE PERFORMANCE TESTING? ABSTRACT Crystal clear requirements before starting an activity are always helpful in achieving the desired goals. Achieving desired results are quite difficult when there is vague or incomplete information

More information

Quality Management. Lecture 12 Software quality management

Quality Management. Lecture 12 Software quality management Quality Management Lecture 12 Software quality management doc.dr.sc. Marko Jurčević prof.dr.sc. Roman Malarić University of Zagreb Faculty of Electrical Engineering and Computing Department of Fundamentals

More information

Software Engineering Question Bank

Software Engineering Question Bank Software Engineering Question Bank 1) What is Software Development Life Cycle? (SDLC) System Development Life Cycle (SDLC) is the overall process of developing information systems through a multi-step

More information

Empirical study of Software Quality Evaluation in Agile Methodology Using Traditional Metrics

Empirical study of Software Quality Evaluation in Agile Methodology Using Traditional Metrics Empirical study of Software Quality Evaluation in Agile Methodology Using Traditional Metrics Kumi Jinzenji NTT Software Innovation Canter NTT Corporation Tokyo, Japan jinzenji.kumi@lab.ntt.co.jp Takashi

More information

Project Risk Management: IV&V as Insurance for Project Success

Project Risk Management: IV&V as Insurance for Project Success Project Risk Management: IV&V as Insurance for Project Success Introduction Software development projects can be expensive and risky: Ever more complex mission-critical requirements lead to increasingly

More information

The document you download is the copyright of ISO, and may not be stored, reproduced, transferred or resold by any means, except as follows.

The document you download is the copyright of ISO, and may not be stored, reproduced, transferred or resold by any means, except as follows. Licence Agreement You are about to download material which is subject to strict copyright conditions. Please read these terms and conditions carefully. By accepting them, you are entering into a binding

More information

Reliability study of an embedded operating system for industrial applications

Reliability study of an embedded operating system for industrial applications Reliability study of an embedded operating system for industrial applications Pardo, J., Campelo, J.C, Serrano, J.J. Fault Tolerant Systems Group Polytechnic University of Valencia. Camino de vera, s/n.

More information

Testing Overview and Black-Box Testing Techniques

Testing Overview and Black-Box Testing Techniques Software testing is an important technique for assessing the quality of a software product. In this chapter, we will explain the following: the basics of software testing, a verification and validation

More information

QUality Assessment of System ARchitectures (QUASAR)

QUality Assessment of System ARchitectures (QUASAR) Pittsburgh, PA 15213-3890 QUality Assessment of System ARchitectures (QUASAR) Donald Firesmith Acquisition Support Program (ASP) Sponsored by the U.S. Department of Defense 2006 by Carnegie Mellon University

More information