Professional Documents
Culture Documents
Version
1.0
Description
Tests the states of the Central Locking System (CLS) that are depending on the lock/unlock requests by
using the remote control within the key, and that are depending on the velocity and the crash sensor of the
vehicle.
Test Designers
Name Department
Peter Tester Test1
John Sample Test2
-1-
Table Of Contents
1 Variant Properties...........................................................................................................................................3
2 Test Execution Tree ........................................................................................................................................4
3 Test Execution Tree Elements ........................................................................................................................5
4 Reusable Functions......................................................................................................................................14
5 Curve Checkpoints .......................................................................................................................................16
-2-
1 Variant Properties
Name Value
Region US
Coverage Medium
-3-
2 Test Execution Tree
Test static requirements of the door control unit (page 5)
-4-
3 Test Execution Tree Elements
Trace Items
Name Readable ID
lock statically 3298790000
Preparation
Initialize all signals
Set EngineRunning=0, Velocity=0, CrashDetected=0, LockRequest=idle
Main Part
Ensure initial state 'Unlocked'
Set LockRequest=Request_unlock, wait for 200 ms and check LockState==Unlocked
Request to lock the car (engine off). Check if the car is locked.
Set EngineRunning=0, Velocity=0, CrashDetected=0, LockRequest=Request_lock, wait for
LockRequestWaitTime ms and check LockState==Locked
Request to lock the car (engine running). Check if the car is locked.
Set EngineRunning=1, Velocity=0, CrashDetected=0, LockRequest=Request_lock, wait for
LockRequestWaitTime ms and check LockState==Locked
Completion
Reset all signals
Set EngineRunning=0, Velocity=0, CrashDetected=0, LockRequest=idle
-5-
Test static requirements of the door control unit \ Unlock statically
Trace Items
Name Readable ID
unlock statically 3298800000
Preparation
Initialize all signals
Set EngineRunning=0, Velocity=0, CrashDetected=0, LockRequest=idle
Main Part
Ensure initial state 'Locked'
Set LockRequest=Request_lock, wait for 200 ms and check LockState==Locked
Request to unlock the car (engine off). Check if the car will be unlocked.
Set EngineRunning=0, Velocity=0, CrashDetected=0, LockRequest=Request_unlock, wait for
LockRequestWaitTime ms and check LockState==Unlocked
Request to unlock the car (engine running). Check if the car will be unlocked.
Set EngineRunning=1, Velocity=0, CrashDetected=0, LockRequest=Request_unlock, wait for
LockRequestWaitTime ms and check LockState==Unlocked
Completion
Reset all signals
Set EngineRunning=0, Velocity=0, CrashDetected=0, LockRequest=idle
CrashDetection(engineOn={engineOn},velocity={velocity})
Combinatorics: Combinatorial
Trace Items
Name Readable ID
crash detection when car is moving 3298840000
engineOn velocity
0 40
1 60
-6-
Test velocity dependent requirements of the door control unit
Preparation
(Fixture Preparation)
Check max. cycle time of message 'CentralLockingSystemState' 110 ms
Check cycle time of CentralLockingSystemState to be within [<min> .. 110 ms]
Main Part
Lock by increasing velocity (page 7)
No unlock when slowing down (page 8)
Check locking behavior with velocity waveform (page 9)
The following test sequence is only relevant for Coverage 'Medium' and 'Full'
Apply crash with different velocities (page 9)
Lock dependent on velocity and crash detection (page 10)
Lock with car moving/not moving (page 11)
Trace Items
Name Readable ID
lock by increasing velocity 3298820000
Preparation
Initialize all signals (page 15)
Call ResetSignals ()
Ensure initial state 'Unlocked'
Set LockRequest=Request_unlock, wait for 200 ms and check LockState==Unlocked
Main Part
Start engine
Set EngineRunning=1
Accelerate to velocity lower than the lock-velocity
Call AccelerateDecelerateToTargetSpeed (targetSpeed=20)
Wait for 500 ms
Check no automatic lock with velocity lower than the lock-velocity
Check LockState==Unlocked
Accelerate to velocity higher than lock-velocity
Call AccelerateDecelerateToTargetSpeed (targetSpeed=60)
Wait for 500 ms
-7-
Test velocity dependent requirements of the door control unit
Completion
Reset all signals (page 15)
Call ResetSignals ()
Trace Items
Name Readable ID
no unlock by slowing down 3298830000
Preparation
Initialize all signals (page 15)
Call ResetSignals ()
Main Part
Ensure initial state 'Unlocked'
Set LockRequest=Request_unlock, wait for 200 ms and check LockState==Unlocked
Start engine
Set EngineRunning=1
Wait for 500 ms
For loopIterator=0..5, increment=1
Speed up
Wait for 500 ms
Check lock state at a speed of 150 km/h
Check LockState==Locked
Decelerate
While ( Velocity>0 )
Slow down
Wait for 500 ms
Check lock state is still 'Locked' after halt
Check LockState==Locked
Check lock state behavior on engine stop - dependent on country setting
If ( UnlockDoorOnEngineStop==1 )
Check automatic unlock
-8-
Test velocity dependent requirements of the door control unit
Check LockState==Unlocked
else
Check no automatic unlock
Check LockState==Locked
Add capture of graphic window to the report
Call testReportAddWindowCapture (window=Graphic, data=, title=Velocity dependent lock state:)
Completion
Reset all signals (page 15)
Call ResetSignals ()
Trace Items
Name Readable ID
lock by increasing velocity 3298820000
no unlock by slowing down 3298830000
Variant Dependencies
( Coverage>=Medium )
Iterate through all velocities defined in the parameter file; execute test with corresponding velocities
Set the test case name dynamically, containing the current velocity
Set test case name
Initialize all input signals (page 15)
Call ResetSignals ()
Set velocity to execute test with
Set Velocity=currVelocity
Apply a crash. Check if the car has been opened
Set CrashDetected=1, wait for 500 ms and check LockState==Unlocked
Reset the crash signal
Set CrashDetected=0
Wait for 500 ms
Reset all signals (page 15)
Call ResetSignals ()
Trace Items
Name Readable ID
lock by increasing velocity 3298820000
no unlock by slowing down 3298830000
- 10 -
Test velocity dependent requirements of the door control unit
For engine = {engineRunning}, moving = {isMoving} and applied crash = {crash}, check lock state ==
{expectedLockState} (page 14)
Combinatorics: Sequential
Preparation
Initialize all signals (page 15)
Call ResetSignals ()
Main Part
- 11 -
Comfort close \ Open and comfort close
Release key
Set KeyDown=0
Try the comfort close and check if the window is really closing
Set LockRequest=Comfort_lock, wait for 4000 ms and check WindowMotion==currently_closing
Check if the window stops moving when the car is opened again
Set LockRequest=Request_unlock, wait for 100 ms and check WindowMotion==not_moving
Completion
Reset window state
Set WindowMotion=not_moving, WindowPosition=0
3.4 Diagnostics
Variant Dependencies
( Coverage==Full )
- 12 -
Diagnostics
Write Variant Coding while ECU is locked --> Expected result: Security access denied
Send service Coding_Write with request parameters Codingstring.CountryType=USA,
Codingstring.SpecialAdjustment=0x42 and check response parameters RC==Security access denied
Check whether the corresponding DTC was stored (Variant Coding Illegal Access)
For SUT retrieve DTCs: Check for DTC P000002 with status bits and extended data parameters
Write Variant Coding while ECU is unlocked (CountryType=USA, SpecialAdjustment=0x77) --> should work
this time
Send service Coding_Write with request parameters Codingstring.CountryType=USA,
Codingstring.SpecialAdjustment=0x77 and check response parameters
Check that the corresponding DTC was not set (Variant Coding Illegal Access)
For SUT retrieve DTCs: Check for Not Allowed DTC P000002 with status bits and extended data parameters
- 13 -
4 Reusable Functions
4.1 AmbiguousKeyRequest
Checks that a corresponding fault memory entry is created when ambiguous values of KeyUp and KeyDown
occur
Parameters
engineRunning
Preparation
Initialize signals
Set KeyDown=0, KeyUp=0
Main Part
Set EngineRunning=engineRunning
Completion
Reset signals
Set KeyDown=0, KeyUp=0
4.2 LockingBehavior
Parameters
engineRunning, isMoving, crash, expectedLockState
Preparation
Initialize all input signals (page 15)
Call ResetSignals ()
Main Part
Set EngineRunning=engineRunning
- 14 -
LockingBehavior
Completion
Reset all signals (page 15)
Call ResetSignals ()
4.3 ResetSignals
No acceleration/deceleration
Set Accelerate=0, Decelerate=0
- 15 -
5 Curve Checkpoints
5.1 ExpectedLockState
This curve checks whether the door is locked upon exceeding the lock velocity and is not unlocked upon
slowing down.
0 ms: Initialize
Set EngineRunning=1, CrashDetected=0, LockState=currentCheckpointValue, LockRequest=idle
1350 ms: Check doors are 'unlocked'
Check doors are 'unlocked'
Check LockState==currentCheckpointValue
1750 ms: Check doors are 'locked'
Check doors are 'unlocked'
Check LockState==currentCheckpointValue
2150 ms: Check doors are still 'locked'
Check doors are 'unlocked'
Check LockState==currentCheckpointValue
- 16 -