Testing Strategy Big Picture Planning for Software Testing.

Slides:



Advertisements
Similar presentations
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
Advertisements

Integration testing Satish Mishra
CHAPTER 18 SOFTWARE TESTING STRATEGIES
Illinois Institute of Technology
Software Testing. “Software and Cathedrals are much the same: First we build them, then we pray!!!” -Sam Redwine, Jr.
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.
Outline Types of errors Component Testing Testing Strategy
CS 432 Object-Oriented Analysis and Design
Software Testing Name: Madam Currie Course: Swen5431 Semester: Summer 2K.
 Introduction Introduction  Characteristics of Strategic Testing Characteristics of Strategic Testing  Verification and Validation Verification and.
Software Testing & Strategies
Software Engineering Lecture 13 Software Testing Strategies 1.
Issues on Software Testing for Safety-Critical Real-Time Automation Systems Shahdat Hossain Troy Mockenhaupt.
Software System Integration
BY RAJESWARI S SOFTWARE TESTING. INTRODUCTION Software testing is the process of testing the software product. Effective software testing will contribute.
1 Software Testing Techniques CIS 375 Bruce R. Maxim UM-Dearborn.
Chapter 13 & 14 Software Testing Strategies and Techniques
Software Testing Sudipto Ghosh CS 406 Fall 99 November 9, 1999.
System/Software Testing
Programinės Įrangos Testavimo Strategijos
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Testing. What is Testing? Definition: exercising a program under controlled conditions and verifying the results Purpose is to detect program defects.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 CHAPTER 17 SOFTWARE TESTING STRATEGIES. December 28, 1997 R. A. Volz -- Assistance - Nirmal Patil 2 TOPICS u A strategic approach to software testing.
1. Topics to be discussed Introduction Objectives Testing Life Cycle Verification Vs Validation Testing Methodology Testing Levels 2.
Chapter 12: Software Testing Omar Meqdadi SE 273 Lecture 12 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Software Testing.
Prof. Mohamed Batouche Software Testing.
Software Engineering Chapter 23 Software Testing Ku-Yaw Chang Assistant Professor Department of Computer Science and Information.
INT-Evry (Masters IT– Soft Eng)IntegrationTesting.1 (OO) Integration Testing What: Integration testing is a phase of software testing in which.
Lecture 11 Testing and Debugging SFDV Principles of Information Systems.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
Software Testing Techniques Fundamental Thoughts About Testing.
Software Testing Testing types Testing strategy Testing principles.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
Software Testing The process of operating a system or component under specified conditions, observing and recording the results, and making an evaluation.
System Test Methods TESTTEME The Test Challenge Bottom Up Testing Strategy Integration Test System Test Types of Testing Unit Test = Code-based Testing.
Testing. 2 Overview Testing and debugging are important activities in software development. Techniques and tools are introduced. Material borrowed here.
Black-box Testing.
Software Construction Lecture 18 Software Testing.
(1) Unit Testing and Test Planning CS2110: SW Development Methods These slides design for use in lab. They supplement more complete slides used in lecture.
Topics Covered: Software testing Software testing Levels of testing Levels of testing  Unit testing Unit testing Unit testing  Integration testing Integration.
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
Chapter 7 Implementation. Implementation Approaches F Big bang –Code entire system and test in an unstructured manner F Top-down –Start by implementing.
CS 360 Lecture 15.  A strategic approach to testing  Functionality meets the requirements that guided its design.  Responds correctly to all types.
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
SOFTWARE TESTING. Introduction Software Testing is the process of executing a program or system with the intent of finding errors. It involves any activity.
Agenda for today: The Unified Software Development Process: Test (Note) Test The purpose of testing Artifacts Test in the sw Life Cycle Workers Test procedure.
 Software Testing Software Testing  Characteristics of Testable Software Characteristics of Testable Software  A Testing Life Cycle A Testing Life.
