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

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

Embed Size (px)

Citation preview

Aircraft Design and an Engineer’s Approach to Software Testing

Daniel BöhnkeIntegrated Aircraft Design

Air Transportation Systems

> Aircraft Design and an Engineers Approach to Software Testing > Daniel Böhnke www.DLR.de • Chart 2

Source: Boeing

> Aircraft Design and an Engineers Approach to Software Testing > Daniel Böhnke www.DLR.de • Chart 3

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

nPax = 140.7

www.DLR.de • 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

www.DLR.de • Chart 5

Conceptual Aircraft Design

Simple Methods►Transparency

Changing Requirements►Flexibility

Requirements

Design

Concept

www.DLR.de • Chart 6 > Aircraft Design and an Engineers Approach to Software Testing > Daniel Böhnke

python VAMPzero.py

Requirements

Concept

Calculate

Dependencies

Sensitivities

Flexibility

Transparency

www.DLR.de • Chart 7 > Aircraft Design and an Engineers Approach to Software Testing > Daniel Böhnke

VAMPzero

Aircraft

Geom

Wing

…Aero

Component

Discipline

Area

Parameter

www.DLR.de • 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

www.DLR.de • Chart 9 > Aircraft Design and an Engineers Approach to Software Testing > Daniel Böhnke

vampzero.googlecode.com

Dependencies

S = 122m²

AreaAspectRatio =

b/2 = 17mSpan²

34²m²

122m²9,475 =

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

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

www.DLR.de • 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

www.DLR.de • Chart 12

10-20

10-15

10-10

10-5

100

-50

-45

-40

-35

-30

-25

-20

-15

-10

-5

0

step size h

Rel

ativ

e er

ror

Error for different h of specified DV

fd

cs

Sensitivities

► Finite Differences

► Complex Step DerivativeErr

or

%

Step size h

> Aircraft Design and an Engineers Approach to Software Testing > Daniel Böhnke www.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

www.DLR.de • 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

www.DLR.de • 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)

< and > bandwidth

Unit Test Evaluation

► Simple “Regular Expressions”

► High Effort

► Detailed Insight

►Validation & Verification►Is the model implemented correctly?►Does the model return correctly?

www.DLR.de • 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

www.DLR.de • 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

www.DLR.de • Chart 18 > Aircraft Design and an Engineers Approach to Software Testing > Daniel Böhnke

Integration Test

www.DLR.de • Chart 19 > Aircraft Design and an Engineers Approach to Software Testing > Daniel Böhnke

If caller.status == ‘fix’ and calles.status == ‘fix’

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

Integration Test Evaluation

► During Runtime

► Dependent on User Inputs► nearly infinite ► from an infinite number of inputs 99% useless

► Not really a test

www.DLR.de • Chart 20

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

www.DLR.de • Chart 21 > Aircraft Design and an Engineers Approach to Software Testing > Daniel Böhnke

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

System Test Plan

www.DLR.de • 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

www.DLR.de • 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

www.DLR.de • Chart 24

System Test Data

> Aircraft Design and an Engineers Approach to Software Testing > Daniel Böhnke www.DLR.de • Chart 25

A300-600

A310-300

A319-100

A320-200

A321-100

A330-200

A330-300

A340-200

A340-500

A340-600

A380-800

B707-320

B717-200

B727-200Adv

B737-200

B737-400

B737-500

B737-700

B737-800

B747-400

B757-200

B757-300

B767-200

B767-300

777-200ER

0.00 50000.00 100000.00 150000.00 200000.00 250000.00 300000.00 350000.00 400000.00

Operational Empty Weight [kg]

► 25 aircraft

► all converge

► all low

► indicator for improvement

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

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

www.DLR.de • Chart 26