Testing Vs. Inspection Research Paper Diala T. Gammoh, Ph.D. Student Dr. Damla Turgut, Ph.D. University of Central Florida, Orlando Florida - 2007.

Slides:



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

System Development Life Cycle (SDLC)
Lecture # 2 : Process Models
CIS-74 Computer Software Quality Assurance Systematic Software Testing Chapter 1: An Overview of the Testing Process.
Project management Project manager must;
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #7 Software Engineering.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Chapter 6: Design of Expert Systems
1 CS 501 Spring 2003 CS 501: Software Engineering Lecture 2 Software Processes.
Software Quality Metrics
Software Testing and Quality Assurance
CS 501: Software Engineering
1 Info 1409 Systems Analysis & Design Module Lecture 8 – Modelling tools and techniques HND Year /9 De Montfort University.
Applied Software Project Management 1 Introduction Dr. Mengxia Zhu Computer Science Department Southern Illinois University Carbondale.
Personal Software Process Software Quality CIS 376 Bruce R. Maxim UM-Dearborn.
Classroom Assessment A Practical Guide for Educators by Craig A
Software Integration and Documenting
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
Software Quality Chapter Software Quality  How can you tell if software has high quality?  How can we measure the quality of software?  How.
Extreme Programming Software Development Written by Sanjay Kumar.
University of Palestine software engineering department Testing of Software Systems Fundamentals of testing instructor: Tasneem Darwish.
Tietojärjestelmien peruskurssi Systeemisuunnittelu ja prototyyppimenetelmä Malin Brännback.
Applying the Inspection Process. What Software Artifacts Are Candidates for Inspection? Software Requirements Software Designs Code Test Plans.
1 Advanced Computer Programming Project Management: Methodologies Copyright © Texas Education Agency, 2013.
Disciplined Software Engineering Lecture #8 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
1 Testing Course notes for CEN Outline  Introduction:  terminology and philosophy  Factors that influence testing  Testing techniques.
Software Estimation and Function Point Analysis Presented by Craig Myers MBA 731 November 12, 2007.
TESTING PRINCIPLES BY K.KARTHIKEYAN. PRINCIPLES Principle 1. Testing is the process of exercising a software component using a selected set of test cases,
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
Lecture 3 Software Engineering Models (Cont.)
© Copyright 2011 John Wiley & Sons, Inc.
1 / 18 CS 425/625 Software Engineering Requirements Engineering Processes Based on Chapter 6 of the textbook [Somm00] Ian Sommerville, Software Engineering,
Rapid software development 1. Topics covered Agile methods Extreme programming Rapid application development Software prototyping 2.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #8 Software Engineering.
PLANNING ENGINEERING AND PROJECT MANAGEMENT By Lec. Junaid Arshad 1 Lecture#03 DEPARTMENT OF ENGINEERING MANAGEMENT.
Evaluating a UI Design Expert inspection methods Cognitive Walkthrough
1 CS 501 Spring 2004 CS 501: Software Engineering Lecture 2 Software Processes.
The Software Development Process
Systems Development Life Cycle
A Metrics Program. Advantages of Collecting Software Quality Metrics Objective assessments as to whether quality requirements are being met can be made.
Chapter 1: Fundamental of Testing Systems Testing & Evaluation (MNN1063)
Testing and inspecting to ensure high quality An extreme and easily understood kind of failure is an outright crash. However, any violation of requirements.
CSI 1340 Introduction to Computer Science II Chapter 1 Software Engineering Principles.
Software Quality Assurance and Testing Fazal Rehman Shamil.
Building usable software through early testing. Objective Show the value of testing from the beginning of the development cycle. Consensus in the industry.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Software engineering - 2 Section 8. QUIZ Show how it is possible to determine the height of a tall building with the aid of a barometer.
©kest 2008 " Software testing principles" Konstantin Muhhin IVIM Teacher/Instructor Maili Markvardt.
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.
Presented By:- Himanshu Rajkiran Sudipta.  History  Introduction  System Specification(H/W & S/W)  Feasibility Study  Entity-Relationship Diagram.
MANAGEMENT INFORMATION SYSTEM
Software Engineering (CSI 321)
Testing and Debugging PPT By :Dr. R. Mall.
CompSci 230 Software Construction
Quality Assurance: Early Work Items
Integrating Quality Activities in the Project Life Cycle
The Software Development Cycle
Software engineering – 1
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Lecture 09:Software Testing
CHAPTER 10 METHODOLOGIES FOR CUSTOM SOFTWARE DEVELOPMENT
CS310 Software Engineering Lecturer Dr.Doaa Sami
Extreme Programming.
UNIT-4 BLACKBOX AND WHITEBOX TESTING
The Software Development Cycle
Presentation transcript:

Testing Vs. Inspection Research Paper Diala T. Gammoh, Ph.D. Student Dr. Damla Turgut, Ph.D. University of Central Florida, Orlando Florida

