Aircraft Design and an Engineer’s Approach to Software Testing Daniel Böhnke Integrated Aircraft...
-
Upload
millicent-parks -
Category
Documents
-
view
225 -
download
0
Transcript of Aircraft Design and an Engineer’s Approach to Software Testing Daniel Böhnke Integrated Aircraft...
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
> 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
> Aircraft Design and an Engineers Approach to Software Testing > Daniel Böhnke www.DLR.de • Chart 27
Thanks for Attending !!!
code.google.com/p/vampzero/downloads/list