CSC 480 Software Engineering

Slides:



Advertisements
Similar presentations
September 2008Mike Woodard Rational Unified Process Key Concepts Mike Woodard.
Advertisements

Testing Workflow Purpose
1 Software Testing and Quality Assurance Lecture 13 - Planning for Testing (Chapter 3, A Practical Guide to Testing Object- Oriented Software)
1 Requirements and the Software Lifecycle The traditional software process models Waterfall model Spiral model The iterative approach Chapter 3.
Chapter 4 Quality Assurance in Context
Software Engineering Process
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
SE 555 Software Requirements & Specification Beyond Requirements Based on Weigers Chapter17.
Rational Worldwide Software Symposium
Objectives Explain the purpose and various phases of the traditional systems development life cycle (SDLC) Explain when to use an adaptive approach to.
1 REQUIREMENTS ENGINEERING and SYSTEMS ANALYSIS Elements and Definitions.
9. SYSTEM INTEGRATION.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Verification & Validation and Systems Integration.
Quality Assurance ITEC Rick Price. Expectations This course is not purely a lecture course – Classroom participation is a large portion – Everyone.
Introduction to RUP Spring Sharif Univ. of Tech.2 Outlines What is RUP? RUP Phases –Inception –Elaboration –Construction –Transition.
Software Engineering Chapter 15 Construction Leads to Initial Operational Capability Fall 2001.
RUP Fundamentals - Instructor Notes
Prologue: The Software Process. Main Phases of Software Process 1. Requirements Analysis (answers “WHAT?”) Specifying what the application must do 2.
UNIT TESTING. Plan project Integrate & test system Analyze requirements Design Maintain Test units Implement Software Engineering Roadmap Identify corporate.
RUP Implementation and Testing
Relating Testing to Quality –Timeliness of Testing –Quality Attributes Gauge by Testing –Roles Defining Test Discipline Activities Elaborating the Test.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Instructor: Peter Clarke
SWE © Solomon Seifu CONSTRUCTION. SWE © Solomon Seifu Lesson 13-2 Testing.
Testing Workflow In the Unified Process and Agile/Scrum processes.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
Chapter 2 Iterative, Evolutionary, and Agile You should use iterative development only on projects that you want to succeed. - Martin Fowler 1CS
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
CSC 480 Software Engineering
CSC 480 Software Engineering Testing - I. Plan project Integrate & test system Analyze requirements Design Maintain Test units Implement Software Engineering.
The principles of an object oriented software development process Week 04 1.
© 2010 John Wiley & Sons Ltd. Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
ANU comp2110 Software Design lecture 8 COMP2110 Software Design in 2004 lecture 8 Software Architecture 1 of 2 (design, lecture 3 of 6) Goal of this small.
28 June 2000P. Mato, CERN1 Software Checklist Proposal for controlling and documenting all the steps in developing software Program of Work Meeting, June.
The Software Lifecycle Stuart Faulk. Definition Software Life Cycle: evolution of a software development effort from concept to retirement Life Cycle.
Software Engineering Modern Approaches Eric Braude and Michael Bernstein 1.
An Overview of Requirements Engineering Tools and Methodologies*
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Chapter ? Quality Assessment
The Web Application Development Process Models
COMP2110 Software Design in 2004 lecture 09 High level design
Chapter 13 & 14 Software Testing Strategies and Techniques
UML: Unified modeling language
Requirements and the Software Lifecycle
Introduction to Software Engineering
Object Oriented Analysis and Design
Chapter 2 – Software Processes
Rational Worldwide Software Symposium
Rational Unified Process
Introduction to Software Testing
SDLC Model A framework that describes the activities performed at each stage of a software development project.
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Software Engineering Lecture #8.
Verification and Validation Unit Testing
Lecture 2 Revision of Models of a Software Process
Rational Worldwide Software Symposium
Software engineering -1
The purpose of testing Artifacts Test in the sw Life Cycle Workers
Progression of Test Categories
Software maintenance.
SOFTWARE LIFE-CYCLES Beyond the Waterfall.
Comp 15 - Usability & Human Factors
Rational Worldwide Software Symposium
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
UML Design for an Automated Registration System
Presentation transcript:

CSC 480 Software Engineering Integration Testing

Software Engineering Roadmap: Construct system in stages - Plan integration of parts to yield whole - Test subassemblies - Assemble in “builds” - Test whole system in a variety of ways Identify corporate practices Plan project Maintain Analyze requirements Integrate & test system Design Implement Test units Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Chapter Learning Goals Be able to plan the integration of modules Understand types of testing required Be able to plan and execute testing beyond the unit level Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

1. Introduction to system integration

Unified Process for Integration & Test Jacobson et al: USDP Requirements Analysis Design Implemen- tation Test Inception Elaboration Construction Transition Integration Unit Tests Integration tests ... System tests Prelim. iterations Iter. #1 Iter. #n Iter. #n+1 Iter. #m Iter. #m+1 Iter. #k ….. …..

Development Overview Customer Requirements Architecture loss of information Requirements loss Architecture

