Software Reliability and Testing: Know When To Say When. SSTC June 2007 Dale Brenneman McCabe Software

Size: px
Start display at page:

Download "Software Reliability and Testing: Know When To Say When. SSTC June 2007 Dale Brenneman McCabe Software"

Transcription

1 Software Reliability and Testing: Know When To Say When SSTC June 2007 Dale Brenneman McCabe Software 1

2 SW Components with Higher Reliability Risk, in terms of: Change Status (new or modified in this build/release) Business Criticality (mission-, safety-, etc-critical) Defect History (old defect areas predict future defects) Complexity (complex is likely less thoroughly tested) Should Have Applied Higher Quality Test Completion Criteria, in terms of: Functional Test Thoroughness Defects/Rates Approaching Zero Code Coverage 2

3 Agenda I. SW Reliability Concepts and the Relationship to Complexity II. III. Determining Test Completion Criteria (When To Stop Testing) If High Reliability Is Desired Applying Tools to Generate Objective Information About Complexity And Test Completion Criteria 3

4 I. SW Reliability Concepts & the Relationship to Complexity A. SW Reliability Definitions B. Processes to Promote SW Reliability C. Complexity Metrics Impacting Reliability - Module D. Complexity Metrics Impacting Reliability - Class and Component Quotations without references indicated are from Software Reliability Principles and Practices, by Glenford J. Myers. 4

5 I. SW Reliability Concepts & the Relationship to Complexity Software Reliability Definitions Software Reliability is the probability that the software will execute for a particular period of time without a failure (an occurrence of a defect), weighted by the cost to the user of each failure encountered 1. Focus is on Failures, Not Defects [Reliability] is related to the manner in which the [software] is used 2. Focus is on Impacts To Users, Not To Developers Reliability must be stated as a function of the severity of errors, as well as their frequency 5

6 I. SW Reliability Concepts & the Relationship to Complexity Processes to Promote Software Reliability Reliability is dependent upon at least: - Quality Designed In (Fault Avoidance) The use of Development techniques (structured/oo/etc.) that both - Find defects early - Simplify structure (reduce dependencies between logic/data), which reduces probability of incorrect programming causing failure untested logic/data combinations causing failure - Quality Validated & Verified (Fault Detection) The use of Testing techniques that both - Validate (for user requirements) - Verify (for functional specs.) a significant percentage of critical operational logic/data combinations. The success of, and effort required for, these techniques is impacted by structure. 6

7 I. SW Reliability Concepts & the Relationship to Complexity Complexity Metrics Impacting Reliability - Module For these two modules, which is more likely to have Reliability problem? (Due to likelihood that testing did not cover everything in the code) Cyclomatic Complexity, v(g) [i.e., McCabe metric] measure of logical Complexity (number decisions + 1) also measures number of linearly independent paths, so is minimum # tests needed to qualify a module indicates Size & Reliability 7

8 I. SW Reliability Concepts & the Relationship to Complexity Complexity Metrics Impacting Reliability - Module Essential Complexity, ev(g) measure of logical paths containing unstructured constructs, i.e., Unstructuredness indicates Maintainability Module Design Complexity, iv(g) [integration] measure of logical paths containing calls/invocation of immediate subordinate modules, i.e., Integration Paths Containing Global Data, gdv(g) global data also impacts reliability, because it creates relationships between modules Branches, which is related to v(g) Maximum Nesting Level Others v(g) = 10 ev(g) = 3 iv(g) = 3 8

9 I. SW Reliability Concepts & the Relationship to Complexity Complexity Metrics Impacting Reliability - Module Cyclomatic Complexity & Reliability Risk 1 10 Simple procedure, little risk More Complex, moderate risk Complex, high risk >50 Untestable, VERY HIGH RISK Cyclomatic Complexity & Bad Fix Probability % % > 50 40% Approaching % Essential Complexity (Unstructuredness) & Maintainability (future Reliability) Risk 1 4 Structured, little risk > 4 Unstructured, High Risk 9

