Creator: ACSession No: 7 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringSeptember 2005 Software Measurement – Estimation and Productivity CSE300.

Slides:



Advertisements
Similar presentations
Software Testing Techniques
Advertisements

Chapter 14 Software Testing Techniques - Testing fundamentals - White-box testing - Black-box testing - Object-oriented testing methods (Source: Pressman,
Chapter 14 Testing Tactics
Path Analysis Why path analysis for test case design?
White Box and Black Box Testing Tor Stålhane. What is White Box testing White box testing is testing where we use the info available from the code of.
1 Ivan Marsic Rutgers University LECTURE 15: Software Complexity Metrics.
CYCLOMATIC COMPLEXITY 1. Invented by Thomas McCabe (1974) to measure the complexity of a program ’ s conditional logic Cyclomatic complexity of graph.
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
David Woo (dxw07u).  What is “White Box Testing”  Data Processing and Calculation Correctness Tests  Correctness Tests:  Path Coverage  Line Coverage.
CMSC 345, Version 11/07 SD Vick from S. Mitchell Software Testing.
Metrics Project and Process Metrics. Why do we measure? Assessing project status Allows us to track risks Before they go critical Adjust workflow See.
Creator: ACSession No: 13 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringFebruary 2006 Testing - Techniques CSE300 Advanced Software Engineering.
1 Static Analysis Methods CSSE 376 Software Quality Assurance Rose-Hulman Institute of Technology March 20, 2007.
Detailed Design Kenneth M. Anderson Lecture 21
Software engineering for real-time systems
Creator: ACSession No: 1 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringSeptember 2006 Introduction to the Module CSE300 Advanced Software.
Creator: ACSession No: 5 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringSeptember 2005 Software Measurement - Basics CSE300 Advanced Software.
Creator: ACSession No: 12 Slide No: 1Reviewer: CSE300Advanced Software EngineeringJanuary 2006 Testing Strategy CSE300 Advanced Software Engineering University.
BASIS PATH TESTING ● By Tom McCabe ● McCabe, T., "A Software Complexity Measure," IEEE Trans. Software Engineering, vol. SE-2, December 1976, pp
Creator: ACSession No: 9 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringNovember 2005 Risk Management CSE300 Advanced Software Engineering.
Creator: ACSession No: 10 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringDecember 2005 Project Management CSE300 Advanced Software Engineering.
Chapter 18 Testing Conventional Applications
Creator: ACSession No: 19 Slide No: 1Reviewer: - CSE300Advanced Software EngineeringMarch 2007 ‘Agile Methods’ (part 2) CSE300 Advanced Software Engineering.
Unit Testing CS 414 – Software Engineering I Don Bagert Rose-Hulman Institute of Technology January 16, 2003.
Path testing Path testing is a “design structural testing” in that it is based on detailed design & the source code of the program to be tested. The methodology.
A Complexity Measure THOMAS J. McCABE Presented by Sarochapol Rattanasopinswat.
Cyclomatic Complexity Dan Fleck Fall 2009 Dan Fleck Fall 2009.
University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec22 1 Lecture 22: Software Measurement Basics of software measurement.
White Box vs. Black Box Testing Tor Stålhane. What is White Box testing White box testing is testing where we use the info available from the code of.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 20 Slide 1 Defect testing l Testing programs to establish the presence of system defects.
CSC 480 Software Engineering Lecture 14 Oct 16, 2002.
Creator: ACSession No: 16 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringFebruary 2006 (Software Quality) Configuration Management CSE300 Advanced.
Agenda Introduction Overview of White-box testing Basis path testing
Creator: ACSession No: 15 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringFebruary 2006 Software Quality Assurance & Software Quality Control.
Software Metrics (Part II). Product Metrics  Product metrics are generally concerned with the structure of the source code (example LOC).  Product metrics.
INTRUDUCTION TO SOFTWARE TESTING TECHNIQUES BY PRADEEP I.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
1 Program Testing (Lecture 14) Prof. R. Mall Dept. of CSE, IIT, Kharagpur.
CSC 480 Software Engineering Lecture 15 Oct 21, 2002.
White Box and Black Box Testing
Software Testing White Box Testing. Agenda What is White Box Testing Correctness Tests and Path Coverage Correctness Tests and Line Coverage McCabe Cyclomatic.
CSC 480 Software Engineering Testing - I. Plan project Integrate & test system Analyze requirements Design Maintain Test units Implement Software Engineering.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Theory and Practice of Software Testing
SOFTWARE TESTING. Introduction Software Testing is the process of executing a program or system with the intent of finding errors. It involves any activity.
White Box Testing by : Andika Bayu H.
Cyclomatic complexity (or conditional complexity) is a software metric (measurement). Its gives the number of indepented paths through strongly connected.
Cyclomatic Complexity Philippe CHARMAN Last update:
White-Box Testing Techniques I Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 7.
CS223: Software Engineering Lecture 21: Unit Testing Metric.
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
CHAPTER 9 - PART 2 Software Testing Strategies. Lesson Outlines ■ White box testing – Data processing and calculation correctness tests – Correctness.
Testing Integral part of the software development process.
Software Test Metrics When you can measure what you are speaking about and express it in numbers, you know something about it; but when you cannot measure,
Cyclomatic Complexity
Software Metrics 1.
Software Testing.
White-Box Testing Pfleeger, S. Software Engineering Theory and Practice 2nd Edition. Prentice Hall, Ghezzi, C. et al., Fundamentals of Software Engineering.
Software Engineering (CSI 321)
Data Coverage and Code Coverage
WHITEBOX TESTING APPROACH
White Box Testing.
Software Engineering Lecture #39
Chapter 14 Software Testing Techniques
Halstead software science measures and other metrics for source code
Solution to problem 4. a) Control flow graph art Start k = i + 2 * j
White-Box Testing Techniques I
Cyclomatic Complexity
1. Cyclomatic complexity
Unit III – Chapter 3 Path Testing.
Presentation transcript:

