Comp 587 Parker Li Bobby Kolski. Automated testing tools assist software engineers to gauge the quality of software by automating the mechanical aspects.

Slides:



Advertisements
Similar presentations
Software Metrics for Object Oriented Design
Advertisements

David Woo (dxw07u).  What is “White Box Testing”  Data Processing and Calculation Correctness Tests  Correctness Tests:  Path Coverage  Line Coverage.
Figures – Chapter 24.
Applying and Interpreting Object Oriented Metrics
CMSC 345, Version 11/07 SD Vick from S. Mitchell Software Testing.
March 25, R. McFadyen1 Metrics Fan-in/fan-out Lines of code Cyclomatic complexity Comment percentage Length of identifiers Depth of conditional.
Nov R. McFadyen1 Metrics Fan-in/fan-out Lines of code Cyclomatic complexity* Comment percentage Length of identifiers Depth of conditional.
Metrics Project and Process Metrics. Why do we measure? Assessing project status Allows us to track risks Before they go critical Adjust workflow See.
Object-Oriented Metrics. Characteristics of OO ● Localization ● Encapsulation ● Information hiding ● Inheritence ● Object abstraction.
Design Metrics Software Engineering Fall 2003 Aditya P. Mathur Last update: October 28, 2003.
Software engineering for real-time systems
Software Metrics II Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
Object-Oriented Metrics
March R. McFadyen1 Software Metrics Software metrics help evaluate development and testing efforts needed, understandability, maintainability.
SE 450 Software Processes & Product Metrics Activity Metrics.
Predicting Class Testability using Object-Oriented Metrics M. Bruntink and A. van Deursen Presented by Tom Chappell.
Introduction to Software Testing
1 Software Testing Techniques CIS 375 Bruce R. Maxim UM-Dearborn.
Cyclomatic Complexity Dan Fleck Fall 2009 Dan Fleck Fall 2009.
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
Lecture 17 Software Metrics
Testing phases. Test data Inputs which have been devised to test the system Test cases Inputs to test the system and the predicted outputs from these.
Software Engineering Laboratory, Department of Computer Science, Graduate School of Information Science and Technology, Osaka University 1 Refactoring.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 20 Slide 1 Defect testing l Testing programs to establish the presence of system defects.
Software Measurement & Metrics
Product Metrics An overview. What are metrics? “ A quantitative measure of the degree to which a system, component, or process possesses a given attribute.”
Agenda Introduction Overview of White-box testing Basis path testing
1 Software Defect Testing Testing programs to establish the presence of system defects.
Software Quality Metrics
Concepts of Software Quality Yonglei Tao 1. Software Quality Attributes  Reliability  correctness, completeness, consistency, robustness  Testability.
Chapter 18 Object Database Management Systems. McGraw-Hill/Irwin © 2004 The McGraw-Hill Companies, Inc. All rights reserved. Outline Motivation for object.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
1 Metrics and lessons learned for OO projects Kan Ch 12 Steve Chenoweth, RHIT Above – New chapter, same Halstead. He also predicted various other project.
An Automatic Software Quality Measurement System.
CSc 461/561 Information Systems Engineering Lecture 5 – Software Metrics.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 20 Slide 1 Defect testing l Testing programs to establish the presence of system defects.
Measurement and quality assessment Framework for product metrics – Measure, measurement, and metrics – Formulation, collection, analysis, interpretation,
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
CS451 Lecture 10: Software Testing Yugi Lee STB #555 (816)
08120: Programming 2: SoftwareTesting and Debugging Dr Mike Brayshaw.
Software Metric Tools Joel Keyser, Jacob Napp, Carey Norslien, Stephen Owings, Tristan Paynter.
Object-Oriented (OO) estimation Martin Vigo Gabriel H. Lozano M.
Ontology Support for Abstraction Layer Modularization Hyun Cho, Jeff Gray Department of Computer Science University of Alabama
Chapter 22 Metrics for Process and Projects Software Engineering: A Practitioner’s Approach 6 th Edition Roger S. Pressman.
Chapter 18 Object Database Management Systems. Outline Motivation for object database management Object-oriented principles Architectures for object database.
Metrics "A science is as mature as its measurement tools."
OOAD UNIT V B RAVINDER REDDY PROFESSOR DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING.
Object Oriented Metrics
Software Engineering Lecture 19: Object-Oriented Testing & Technical Metrics.
1 OO Technical Metrics CIS 375 Bruce R. Maxim UM-Dearborn.
Software Engineering Object Oriented Metrics. Objectives 1.To describe the distinguishing characteristics of Object-Oriented Metrics. 2.To introduce metrics.
T EST T OOLS U NIT VI This unit contains the overview of the test tools. Also prerequisites for applying these tools, tools selection and implementation.
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.
Defect testing Testing programs to establish the presence of system defects.
Object Oriented Metrics
Software Metrics 1.
Course Notes Set 12: Object-Oriented Metrics
Design Characteristics and Metrics
Object-Oriented Metrics
Design Metrics Software Engineering Fall 2003
Design Metrics Software Engineering Fall 2003
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Mei-Huei Tang October 25, 2000 Computer Science Department SUNY Albany
COCOMO Models.
Software Metrics SAD ::: Fall 2015 Sabbir Muhammad Saleh.
Software Metrics using EiffelStudio
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Chapter 8: Design: Characteristics and Metrics
Presentation transcript:

