May08-21 Model-Based Software Development Kevin Korslund Daniel De Graaf Cory Kleinheksel Benjamin Miller Client – Rockwell Collins Faculty Advisor – Dr.

Slides:



Advertisements
Similar presentations
QuEdge Testing Process Delivering Global Solutions.
Advertisements

Lecture 8: Testing, Verification and Validation
Test Metrics: A Practical Approach to Tracking & Interpretation Presented By: Shaun Bradshaw Director of Quality Solutions May 20, 2004 Test Metrics: A.
Alford Academy Business Education and Computing1 Advanced Higher Computing Based on Heriot-Watt University Scholar Materials Implementation and Testing.
Test Driven Development George Mason University. Today’s topics Review of Chapter 1: Testing Go over examples and questions testing in Java with Junit.
Software Testing and Quality Assurance
Software Testing and Quality Assurance
1 Software Testing and Quality Assurance Lecture 30 - Introduction to Software Testing.
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Understand.
EE694v-Verification-Lect5-1- Lecture 5 - Verification Tools Automation improves the efficiency and reliability of the verification process Some tools,
Programming Logic and Design, Introductory, Fourth Edition1 Understanding Computer Components and Operations (continued) A program must be free of syntax.
Systems Analysis and Design in a Changing World, 6th Edition
Introduction to Software Testing
By Ryan Mowry.  Graphical models of system  Entire system or just parts  Complex systems easier to understand  “Capture key requirements and demonstrate.
Faculty Advisor – Dr. Suraj Kothari Client – Jon Mathews Team Members – Chaz Beck Marcus Rosenow Shaun Brockhoff Jason Lackore.
Test Driven Development Derived from Dr. Fawcett’s notes Phil Pratt-Szeliga Fall 2009.
Terms: Test (Case) vs. Test Suite
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22Slide 1 Verification and Validation u Assuring that a software system meets a user's.
Introduction to Systems Analysis and Design Trisha Cummings.
System/Software Testing
Testing. What is Testing? Definition: exercising a program under controlled conditions and verifying the results Purpose is to detect program defects.
Software Testing. Definition To test a program is to try to make it fail.
1 Validation & Verification Chapter VALIDATION & VERIFICATION Very Difficult Very Important Conceptually distinct, but performed simultaneously.
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Explore.
© 2012 IBM Corporation Rational Insight | Back to Basis Series Chao Zhang Unit Testing.
CS 501: Software Engineering Fall 1999 Lecture 16 Verification and Validation.
Designing For Testability. Incorporate design features that facilitate testing Include features to: –Support test automation at all levels (unit, integration,
Systems Development Lifecycle Testing and Documentation.
Testing Basics of Testing Presented by: Vijay.C.G – Glister Tech.
Intoduction to Unit Testing Using JUnit to structure Unit Testing SE-2030 Dr. Rob Hasker 1 Based on material by Dr. Mark L. Hornick.
Testing Workflow In the Unified Process and Agile/Scrum processes.
Testing -- Part II. Testing The role of testing is to: w Locate errors that can then be fixed to produce a more reliable product w Design tests that systematically.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 23 Reliability III.
Submission System & GIT + Testing Expectations Ignacio X. Domínguez Fall 2015.
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
Faculty Advisor – Dr. Suraj Kothari Client – Jon Mathews Team Members – Chaz Beck Marcus Rosenow Shaun Brockhoff Jason Lackore.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
May08-21 Model-Based Software Development Kevin Korslund Daniel De Graaf Cory Kleinheksel Benjamin Miller Client – Rockwell Collins Faculty Advisor – Dr.
TEST-1 6. Testing & Refactoring. TEST-2 How we create classes? We think about what a class must do We focus on its implementation We write fields We write.
Unit Testing with JUnit and Clover Based on material from: Daniel Amyot JUnit Web site.
Chapter 8 Lecture 1 Software Testing. Program testing Testing is intended to show that a program does what it is intended to do and to discover program.
Week 14 Introduction to Computer Science and Object-Oriented Programming COMP 111 George Basham.
Comparing model-based and dynamic event-extraction based GUI testing techniques : An empirical study Gigon Bae, Gregg Rothermel, Doo-Hwan Bae The Journal.
XmlBlackBox The presentation Alexander Crea June the 15st 2010 The presentation Alexander Crea June the 15st 2010
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Faculty Advisor – Dr. Suraj Kothari Client – Jon Mathews Team Members – Chaz Beck Marcus Rosenow Shaun Brockhoff Jason Lackore.
Intoduction to Unit Testing Using JUnit to structure Unit Testing SE-2030 Dr. Mark L. Hornick 1.
May08-21 Model-Based Software Development Kevin Korslund Daniel De Graaf Cory Kleinheksel Benjamin Miller Client – Rockwell Collins Faculty Advisor – Dr.
Faculty Advisor – Dr. Suraj Kothari Client – Jon Matthews Team Members – Chaz Beck Marcus Rosenow Shaun Brockhoff Jason Lackore White Box Testing Junit.
HNDIT23082 Lecture 09:Software Testing. Validations and Verification Validation and verification ( V & V ) is the name given to the checking and analysis.
Static and Integration Testing. Static Testing vs Dynamic Testing  To find defects  This testing includes verification process  without executing.
Testing JUnit Testing. Testing Testing can mean many different things It certainly includes running a completed program with various inputs It also includes.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
Kernel Modules – Introduction CSC/ECE 573, Sections 001 Fall, 2012.
SOFTWARE TESTING AND QUALITY ASSURANCE. Software Testing.
Faculty Advisor – Dr. Suraj Kothari Client – Jon Matthews Team Members – Chaz Beck Marcus Rosenow Shaun Brockhoff Jason Lackore Importance of SoftwareProject.
CS223: Software Engineering Lecture 25: Software Testing.
Week#3 Software Quality Engineering.
Automated Software Testing
Testing Tutorial 7.
Different Types of Testing
Chapter 8 – Software Testing
Verification and Testing
Lecture 09:Software Testing
Fundamental Test Process
Mock Object Creation for Test Factoring
Dr. Ralph D. Westfall April, 2010
CSE 1020:Software Development
Presentation transcript:

May08-21 Model-Based Software Development Kevin Korslund Daniel De Graaf Cory Kleinheksel Benjamin Miller Client – Rockwell Collins Faculty Advisor – Dr. Suraj Kothari

May08-21 Model-Based Software Development  Component-level Testing  System Testing  User Testing

May08-21 Model-Based Software Development Component-Level Testing  White-box unit testing of each class and method Boundary-value tests every method and verifies results Tests at the class level and lower Tests relationships between classes with mock objects  All tests must pass or test suite will fail If any test does not pass, the bug will be recorded using Bugzilla  Test suite will run all unit tests automatically, and be run as part of a standard software build

May08-21 Model-Based Software Development Component-Level Testing  Unit tests use JUnit framework  Class relationships are tested using EasyMock mock object framework  Tests are run from within the Eclipse environment A special Eclipse Plug-in test launcher starts a new Eclipse environment and runs tests The test runner creates the Eclipse CDT project under test and copies relevant files in for the current test

May08-21 Model-Based Software Development Component-Level Testing  Results About 15% complete Tests cover all found bugs to verify they will not happen again Creation of bug reports in Bugzilla  Analysis JUnit test runner outputs total number of tests and number of passing tests Analyze percentage of passing tests 100% of tests pass right now

May08-21 Model-Based Software Development Component-Level Testing  Conclusion Areas of code that pass tests match expected component behavior Additional Component-level testing is required

May08-21 Model-Based Software Development System-level Testing  Subsystems to test Parser Matcher Connector Splitter Outputter

May08-21 Model-Based Software Development System-level Testing - Metrics  Parser CommentedStatement lists  Matcher BlockPieces  BlockConnector Block list

May08-21 Model-Based Software Development System-level Testing - Metrics  ModelSplitter System  MdlOutput “.mdl” file output

May08-21 Model-Based Software Development System-level Testing - Procedure  Subsystem output is not serializable Cannot directly save stage outputs for later use in comparisons Means subsystems cannot be tested individually  Instead, save enough information from each output to be able to verify correctness Saved information is compared after each stage using JUnit while running the system as a whole

May08-21 Model-Based Software Development System-level Testing - Analysis  Junit will fail on the first subsystem that fails To test subsystems that follow a failed subsystem, we can revert the code for that subsystem to a known good state  On failure, JUnit will report the point of failure We can then use the Eclipse debugger to investigate the problem

May08-21 Model-Based Software Development User Testing  Alpha tests Executed daily during implementation Advisor and Graduate Students also involved in Alpha test phase  Beta tests Executed during project demonstration for Rockwell Collins Client

May08-21 Model-Based Software Development User Testing  The operational Eclipse Plug-in will be tested by: Execution of Eclipse plug-in on C files Examine model outputted Expect model to be similar or match the model the C file was created from

May08-21 Model-Based Software Development User Testing  Test Method Design models to exercise various and specific areas of the plug-in and requirements Generate C files using Real-time Workshop Execution of Eclipse plug-in on C files  Equipment Real-time Workshop Eclipse

May08-21 Model-Based Software Development User Testing  Results Outputted model from Eclipse plug-in Creation of bug reports in Bugzilla  Analysis Manual comparison of original model to outputted model  Conclusions Based on bugs found and Analysis phase

May08-21 Model-Based Software Development  Component-level Testing  System Testing  User Testing