Creator: ACSession No: 7 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringSeptember 2005 Software Measurement – Estimation and Productivity CSE300 Advanced Software Engineering University of Sunderland © 2005 Anne Comer

CSE300Advanced Software EngineeringSeptember 2005 Creator/Editor: ACSession No:7 Slide No: 2Reviewer: SS Objectives for this Lecture 1.The review the estimation and measurement of product attributes 2.Identify the range of product attributes 3.Look in detail at cyclomatic complexity

CSE300Advanced Software EngineeringSeptember 2005 Creator/Editor: ACSession No:7 Slide No: 3Reviewer: SS Product Attributes There are a range of attributes that can be measured.. Size, Data flow structure, Control flow structure, Functionality

CSE300Advanced Software EngineeringSeptember 2005 Creator/Editor: ACSession No:7 Slide No: 4Reviewer: SS Product type vs. measure Code - KLOC ( KDSI + NCLOC), bytes, Specification - function points, Natural Lang. - no. of words/sentences/pages/diagrams Documents Design - no. of subsystems, modules, ‘children’

CSE300Advanced Software EngineeringSeptember 2005 Creator/Editor: ACSession No:7 Slide No: 5Reviewer: SS Structure Measurement of structure has been influenced by two things: Structured design & programming methods Complexity of individual modules

CSE300Advanced Software EngineeringSeptember 2005 Creator/Editor: ACSession No:7 Slide No: 6Reviewer: SS Measures from Graph Models flow of control of a program or within a design flow of data within a program or between modules in a design

CSE300Advanced Software EngineeringSeptember 2005 Creator/Editor: ACSession No:7 Slide No: 7Reviewer: SS Control Flow Graph 10 input p 20 if p > 39 then m = 3 40 g = ‘fail’ 50 if p > 65 then m = 4 70 g = ‘pass’ 80 m = 5 90 g = ‘distinction’ 100 print g

CSE300Advanced Software EngineeringSeptember 2005 Creator/Editor: ACSession No:7 Slide No: 8Reviewer: SS Graph properties Edge- a connection between two nodes Node- a l.o.c., a statement Loop- a loop

CSE300Advanced Software EngineeringSeptember 2005 Creator/Editor: ACSession No:7 Slide No: 9Reviewer: SS Attributes of Graphs There are a number of measurable attributes of graph models of control flow… no. of edges- size no. of nodes- size min. no. of paths covering each edge once - testability min. no. of paths covering each loop once - testability min. no. of paths covering every node - testability

CSE300Advanced Software EngineeringSeptember 2005 Creator/Editor: ACSession No:7 Slide No: 10Reviewer: SS Cyclomatic Complexity (i) McCabe was interested in control flow.. Cyclomatic complexity measures - no. of linearly independent paths through the program

CSE300Advanced Software EngineeringSeptember 2005 Creator/Editor: ACSession No:7 Slide No: 11Reviewer: SS Cyclomatic Complexity (ii) Measured in three ways… no. edges - no. nodes +2 no. of regions in the graph no. of predicate nodes +1

CSE300Advanced Software EngineeringSeptember 2005 Creator/Editor: ACSession No:7 Slide No: 12Reviewer: SS Cyclomatic Complexity (iii) When is it useful? - As an indicator of testability - OK - As a measure of ‘complexity’ - dubious

CSE300Advanced Software EngineeringSeptember 2005 Creator/Editor: ACSession No:7 Slide No: 13Reviewer: SS Key Points LOC is too specific a measure LOC is language dependent – no really accepted standards Size, data structure, control structure, function Graph measures indicate complexity Cyclomatic complexity does not measure complexity; it may measure testedness