Fall, 2006SW Eng Standalone Progs, Univ of Colorado Boulder 1 Wk 11 Glass Box Testing, Flow Graphs, Test Coverage SW Engineering of Standalone Programs.

Slides:



Advertisements
Similar presentations
Chapter 14 Software Testing Techniques - Testing fundamentals - White-box testing - Black-box testing - Object-oriented testing methods (Source: Pressman,
Advertisements

Software Testing Technique. Introduction Software Testing is the process of executing a program or system with the intent of finding errors. It involves.
Path Analysis Why path analysis for test case design?
Whitebox Testing Fra: CS Fall Whitebox Testing AKA Structural, Basis Path Test Normally used at unit level Assumes errors at unit level are.
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
-- Finishing Design Unit -- Intro to Glass Box Testing ECEN5543 / CSCI 5548 SW Eng of Standalone Programs University of Colorado, Boulder.
Static Technique. Static Technique - Review  A way of testing software work products  Program code, requirement spec., design spec.  Test plan, test.
Testing Without Executing the Code Pavlina Koleva Junior QA Engineer WinCore Telerik QA Academy Telerik QA Academy.
BASIS PATH TESTING ● By Tom McCabe ● McCabe, T., "A Software Complexity Measure," IEEE Trans. Software Engineering, vol. SE-2, December 1976, pp
Unit Testing CS 414 – Software Engineering I Don Bagert Rose-Hulman Institute of Technology January 16, 2003.
Verification and Validation
1 Software Inspections and Walkthroughs Author: A. Frank Ackerman Presented by Cynthia Johnson EEL6883.
1CMSC 345, Version 4/04 Verification and Validation Reference: Software Engineering, Ian Sommerville, 6th edition, Chapter 19.
Software Systems Verification and Validation Laboratory Assignment 3
System/Software Testing
Software Inspections and Walkthroughs By. Adnan khan.
Testing. Definition From the dictionary- the means by which the presence, quality, or genuineness of anything is determined; a means of trial. For software.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 10: Testing and Inspecting to Ensure High Quality Part 4:
Software Inspection A basic tool for defect removal A basic tool for defect removal Urgent need for QA and removal can be supported by inspection Urgent.
1 Testing Course notes for CEN Outline  Introduction:  terminology and philosophy  Factors that influence testing  Testing techniques.
Overview of Software Testing 07/12/2013 WISTPC 2013 Peter Clarke.
Introduction to Software Testing
Software Testing The process of operating a system or component under specified conditions, observing and recording the results, and making an evaluation.
Testing Workflow In the Unified Process and Agile/Scrum processes.
Agenda Introduction Overview of White-box testing Basis path testing
Jump to first page (C) 1998, Arun Lakhotia 1 Quality Assurance: Reviews and Walkthroughs Arun Lakhotia University of Southwestern Louisiana Po Box
Unit Testing 101 Black Box v. White Box. Definition of V&V Verification - is the product correct Validation - is it the correct product.
CHAPTER 9 INSPECTIONS AS AN UP-FRONT QUALITY TECHNIQUE
Software Testing and Maintenance 1 Code Review  Introduction  How to Conduct Code Review  Practical Tips  Tool Support  Summary.
1 Program Testing (Lecture 14) Prof. R. Mall Dept. of CSE, IIT, Kharagpur.
Chapter 12: Software Inspection Omar Meqdadi SE 3860 Lecture 12 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Inspection and Review The main objective of an Inspection or a Review is to Detect Defects. (Today -there may be some other goals or broader definition.
© 2001 Hans Schaefer Slide no. 1 Fast reviews Fast reviews for small immature organizations Hans Schaefer Software Test Consulting N-5281 Valestrandsfossen,
White Box Testing Arun Lakhotia University of Southwestern Louisiana P.O. Box Lafayette, LA 70504, USA
Inspection and Review The main objective of an Inspection or a Review is to detect defects. This activity and procedure was first formalized by Mike Fagan.
SOFTWARE TESTING. Introduction Software Testing is the process of executing a program or system with the intent of finding errors. It involves any activity.
© Michael Crosby and Charles Sacker, 2001 Systematic Software Reviews Software reviews are a “quality improvement process for written material”.
Dynamic Testing.
Testing and Debugging. Testing Fundamentals  Test as you develop Easier to find bugs early rather than later Prototyping helps identify problems early.
White Box Testing by : Andika Bayu H.
Software Testing Techniques Presented By Dr. Shazzad Hosain.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Structural Coverage. Measurement of structural coverage of code is a means of assessing the thoroughness of testing. Such metrics do not constitute testing.
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
1 Software Testing. 2 What is Software Testing ? Testing is a verification and validation activity that is performed by executing program code.
Testing Integral part of the software development process.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
CX Introduction to Web Programming Testing.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Regression Testing with its types
Software Configuration Management (SCM)
White-Box Testing Pfleeger, S. Software Engineering Theory and Practice 2nd Edition. Prentice Hall, Ghezzi, C. et al., Fundamentals of Software Engineering.
Software Testing.
CSC 480 Software Engineering
Software Engineering (CSI 321)
Verification and Validation
Verification and Validation
Software Testing (Lecture 11-a)
Verification and Validation Unit Testing
Inspection and Review The main objective of an Inspection or a Review is to detect defects. (Not for Giving Alternative Solutions) This activity and procedure.
Structural Coverage.
Applied Software Project Management
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Structural Coverage.
Software Testing “If you can’t test it, you can’t design it”
Whitebox Testing.
Software Reviews.
Chapter 10: Testing and Quality Assurance
Presentation transcript:

Fall, 2006SW Eng Standalone Progs, Univ of Colorado Boulder 1 Wk 11 Glass Box Testing, Flow Graphs, Test Coverage SW Engineering of Standalone Programs

Fall, 2006SW Eng Standalone Progs, Univ of Colorado Boulder 2 Basis set for statement coverage testing Draw the flow graph Count the bounded regions including the “outside region” –N is the number of linearly independent paths through the program control structure –A linearly independent path includes one node of the control flow graph not contained in any other –Create a basis set of linearly independent paths Prepare test cases to force execution of each path in the basis set. Execution of these test cases yields ______ coverage

Fall, 2006SW Eng Standalone Progs, Univ of Colorado Boulder 3 Flow Graph: McCabe’s is 25

Fall, 2006SW Eng Standalone Progs, Univ of Colorado Boulder 4 Flow Graph Revelations

Fall, 2006SW Eng Standalone Progs, Univ of Colorado Boulder 5 Complexity impact

Fall, 2006SW Eng Standalone Progs, Univ of Colorado Boulder 6 Uses of Test Coverage Measurement Measure test suite completeness Identify risk areas –Combine execution counts with complexity –Understand complex code segments that are frequently executed –Understand criticality Assist in creating new test cases Assist in manual detection of faults Prioritize test cases for regression tests

Fall, 2006SW Eng Standalone Progs, Univ of Colorado Boulder 7 Some More Test Coverage terms

Fall, 2006SW Eng Standalone Progs, Univ of Colorado Boulder 8 Test Coverage Measures Completeness of Test Suite

Fall, 2006SW Eng Standalone Progs, Univ of Colorado Boulder 9 Test Coverage Measurement Minimize and select regression tests 377 Total Tests Blocks Decisions P-uses All-uses 75% 65% 38% 44% 160 Total Tests Blocks Decisions P-uses All-uses 75% 65% 38% 44% 18 Total Tests Blocks Decisions P-uses All-uses 62% 52% 30% 37% 42% of the original tests provide identical coverage 5% of original tests provide 85% of original coverage

Fall, 2006SW Eng Standalone Progs, Univ of Colorado Boulder 10 Unit Test Coverage vs System Test Errors

Fall, 2006SW Eng Standalone Progs, Univ of Colorado Boulder 11 System Test Observed & Expected Failures

Fall, 2006SW Eng Standalone Progs, Univ of Colorado Boulder 12 System Test Failure Rate over Active Hrs

Fall, 2006SW Eng Standalone Progs, Univ of Colorado Boulder 13 System Test Case Completion Graph

Fall, 2006SW Eng Standalone Progs, Univ of Colorado Boulder 14 HW 7 start of code getop(s, lim) /*get next operator or operand */ char all; int lim; { int i, c; while ((c = getch ( ) ) == ‘ ‘|| c == ‘\t’ || c == ‘\n’) ; if (c ! = ‘.’ && (c ’9’)) return (c); s[0] = c; for (i=1; (c=getchar()) >= ‘0’ && c <=‘9’; i++) if (i < lim) s[i] = c; if...

Fall, 2006SW Eng Standalone Progs, Univ of Colorado Boulder 15 Inspections

Fall, 2006SW Eng Standalone Progs, Univ of Colorado Boulder 16 What are inspections? Means of verifying work products Manual examination technique One piece at a time Small group of peers – at least 4

Fall, 2006SW Eng Standalone Progs, Univ of Colorado Boulder 17 Purpose Verification of a work product against –established criteria –product specifications

Fall, 2006SW Eng Standalone Progs, Univ of Colorado Boulder 18 How performed? Planning Overview Preparation Meeting Re-work Follow up

Fall, 2006SW Eng Standalone Progs, Univ of Colorado Boulder 19 Roles of participants Author Moderator Reader Recorder Inspector

Fall, 2006SW Eng Standalone Progs, Univ of Colorado Boulder 20 The meeting Each participant reports preparation time Reader paraphrases –Pace should be effective –Not too slow, not too fast Inspectors look, listen, and think simultaneously Author and inspectors speak up if they disagree with reader’s paraphrase – need to decide which is correct. If Reader, Recorder notes location & brief description of issue Moderator can adjust pace and “atmosphere”

Fall, 2006SW Eng Standalone Progs, Univ of Colorado Boulder 21 End of meeting Recorder’s list goes to author After rework, at a minimum, author reviews changes with one inspector. Better – inspect the changed item

Fall, 2006SW Eng Standalone Progs, Univ of Colorado Boulder 22 Benefits Errors found at faster rate Errors found early are cheaper to fix Cross-training Learn good and bad techniques by seeing them, e.g. coding techniques

Fall, 2006SW Eng Standalone Progs, Univ of Colorado Boulder 23 A Word about Extreme Programming My personal view of extreme programming is that Beck & Cunningham managed to incorporate many effective software engineering tasks into short iterations with high feedback. One example: pair programming is...