FSD300: Software Module Tests

Motivations

Motivation: EN-61508-3 clause 7.4.7.1 MOTIVATION_300_001
status: PASS
tags: fsd300

Module tests (FSD300: Software Module Tests) are performed according to the module test plan.

Motivation: EN-61508-3 clause 7.4.7.2 MOTIVATION_300_002
status: PASS
tags: fsd300

All test results have documented if the module performs its intended function and does not perform unintended functions.

Motivation: EN-61508-3 clause 7.4.7.3 MOTIVATION_300_003
status: PASS
tags: fsd300

The results are documented in FSD300: Software Module Tests.

Motivation: EN-61508-3 clause 7.4.7.4 MOTIVATION_300_004
status: PASS
tags: fsd300

Change requests as a result of not passing a module test are specified in Template (FSWP_template). In cases where a minor change is needed, the change may be grouped with other changes in a larger change request.

Motivation: EN-61508-3 clause 7.4.8.1 MOTIVATION_300_101
status: PASS
tags: fsd300

Software integration tests are specified concurrently during development nd are specified in FSD124: GUI and Compiler function requirements, module tests and integration tests, FSD150: Validation tests of modes, power supply, and configuration, and FSD300: Software Module Tests.

Motivation: EN-61508-3 clause 7.4.8.3 MOTIVATION_300_103
status: PASS
tags: fsd300

The software integration tests are performed according to the software integration test plan. As mentioned in NOTE 1, not all input combinations are tested. Instead, boundary values are tested and control flow analysis is applied. See FSD124: GUI and Compiler function requirements, module tests and integration tests, FSD150: Validation tests of modes, power supply, and configuration, and FSD300: Software Module Tests.

Motivation: EN-61508-3 clause 7.4.8.5 MOTIVATION_300_105
status: PASS
tags: fsd300

Change requests as a result of not passing a software integration test are specified in Template (FSWP_template).

Motivation: EN-61508-3 clause 7.5.2.1 MOTIVATION_300_201
status: PASS
tags: fsd300

See FSD300: Software Module Tests and FSD305: System Integration Test Specification.

Motivation: EN-61508-3 clause 7.5.2.2 MOTIVATION_300_202
status: PASS
tags: fsd300

a) Two levels of integration tests are performed:

The software module integration tests test for example the inter-CPU communication, IO handling, hardware short circuit monitoring. The system integration tests test the system as a whole, with inputs and outputs and multiple units communicating as a network.

b) Test cases and data are specified for all tests. See FSD300: Software Module Tests, FSD124: GUI and Compiler function requirements, module tests and integration tests, and FSD150: Validation tests of modes, power supply, and configuration.

c) See FSD300: Software Module Tests, FSD124: GUI and Compiler function requirements, module tests and integration tests, and FSD150: Validation tests of modes, power supply, and configuration.

d) See FSD300: Software Module Tests, FSD124: GUI and Compiler function requirements, module tests and integration tests, and FSD150: Validation tests of modes, power supply, and configuration.

e) All tests have detailed pass/fail criteria. See FSD300: Software Module Tests, FSD124: GUI and Compiler function requirements, module tests and integration tests, and FSD150: Validation tests of modes, power supply, and configuration.

Motivation: EN-61508-3 clause 7.5.2.3 MOTIVATION_300_203
status: N/A
tags: fsd300

Not applicable: As the product is only part of a safety function, all tests are performed at the developer’s premises.

Motivation: EN-61508-3 clause 7.5.2.4 MOTIVATION_300_204
status: PASS
tags: fsd300

a) Part of all tests.

b) Specified for integration tests mainly in FSD124: GUI and Compiler function requirements, module tests and integration tests.

c) N/A: not part of an EUC.

Motivation: EN-61508-3 clause 7.5.2.6 MOTIVATION_300_206
status: PASS
tags: fsd300

See Template 61508 Activities (CHLST_template001).

Motivation: EN-61508-3 clause 7.8.2.1 MOTIVATION_300_301
status: PASS
tags: fsd300

Software modification procedures are specified in Template (FSWP_template).

Motivation: EN-61508-3 clause 7.8.2.2 MOTIVATION_300_302
status: PASS
tags: fsd300