Chapter 12: Software Testing Omar Meqdadi SE 273 Lecture 12 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Software Engineering By Germaine Cheung Hong Kong Computer Institute Lecture 7.
VI SEM CSE UNIT IV SOFTWARE ENGINEERING PROJECT MANAGEMENT TESTING STRATEGIES By Mr. Vaibhav V. Bhujade DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING DMIETR,
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
SOFTWARE TESTING SOFTWARE TESTING Presented By, C.Jackulin Sugirtha-10mx15 R.Jeyaramar-10mx17K.Kanagalakshmi-10mx20J.A.Linda-10mx25P.B.Vahedha-10mx53.
SOFTWARE TESTING. SOFTWARE Software is not the collection of programs but also all associated documentation and configuration data which is need to make.
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
ANOOP GANGWAR 5 TH SEM SOFTWARE TESTING MASTER OF COMPUTER APPLICATION-V Sem.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
Defect testing Testing programs to establish the presence of system defects.
Testing Integral part of the software development process.
Software Testing Strategies for building test group
Software Testing.
Group mambers: Maira Naseer (BCS ).
Software Testing.
Software Testing Techniques
Chapter 13 & 14 Software Testing Strategies and Techniques
Software testing strategies 1
Verification and Validation Unit Testing
Software Testing Strategies
Chapter 13 & 14 Software Testing Strategies and Techniques 1 Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Presentation transcript:

Testing Strategy Big Picture Planning for Software Testing

Why Plan Your Tests? Testing can take a significant amount of (often unplanned) time There is more to be tested than possible Haphazard testing is likely to miss errors Haphazard testing is likely to duplicate effort Haphazard testing is likely to generate confusion

The Testing Keyword: “Systematic” Plan what you will test, when, and how. Design tests with a purpose (diagnosis) Use TRs as part of your test plan Start small, but test the “all” Test logic, function, behavior, and requirements. Test your deployment. Test your documentation.

Types (Levels) of Testing Unit: Tests individual modules and classes, generally with knowledge of program logic (white-box or glass-box testing). Integration: Tests collaborating classes or modules, also with knowledge of program structure. Validation: Tests requirements, functions and behavior (black-box or functional testing) System: Tests application in context.

Things We Can Do to Make Testing Easier Specify requirements quantifiably: e.g., GUI response time should be less than 1 sec State test objectives explicitly: e.g., this test verifies data structure initialization Create a user profile: determine expected pattern of use (and then also test for unexpected) Build bullet-proof software: expect exceptions Use TRs to think deeply about the program logic Let someone else review your test cases for completeness Instrument your classes to show their state Use unit testing frameworks where available

Common Errors In Computation Misunderstood operator precedence Mixed data types (casting) Incorrect initialization Precision problems Incorrect equations (or derivation of the same) In Logic (control flow) Comparison errors (type mismatch, wrong operator) Misunderstood precedence Missed equality Improper loop initialization or termination Improper loop maintenance Boundary values misunderstood or just missed (off-by-one) Data structures or their operations misunderstood Overly complicated Boolean expressions (e.g., double negation) In Error Handling Error description is meaningless Error reported is not error encountered Error not caught Error handling not tested

Top-Down Versus Bottom-Up Testing Top-Down Advantages: Main control structure exercised early Early demonstration of capability builds confidence in app Disadvantages: Requires stub code May degenerate into “big bang” testing approach Bottom-Up Advantages: Easier to comprehend Helps create solid program foundation Supported by testing frameworks Disadvantages: “Glue” code required to test cooperating modules or classes

Additional Points of Emphasis Testing and quality (pg 451 7/e, pg 356 6/e) Testing and the programmer’s “conflict of interest” (pg 451 7/e, pg 357 6/e) Other types of testing: regression and smoke testing (pg /e, /e) Verification &Validation (pg 451 7/e, pg 356 6/e) Still other types of testing: recovery, security, etc. (pgs /e, pgs /e) Comments on Debugging (pgs /e, pgs /e)