Paper Outline – IEEE paper format using Latex Abstract Introduction Description 2.1 Testing 2.2 Inspection Testing Vs. Inspection Conclusion References

Abstract This research addresses the use of the inspection and testing tools, their definitions, importance, and principles. There are different perspectives among companies and organization about the applicability of each. This research will address these perspectives.

Introduction Several studies were done to compare inspection and testing with the result that the inspection is more favorable than the testing but it is not as widely used as testing. Both inspection and testing have the same objective to raise the quality of the software product which will save time and money, developers should be aware of the advantages and disadvantages of both of them in order to make their decisions, this research will help developers to make such a decision.

Software Testing Software testing is a process, or a series of processes, designed to make sure computer code does what it was designed to do and that it does not do anything unintended. Software should be predictable and consistent, offering no surprises to users

Software Testing Testing shouldn’t be done to show that the program works; rather, you should start with the assumption that the program contains errors (a valid assumption for almost any program) and then test the program to find as many of the errors as possible. “Testing is the process of executing a program with the intent of finding error”.

Software Testing To combat the challenges associated with testing economics, some strategies should be established before beginning. Two of the most prevalent strategies include: 1.Black-box – input/output driven testing 2.White-box – logic driven testing

Software Testing A set of vital testing principles or guidelines were Identified from “The Art of Software Testing” Book Principle 1: A necessary part of a test case is a definition of the expected output or result. Principle 2: A programmer should avoid attempting to test his or her own program. Principle 3: A programming organization should not test its own programs. Principle 4: Thoroughly inspect the results of each test. Principle 5: Test cases must be written for input conditions that are invalid and unexpected, as well as for those that are valid and expected.

Software Testing A set of vital testing principles or guidelines were Identified: Principle 6: Examining a program to see if it does not do what it is supposed to do is only half the battle, the other half is seeing whether the program does what it is not supposed to do. Principle 7: Avoid throwaway test cases unless the program is truly a throwaway program. Principle 8: Do not plan a testing effort under the tacit assumption that no errors will be found. Principle 9: The probability of the existence of more errors in a section of a program is proportional to the number of errors already found in that section. Principle 10: Testing is an extremely creative and intellectually challenging task.

Software Testing Moving beyond the psychological issues mentioned in the principles above, the most important consideration in program testing is the design and creation of effective test cases. The recommended procedure is to develop test cases using the black-box methods and then develop supplementary test cases as necessary with white-box methods.

Software Testing

From the previous figure, we can see that: -Defects are generated in each life cycle production activity. -Injected defects are removed in testing activities after code is completed. -Not all defects are removed at SHIP.

Software Inspection We need inspections to remove software defects at early stages and reduced cost. Inspections enable us to remove defects early in the software life cycle and it is always cheaper to remove defects earlier than later in the software life cycle. It is important to note that inspections are a way to remove defects at a lower cost, not a way to prevent defects from occurring.

Software Inspection

After Inspections, residual defects are removed during testing, but typically not all injected defects are removed. There is still a gap of latent defects that the users could potentially find. In the scenario, with inspections, the gap is smaller, due to the defects removed by inspections. This reduced gap represents a quality improvement in the product delivered to the users.

Testing Vs. Inspection We can notice that the inspections provide significant benefit and the publicly published data clearly demonstrate their effectiveness: -Defects are not discovered all at once during test or by the users -The increased labor hours required for fixing defects after the product is shipped is often due to loss of project team knowledge. -When fewer defects enter test, the productivity of test improves; i.e., the costs of test are lower and the time to complete test is reduced.

Testing Vs. Inspection It is found that testing is more popular than inspection. This is partially due to: 1- Views that Inspections can only be done one way 2- Views that they are not easy to do well 3- Management often views Inspections as an added cost, when in fact and as mentioned above will reduce costs during a project 4- With the advent of each new development tool or language, the providers and users seem to believe that Inspections do not add value or are less necessary

Conclusion Because of these and other factors, shortcuts in Inspection process have been taken without any proof that the change is an improvement. Some of these homegrown changes cause the Inspections process to be less effective. In turn the value of what was defined as the Inspection process is diminished.

Conclusion Inspections may not be the most enjoyable engineering task compared to designing and coding. Also, programmers are very possessive about artifacts they create. Inspections are labor intensive and low tech, but they do work.

Conclusion Since Inspections do work, they should be used until the software community has truly evolved to a position where the software process and environment permit fewer defects to be generated when software products are created.

References − The Art of Software Testing Book, Glenford J. Myers,2004 − High Quality Low Cost Software Inspections Book, Ronald A. Radice,2002 − Inspection vs. Testing, Gustav Evertsson, 2002 − Improvement of design specifications with inspection and testing, Winkler, D.; Riedl, B.; Biffl, S.,IEEE 2005 − e/566 e/566 −