Aircraft Design and an Engineer’s Approach to Software Testing Daniel Böhnke Integrated Aircraft Design Air Transportation Systems.

Slides:



Advertisements
Similar presentations
Test Yaodong Bi.
Advertisements

Semantics Static semantics Dynamic semantics attribute grammars
System Integration Verification and Validation
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
1 Software Engineering Lecture 11 Software Testing.
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor Formal Methods in Software Engineering1.
MULTI-FIDELITY WING MASS ESTIMATION BASED ON A CENTRAL MODEL APPROACH 71th Annual Conference SAWE 2012 D. Böhnke, F. Dorbath, B. Nagel, V. Gollnick Integrated.
Software Engineering II - Topic: Software Process Metrics and Project Metrics Instructor: Dr. Jerry Gao San Jose State University
Software Metrics II Speaker: Jerry Gao Ph.D. San Jose State University URL: Sept., 2001.
Ch. 1: Software Development (Read) 5 Phases of Software Life Cycle: Problem Analysis and Specification Design Implementation (Coding) Testing, Execution.
Software Testing and Quality Assurance
An framework for model-driven product design and development using Modelica Adrian Pop, Olof Johansson, Peter Fritzson Programming Environments Laboratory.
Lecture 7 Model Development and Model Verification.
©Ian Sommerville 2000Software Engineering, 6/e, Chapter 91 Formal Specification l Techniques for the unambiguous specification of software.
Introduction to Software Testing
Software Verification and Validation (V&V) By Roger U. Fujii Presented by Donovan Faustino.
Testing Dr. Andrew Wallace PhD BEng(hons) EurIng
What Exactly are the Techniques of Software Verification and Validation A Storehouse of Vast Knowledge on Software Testing.
Effective Methods for Software and Systems Integration
Chapter 1: Introduction to Software Testing Software Testing
1 Validation & Verification Chapter VALIDATION & VERIFICATION Very Difficult Very Important Conceptually distinct, but performed simultaneously.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 9 Slide 1 Formal Specification l Techniques for the unambiguous specification of software.
Software Configuration Management (SCM)
Software System Engineering: A tutorial
Software Measurement & Metrics
WXGE6103 Software Engineering Process and Practice Formal Specification.
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
Today’s Agenda  HW #1  Finish Introduction  Input Space Partitioning Software Testing and Maintenance 1.
Software Testing and Quality Assurance Software Quality Assurance 1.
Introduction to Software Project Estimation I (Condensed) Barry Schrag Software Engineering Consultant MCSD, MCAD, MCDBA Bellevue.
1 Ch. 1: Software Development (Read) 5 Phases of Software Life Cycle: Problem Analysis and Specification Design Implementation (Coding) Testing, Execution.
Chapter 10 Verification and Validation of Simulation Models
Building Simulation Model In this lecture, we are interested in whether a simulation model is accurate representation of the real system. We are interested.
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.
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
Chapter 2 Object-Oriented Paradigm Overview. Getting Acquainted with the Class Project Read the requirements specification carefully Make note of any.
CSC 480 Software Engineering Testing - I. Plan project Integrate & test system Analyze requirements Design Maintain Test units Implement Software Engineering.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Software Testing and Quality Assurance 1. What is the objectives of Software Testing?
Software Quality Assurance and Testing Fazal Rehman Shamil.
Requirement Analysis SOFTWARE ENGINEERING. What are Requirements? Expression of desired behavior Deals with objects or entities, the states they can be.
SOFTWARE TESTING. SOFTWARE Software is not the collection of programs but also all associated documentation and configuration data which is need to make.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
CS223: Software Engineering Lecture 25: Software Testing.
Testing Integral part of the software development process.
 System Requirement Specification and System Planning.
Software Test Metrics When you can measure what you are speaking about and express it in numbers, you know something about it; but when you cannot measure,
SQA project process standards IEEE software engineering standards
Software Metrics and Reliability
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
CSCE 548 Secure Software Development Risk-Based Security Testing
Software Testing.
TQS - Teste e Qualidade de Software (Software Testing and Quality) Introduction To Software Testing Concepts João Pascoal.
SQA project process standards IEEE software engineering standards
Input Space Partition Testing CS 4501 / 6501 Software Testing
Chapter 8 – Software Testing
Chapter 10 Verification and Validation of Simulation Models
Engineering Processes
Introduction to Software Testing
Software Development Process
CS 1111 Introduction to Programming Fall 2018
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Software Verification and Validation
Software Verification and Validation
Chapter # 1 Overview of Software Quality Assurance
Verification & Validation
Software Verification and Validation
TYPES OF TESTING.
Overview Activities from additional UP disciplines are needed to bring a system into being Implementation Testing Deployment Configuration and change management.
Presentation transcript:

Aircraft Design and an Engineer’s Approach to Software Testing Daniel Böhnke Integrated Aircraft Design Air Transportation Systems

Chart 2> Aircraft Design and an Engineers Approach to Software Testing > Daniel Böhnke Source: Boeing

Chart 3> Aircraft Design and an Engineers Approach to Software Testing > Daniel Böhnke

nPax = Chart 4> Aircraft Design and an Engineers Approach to Software Testing > Daniel Böhnke