10 I. SW Reliability Concepts & the Relationship to Complexity Complexity Metrics Impacting Reliability - Classes & Components OO Metrics for Classes provide insight into object oriented programming practices, and to related testing effort; based on Chidamber and Kemerer s work Polymorphism Encapsulation Inheritance Design Complexity for Components, S 0 = iv(g) measure of decision structure which controls invocation of modules within the design; quantifies testing effort for paths relative to design calls Integration Complexity for Components, S 1 = S 0 - (# modules) + 1 measure of the integration tests that qualify the design tree; the # of paths needed to test all calls to all modules at least once, a quantification of a basis set of integration tests; measures minimum integration testing effort of a design; each subtree test validates integration of several modules Sum/Maximum/Average of v(g), ev(g), gdv(g), branches, etc. 10

11 II. Determining Test Completion Criteria for High Reliability A. When Do We Stop Testing? B. Functional Test Thoroughness C. Defects/Rates Approaching Zero D. Code Coverage Impossibility of Testing All Combinations Levels of Code Coverage - Module Levels of Code Coverage - Component 11

12 II. Determining Test Completion Criteria for High Reliability When do we Stop Testing? When Time or Money Have Been Spent? - Most organizations plan better than this Test organizations normally think (at least subconsciously): 1. When We Have Executed Certain Functional Tests - Includes performance, security, etc. - How many tests to re-run after bug fixes? 2. When Critical Defects & Defect Found Rates Are Reducing - Considering impact/severity 3. When We Have Executed Tests that meet a Certain Level of Code (Logic) Coverage 12

13 II. Determining Test Completion Criteria for High Reliability Functional Test Thoroughness For high reliability, we may consider: execute thorough reqts.-based tests (SW reqts. & user manuals) execute tests based on design information for re-builds w/ fixes, re-execute all, or some significant portion, of above tests Bad Idea Example: Wait til end to run performance tests 100% Number of Functional Tests 0% Build 1 Build 2 Time Initial Tests Rerun Tests 13

14 II. Determining Test Completion Criteria for High Reliability Defects/Rates Approaching Zero Critical Defects Outstanding & Rate of Defects Found Time For high reliability, we may consider: obtain re-builds w/ fixes, and re-execute functional tests, until: there are no outstanding critical defects the rate of new defects found (build-to-build) approaches zero Bad Idea Example: Ignore when many non-critical defects are found in late builds 14

15 II. Determining Test Completion Criteria for High Reliability Code Coverage Tests based on functional requirements are essential - it is your primary mechanism, and might be your only mechanism when you are time constrained and high quality is not critical But... Requirements do not execute, Code does! Tests need to focus on both: is the code doing what it should do? (positive) is the code not doing what it should not do? (negative) Requirements-based tests alone can result in: Use of language-required syntax that can lead to failures Lack of testing of logic/data created during implementation, which can lead to failures; in areas such as implicit (undocumented) functionality (design decisions, exception handling), and functional combinations not identified in requirements 15

16 II. Determining Test Completion Criteria for High Reliability Code Coverage For high reliability, we may consider: from execution of reqts.- based tests, determine whether code coverage indicates: functionality for which reqts. or reqts.-based tests are missing logic for which additional test cases should be created Bad Idea Example: Assume that developers tested all logic Defined % Goal Code Coverage 0% Build 1 Build 2 Time Initial Tests Rerun Tests 16

17 II. Determining Test Completion Criteria for High Reliability Impossibility of Testing All Combinations 18 times It is IMPOSSIBLE to test All Statistical Paths, and this isn t even considering data combinations So, from structural coverage view, When Should We Stop Testing? Not care? (planes do, missiles do) Module entry? All lines? All branches? All boolean outcomes (MC/DC)? A set of cyclomatic (basis) paths? All Statistical Paths = If allow 1 Nanosecond per test, time is : 0 Optimum 10 Number of Tests? 18 T = = 31.7 Years 10 x 3600 x 24 x 365

18 II. Determining Test Completion Criteria for High Reliability Levels of Code Coverage - Module (Units of Code) Module Entry - test entering a module at least once Line - test anything on each line with code; can miss some branch outcomes, dependent on coding style Branch - test each branch outcome; some tools provide statement level testing, which when implemented as testing any part of each statement can miss some branch outcomes Condition or Boolean (MC/DC) - test each condition of a multiple condition decision; required for highest risk airborne sw Cyclomatic Paths (Structured Testing) - test a set of linearly independently paths from entry to exit; based on Tom McCabe s Structured Testing; also called Basis Path Testing, based on graph theory; description in an NIST document shows why this provides improved reliability 18

19 II. Determining Test Completion Criteria for High Reliability Levels of Code Coverage - Module What module coverage level should you attempt? Minimum # tests would be: Module Entry Coverage = 1, Line Cov. = 2, Branch Cov. = 3, Cyclomatic Path Cov. = 4, All Paths Cov. = 6 19

20 II. Determining Test Completion Criteria for High Reliability Levels of Code Coverage - Component Component Entry - test entering each component (subsystem, executable, etc.) at least once Component Integration Calls - test entering each component from each calling component Component Integration Paths - test entering each component from each call occurrence in each calling component Module Entry - test entering each module at least once Module Integration Calls - test entering each module from each calling module (fan-in testing) Module Integration Paths test entering each module from each call occurrence in each calling module; a variation is to include a test of at least one path in calling module that does not call this module; this is Structured Testing recommendation Sums of Other Module Coverage Data - see types for Modules 20

21 II. Determining Test Completion Criteria for High Reliability Levels of Code Coverage - Component Black lines mean not yet tested What coverage level will you attempt during Integration Test? Module entry? - the 5 red boxes (untested) need tested Module integration calls? - the 9 black lines need tested (they include the red boxes) Module integration paths? - the 9 black lines plus all paths in the calling modules that contain calls; Structured Testing recommends this level as minimum Other? 21

22 III. Applying Tools for Complexity & Test Completion Info. A. Structural and Semantic Code Analysis B. Structural Complexity Metrics, Info., & Visualization C. Code Coverage Metrics, Info., & Visualization D. Procedures for Applying Code Coverage Tools 22

23 III. Applying Tools for Complexity & Test Completion Info. Structural and Semantic Code Analysis Two Major Analysis Types - Semantic & Structural Semantic Analyses code content May have sophisticated pattern matching algorithms Often include potential run-time error checking (memory, race, boundary); naming conventions; data mining May include run-time capture of potential problem info. Structural Analyses code structure May have sophisticated logic path determination algorithms Often include checking for poor structure; for poor design May include run-time capture of code coverage info. The two types are complementary; BOTH have value 23

24 III. Applying Tools for Complexity & Test Completion Info. Structural Code Analysis - Visualization And Metrics Structure and code coverage can be expressed in objective terms At Organization/Enterprise Level Multi-level groupings of metrics on structure (size, complexity, maintainability, etc.) and on code coverage At Component/Design Level Structure & class charts, w/ user interaction Summary metrics analysis Overlay of static & code coverage info. At Module (Unit) Level Flowgraphs w/ code, calls, test paths, etc. Detailed metrics analysis Overlay of static and code coverage info.

25 III. Applying Tools for Complexity & Test Completion Info. Structural Metrics - Module Cyclomatic complexity Essential complexity (unstructuredness) Design complexity Can include any metrics of your choice OO Metrics for Classes - Polymorphism - Encapsulation - Inheritance - More Available 25

26 III. Applying Tools for Complexity & Test Completion Info. Coloring Based on Coverage - can be based on any metric - interactive drilldown to code details 26

27 III. Applying Tools for Complexity & Test Completion Info. Some of many applications of code coverage data: Coverage Metrics - for Modules - cyclomatic paths (vg, ac) - integration paths (ivg, test ivg) - branches (# br., # test) - can report on other static & coverage metrics - have the most complex modules (reliability risk) been tested? - have the changed modules (reliability risk) been tested? - have other modules known as high reliability risk been tested? 27

28 III. Applying Tools for Complexity & Test Completion Info. Module - Untested Graph & Source Listing - Show untested logic, so can analyze & improve test cases 28

29 III. Applying Tools for Complexity & Test Completion Info. Tested Branches Untested Test Paths Other data from tools may help identify what remains to be tested 29

30 III. Applying Tools for Complexity & Test Completion Info. Procedures for Applying Code Coverage Tools A. Defining Process Improvement For Your Organization - Requiring Measurement and Analysis B. Obtaining/Providing Management Support C. Determining Owners of Processes & Automated Tools D. Considering Test Process Enhancement Alternatives - tool support - available vs. service team - tool usage - ad hoc vs. baselining vs. coverage level reqts. E. Piloting Process Changes & Automated Tool Usage F. Socializing - Presenting Results and Obtaining Feedback G. Implementing Process Changes & Automated Tool Usage Into Your Organization 30

31 Conclusion SW Components with Higher Reliability Risk, in terms of: Change Status (new or modified in this build/release) Business Criticality (mission-, safety-, etc-critical) Defect History (old defect areas predict future defects) Complexity (complex is likely less thoroughly tested) Should Have Applied Higher Quality Test Completion Criteria, in terms of: Functional Test Thoroughness Defects/Rates Approaching Zero Code Coverage 31

32 Thank You! Acronyms - SW - Software - OO - Object Oriented - vg - cyclomatic complexity - ac - actual complexity; coverage of vg paths - evg - essential complexity - ivg - integration (module design) complexity - gdv - global data complexity - S0 - design complexity for component - S1 - integration complexity for component 32

Uncovering Risk in Your ICD-10 Conversion. Key Risk & Effort Metrics for ICD Data Testing

Uncovering Risk in Your ICD-10 Conversion. Key Risk & Effort Metrics for ICD Data Testing Key Risk & Effort Metrics for ICD Data Testing Abstract If you are implementing ICD-10 support in your software applications, many things are important to your management of the process. Good development

More information

Lecture 1: Software Measurement. Marlon Dumas

Lecture 1: Software Measurement. Marlon Dumas Software Economics Fall 2011 Lecture 1: Software Measurement Marlon Dumas (slides by Anton Litvinenko) What is a measure? Way of associating a formal object (e.g. number) and some attribute of a physical

More information

Workshop 1: Software Measurement. Marlon Dumas

Workshop 1: Software Measurement. Marlon Dumas Software Economics Fall 2013 Workshop 1: Software Measurement Marlon Dumas (based on slides by Anton Litvinenko) Main message Software measures can be misleading, so Either you don t use them Or you better

More information

Measuring and Assessing Software Quality

Measuring and Assessing Software Quality Measuring and Assessing Software Quality Issues, Challenges and Practical Approaches Kostas Kontogiannis Associate Professor, NTUA kkontog@softlab.ntua.gr The Software Life Cycle Maintenance Requirements

More information

Software Measurement. Software Economics 2009

Software Measurement. Software Economics 2009 Software Measurement Software Economics 2009 Anton Litvinenko Co-founder and CTO at Metrics for Software Projects Key competence: software measurement and metrics 8 years of software development at Mobi,

More information

Introduction to Software Metrics

Introduction to Software Metrics Introduction to Software Metrics Outline Today we begin looking at measurement of software quality using software metrics We ll look at: What are software quality metrics? Some basic measurement theory

More information

9. Verification, Validation, Testing

9. Verification, Validation, Testing 9. Verification, Validation, Testing (a) Basic Notions (b) Dynamic testing. (c) Static analysis. (d) Modelling. (e) Environmental Simulation. (f) Test Strategies. (g) Tool support. (h) Independent Verification

More information

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

Testing and Inspections (3C05/D22) Unit 11: Testing and Inspection. What is Testing? Testing and Inspections (3C05/D22) Unit 11: Testing and Inspection Objectives To introduce software testing and to develop its role within the software development process. To introduce the use of formal

More information

Lecture 2: Software Quality Factors, Models and Standards. Software Quality Assurance (INSE 6260/4-UU) Winter 2016

Lecture 2: Software Quality Factors, Models and Standards. Software Quality Assurance (INSE 6260/4-UU) Winter 2016 Lecture 2: Software Quality Factors, Models and Standards Software Quality Assurance (INSE 6260/4-UU) Winter 2016 INSE 6260/4-UU Software Quality Assurance Software Quality Quality Assurance Factors and

More information

Testing: How much is enough? Ian Ashworth Coverity

Testing: How much is enough? Ian Ashworth Coverity Testing: How much is enough? Ian Ashworth Coverity Traditional Software Testing - Objectives Ensure the software all works as described in the requirements specification Make sure there are No bugs, especially

More information

Software Metrics. Kristian Sandahl

Software Metrics. Kristian Sandahl Software Metrics Kristian Sandahl 2 Maintenance Requirements Validate Requirements, Verify Specification Acceptance Test (Release testing) System Design (Architecture, High-level Design) Verify System

More information

Software Measurement. Software Economics 2010

Software Measurement. Software Economics 2010 Software Measurement Software Economics 2010 Anton Litvinenko Co-founder and CTO at Metrics tracking kit for software development Key competence: software measurement and metrics 9 years of software development

More information

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

1. Can you explain the PDCA cycle and where testing fits in? 1. Can you explain the PDCA cycle and where testing fits in? Software testing is an important part of the software development process. In normal software development there are four important steps, also

More information

SWEN 256 Software Process & Project Management

SWEN 256 Software Process & Project Management SWEN 256 Software Process & Project Management Not everything that can be counted counts, and not everything that counts can be counted. - Albert Einstein Software measurement is concerned with deriving

More information

Test Management is Risk management. Risk Based Testing

Test Management is Risk management. Risk Based Testing Test Management is Risk management Risk Based Testing Hans Schaefer Software Test Consulting Reigstad N-5281 Valestrandsfossen NORWAY Phone +47 56 394880 Fax +47 56 394570 e-mail hans.schaefer@ieee.org

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 Software Testing Qualifications Board Copyright Notice This document may be copied in its entirety, or extracts made, if the source is acknowledged.

More information

Comparing Automated and Human Maintainability Assessment Approaches

Comparing Automated and Human Maintainability Assessment Approaches Comparing Automated and Human Maintainability Assessment Approaches Celia Chen, Reem Alfayez, Kamonphop Srisopha, Barry Boehm, Lin Shi Agenda Definition of software maintenance and maintainability The

More information

BACKGROUND OF TESTING 4. The fundamental principles of the testing are as follows.

BACKGROUND OF TESTING 4. The fundamental principles of the testing are as follows. BACKGROUND OF TESTING 4 CHAPTER-2 BACKGROUND OF TESTING Testing is a means of making sure that the product meets the needs of the customer. Software Testing is the process of exercising the software product

More information

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

MSc Software Testing MSc Prófun hugbúnaðar MSc Software Testing MSc Prófun hugbúnaðar Fyrirlestrar 1 & 2 The SWEBOK Chapter on Software Testing IEEE http://www.swebok.org/ 29/08/2007 Dr Andy Brooks 1 Repeat after Andy: software contains faults,

More information

AIRBORNE SOFTWARE VERIFICATION FRAMEWORK AIMED AT AIRWORTHINESS

AIRBORNE SOFTWARE VERIFICATION FRAMEWORK AIMED AT AIRWORTHINESS 27 TH INTERNATIONAL CONGRESS OF THE AERONAUTICAL SCIENCES AIRBORNE SOFTWARE VERIFICATION FRAMEWORK AIMED AT AIRWORTHINESS Yumei Wu*, Bin Liu* *Beihang University Keywords: software airworthiness, software

More information

Comparative analysis of software metrics on the basis of complexity

Comparative analysis of software metrics on the basis of complexity Comparative analysis of software metrics on the basis of complexity Shweta Department of Computer Science and Engineering Chandigarh University Gharuan(Mohali(Punjab)),India sainishweta98@gmail.com Abstract-

More information

VectorCAST Presentation AdaEurope 2017 Advanced safety strategies for DO178C certification Massimo Bombino, MSCE

VectorCAST Presentation AdaEurope 2017 Advanced safety strategies for DO178C certification Massimo Bombino, MSCE VectorCAST Presentation AdaEurope 2017 Advanced safety strategies for DO178C certification Massimo Bombino, MSCE Vector Software, Inc. > Software Quality Overview QUALITY HAZARDS IN AVIONICS INDUSTRY 1.

More information

Fundamentals of Dynamic Testing. Inaccuracy in Dynamic Testing

Fundamentals of Dynamic Testing. Inaccuracy in Dynamic Testing Fundamentals of Dynamic Testing Three questions: How shall we tell if a test has succeeded or failed? [More next week on this, as well as process issues] How shall we select test cases? How do we know

More information

Dimensions of Test Coverage Quantifying What Has and Hasn t Been Tested

Dimensions of Test Coverage Quantifying What Has and Hasn t Been Tested Quantifying What Has and Hasn t Been Tested Introduction What do we mean by test coverage? What do outside stakeholders hear when we talk about test coverage? What s the difference between test coverage

More information

MSc Software Testing and Maintenance MSc Prófun og viðhald hugbúnaðar

MSc Software Testing and Maintenance MSc Prófun og viðhald hugbúnaðar MSc Software Testing and Maintenance MSc Prófun og viðhald hugbúnaðar Fyrirlestrar 25 & 26 The SWEBOK Chapter on Software Testing IEEE http://www.swebok.org/ 19/10/2005 Dr Andy Brooks 1 Repeat after Andy:

More information

Design Decisions. Guest Lecture

Design Decisions. Guest Lecture 1 Design Decisions Guest Lecture Apostolos Ampatzoglou - a.ampatzoglou@rug.nl Software Engineering and Architecture Group http://www.cs.rug.nl/search/people/apostolosampatzoglou Outline 2 Introduction

More information

Contents 1 Introduction 2 Is the Old-Established Software Engineering Paradigm Entirely Out of Date?

Contents 1 Introduction 2 Is the Old-Established Software Engineering Paradigm Entirely Out of Date? 1 Introduction...1 1.1 1.2 1.3 What Is Software?...1 What Is Software Engineering?...29 The Major Activities/Tasks to Be Performed in Software Engineering...31 1.4 The Popular Lifecycle/Process Models

More information

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

Testing 2. Testing: Agenda. for Systems Validation. Testing for Systems Validation CONCEPT HEIDELBERG CONCEPT HEIDELBERG GMP Compliance for January 16-17, 2003 at Istanbul, Turkey Testing for Systems Validation Dr.-Ing. Guenter Generlich guenter@generlich.de Testing 1 Testing: Agenda Techniques Principles

More information

Using Auto-Generated Diagnostic Trees for Verification of Operational Procedures in Software-Hardware Systems

Using Auto-Generated Diagnostic Trees for Verification of Operational Procedures in Software-Hardware Systems Using Auto-Generated Diagnostic Trees for Verification of Operational Procedures in Software-Hardware Systems Tolga Kurtoglu Mission Critical Technologies @ NASA Ames Research Center tolga.kurtoglu@nasa.gov

More information

ESTIMATION OF ASPECT ORIENTED PROGRAMMING USING DIFFERENT METRICES

ESTIMATION OF ASPECT ORIENTED PROGRAMMING USING DIFFERENT METRICES International Journal of Scientific & Engineering Research, Volume 6, Issue 4, April-2015 1460 ESTIMATION OF ASPECT ORIENTED PROGRAMMING USING DIFFERENT METRICES Annu Student, M.Tech Deptt. Of Computer

More information

Software Metrics Software Engineering 2007

Software Metrics Software Engineering 2007 Software Engineering 2007 Anton Litvinenko 2/51 3/51 You can t control what you can t measure Tom DeMarco Controlling Software Projects 4/51 Measurement Assignment of quantitative indications to product's

More information

Introduction to software testing and quality process

Introduction to software testing and quality process Introduction to software testing and quality process Automated testing and verification J.P. Galeotti - Alessandra Gorla Engineering processes Engineering disciplines pair construction activities activities

More information

Technische Universität München. Software Quality. Management. Dr. Stefan Wagner Technische Universität München. Garching 18 June 2010

Technische Universität München. Software Quality. Management. Dr. Stefan Wagner Technische Universität München. Garching 18 June 2010 Technische Universität München Software Quality Management Dr. Stefan Wagner Technische Universität München Garching 18 June 2010 1 Last QOT: Why is software reliability a random process? Software reliability

More information

Introduction to Software Metrics

Introduction to Software Metrics Introduction to Software Metrics Outline Today we begin looking at measurement of software quality using software metrics We ll look at: What are software quality metrics? Some basic measurement theory

More information

Source-code quality. Part 1. Software Metrics. Andy Kellens. Monday 22 April 13

Source-code quality. Part 1. Software Metrics. Andy Kellens. Monday 22 April 13 Source-code quality Part 1. Software Metrics Andy Kellens Not everything that can be counted counts, and not everything that counts can be counted. -- Albert Einstein 2 Source-code quality 3 Do you want

More information

SE420 Software Quality Assurance

SE420 Software Quality Assurance SE420 Software Quality Assurance Lecture 2 Software Specification Part-1 January 16, 2017 Sam Siewert SQA LO s (Learning Objectives) Theory and Principles 1. Coverage of Current SQA Theory and Practice

More information

SE420 Software Quality Assurance

SE420 Software Quality Assurance SE420 Software Quality Assurance Lecture 1 Introduction Part-2 January 16, 2017 Sam Siewert Course Learning Objectives Theory of Overall SQA Process Process Models (Waterfall, Spiral, XP) using Agile Strategy

More information

An Intuitive Approach to Determine Test Adequacy in Safety-critical Software

An Intuitive Approach to Determine Test Adequacy in Safety-critical Software An Intuitive Approach to Determine Test Adequacy in Safety-critical Software P. Arun Babu, C. Senthil Kumar, N. Murali, T. Jayakumar ACM SIGSOFT Software Engineering, Vol. 37, 2012 2013. 3. 27. Presented

More information

Test Case Prioritization using Clustering

Test Case Prioritization using Clustering International Journal of Current Engineering and Technology ISSN 2277-4106 2013 INPRESSCO. All Rights Reserved. Available at http://inpressco.com/category/ijcet Research Article Test Case Prioritization

More information

Software Engineering

Software Engineering Software Engineering (CS550) Software Testing - I Jongmoon Baik Objectives To define and understand what software testing is To understand software testing strategies To describe software testing processes

More information

CTFL - Version: 3. ISTQB Certified Tester Foundation Level

CTFL - Version: 3. ISTQB Certified Tester Foundation Level CTFL - Version: 3 ISTQB Certified Tester Foundation Level ISTQB Certified Tester Foundation Level CTFL - Version: 3 4 days Course Description: This course provides test engineers and test team leaders

More information

INTRODUCTION. It is the process used to identify the correctness, completeness and quality of developed computer software.

INTRODUCTION. It is the process used to identify the correctness, completeness and quality of developed computer software. INTRODUCTION It is the process used to identify the correctness, completeness and quality of developed computer software. It is the process of executing a program/application under positive and negative

More information

CHAPTER 2 PROBLEM STATEMENT

CHAPTER 2 PROBLEM STATEMENT CHAPTER 2 PROBLEM STATEMENT Software metrics based heuristics support software quality engineering through improved scheduling and project control. It can be a key step towards steering the software testing

More information

Schedule. Complexity of software systems. McCabe s cyclomatic complexity

Schedule. Complexity of software systems. McCabe s cyclomatic complexity Beyond Lines of Code: Do We Need More Complexity Metrics + An Extensive Comparison of Bug Prediction Approaches Wei Wang Feb. 7 th, 2013 Schedule Background Complexity metrics Comparing complexity metrics

More information

Introduction to Software Testing

Introduction to Software Testing Introduction to Software Testing Introduction Chapter 1 introduces software testing by : describing the activities of a test engineer defining a number of key terms explaining the central notion of test

More information

Software Engineering & Architecture

Software Engineering & Architecture Software Engineering & Architecture 10. SOFTWARE EVOLUTION Martin Kropp University of Applied Sciences Northwestern Switzerland Institute for Mobile and Distributed Systems References Based on the PowerPoint

More information

ISTQB Sample Question Paper Dump #11

ISTQB Sample Question Paper Dump #11 ISTQB Sample Question Paper Dump #11 1. Which of the following is true a. Testing is the same as quality assurance b. Testing is a part of quality assurance c. Testing is not a part of quality assurance

More information

T Software Testing and Quality Assurance Test Planning

T Software Testing and Quality Assurance Test Planning T-76.5613 Software Testing and Quality Assurance 10.10.2007 Test Planning Juha Itkonen Outline Test planning, purpose and usage of a test plan Topics of test planning Exercise References: IEEE Std 829-1998,

More information

Lecture 28: Software metrics

Lecture 28: Software metrics Chair of Software Engineering Software Engineering Prof. Dr. Bertrand Meyer March 2007 June 2007 Lecture 28: Software metrics Measurement To measure is to know When you can measure what you are speaking

More information

Contractual Aspects of Testing Some Basic Guidelines CONTENTS

Contractual Aspects of Testing Some Basic Guidelines CONTENTS CONTENTS 1 Introduction... 1 1.1 Background... 1 1.2 Structure... 1 1.3 Some Conventions... 1 1.4 Feedback... 1 2 Test Schedule List of Contents... 2 3 Testing Deliverables... 3 4 Coverage Guidance...

More information

So#ware Architecture

So#ware Architecture Chair of Software Engineering So#ware Architecture Bertrand Meyer, Michela Pedroni ETH Zurich, February May 2010 Lecture 16: Software metrics Measurement To measure is to know When you can measure what

More information

Also we will try to recap what we studied in the last class. (Refer Slide Time: 00:35)

Also we will try to recap what we studied in the last class. (Refer Slide Time: 00:35) Embedded Software Testing Unit 3: Static analysis and code reviews & Metrics Lecture 5 Seer Akademi-NPTEL MOU Hi all welcome to the next session of our embedded software testing that unit 3 series and

More information

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

Software Testing Conference (STC) Leveraging Requirement Based Test Practices For Non-Safety Critical Software Systems Software Testing Conference (STC) 2012 Leveraging Requirement Based Test Practices For Non-Safety Critical Software Systems Venkata Tulasiramu P 20-OCT-2012 1 1 Agenda Introduction Generic RBT Procedure

More information

Main Message. Workshop 1a: Software Measurement. Dietmar Pfahl

Main Message. Workshop 1a: Software Measurement. Dietmar Pfahl Software Economics Fall 2015 Workshop 1a: Software Measurement Main Message Software measures can be misleading, so Either you don t use them Dietmar Pfahl (based on slides by Marlon Dumas & Anton Litvinenko)

More information

Software Quality S O F T W A R E T E S T I N G. By: MSMZ

Software Quality S O F T W A R E T E S T I N G. By: MSMZ Software Quality S O F T W A R E T E S T I N G Introduction Testing was the 1 st software quality assurance tool applied to control software product quality. Software Test - Definition Software testing

More information

ISTQB CTFL BH0-010 Exam Practice Question Paper

ISTQB CTFL BH0-010 Exam Practice Question Paper ISTQB TFL BH0-010 Exam Practice Question Paper For Software Testing rticlesvisit @ http://softwaretestinghelp.com Join the Best Software Testing Training ourse @ http://softwaretestinghelp.org QUESTION

More information

On the Use of Software Quality Metrics to Improve Physical Properties of Embedded Systems

On the Use of Software Quality Metrics to Improve Physical Properties of Embedded Systems On the Use of Software Quality Metrics to Improve Physical Properties of Embedded Systems Ricardo M. Redin, Marcio F. S. Oliveira, Lisane B. Brisolara, Julio C. B. Mattos, Luis C. Lamb, Flávio R. Wagner,

More information

Introduction to Verification and Test of Embedded Systems SE767: Vérification & Test

Introduction to Verification and Test of Embedded Systems SE767: Vérification & Test Introduction to Verification and Test of Embedded Systems SE767: Vérification & Test Ulrich Kühne ulrich.kuhne@telecom-paristech.fr 26/11/2018 Objectives of this Course Understanding the role of test &

More information

ISTQB Advanced Technical Test Analyst Certificate in Software Testing

ISTQB Advanced Technical Test Analyst Certificate in Software Testing ISTQB Advanced Technical Test Analyst Certificate in Software Testing Sample Paper A - 1 Hour Examination This is not a complete exam paper Record your surname/last/family name and initials on the Answer

More information

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

Software Testing(TYIT) Software Testing. Who does Testing? Software Testing(TYIT) Software Testing Testing is the process of evaluating a system or its component(s) with the intent to find whether it satisfies the specified requirements or not. In simple words,

More information

Software Data Analytics. Nevena Lazarević

Software Data Analytics. Nevena Lazarević Software Data Analytics Nevena Lazarević 1 Selected Literature Perspectives on Data Science for Software Engineering, 1st Edition, Tim Menzies, Laurie Williams, Thomas Zimmermann The Art and Science of

More information

Architectural Considerations for Validation of Run-Time Application Control Capabilities for Real-Time Systems

Architectural Considerations for Validation of Run-Time Application Control Capabilities for Real-Time Systems Architectural Considerations for Validation of Run-Time Application Control Capabilities for Real-Time Systems Paul V. Werme, NSWCDD Antonio L. Samuel, NSWCDD DISTRIBUTION STATEMENT A. Approved for public

More information

Vector Software. Understanding Verification and Validation of software under IEC :2010 W H I T E P A P E R

Vector Software. Understanding Verification and Validation of software under IEC :2010 W H I T E P A P E R Vector Software W H I T E P A P E R Understanding Verification and Validation of software under IEC 61508-3:2010 Abstract This paper is intended to serve as a reference for developers of systems that will

More information

ISTQB CTFL BH0-010 Exam Practice Question Paper

ISTQB CTFL BH0-010 Exam Practice Question Paper ISTQ TFL H0-010 Exam Practice Question Paper For Software Testing rticlesvisit @ http://softwaretestinghelp.com Join the est Software Testing Training ourse @ http://softwaretestinghelp.org QUESTION 1:

More information

Activity Metrics. (book ch 4.3, 10, 11, 12) RIT Software Engineering

Activity Metrics. (book ch 4.3, 10, 11, 12) RIT Software Engineering Activity Metrics (book ch 4.3, 10, 11, 12) Overview Metrics that indicate how well we are performing various activities Requirements, Design, Coding, Testing, Maintenance, Configuration Management, Quality

More information

CSE 435 Software Engineering. Sept 14, 2015

CSE 435 Software Engineering. Sept 14, 2015 CSE 435 Software Engineering Sept 14, 2015 What is Software Engineering Where Does the Software Engineer Fit In? Computer science: focusing on computer hardware, compilers, operating systems, and programming

More information

Finding The Relationship Between Software Testing Effort And Software Quality Metrics

Finding The Relationship Between Software Testing Effort And Software Quality Metrics Finding The Relationship Between Software ing Effort And Software Quality Metrics N. Yagci 1, K. Ayan 2 1 TUBITAK BILGEM, Gebze, Kocaeli, Turkey 2 Computer Engineering, Sakarya University, Serdivan,Sakarya,Turkey

More information

ACADEMIC REPORT: OBJECT-ORIENTED SOFTWARE DEVELOPMENT AND TESTING

ACADEMIC REPORT: OBJECT-ORIENTED SOFTWARE DEVELOPMENT AND TESTING ACADEMIC REPORT: OBJECT-ORIENTED SOFTWARE DEVELOPMENT AND TESTING IT8418 Testing and Quality Assurance Assignment 2 By Leutele LM Grey Author CONTRIBUTE FOR SAMOA FOR EDUCATING OUR YOUNG GENERATION MAY

More information

Digital Design Methodology (Revisited)

Digital Design Methodology (Revisited) Digital Design Methodology (Revisited)! Design Methodology " Design Specification " Verification " Synthesis! Technology Options " Full Custom VLSI " Standard Cell ASIC " FPGA CS 150 Spring 2007 - Lec

More information

The Magazine for Professional Testers

The Magazine for Professional Testers 28 December 2014 The Magazine for Professional Testers The Three Pillars of Agile Quality and Testing by Robert Galen Testing the Internet of Things The Future is Here by Venkat Ramesh Atigadda and many

More information

Special Focus: Making Sense the Data-Oriented Tools Available to Facility Managers

Special Focus: Making Sense the Data-Oriented Tools Available to Facility Managers Issue 17 - August 2013 Special Focus: Making Sense of the Data-Oriented Tools Available (Pg 1) Characteristics of Alarms (Pg 2) Alarms, Analysis Tools, FDD and Analytics (Pg 3) Examples Highlight the Differences

More information

ISTQB CTFL BH0-010 Exam Practice Question Paper

ISTQB CTFL BH0-010 Exam Practice Question Paper ISTQ TFL H0-010 Exam Practice Question Paper For Software Testing rticlesvisit @ http://softwaretestinghelp.com Join the est Software Testing Training ourse @ http://softwaretestinghelp.org QUESTION 1:

More information

ISEB ISTQB Sample Paper

ISEB ISTQB Sample Paper [2011] ISEB ISTQB Sample Paper [BH0-010 ISEB ISTQB FOUNDATION LEVEL] This sample is based on the latest syllabus of ISTQB Foundation Level prepared by For more sample papers visit /istqb.aspx Total Questions:

More information

Requirements Engineering

Requirements Engineering Requirements Engineering Software Engineering CS 130 Donald J. Patterson Content adapted from Essentials of Software Engineering 3rd edition by Tsui, Karam, Bernal Jones and Bartlett Learning Requirements

More information

Fundamentals Test Process

Fundamentals Test Process Fundamentals Test Process Fundamental Test Process 5 Phases of the Fundamental Test Process Fix test design and repeat Fix component or test cases/scripts and repeat Test Planning and Control Test Analysis

More information

Surviving the Top Ten Challenges of Software Testing

Surviving the Top Ten Challenges of Software Testing Surviving the Top Ten Challenges of Software Testing: A Closer Look at Understanding Software Testing Randy Rice, CQA, CSTE Rice Consulting Services, Inc. 405-692-7331 http://www.riceconsulting.com rcs@telepath.com

More information

Standard Glossary of Terms used in Software Testing. Version 3.2. Terms Changed since 01-Feb-2018

Standard Glossary of Terms used in Software Testing. Version 3.2. Terms Changed since 01-Feb-2018 Standard Glossary of Terms used in Software Testing Version 3.2 International Software Testing Qualifications Board Copyright Notice This document may be copied in its entirety, or extracts made, if the

More information

Reliability Engineering. RIT Software Engineering

Reliability Engineering. RIT Software Engineering Reliability Engineering Reliability Engineering Practices Define reliability objectives Use operational profiles to guide test execution Preferable to create automated test infrastructure Track failures

More information

NCOVER. ROI Analysis for. Using NCover. NCover P.O. Box 9298 Greenville, SC T F

NCOVER. ROI Analysis for. Using NCover. NCover P.O. Box 9298 Greenville, SC T F NCOVER ROI Analysis for Test Coverage Using NCover NCover P.O. Box 9298 Greenville, SC 29601 T 864.990.3717 F 864.341.8312 conversation@ncover.com www.ncover.com Table of Contents Executive Summary 2 Cost

More information

BASICS OF SOFTWARE TESTING AND QUALITY ASSURANCE. Yvonne Enselman, CTAL

BASICS OF SOFTWARE TESTING AND QUALITY ASSURANCE. Yvonne Enselman, CTAL BASICS OF SOFTWARE TESTING AND QUALITY ASSURANCE Yvonne Enselman, CTAL Information alines with ISTQB Sylabus and Glossary THE TEST PYRAMID Why Testing is necessary What is Testing Seven Testing principles

More information

CLASS/YEAR: II MCA SUB.CODE&NAME: MC7303, SOFTWARE ENGINEERING. 1. Define Software Engineering. Software Engineering: 2. What is a process Framework? Process Framework: UNIT-I 2MARKS QUESTIONS AND ANSWERS

More information

Managing the Testing Process E-learning Course Outline

Managing the Testing Process E-learning Course Outline Managing the Testing Process E-learning General Description Test managers must take a potentially infinite job testing a computer system and accomplish it within tight time and resource restraints. It

More information

HP ALM: Less Test Cases, More Coverage September 17, 2014

HP ALM: Less Test Cases, More Coverage September 17, 2014 HP ALM: Less Test Cases, More Coverage September 17, 2014 Brought to you by Vivit Testing, Quality and Application Lifecycle Management Special Interest Group (TQA-SIG) Leaders: Damian Versaci, Christopher

More information

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

Introduction To Software Testing. Brian Nielsen. Center of Embedded Software Systems Aalborg University, Denmark CSS Introduction To Software Testing Brian Nielsen bnielsen@cs.auc.dk Center of Embedded Software Systems Aalborg University, Denmark CSS 1010111011010101 1011010101110111 Software development cycle 1. Programmer

More information

ON THE USE OF BASE CHOICE STRATEGY FOR TESTING INDUSTRIAL CONTROL SOFTWARE

ON THE USE OF BASE CHOICE STRATEGY FOR TESTING INDUSTRIAL CONTROL SOFTWARE School of Innovation Design and Engineering Västerås, Sweden Thesis for the Degree of Bachelor of Science in Computer Science 15.0 credits ON THE USE OF BASE CHOICE STRATEGY FOR TESTING INDUSTRIAL CONTROL

More information

OBJECT ORIENTED SYSTEM USING SOFTWARE MATRICES

OBJECT ORIENTED SYSTEM USING SOFTWARE MATRICES Airo International Research Journal August, 2015 Volume VI, ISSN: 2320-3714 OBJECT ORIENTED SYSTEM USING SOFTWARE MATRICES G. Rekha, Research scholar, Dept of CSE, Sunrise University, Alwar, Rajasthan

More information

Release Notes. Standard Glossary of Terms used in. Software Testing. Version 3.2

Release Notes. Standard Glossary of Terms used in. Software Testing. Version 3.2 Standard Glossary of Terms used in Release Notes Standard Glossary of Terms used in Version 3.2 Copyright Notice This document may be copied in its entirety or extracts made if the source is acknowledged.

More information

Testing. CxOne Standard

Testing. CxOne Standard Testing CxOne Standard CxStand_Testing.doc November 3, 2002 Advancing the Art and Science of Commercial Software Engineering Contents 1 INTRODUCTION... 1 1.1 OVERVIEW... 1 1.2 GOALS... 1 1.3 BACKGROUND...

More information

GQM: Goal Question Metrics

GQM: Goal Question Metrics GQM: Goal Question Metrics Introduction Main reference Understanding Measurement and Practical Implementation of GQM, V. R. Basili, C. B. Seaman, 2010 Leveraging Measurement Many organizations collect

More information

Bugs are costly... Kinds of Quality Assurance

Bugs are costly... Kinds of Quality Assurance Bugs are costly... 1. Types of bugs (What type of bugs have you had in the past?) a. Race conditions and deadlocks b. Library misuse c. Logical errors (off by one, null, buffer overflow) d. Usability e.

More information

Better Defect Analysis and Defect Prevention for Software Process Quality Improvement

Better Defect Analysis and Defect Prevention for Software Process Quality Improvement International Journal of Innovative Research in Computer Science & Technology (IJIRCST) ISSN: 2347-5552, Volume-3, Issue-3, May- 2015 Better Defect Analysis and Defect Prevention for Software Process Quality

More information

The Myths Behind Software Metrics. Myths and Superstitions

The Myths Behind Software Metrics. Myths and Superstitions The Myths Behind Software Metrics Pacific Northwest Software Quality Conference October 14, 2013 Douglas Hoffman, BACS, MBA, MSEE, ASQ-CSQE, ASQ-CMQ/OE, ASQ Fellow Software Quality Methods, LLC. (SQM)

More information

ISTQB CTFL BH0-010 Exam Practice Question Paper

ISTQB CTFL BH0-010 Exam Practice Question Paper ISTQ TFL H0-010 Exam Practice Question Paper For Software Testing rticlesvisit @ http://softwaretestinghelp.com Join the est Software Testing Training ourse @ http://softwaretestinghelp.org QUESTION 1:

More information

2IS55 Software Evolution. Software metrics (3) Alexander Serebrenik

2IS55 Software Evolution. Software metrics (3) Alexander Serebrenik 2IS55 Software Evolution Software metrics (3) Alexander Serebrenik Reminder Assignment 6: Software metrics Deadline: May 11 Questions? / SET / W&I 4-5-2011 PAGE 1 Sources / SET / W&I 4-5-2011 PAGE 2 Recap:

More information

Dependable Technologies For Critical Systems. Software Verification. 22 nd May Technologies Ltd 2011 Critical Software

Dependable Technologies For Critical Systems. Software Verification. 22 nd May Technologies Ltd 2011 Critical Software Dependable Technologies For Critical Systems Software Verification 22 nd May 2012 Dependable Technologies For Critical Systems Agenda When Things Go Wrong... Certifying Software Safety Critical Systems

More information

Software Testing Life Cycle

Software Testing Life Cycle Software Testing Life Cycle STLC (Software Testing Life Cycle) is an integral component of SDLC (Software Development Life Cycle). Testing has become a distinct phenomenon during and after the development

More information

2IS55 Software Evolution. Software metrics (3) Alexander Serebrenik

2IS55 Software Evolution. Software metrics (3) Alexander Serebrenik 2IS55 Software Evolution Software metrics (3) Alexander Serebrenik Administration Assignment 5: Deadline: May 22 1-2 students / SET / W&I 28-5-2012 PAGE 1 Sources / SET / W&I 28-5-2012 PAGE 2 Recap: Software

More information

Chapter-3. Software Metrics and Reliability

Chapter-3. Software Metrics and Reliability Chapter-3 \ functions under given conditions for a specified period of time." The reliability of the delivered code is related to the quality of all of the processes and products of software development;

More information

For more Current papers visit Quantitative methods for assessing the quality of proposed architectural designs

For more Current papers visit   Quantitative methods for assessing the quality of proposed architectural designs Question No: 1 Quantitative methods for assessing the quality of proposed architectural designs are readily available. True False Question No: 2 A decision table should be used to document all conditional

More information

Transaction versus transform flow. Wednesday, September 19, :32 PM

Transaction versus transform flow. Wednesday, September 19, :32 PM Metrics Page 1 Transaction versus transform flow Wednesday, September 19, 2012 4:32 PM Transform: potentially asynchronous operation that takes data A and produces data B. Transaction: command: A is a

More information