Module (e.g., package) code Customer Development Overview loss of information Requirements loss Architecture loss loss Detailed design Interface specs loss Function code loss Module (e.g., package) code After Myers System code

Testing Units in Context Stand-alone unit test of function -- may require driver & stubs Test of function in context -- eliminate or reduce driver & stubs Function code Function tests code + Iteration or System code Complete code

Testing Overview: Artifact Flow (After Myers) order of testing Requirements (11) Acceptance tests Testing Overview: Artifact Flow (After Myers) Docs. (10) Installation tests Architecture (9) Usability tests Docs. Docs. Detailed design (8) System tests Docs. (7) Regression tests Interface specs (6) Integration tests Function code Docs. (5) Interface tests Code + Code + Module (e.g., package) code (2),(4) Module tests Code + Code + (1),(3) Function tests Iteration or System code Complete code

Testing for Validation and Verification (After Myers) (11) Acceptance tests* Requirements Tested against requirements (“validation”) (10) Installation tests*‡ (9) Usability tests*‡ (8) System tests*‡ (7) Regression tests* Testing for Validation and Verification (After Myers) (1), (4) Function tests Includes… : *use-cases ‡performance testing

Testing for Validation and Verification (After Myers) (11) Acceptance tests* Requirements (10) Installation tests*‡ “validation1” (9) Usability tests*‡ (8) System tests*‡ Architecture “verification2” (7) Regression tests* (6) Integration tests* Interface specs “verification2” (5) Interface tests (1), (4) Function tests Detailed design “verification2” (2), (3) Module tests requirements Note 1: Tested against Note 2: Tested against documents indicated Includes… : *use-cases ‡performance testing

2. The integration process

Build 1 Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Build 2 Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Build 3 Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Final Build of Single Level Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Final Build of Double Level Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

. . . . The Build Process Single level iteration Double level iteration . . . . Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Integration in Spiral Development Design Requirements analysis First iteration Second iteration 2. Design for additional requirements 1. Get additional requirements 3. Code additional 5. Test 4. Integrate new code Implementation Test Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Relating Builds and Iterations in the RUP Jacobson et al: USDP Requirements Analysis Design Implemen- tation Test Inception Elaboration Construction Transition First build for iteration i Last build for iteration i Prelim. iterations Iter. #1 Iter. #n Iter. #n+1 Iter. #i Iter. #m Iter. #m+1 Iter. #k ….. ….. …..

Typical Build 1 Module 1 2 3 4 Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Typical Build 2 Module 1 2 3 4 Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Module 1 Unit-Oriented Build 1 Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Module 1 2 3 4 Unit-Oriented Build 2 Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Module 1 2 3 4 Unit-Oriented Build 3 Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Last Build Module 1 2 3 4 Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Build Sequences: Ideal vs. Typical Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Plan Integration & Builds 1. Understand the architecture decomposition. try to make architecture simple to integrate 2. Identify the parts of the architecture that each iteration will implement. build framework classes first, or in parallel if possible, integrate “continually” build enough UI to anchor testing document requirements for each iteration try to build bottom-up so the parts are available when required try to plan iterations so as to retire risks biggest risks first specify iterations and builds so that each use case is handled completely by one 3. Decompose each iteration into builds if necessary. 4. Plan the testing, review and inspection process. 5. Refine the schedule to reflect the results. One way to ... Plan Integration & Builds Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Roadmap for Integration and System Test 1. Decide extent of all tests. Roadmap for Integration and System Test 2. For each iteration … 2.1 For each build … 2.2 Perform iteration system and usability tests -- see section tbd 3. Perform installation tests -- see section tbd 4. Perform acceptance tests -- see section tbd

Roadmap for Integration and System Test 1. Decide extent of all tests. 2. For each iteration … 2.1 For each build … 2.1.1 Perform regression testing from prior build 2.1.2 Retest functions if required 2. 1.3 Retest modules if required 2. 1.4 Test interfaces if required 2. 1.5 Perform build integration tests -- section 3.1 Development of iteration complete 2.2 Perform iteration system and usability tests -- sections 3.4, 3.5 System implemented Roadmap for Integration and System Test 3. Perform installation tests -- section 3.8 System installed 4. Perform acceptance tests -- section 3.7 Job complete

Artifacts and Roles for Integration Testing* Component engineer Integration tester System tester Test engineer . . . . . . . . . . . . . . . . . . responsible for . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Artifacts and Roles for Integration Testing* Component engineer Integration tester System tester Test engineer . . . . . . . . . . . . . . . . . . responsible for . . . . . . . . . . . . . . . . . . . . . . . . . . . . Test evaluation  Use-case model Test plan Test procedure Test component Defect management Test case *Jacobson et al: USDP

Key Attributes for Usability Testing* Accessibility How easily can users enter, navigate & exit? e.g., measure by average time taken to . . . Responsiveness How quickly does the application allow the user to accomplish specified goals? e.g., measure by average time taken Efficiency Degree to which the number of required steps for selected functionality is minimal “minimal” deduced in theory e.g., measure by minimal time / average time Comprehensibility How easy is the product to understand and use with documentation and help? e.g., measure time taken for standard queries Key Attributes for Usability Testing* Adapted from Kit [Ki].