DAIMIHenrik Bærbak Christensen1 Mandatory Project Part II Software Reliability and Testing.

Slides:



Advertisements
Similar presentations
Test process essentials Riitta Viitamäki,
Advertisements

DETAILED DESIGN, IMPLEMENTATIONA AND TESTING Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
1 Integration Testing CS 4311 I. Burnstein. Practical Software Testing, Springer-Verlag, 2003.
DAIMIHenrik Bærbak Christensen1 Testability Tactics How to make software testable...
CMSC 345, Version 11/07 SD Vick from S. Mitchell Software Testing.
DAIMIHenrik Bærbak Christensen1 Reliable Software and Architecture Course 1: Reliable Software.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 5: Restaurant.
DAIMIHenrik Bærbak Christensen1 TMM and the testing process Setting the context.
DAIMIHenrik Bærbak Christensen1 Testing Terminology.
DAIMIHenrik Bærbak Christensen1 Mandatory Project Software Reliability and Testing.
16/27/2015 3:38 AM6/27/2015 3:38 AM6/27/2015 3:38 AMTesting and Debugging Testing The process of verifying the software performs to the specifications.
DAIMIHenrik Bærbak Christensen1 Mandatory Project Exercise New Requirement.
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.
DAIMI(c) Henrik Bærbak Christensen1 Test Doubles: Stubs, Spies, Mocks, etc.
Software Testing & Strategies
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.
Chapter 13 & 14 Software Testing Strategies and Techniques
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
System Implementation. System Implementation and Seven major activities Coding Testing Installation Documentation Training Support Purpose To convert.
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.
Overview Integration Testing Decomposition Based Integration
INFO 637Lecture #81 Software Engineering Process II Integration and System Testing INFO 637 Glenn Booker.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
Validation Metrics. Metrics are Needed to Answer the Following Questions How much time is required to find bugs, fix them, and verify that they are fixed?
RUP Implementation and Testing
Chapter 8 – Software Testing Lecture 1 1Chapter 8 Software testing The bearing of a child takes nine months, no matter how many women are assigned. Many.
Parser-Driven Games Tool programming © Allan C. Milne Abertay University v
Course Presentation EEL5881, Fall, 2003 Project: Network Reliability Tests Project: Network Reliability Tests Team: Gladiator Team: Gladiator Shuxin Li.
INT-Evry (Masters IT– Soft Eng)IntegrationTesting.1 (OO) Integration Testing What: Integration testing is a phase of software testing in which.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
Testing Workflow In the Unified Process and Agile/Scrum processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
The HotCiv GUI Instantiating the MiniDraw Framework.
Software Engineering Saeed Akhtar The University of Lahore.
Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Testing Spring Applications Unit Testing.
Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts Rational Unified Process Fundamentals Module 4: Core Workflows II - Concepts.
Integration Testing Beyond unit testing. 2 Testing in the V-Model Requirements Detailed Design Module implementation Unit test Integration test System.
Software Quality Assurance and Testing Fazal Rehman Shamil.
DETAILED DESIGN, IMPLEMENTATION AND TESTING Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Refactoring and Integration Testing or Strategy, introduced reliably by TDD The power of automated tests.
MiniDraw Introducing a Framework... and a few patterns.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
Instantiating the MiniDraw Framework
Introducing a Framework ... and a few patterns
Group mambers: Maira Naseer (BCS ).
Integration Testing.
Software Testing Techniques
Chapter 13 & 14 Software Testing Strategies and Techniques
Applied Software Implementation & Testing
Received and Acknowledged
Software System Integration
Verification and Validation Unit Testing
Static Testing Static testing refers to testing that takes place without Execution - examining and reviewing it. Dynamic Testing Dynamic testing is what.
Chapter 10 – Software Testing
Integration Testing CS 4311
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
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.
Software Engineering and Architecture
Software Engineering and Architecture
CS410 – Software Engineering Lecture #11: Testing II
Software Engineering and Architecture
Chapter 13 & 14 Software Testing Strategies and Techniques 1 Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Presentation transcript:

DAIMIHenrik Bærbak Christensen1 Mandatory Project Part II Software Reliability and Testing

DAIMIHenrik Bærbak Christensen2 Aim To use techniques from the course to –plan and perform integration testing of your own module (or ‘cluster’) at least three other modules Game: a top-level user interface module

DAIMIHenrik Bærbak Christensen3 Entailing You must report –“topological sort” – dependency analysis of clusters/classes –test plan: order of integration and rationale integration strategy developed stubs and drivers –report integration defects and probably fix some of them in order to progress...

DAIMIHenrik Bærbak Christensen4 Top level TestGame –“test” tree, package sratworld.textui –uses stubs for all modules Example of –Top-Level integration step 1 –TDD of top level implementation

DAIMIHenrik Bærbak Christensen5 Design overview Game: Responsibilities –text-based “read-interpret-execute” command loop ‘loop’ method –visual overview of area, actors, and items –configurable to specific game context Loaders + config file location in constructor register Event instances and bind them to command characters

DAIMIHenrik Bærbak Christensen6 Example: TestGame

DAIMIHenrik Bærbak Christensen7 Stubbing as an art-form Top-level integration require stubs to verify behaviour of top level unit Game require: –Loaders: to create the object set: area, actors, items... –Events: to demonstrate binding between command interpretation and execution Everything is stubbed in TestGame

DAIMIHenrik Bærbak Christensen8 Stub Loaders

DAIMIHenrik Bærbak Christensen9 Stub Events g.registerEvent(new InventoryEvent(),’i’); Local Event implementation form a stub:

DAIMIHenrik Bærbak Christensen10 (Stub) Listener Updating the visual display –Base level is too ‘base’ at the moment no notion of ‘hero’ nor ‘hero position’ –thus: no way for base layer to update any graphical viewer

DAIMIHenrik Bærbak Christensen11 The viewer The viewer is a high performance 3D real-time high-resolution graphics engine –... in the next release Until then, the old MiniDraw workhorse draws some crude graphics –load GIF files (32x32 pixel) in specific positions –iterate tiles in Area instance and draws them... Keep out of there, and report defects to me...

DAIMIHenrik Bærbak Christensen12 Back to the exercise...

DAIMIHenrik Bærbak Christensen13 Modules/Clusters Make dependency graph for selected clusters –Game –Loaders –Listeners –Meta Events –Module classes any you have made –Base classes Base classes I’ve made Game Loader Event Mod Cl. Event Base Cl. Event Listeners

DAIMIHenrik Bærbak Christensen14 Integration steps Both Burnstein and Binder advocate step-wise integration –integrate one cluster, A, at a time identify test cases for integrating A use them to integrate A and find defects –repeat until no more clusters to integrate

DAIMIHenrik Bærbak Christensen15 TD versus BU Our hierarchy is pretty shallow, so what does TD versus BU mean? Example: If you were responsible for Area module TD: –step 1: replace AreaLoader stub with our group’s AreaLoader –testcase: manual test case: Run TestGame01 and visually inspect that a) geography corresponds to what is read from config file BU –step 1: Integrate Actor I module with our group’s area module –testcase: JUnit: Hero is in proper location in proper area

DAIMIHenrik Bærbak Christensen16 Reporting JUnit test case overview –purpose – refer to real JUnit test cases Manual test cases –described well enough to be repeatable Learning focus: –Demonstrate that you can do it! not that you can do it 2000 times

DAIMIHenrik Bærbak Christensen17 Exercise Release Exercise will be finally released wednesday I will include a small exercise relating to system testing – use case coverage?