Software modification procedures are specified in Template (FSWP_template).

Motivation: EN-61508-3 clause 7.8.2.3 MOTIVATION_300_303
status: PASS
tags: fsd300

Analysis is performed as part of the checklist defined in Template (FSWP_template).

Motivation: EN-61508-3 clause 7.8.2.4 MOTIVATION_300_304
status: PASS
tags: fsd300

Each change request is documented as a copy of the original document filled out with the relevant information.

Motivation: EN-61508-3 clause 7.8.2.5 MOTIVATION_300_305
status: PASS
tags: fsd300

See software modification procedures specified in Template (FSWP_template).

Motivation: EN-61508-3 clause 7.8.2.6 MOTIVATION_300_306
status: PASS
tags: fsd300

See software modification procedures specified in Template (FSWP_template).

a) Included in the checklist.

b) Included in the checklist.

c) Included in the checklist.

d) Included in the checklist.

Motivation: EN-61508-3 clause 7.8.2.7 MOTIVATION_300_307
status: PASS
tags: fsd300

Modifications are documented in each change request checklist under checklists.

Motivation: EN-61508-3 clause 7.8.2.8 MOTIVATION_300_308
status: PASS
tags: fsd300

See software modification procedures specified in Template (FSWP_template).

a) See checklist template. b) See checklist template. c) See checklist template. d) See checklist template. e) See checklist template.

Motivation: EN-61508-3 clause 7.8.2.9 MOTIVATION_300_309
status: PASS
tags: fsd300

See software modification procedures specified in Template (FSWP_template). Verification and validation part of the checklist.

Motivation: EN-61508-3 clause 7.8.2.10 MOTIVATION_300_310
status: PASS
tags: fsd300

See software modification procedures specified in Template (FSWP_template).

Motivation: RAM test algorithm MOTIVATION_300_311
status: PASS
tags: fsd300
Source: SWSREQ_001D

The RAM test algorithm used is derived from the physical layout of the RAM in the CPUs.

See Gigadevice MCU SRAM memory Array

The test for each memory cell is as follows:

  • Save the current value in a register

  • store the value of the memory cells adjacent to the current cell being tested

  • write a 1 to the memory cell being tested

  • read the value of the memory cell being tested. If not 1, turn off everything and enter an infinite loop

  • Verify the adjacent cells. If any are changed, turn off everything and enter an infinite loop

  • Repeat for 0

  • Restore the value of the memory cell being tested

Motivation: SREQ_09A MOTIVATION_300_312
status: PASS
tags: fsd300
Source: SREQ_09A

The maximum delay between a dangerous failure occurring in a unit and safe state is reached in the unit is 500ms. This is verified in FSD150: Validation tests of modes, power supply, and configuration and FSD300: Software Module Tests.

Tests

Test reports are available in the test result document FSD300v08.pdf

CPU1 module tests

RESULT: CPU1 module test #1 TEST_300_001
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #2 TEST_300_002
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #3 TEST_300_003
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #4 TEST_300_004
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #5 TEST_300_005
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #6 TEST_300_006
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #7 TEST_300_007
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #8 TEST_300_008
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #9 TEST_300_009
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #10 TEST_300_010
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #11 TEST_300_011
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #12 TEST_300_012
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #13 TEST_300_013
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #14 TEST_300_014
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #15 TEST_300_015
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #16 TEST_300_016
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #17 TEST_300_017
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #18 TEST_300_018
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #19 TEST_300_019
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #20 TEST_300_020
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #21 TEST_300_021
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #22 TEST_300_022
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #23 TEST_300_023
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #24 TEST_300_024
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #25 TEST_300_025
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #26 TEST_300_026
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #27 TEST_300_027
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #28 TEST_300_028
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #29 TEST_300_029
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #30 TEST_300_030
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #31 TEST_300_031
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #32 TEST_300_032
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #33 TEST_300_033
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #34 TEST_300_034
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #35 TEST_300_035
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #36 TEST_300_036
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #37 TEST_300_037
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #38 TEST_300_038
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #39 TEST_300_039
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #40 TEST_300_040
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #41 TEST_300_041
status: PASS
tags: FSD300, test
Source: SWSREQ_023A