Overview ► Conceptual Aircraft Design ►An Engineer’s Approach to ►Unit ►Integration ►System ►Conclusion & Outlook Chart 5> Aircraft Design and an Engineers Approach to Software Testing > Daniel Böhnke

Conceptual Aircraft Design Simple Methods ►Transparency Changing Requirements ►Flexibility Requirements Design Concept Chart 6> Aircraft Design and an Engineers Approach to Software Testing > Daniel Böhnke

python VAMPzero.py Requirements Concept Calculate Dependencies Sensitivities Flexibility Transparency Chart 7> Aircraft Design and an Engineers Approach to Software Testing > Daniel Böhnke

VAMPzero Aircraft Geom Wing … …Aero Component Discipline Area Parameter Chart 8> Aircraft Design and an Engineers Approach to Software Testing > Daniel Böhnke

value ►122m² status ►fix ►calc ►init calc() ►Handbook-Methods ►otherParameter.getValue() Parameter: Area choose replace Chart 9> Aircraft Design and an Engineers Approach to Software Testing > Daniel Böhnke

vampzero.googlecode.com Dependencies S = 122m² Area AspectRatio = b/2 = 17m Span² 34²m² 122m² 9,475 =

Unit Testing “[…] the comparison of the unit’s actual behavior with its required behavior as specified in the unit’s requirements documentation.” IEEE Standard for Software Unit Testing Chart 11> Aircraft Design and an Engineers Approach to Software Testing > Daniel Böhnke

Unit Test Plan ► Actual Behaviour: ►If nPax changes mPayload changes ► Required Behaviour: ►If nPax changes mPayload changes ►If nPax increases mPayload must increase ► Check for Sensitivities Chart 12> Aircraft Design and an Engineers Approach to Software Testing > Daniel Böhnke

Sensitivities ► Finite Differences ► Complex Step Derivative Error % Step size h > Aircraft Design and an Engineers Approach to Software Testing > Daniel Böhnkewww.DLR.de Chart 13

Dynamic Typing from cmath import … class zeroComplex(complex): def __eq__(self,other): if self.real == other: return True else: return False Chart 14> Aircraft Design and an Engineers Approach to Software Testing > Daniel Böhnke

Inputs ►Integrated Aircraft Design Department ►Dependencies ►Estimated Sensitivities Outputs ► Reference Point ►Calculated Sensitivities Chart 15> Aircraft Design and an Engineers Approach to Software Testing > Daniel Böhnke Unit Test Data 0 + or - directional sensitivity ++ or - - superior sensitivity +++ or --- largest impact (1 occurrence) bandwidth

Unit Test Evaluation ► Simple “Regular Expressions” ► High Effort ► Detailed Insight ►Validation & Verification ►Is the model implemented correctly? ►Does the model return correctly? Chart 16> Aircraft Design and an Engineers Approach to Software Testing > Daniel Böhnke

Integration Testing “Testing in which software components […] are combined and tested to evaluate the interaction among them.” IEEE Standard for System and Software Verification and Validation Chart 17> Aircraft Design and an Engineers Approach to Software Testing > Daniel Böhnke

Integration Test Plan ► User overwrites calculations ► Actual Behaviour: ►If nPax changes mPayload changes ►Fails if nPax and mPayload are inputs ► Check if input set is over-determined Chart 18> Aircraft Design and an Engineers Approach to Software Testing > Daniel Böhnke

Integration Test Chart 19> Aircraft Design and an Engineers Approach to Software Testing > Daniel Böhnke If caller.status == ‘fix’and calles.status == ‘fix’

Integration Test Evaluation ► During Runtime ► Dependent on User Inputs ► nearly infinite ► from an infinite number of inputs  99% useless ► Not really a test  Chart 20> Aircraft Design and an Engineers Approach to Software Testing > Daniel Böhnke

System Testing “Testing conducted on a complete, integrated system to evaluate the system’s compliance with its specified requirements” IEEE Standard for System and Software Verification and Validation Chart 21> Aircraft Design and an Engineers Approach to Software Testing > Daniel Böhnke

System Test Plan Chart 22> Aircraft Design and an Engineers Approach to Software Testing > Daniel Böhnke

System Test Data ►Aircraft Characteristics for Airport Planing ►Mission Profile ►Geometry ►Mass Data ►Publicly available Chart 23> Aircraft Design and an Engineers Approach to Software Testing > Daniel Böhnke

Inputs ►Geometry ►Speed ►Passengers ►Engines ►Technology Factors Outputs ►Takeoff Mass ►Empty Mass Chart 24> Aircraft Design and an Engineers Approach to Software Testing > Daniel Böhnke System Test Data

Chart 25> Aircraft Design and an Engineers Approach to Software Testing > Daniel Böhnke ► 25 aircraft ► all converge ► all low ►indicator for improvement

Outlook and Conclusion “An engineer’s approach to software testing does not substitute software testing” ► Calibration and Validation are closely coupled ► Applicable for “expert” mathematical software ► Increases the quality of actual code and development ► Include system test in release cycle Chart 26> Aircraft Design and an Engineers Approach to Software Testing > Daniel Böhnke

Chart 27> Aircraft Design and an Engineers Approach to Software Testing > Daniel Böhnke Thanks for Attending !!! code.google.com/p/vampzero/downloads/list