Comp 587 Parker Li Bobby Kolski

Automated testing tools assist software engineers to gauge the quality of software by automating the mechanical aspects of software-testing. Automated testing tools vary in their: Underlying approach Quality Ease-of-use How does a project manager choose the best suitable testing tool? Introduction

The history of software metrics began with counting the number of lines of code (LOC). It was assumed that more lines of code implied more complex programs, which in turn were more likely to have errors. However, software metrics have evolved well beyond the simple measures introduced in the 1960s. Software Quality Metrics

Since the first introduction of LOC, metrics for traditional or procedural source code have increased in number and complexity. Cyclomatic complexity e is the number of edges, n is the number of nodes and p is number of unconnected parts of G. Offers an estimate of the reliability, testability, and maintainability of a program, based on measuring the number of linearly independent paths through the program. Procedural (Traditional) Software Metrics

Function Point is a measure of the size of computer applications and the projects that build them. Procedural (Traditional) Software Metrics (Cont.)

Weighted-methods-per-class (WMC) – the sum of the individual complexities of the methods within that class. Depth of inheritance tree (DIT) – defined as the maximum length from the node to the root of a class tree. Deeper a class is in the inheritance hierarchy, more complex it gets. Number of Children (NOC) – Immediate subclasses of class. Large NOC implies great amount of inheritance and resue. Coupling between object classes (CBO) – When a class inherits methods, instance variables, they are coupled. Greater number = complexity Object-Oriented Software Metrics

Number of key classes (NKC) Number of subsystems (NSUB) Class size (CS) Number of operations added by a subclass (NOA) Average method size Average number of instance variables Class hierarchy nesting level Object-Oriented Software Metrics

Does it offer critical support for planning tests and monitoring test progress? Does it have an analysis feature where it assesses the characteristics of the software quality? Does it offer guiding dynamic testing? How mature is the tool? Is it easy to implement for your system? Which Software-Testing Tool to use?

Human Interface Design (HID) – Tools with well-designed human interfaces enable easy, efficient, and accurate setting of tool configuration. Tool Management (TM) – the tool should ensure proper management of information. Ease of Use (EU) – the tool should be easy to use by both new and familiar users. User Control (UC) – the tool should allow extensive and detail testing coverage rather than one bulky one. Metrics for Tools that support testing procedure software

3 Tools for Software Testing LDRA Testbed Parasoft Testbed C++ Test CodeWizard Inspire++ Telelogic Testbed Logiscope

Coverage Report (Dynamic Analysis) Branch Coverage Statement Coverage Metrics Cyclomatic Complexity (Static Analysis) Quality Report LRDA Testbed

LRDA Testbed – Branch/Decision coverage Part 1 (Part of dynamic testing)

LRDA Testbed – Code/branch/decision coverage Part 2 (Part of dynamic testing)

Parasoft Testbed C++ Test White-Box Black-Box Regression testing Code Wizard 170 industry-accepted C/C++ coding standards Inspire++ C/C++ runtime error checking

Parasoft Testbed (metrics)

Parasoft Testbed C++ Test Bug Detective (static analysis)

Logiscope TestChecker – mentioned in the article RuleChecker – mentioned in the article Audit * Reviewer * * included in the current version of the tool and shown for completeness but not covered further in the slides. Telelogic Testbed

Telelogic Logiscope – Bought by IBM – The current version is Rational Telelogic Logiscope

Human Interface Design (HID) Comparison Keyboard-to-mouse switches (KMS) Input fields per functions (IFPF) Average length of input fields (ALIF) Button recognition factor (BR) Exercising the Software-Testing Tools (Comparison of the tools themselves)

Test case generation (TCG) Automated test case generation (ATG) Test case reuse functionality (TRF) Special note: LDRA does not automatically generate test cases but does provide user-friendly features such as pull-down menus for created test cases therefore it was assigned an eight for its level of ATG. Exercising the Software-Testing Tools (Comparison of the tools themselves)

LRDA – For Object Oriented tests there were issues with the tool, so no results were obtained. High levels of knots indicate that the code is disjointed LDRA appends the Motor Industry Software Reliability Association (MISRA) C Standard and the Federal Aviation Authority’s DO-178B standard. Analysis of Results (The output of the tools)

Software Metrics have come a long way since the LOC era. Software Metrics can be use not only to measure the quality of software, but also the effectiveness of the software testing tool. Choosing a software testing tool is not simple. Importance of this article

Questions?