See FSD300 test results.

RESULT: CPU1 module test #42 TEST_300_042
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #43 TEST_300_043
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #44 TEST_300_044
status: PASS
tags: FSD300, test
Source: DREQ_27B

See FSD300 test results.

RESULT: CPU1 module test #45 TEST_300_045
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #46 TEST_300_046
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #47 TEST_300_047
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #48 TEST_300_048
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #49 TEST_300_049
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #50 TEST_300_050
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #51 TEST_300_051
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #52 TEST_300_052
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #53 TEST_300_053
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #54 TEST_300_054
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #55 TEST_300_055
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU1 module test #56 TEST_300_056
status: PASS
tags: FSD300, test

See FSD300 test results.

CPU2 module tests

RESULT: CPU2 module test #1 TEST_300_101
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU2 module test #2 TEST_300_102
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU2 module test #3 TEST_300_103
status: PASS
tags: FSD300, test
Source: SWSREQ_010B

See FSD300 test results.

RESULT: CPU2 module test #4 TEST_300_104
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU2 module test #5 TEST_300_105
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU2 module test #6 TEST_300_106
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU2 module test #7 TEST_300_107
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU2 module test #8 TEST_300_108
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU2 module test #9 TEST_300_109
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU2 module test #10 TEST_300_110
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU2 module test #11 TEST_300_111
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU2 module test #12 TEST_300_112
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU2 module test #13 TEST_300_113
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU2 module test #14 TEST_300_114
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU2 module test #15 TEST_300_115
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU2 module test #16 TEST_300_116
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU2 module test #17 TEST_300_117
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU2 module test #18 TEST_300_118
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU2 module test #19 TEST_300_119
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU2 module test #20 TEST_300_120
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU2 module test #21 TEST_300_121
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU2 module test #22 TEST_300_122
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU2 module test #23 TEST_300_123
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU2 module test #24 TEST_300_124
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU2 module test #25 TEST_300_125
status: PASS
tags: FSD300, test
Source: DREQ_27B

See FSD300 test results.

RESULT: CPU2 module test #26 TEST_300_126
status: PASS
tags: FSD300, test
Source: SWSREQ_023A

See FSD300 test results.

RESULT: CPU2 module test #27 TEST_300_127
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU2 module test #28 TEST_300_128
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU2 module test #29 TEST_300_129
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU2 module test #30 TEST_300_130
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: CPU2 module test #31 TEST_300_131
status: PASS
tags: FSD300, test

See FSD300 test results.

Hardware module tests

RESULT: HW module test #1 TEST_300_201
status: PASS
tags: FSD300, test
Source: SWSREQ_023A

See FSD300 test results.

RESULT: HW module test #2 TEST_300_202
status: PASS
tags: FSD300, test
Source: SWSREQ_018A

See FSD300 test results.

RESULT: HW module test #3 TEST_300_203
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: HW module test #4 TEST_300_204
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: HW module test #5 TEST_300_205
status: PASS
tags: FSD300, test
Source: SWSREQ_018A

See FSD300 test results.

RESULT: HW module test #6 TEST_300_206
status: PASS
tags: FSD300, test
Source: SWSREQ_018A

See FSD300 test results.

RESULT: HW module test #7 TEST_300_207
status: PASS
tags: FSD300, test
Source: SWSREQ_018A

See FSD300 test results.

RESULT: HW module test #8 TEST_300_208
status: PASS
tags: FSD300, test
Source: SWSREQ_018A

See FSD300 test results.

RESULT: HW module test #9 TEST_300_209
status: PASS
tags: FSD300, test
Source: SWSREQ_018A

See FSD300 test results.

RESULT: HW module test #10 TEST_300_210
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: HW module test #11 TEST_300_211
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: HW module test #12 TEST_300_212
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: HW module test #13 TEST_300_213
status: PASS
tags: FSD300, test
Source: SWSREQ_101C

See FSD300 test results.

RESULT: HW module test #14 TEST_300_214
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: HW module test #15 TEST_300_215
status: PASS
tags: FSD300, test

See FSD300 test results.

RESULT: HW module test #16 TEST_300_216
status: PASS
tags: FSD300, test

See FSD300 test results.