System Testing CS 414 – Software Engineering I Don Bagert January 21, 2003.

Slides:



Advertisements
Similar presentations
Making the System Operational
Advertisements

Software Quality Assurance Plan
System/Software Testing Error detection and removal determine level of reliability well-planned procedure - Test Cases done by independent quality assurance.
CS 325: Software Engineering January 13, 2015 Introduction Defining Software Engineering SWE vs. CS Software Life-Cycle Software Processes Waterfall Process.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
CMSC 345, Version 11/07 SD Vick from S. Mitchell Software 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.
Requirements Analysis CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology January 7, 2003.
School of Computing, Dublin Institute of Technology.
Illinois Institute of Technology
Testing Team exercise Have each team member contribute answers: –Do you test your code? If no, why not? If yes: When? How? How often? –What is your team’s.
Systems Analysis and Design in a Changing World, 6th Edition
Unit Testing CS 414 – Software Engineering I Don Bagert Rose-Hulman Institute of Technology January 16, 2003.
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.
Introduction to Software Testing
Software Testing & Strategies
Software Engineering Lecture 13 Software Testing Strategies 1.
Chapter 13 & 14 Software Testing Strategies and Techniques
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 1 Verification and Validation u Assuring that a software system meets a user's.
MSIS 630: Week 13 System Implementation and Support
12.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
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. Introduction Testing is often left to the end of the project which is generally not a good idea. Testing should be conducted throughout.
1 Software Testing (Part-II) Lecture Software Testing Software Testing is the process of finding the bugs in a software. It helps in Verifying and.
Implementation & Integration Phase Implementation, then integration: Implementation, then integration:  Each module is implemented by member of programmer.
SOFTWARE TESTING STRATEGIES CIS518001VA : ADVANCED SOFTWARE ENGINEERING TERM PAPER.
Software Testing.
Instructor: Peter Clarke
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem Darwish.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
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.
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
CS 4850: Senior Project Fall 2014 Object-Oriented Design.
Historical Aspects Origin of software engineering –NATO study group coined the term in 1967 Software crisis –Low quality, schedule delay, and cost overrun.
Software Quality Management Plan
Software Life Cycle The software life cycle is the sequence of activities that occur during software development and maintenance.
Software testing techniques Software testing techniques Object-oriented software testing Presentation on the seminar Kaunas University of Technology.
Program Development Cycle
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
CSC 480 Software Engineering Test Planning. Test Cases and Test Plans A test case is an explicit set of instructions designed to detect a particular class.
Software Engineering Issues Software Engineering Concepts System Specifications Procedural Design Object-Oriented Design System Testing.
Chapter 24 객체지향 응용프로그램 테스팅 Testing Object-Oriented Applications 임현승 강원대학교 Revised from the slides by Roger S. Pressman and Bruce R. Maxim for the book.
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
1 Lecture 15: Chapter 19 Testing Object-Oriented Applications Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman.
CS451 Software Implementation and Integration Yugi Lee STB #555 (816) Note: This lecture was designed.
1 Object-Oriented Analysis and Design with the Unified Process Figure 13-1 Implementation discipline activities.
CSIS 4850: CS Senior Project – Spring 2009 CSIS 4850: Senior Project Spring 2009 Object-Oriented Design.
Object-Oriented and Classical Software Engineering Eighth Edition, WCB/McGraw-Hill Stephen R. Schach 1.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 14b: Software Testing Techniques Software Engineering: A Practitioner’s Approach, 6/e Chapter.
CS 325: Software Engineering February 16, 2016 Designing a Design Class Diagram Design Class Diagrams DCD: Restaurant Example DCD: ATM Example Software.
CS 4311 Software Design and Implementation Spring 2013.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
OHT 15.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Templates The contribution of templates to software quality The organizational.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Software Engineering (CSI 321)
Rekayasa Perangkat Lunak Part-13
Software Verification and Validation
Software Verification and Validation
Chapter 13 & 14 Software Testing Strategies and Techniques
Applied Software Implementation & Testing
Introduction to Software Testing
Chapter 24 Testing Object-Oriented Applications
Verification and Validation Unit Testing
Software Engineering Lecture #14.
Chapter 19 Testing Object-Oriented Applications
Chapter 19 Testing Object-Oriented Applications
System Construction and Implementation
Chapter 13 & 14 Software Testing Strategies and Techniques 1 Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Presentation transcript:

System Testing CS 414 – Software Engineering I Don Bagert January 21, 2003

CS 414 Software Engineering I - System Testing - January 21, Outline  Testing and SQA  Test Planning & Implementation Revisited  Object-Oriented Integration Testing  User and Client Testing  Summary

CS 414 Software Engineering I - System Testing - January 21, Testing and SQA  Software Quality Assurance (SQA) is a variety of activities that are used throughout the software process in order to ensure “high quality”  Many practitioners (unfortunately) think that most of Testing is SQA, when in fact, it is only a subset of it

CS 414 Software Engineering I - System Testing - January 21, Testing and SQA (continued)  Testing is part of an SQA activity called Verification and Validation, or V&V  Verification answers the question “Are we building the product right?”  Validation answers the question “Are we building the right product?”  Testing encompasses both aspects of V&V  Other V&V activities include inspections

CS 414 Software Engineering I - System Testing - January 21, Test Planning & Implementation Revisited Plan Creation Order (expanded): – System Test Plan (from System Specification) – Validation Test Plan (from Software Req. Specification) – Integration Test Plan (from Design Document) – Unit Test Plan (from source code) Plan Implementation Order (also expanded): – Unit Test Plan (tests functions and methods) – Integration Test Plan (test classes and subsystems) – Validation Test Plan (test entire software) – System Test Plan (test entire embedded system)

CS 414 Software Engineering I - System Testing - January 21, Object-Oriented Integration Testing  In general, units are tested independently before they are integrated with other units – A driver is used to call (send a message) to the unit with the data for a particular test case – Instead of calling other units, stubs are used in their place during unit testing – During integration testing, the driver and stubs are replaced other units which have also been tested

CS 414 Software Engineering I - System Testing - January 21, OO Integration Testing (continued)  OO integration testing is a two-phase process – Class Testing – Multiple Class Testing (called “Object and Independent Module Testing” in the Project Process)  This is an extension of the bottom-up test plan implementation theory for OO

CS 414 Software Engineering I - System Testing - January 21, OO Integration Testing (continued)  Techniques used in both class and multiple class testing – Test “minimum behavior” as one of the test cases – Random testing of other behavior – Partition testing

CS 414 Software Engineering I - System Testing - January 21, Examples

CS 414 Software Engineering I - System Testing - January 21, User and Client Testing  Alpha Testing – under the watchful eye of the development team  Beta Testing – users testing independently of project team; usually for software to be marketed (i.e. there is no specific client)  Acceptance Testing – project client takes deliverables and determines if the contract has been fulfilled  These are all done post-validation testing by the development team

CS 414 Software Engineering I - System Testing - January 21, Summary  Testing is part of an Software Quality Assurance activity called Verification and Validation  Drivers and stubs are used to test units independently before they are integrated with other units  OO integration testing is a two-phase process: class testing, followed by multiple class testing  Alpha, Beta and acceptance testing are some of the types of testing involving the client and/or potential users of the software