{"id":7673,"date":"2024-06-04T10:55:43","date_gmt":"2024-06-04T08:55:43","guid":{"rendered":"https:\/\/lorit-consultancy.com\/en\/?p=7673"},"modified":"2025-04-29T13:30:59","modified_gmt":"2025-04-29T11:30:59","slug":"unlocking-the-secrets-of-iso-26262-verification-methods","status":"publish","type":"post","link":"https:\/\/lorit-consultancy.com\/en\/2024\/06\/unlocking-the-secrets-of-iso-26262-verification-methods\/","title":{"rendered":"Unlocking the Secrets of ISO 26262 Verification Methods"},"content":{"rendered":"\r\n<p>In today\u2019s blog we discuss the verification methods defined in the <a href=\"https:\/\/lorit-consultancy.com\/en\/standards\/automotive\/iso26262\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>ISO 26262<\/strong><\/a> standard. More specifically, we delve into the process of defining verification methods within a project and how to derive specific test cases.<\/p>\r\n\r\n\r\n\r\n<p>The verification methods according to ISO 26262 are specific techniques and processes used to ensure that the safety-related functions of a vehicle meet the necessary safety requirements.<\/p>\r\n\r\n\r\n\r\n<p>Let\u2019s first take a look at the part 6 of ISO 26262 \u2013 Product development at the software level. Integrated on the right side of the V-model, the verification process includes the following activities among others:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>Unit tests of methods (mostly automated)<\/li>\r\n\r\n\r\n\r\n<li>Integration &amp; verification of units<\/li>\r\n\r\n\r\n\r\n<li>Interfaces between units and classes<\/li>\r\n\r\n\r\n\r\n<li>Testing of the embedded software<\/li>\r\n\r\n\r\n\r\n<li>Integration\/verification of hardware &amp; software at system level<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Which parts of ISO 26262 is it?<\/h2>\r\n\r\n\r\n\r\n<p>The following ISO 26262 parts define the verification requirements and activities and shall be considered:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>Part 4 \u2192 System level verification, integration &amp; testing<\/li>\r\n\r\n\r\n\r\n<li>Part 5 \u2192 Hardware design verification, HW integration &amp; verification<\/li>\r\n\r\n\r\n\r\n<li>Part 6 \u2192 Software unit verification, SW integration &amp; verification<\/li>\r\n\r\n\r\n\r\n<li>Part 11 \u2192 Application to semiconductors &amp; verification to comply with part 5<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Deriving test cases<\/h2>\r\n\r\n\r\n\r\n<p>The integration and verification process starts with the deriving of test cases, where different combination of methods to derive test cases for integration testing, considering the integration level, are defined.<\/p>\r\n\r\n\r\n\r\n<figure class=\"wp-block-table alignleft is-style-regular\">\r\n<table>\r\n<thead>\r\n<tr>\r\n<th class=\"has-text-align-left\" data-align=\"left\">\u00a0<\/th>\r\n<th>Table 3. Methods for deriving test cases for integration testing<\/th>\r\n<th>ASIL A<\/th>\r\n<th>ASIL B<\/th>\r\n<th>ASIL C<\/th>\r\n<th>ASIL D<\/th>\r\n<\/tr>\r\n<\/thead>\r\n<tbody>\r\n<tr>\r\n<td class=\"has-text-align-left\" data-align=\"left\">1a<\/td>\r\n<td>Analysis of requirements<\/td>\r\n<td>++<\/td>\r\n<td>++<\/td>\r\n<td>++<\/td>\r\n<td>++<\/td>\r\n<\/tr>\r\n<tr>\r\n<td class=\"has-text-align-left\" data-align=\"left\">1b<\/td>\r\n<td>Analysis of external and internal interfaces<\/td>\r\n<td>+<\/td>\r\n<td>++<\/td>\r\n<td>++<\/td>\r\n<td>++<\/td>\r\n<\/tr>\r\n<tr>\r\n<td class=\"has-text-align-left\" data-align=\"left\">1c<\/td>\r\n<td>Generation and analysis of equivalence classes for hardware-software integration<\/td>\r\n<td>+<\/td>\r\n<td>+<\/td>\r\n<td>++<\/td>\r\n<td>++<\/td>\r\n<\/tr>\r\n<tr>\r\n<td class=\"has-text-align-left\" data-align=\"left\">1d<\/td>\r\n<td>Analysis of boundary values<\/td>\r\n<td>+<\/td>\r\n<td>+<\/td>\r\n<td>++<\/td>\r\n<td>++<\/td>\r\n<\/tr>\r\n<tr>\r\n<td class=\"has-text-align-left\" data-align=\"left\">1e<\/td>\r\n<td>Error guessing based on knowledge or experience<\/td>\r\n<td>+<\/td>\r\n<td>+<\/td>\r\n<td>++<\/td>\r\n<td>++<\/td>\r\n<\/tr>\r\n<tr>\r\n<td class=\"has-text-align-left\" data-align=\"left\">1f<\/td>\r\n<td>Analysis of functional dependencies<\/td>\r\n<td>+<\/td>\r\n<td>+<\/td>\r\n<td>++<\/td>\r\n<td>++<\/td>\r\n<\/tr>\r\n<tr>\r\n<td class=\"has-text-align-left\" data-align=\"left\">1g<\/td>\r\n<td>Analysis of common limit conditions, sequences, and sources of dependent failures, see ISO 26262-9:2018<\/td>\r\n<td>+<\/td>\r\n<td>+<\/td>\r\n<td>++<\/td>\r\n<td>++<\/td>\r\n<\/tr>\r\n<tr>\r\n<td class=\"has-text-align-left\" data-align=\"left\">1h<\/td>\r\n<td>Analysis of environmental conditions and operational use cases<\/td>\r\n<td>+<\/td>\r\n<td>++<\/td>\r\n<td>++<\/td>\r\n<td>++<\/td>\r\n<\/tr>\r\n<tr>\r\n<td class=\"has-text-align-left\" data-align=\"left\">1i<\/td>\r\n<td>Analysis of field experience<\/td>\r\n<td>+<\/td>\r\n<td>++<\/td>\r\n<td>++<\/td>\r\n<td>++<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<\/figure>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">What is confirmed by analysis?<\/h2>\r\n\r\n\r\n\r\n<p>Analysis of requirements is the crucial method to derive and specify the verification &amp; test cases. In order to perform the analysis of requirements, following topics\/questions shall be addressed to guide you through the evaluation:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>Which requirements at which ASIL?<\/li>\r\n\r\n\r\n\r\n<li>Which elements\/components have the highest criticality?<\/li>\r\n\r\n\r\n\r\n<li>How will the relevant elements\/components be verified?<\/li>\r\n\r\n\r\n\r\n<li>Were some elements\/components already verified at certain level?<\/li>\r\n\r\n\r\n\r\n<li>Which functional elements\/components or blocks can be verified by the same verification cases?<\/li>\r\n<\/ul>\r\n\r\n\r\n<\/div><\/div><\/div><div class=\"content_section blue_bg blog_trenner_section\"><div class=\"row align-center medium-align-spaced\"><div class=\"columns border_solid_square post_thumbnail small-10 medium-5 large-3\"><div  data-ratio=\"1.2783505154639\" class=\"\"><picture><source media=\"(min-width:1024px)\" srcset=\"https:\/\/lorit-consultancy.com\/wp-content\/uploads\/2021\/01\/dijaz-maric-1.webp\" width=\"873\" height=\"1116\" type=\"image\/webp\" ><source media=\"(min-width:640px)\" srcset=\"https:\/\/lorit-consultancy.com\/wp-content\/uploads\/2021\/01\/dijaz-maric-1-801x1024.webp\" width=\"801\" height=\"1024\" type=\"image\/webp\" ><img decoding=\"async\" src=\"https:\/\/lorit-consultancy.com\/wp-content\/uploads\/2021\/01\/dijaz-maric-1-640x640.webp\" alt=\"\" loading=\"lazy\" width=\"640\" height=\"640\" type=\"image\/webp\" ><\/picture><svg version=\"1.1\" id=\"svg_border_solid_square\" class=\"svg_border_solid_square\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" x=\"0px\" y=\"0px\"\n\t viewBox=\"0 0 337 411.2\" style=\"enable-background:new 0 0 337 411.2;\" xml:space=\"preserve\">\n<polygon id=\"bg\" class=\"bg\" points=\"65,332.6 337,332.6 336.9,411.2 3.6,411.2 \"\/>\n<path id=\"border\" class=\"border\" d=\"M334,329.6V5.9c0-1.6-1.3-2.9-2.9-2.9l0,0L5.9,3.1C4.3,3.1,3,4.3,3,6v400.8c0,1.6,0.8,1.9,1.8,0.6\n\tl59.6-74.7l266.6-0.1C332.7,332.5,333.9,331.2,334,329.6z\"\/>\n<\/svg><\/div><div class=\"image_bottom_content\"><p>Dijaz Maric, QM &amp; Reliability Engineering Consultant<\/p>\n<\/div><\/div><div class=\"columns post_content small-12 medium-6 large-7\"><p>Do you want to learn more about the implementation of<strong> <a href=\"https:\/\/lorit-consultancy.com\/en\/standards\/automotive\/iso26262\/\" target=\"_blank\" rel=\"noopener\">ISO 26262<\/a>, <a href=\"https:\/\/lorit-consultancy.com\/en\/standards\/automotive\/iatf16949\/\" target=\"_blank\" rel=\"noopener\">IATF 16949<\/a>, or other standard in the <a href=\"https:\/\/lorit-consultancy.com\/en\/automotive\/\" target=\"_blank\" rel=\"noopener\">Automotive sector<\/a><\/strong>? We provide remote support and training to enhance your functional safety related projects. Please contact us at <strong><a href=\"mailto:info@lorit-consultancy.com\" target=\"_blank\" rel=\"noopener\">info@lorit-consultancy.com<\/a><\/strong>\u00a0for bespoke consultancy or join one of our\u00a0<strong><a href=\"https:\/\/lorit-consultancy.com\/en\/training\/\" target=\"_blank\" rel=\"noopener\">upcoming online courses<\/a><\/strong>.<\/p>\n<a class=\"add_logo_border\" target=\"_blank\" href=\"https:\/\/lorit-consultancy.com\/en\/standards\/automotive\/iso26262\/\"><span>Learn more<\/span><\/a><\/div><\/div><\/div><\/div><div class=\"single_content_section single_post_section content_section\"><div class=\"row\"><div class=\"post_content columns\">\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Equivalence classes<\/h2>\r\n\r\n\r\n\r\n<p>To reduce the test effort, the test input data\/values are obtained by selecting equivalence classes required to execute the function. These test-methods are then based on the equivalence relation of the inputs. Test cases are selected covering the classes previously specified, at least one test case from each equivalence class.<\/p>\r\n\r\n\r\n\r\n<p>Equivalence classes can be derived from the specification and analysis of requirements or derived from the architecture (equal blocks or functions) or internal structure of the software (set of values executes the same path).<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\">Verification by equivalence classes<\/h3>\r\n\r\n\r\n\r\n<p>Equivalence classes can be derived at different level. Here are few examples:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>System with modules: The modules 1\u2026.n are identical at system level, the test and operation of the module can cover verification of modules.<\/li>\r\n\r\n\r\n\r\n<li>Hardware: Same type of components, e.g. DMA Controllers can be verified on HW detailed design level conducting tests at one of the two identical components.<\/li>\r\n\r\n\r\n\r\n<li>Software: Identical Software units, which are equivalent to each other, depend on specified equivalence relation and class.<\/li>\r\n\r\n\r\n\r\n<li>Software: The inputs to the DMA1 &amp; DMA2 are processed in the same way and can be partitioned. A group is formed based on the same test object behaviour.\r\n<ul class=\"wp-block-list\">\r\n<li>Example: the application you are testing accept values in the character limit of 1 \u2013 100 only.<\/li>\r\n\r\n\r\n\r\n<li>3 partitions: one valid partition and two invalid partitions<\/li>\r\n<\/ul>\r\n<\/li>\r\n<\/ul>\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"aligncenter size-medium\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"550\" class=\"wp-image-7697\" src=\"https:\/\/lorit-consultancy.com\/wp-content\/uploads\/2024\/06\/Fig1.-Test-case-with-valid-invalid-partitions-1024x550.png\" alt=\"\" srcset=\"https:\/\/lorit-consultancy.com\/wp-content\/uploads\/2024\/06\/Fig1.-Test-case-with-valid-invalid-partitions-1024x550.png 1024w, https:\/\/lorit-consultancy.com\/wp-content\/uploads\/2024\/06\/Fig1.-Test-case-with-valid-invalid-partitions-768x413.png 768w, https:\/\/lorit-consultancy.com\/wp-content\/uploads\/2024\/06\/Fig1.-Test-case-with-valid-invalid-partitions.png 1210w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/>\r\n<figcaption class=\"wp-element-caption\">Figure 1. Test case with valid &amp; invalid partitions<\/figcaption>\r\n<\/figure>\r\n<\/div>\r\n\r\n\r\n<p>There are two basic possibilities for input partitioning \u2013 equivalence classes derived from the specification:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>Interpretation of the specification may be either input orientated &#8211; the values selected are treated in the same way &#8211; or<\/li>\r\n\r\n\r\n\r\n<li>Output oriented &#8211; the set of values lead to the same functional result.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Output values<\/h2>\r\n\r\n\r\n\r\n<p>Equivalence Class Partitioning can also be used to test output values. For example, if a software application is supposed to return a specific set of outputs for certain input values, the expected output values can be partitioned into equivalent classes and only one value from each class can be tested.<\/p>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\">Black-box testing<\/h3>\r\n\r\n\r\n\r\n<p>One of the testing methods typically used on system is the black-box testing:<\/p>\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"450\" height=\"140\" class=\"wp-image-7699\" src=\"https:\/\/lorit-consultancy.com\/wp-content\/uploads\/2024\/06\/Fig2.-Black-box-testing.png\" alt=\"\" \/>\r\n<figcaption class=\"wp-element-caption\">Figure 2. Black-box testing<\/figcaption>\r\n<\/figure>\r\n<\/div>\r\n\r\n\r\n<p>\u2192 Black Box testing doesn\u2019t consider the internal structure, design is to be tested.<br \/>\u2192 The internal functioning is not crucial as input for testing.<br \/>\u2192 It only evaluates the external behaviour of the system.<br \/>\u2192 The inputs implied at the system and the outputs or responses are tested.<\/p>\r\n\r\n\r\n\r\n<p>The input data range is subdivided into specific input value ranges considering the specification and by analysing the requirements. Test cases are then formed from the:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>Data from permissible ranges<\/li>\r\n\r\n\r\n\r\n<li>Data from inadmissible ranges<\/li>\r\n\r\n\r\n\r\n<li>Data from range limits<\/li>\r\n\r\n\r\n\r\n<li>Extreme values<\/li>\r\n\r\n\r\n\r\n<li>or combination of the above cases.<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<h3 class=\"wp-block-heading\">White-box testing<\/h3>\r\n\r\n\r\n\r\n<p>Another test method is the white-box testing:<\/p>\r\n\r\n\r\n<div class=\"wp-block-image\">\r\n<figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"410\" height=\"140\" class=\"wp-image-7702\" src=\"https:\/\/lorit-consultancy.com\/wp-content\/uploads\/2024\/06\/Fig3.-White-box-testing.png\" alt=\"\" \/>\r\n<figcaption class=\"wp-element-caption\">Figure 3. White-box testing<\/figcaption>\r\n<\/figure>\r\n<\/div>\r\n\r\n\r\n<p>\u2192 Test of the internal structures, used data structures, internal design, code structure, and the working of the software.<br \/>\u2192 Code coverage analysis helps to analyse the code coverage of an application.<br \/>\u2192 White-box testing method is used in SW Unit testing phase but can also occur in SW integration testing to verify the SW design is implemented in accordance with the requirements.<\/p>\r\n\r\n\r\n\r\n<p>Related to the software, it verifies:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>Structured paths in the coding process<\/li>\r\n\r\n\r\n\r\n<li>Flow of specific paths through the code<\/li>\r\n\r\n\r\n\r\n<li>Loops, decision conditions<\/li>\r\n\r\n\r\n\r\n<li>Function &amp; modules on an individual basis<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p>On hardware level:<\/p>\r\n\r\n\r\n\r\n<ul class=\"wp-block-list\">\r\n<li>Test of the internal logic, architectural blocks if applicable<\/li>\r\n\r\n\r\n\r\n<li>Test of safety mechanisms on block\/component level<\/li>\r\n\r\n\r\n\r\n<li>Functions &amp; modules<\/li>\r\n<\/ul>\r\n\r\n\r\n\r\n<p>The advantage of the white-box testing method is that hidden errors, e.g in the code, can be successfully identified. On the downside this method often proves to be highly complex and time-consuming.<\/p>\r\n\r\n\r\n\r\n<h2 class=\"wp-block-heading\">Other methods for evaluation of test cases<\/h2>\r\n\r\n\r\n\r\n<p>I&#8217;d like to wrap up with an introduction of the <strong><a href=\"https:\/\/lorit-consultancy.com\/2024\/06\/iso-26262-verification-methods-boundary-values-and-error-guessing\/\">second part<\/a> <\/strong>of this blog series. In the <strong>next instalment<\/strong> of the \u201cVerification in ISO 26262\u201d blog we&#8217;ll discuss other methods used for deriving test cases, such as <strong>boundary value analysis<\/strong> and <strong>error guessing<\/strong>. Additionally, we will examine various examples of their application, while also taking closer look at some examples of generation of equivalence classes in different applications. Stay tuned!<\/p>\r\n\r\n\r\n\r\n<p>By <a href=\"https:\/\/lorit-consultancy.com\/en\/about-us\/#dijaz-maric\" target=\"_blank\" rel=\"noreferrer noopener\">Dijaz Maric<\/a>, Quality Management &amp; Reliability Engineering Consultant<\/p>\r\n","protected":false},"excerpt":{"rendered":"<p>In today\u2019s blog we discuss the verification methods defined in the ISO 26262 standard. More specifically, we delve into the process of defining verification methods within a project and how to derive specific test cases. The verification methods according to ISO 26262 are specific techniques and processes used to ensure that the safety-related functions of [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":7689,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[87,90,91,93,96],"tags":[],"class_list":["post-7673","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-functional-safety","category-reliability","category-safety","category-automotive","category-quality-management"],"acf":[],"_links":{"self":[{"href":"https:\/\/lorit-consultancy.com\/en\/wp-json\/wp\/v2\/posts\/7673","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lorit-consultancy.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lorit-consultancy.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lorit-consultancy.com\/en\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/lorit-consultancy.com\/en\/wp-json\/wp\/v2\/comments?post=7673"}],"version-history":[{"count":26,"href":"https:\/\/lorit-consultancy.com\/en\/wp-json\/wp\/v2\/posts\/7673\/revisions"}],"predecessor-version":[{"id":8474,"href":"https:\/\/lorit-consultancy.com\/en\/wp-json\/wp\/v2\/posts\/7673\/revisions\/8474"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lorit-consultancy.com\/en\/wp-json\/wp\/v2\/media\/7689"}],"wp:attachment":[{"href":"https:\/\/lorit-consultancy.com\/en\/wp-json\/wp\/v2\/media?parent=7673"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lorit-consultancy.com\/en\/wp-json\/wp\/v2\/categories?post=7673"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lorit-consultancy.com\/en\/wp-json\/wp\/v2\/tags?post=7673"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}