Software Inspections and Testing

Slides:



Advertisements
Similar presentations
Object Oriented Analysis And Design-IT0207 iiI Semester
Advertisements

Estimating Defect Density. True genius resides in the capacity for evaluation of uncertain, hazardous and conflicting information Winston Churchill.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #7 Software Engineering.
Code Inspections CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology January 23, 2003.
Personal Software Process
6/19/2007SE _06_19_Overview_Inspections.ppt1 Team Software Project (TSP) June 19, 2007 High Level Designs, Code Inspections & Measurement.
Chapter 9 Testing the System, part 2. Testing  Unit testing White (glass) box Code walkthroughs and inspections  Integration testing Bottom-up Top-down.
The Software Process Strategy The Software Process Strategy Part III.
CS 350: Introduction to Software Engineering Slide Set 5 Software Quality C. M. Overstreet Old Dominion University Spring 2006.
Copyright © 1998 Wanda Kunkle Computer Organization 1 Chapter 2.1 Introduction.
SE 555 Software Requirements & Specification Requirements Validation.
CSC 395 – Software Engineering Lecture 9: Testing -or- How I Stopped Worrying and Learned to Love the Bug.
 QUALITY ASSURANCE:  QA is defined as a procedure or set of procedures intended to ensure that a product or service under development (before work is.
Chapter 11: Testing The dynamic verification of the behavior of a program on a finite set of test cases, suitable selected from the usually infinite execution.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Software Quality Chapter Software Quality  How can you tell if software has high quality?  How can we measure the quality of software?  How.
INFO 637Lecture #81 Software Engineering Process II Integration and System Testing INFO 637 Glenn Booker.
SOFTWARE TESTING STRATEGIES CIS518001VA : ADVANCED SOFTWARE ENGINEERING TERM PAPER.
SoITSSpecifications of IT systems? 1 Specifications of IT systems checking and validating Jens Bennedsen and Peter Gorm Larsen
S oftware Q uality A ssurance Part One Reviews and Inspections.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 10: Testing and Inspecting to Ensure High Quality Part 4:
INFO 637Lecture #41 Software Engineering Process II Development Plan INFO 637 Glenn Booker.
CS 350, slide set 6 M. Overstreet Old Dominion University Spring 2005.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
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.
CS 350, slide set 10 M. Overstreet Old Dominion University Spring 2006.
Disciplined Software Engineering Lecture #7 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
© 1998 Carnegie Mellon UniversityTutorial The Personal Software Process (PSP) The overview of the PSP that follows has been built from material made.
Lecture 4 Software Metrics
INFO 637Lecture #101 Software Engineering Process II Review INFO 637 Glenn Booker.
CHAPTER 9 INSPECTIONS AS AN UP-FRONT QUALITY TECHNIQUE
INFO 636 Software Engineering Process I Prof. Glenn Booker Week 9 – Quality Management 1INFO636 Week 9.
INFO 636 Software Engineering Process I Prof. Glenn Booker Week 8 – Reviews 1INFO636 Week 8.
PSP Quality Strategy [SE-280 Dr. Mark L. Hornick 1.
Formal Methods in Software Engineering
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 7 1 Design and Code Reviews - Overview What are design and code.
Chapter 12: Software Inspection Omar Meqdadi SE 3860 Lecture 12 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Implementation Phase CS4311 – Spring 2008 References: Shach, Object Oriented and Classical Software Engineering E. Braude, Software Engineering, an Object-Oriented.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Chapter 8. The Process Phases 1. Launching teams 2. The development strategy 3. Team planning 4. The requirements process 5. Designing with teams 6. Implementation.
INFO 637Lecture #71 Software Engineering Process II Product Implementation INFO 637 Glenn Booker.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
CS 350, slide set 11 M. Overstreet Old Dominion University Fall 2004.
Integration and system test
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Reviews Chapter 5 Applied Software Project Management, Stellman & Greene See also:
Management of Software Project CSM Review By:Nafas.
TMP3413 Software Engineering Lab Lab 01: TSPi Tool Support.
Certified Software Tester How To Build a Testing Project, Part 1.
Software Reviews Ashima Wadhwa.
Why Metrics in Software Testing?
Software Testing.
Software Configuration Management (SCM)
Integration Testing.
Chapter 18 Software Testing Strategies
9/18/2018 Department of Software Engineering and IT Engineering
A possible solution: Personal Software Process (PSP)
Applied Software Implementation & Testing
Lecture 09:Software Testing
Software System Integration
Chapter 10 – Software Testing
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.
WALKTHROUGH and INSPECTION
Chapter 11: Integration- and System Testing
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Team Software Process (TSP)
Software Reviews.
Presentation transcript:

Software Inspections and Testing Mohammed El-Affendi

Inspection-Based versus Test-Based Quality Strategies: The traditional approach in software development is to rely on tests to discover software defects. This is known as the test-based quality strategy and has proved to be not very effective. In one classical example, the test-based strategy: a 22 KLOC product produced 186 defects during test, 42 of them critical. Only one critical defect was found in the first year. In another example, testing took six years. The last 10 critical defects were found after 288 weeks

Inspection-Based Quality Strategy: The current trend in software development is to put quality products into test not to test poor quality products. Inspections are used to remove as much as possible of the defects before the test phase. This proved to reduce the test time from 50% to only 10%. In some real cases this strategy reduced test time form 22% to 2.7% only.

Some Terminology: A defect is any requirements, design, or implementation element that if not changed could cause improper design, implementation, test, use or maintenance of the product. A major defect is any problem that, when fixed would change the executable program. Fixing a minor defect will not change the executable.

Some Terminology: Defects/KLOC is a measure of quality in the test phase. Defect ratios give insight into the quality of reviews. Development time ratios: e.g. detailed design versus coding time. A/FR (appraisal/Failure ratios): e.g Time spent in reviews versus time spent in test.

What are Inspections: An inspection is a form of review in which one or more engineers review a product produced by another engineer to find defects and problems. This may be done for all types of products during the development process: use cases, SRS, SDS, code, documentation …etc.

How Inspections are Performed? Briefing phase. Review phase. Meeting Phase. Repair phase.

A Suggested Inspection Process: Producer contacts moderator (quality manager) telling him that the product is ready for inspection. Moderator reviews product to ensure that it is ready for inspection. Moderator invites the inspection team for a briefing. Moderator describes the inspection process. Producer familiarizes team with product. Team members decide inspection approach and method (viewpoints, product concentration …etc.).

Inspection Process: Moderator fixes time and date for inspection meeting. Producers separately review the product. Conduct inspection meeting: moderator opens meeting and if some reviewers are not ready reschedule meeting. Conduct a walkthrough: moderator walks through the product section by section, recording every defect on the INSPECTION Form, notes every engineer who discovered a major defect. Estimate the remaining defects.

Estimating the Remaining Defects: A Typical Inspection Form.doc Count unique engineer defects. Identify the engineer with the most unique defects, W. Check each major defect found by W in column A. In Column B check all defects found by other engineers. Count C, the common defects between A and B. Number found is A+B-C Total estimated AB/C Remaining defects (AB/C) – (A+B-C).

Inspection Rates: Inspection rates are measured either in LOCs per hour or pages per hour. 2 pages/ hour  req. 5 pages/hour  HLD 200 LOC/hour.

Development Ratios: Spend 50% of design time in design inspection. You may try to collect your own statistics to deduce a guideline for how much time to spend in inspection based on development time.

Inspection Yields: Measures the per cent of defects found during inspection. This helps the development team to evaluate their review processes and compare them.

Testing Unit testing. Build and integration testing. System testing. Alpha testing. Beta Testing.

Build and Integration Strategies: Bing-Bang. One-at-time (bottom-up). Cluster strategy. Flat-system strategy (top-down).

System Testing Strategies: Does the system properly perform the functions it is supposed to perform? Does the system meet its quality goals? Will the system operate properly under normal conditions? Will the system operate properly under adverse conditions?

Test Process: Build: -- Make sure that all needed parts are available. --Build the product and make it ready for integration testing. -- Record all defects in defect LOG.

Integration Test: Run the product to make sure that it can be started and run. Make sure that all interfaces are properly matched and functional. Remember that this is not a system test and should be simple.

System Test: Test the system for normal and stress conditions. Test the product for installation, conversion and recovery. Record all test activities in the test log form.

Test Log Form: The date the test was run. The name of the person running the test. The tests run (name or number). The product and configuration being tested. The time each test was started. The time each test was completed. The number of defects found (LOGD references). Test results.

Preparing the Test Cases and Material: Preparing test cases may not be a trivial exercise. It depends greatly on the type of application. The test engineers should start early collecting the required data sets and the expected results. The data should cover boundary conditions and all the expected domains. You may need to read full chapters on how test cases are prepared (see for example Pressman).