{"id":3407,"date":"2026-01-30T04:45:00","date_gmt":"2026-01-30T03:45:00","guid":{"rendered":"https:\/\/kunden.weissblaumedia.de\/microconsult\/2022\/07\/19\/tb_design-for-test\/"},"modified":"2026-06-17T13:16:24","modified_gmt":"2026-06-17T11:16:24","slug":"tb_design-for-test","status":"publish","type":"post","link":"https:\/\/www.microconsult.de\/en\/tb_design-for-test\/","title":{"rendered":"Design for Test and Design for Safety \u2013 Tailor-made software architecture"},"content":{"rendered":"<p><strong>Our everyday lives are now seamlessly integrated with interconnected devices and systems. Whether using a smartphone to find the fastest route, reading the newspaper on a tablet while relaxing on the sofa, or controlling smart heating via a smartphone app, these systems make our lives more comfortable. However, this increased comfort also necessitates stricter security and safety requirements, which the developers of such systems must meet. This is especially true for autonomous driving \u2013 where sound safety concepts are of paramount importance.\u00a0<\/strong><\/p>\n<p><!--more--><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2130\" src=\"https:\/\/www.microconsult.de\/blog\/wp-content\/uploads\/2022\/07\/Bild-1-deutsch.png\" alt=\"Software architecture\" width=\"1004\" height=\"598\" data-wp-pid=\"2130\" \/><\/p>\n<p><em>Image 1: The software architecture \u2013 fit for the project<\/em><\/p>\n<h4>Know-how and skills that software architects should possess<\/h4>\n<p>With increasing product complexity and ever more powerful hardware, the scope and complexity of embedded systems software also increase. In many products, the software implements the essential part of the functionality. The departments that develop embedded software are growing continuously. This is particularly evident in the automotive industry and is also reflected in the current job market. For example, Mercedes-Benz plans to generate the majority of its revenue from software-based systems by 2030. Development is no longer a &quot;one-person show,&quot; but rather takes place in large teams distributed across different locations worldwide.<\/p>\n<p>The importance of embedded software has increased dramatically in recent years in most companies in the embedded industry \u2013 even in the mechatronics product area. But this is just the beginning.<\/p>\n<h4>Agile software development methods are increasingly in the spotlight.<\/h4>\n<p>In agile software projects, the software architecture is developed evolutionarily, based, among other things, on test-driven software development methods. Two different development approaches prevail:<\/p>\n<ul>\n<li><strong>Functional architecture<\/strong>The software system is represented in terms of functions or features and their dependencies.<\/li>\n<li><strong>Component architecture<\/strong>: Develops a rough draft as well as several detailed drafts that contain a fine-grained structure of the software.<\/li>\n<\/ul>\n<h4>Software architecture plays a crucial role in project success.<\/h4>\n<p>In order for the software architect to fulfill his responsible role, he needs sound knowledge of the following key aspects:<\/p>\n<ol>\n<li><strong> Basic understanding of software architecture<\/strong><\/li>\n<\/ol>\n<p>At an abstract level, software architecture represents a bridge between the requirements and the implementation of the software. Within the software itself, the architecture describes the overall structure (only in exceptional cases also modules and classes), for example, consisting of software components, software layers, software subsystems, interfaces, and their dependencies. Interactive and individual behavior can also be described for these architectural elements. A crucial component of software architecture is also... <strong>Runtime architecture<\/strong>.<\/p>\n<ol start=\"2\">\n<li><strong> The role of the software architect<\/strong><\/li>\n<\/ol>\n<p>Anyone with the necessary expertise can take on the role of software architect in a company project. However, to truly approach the role professionally, I believe it&#039;s best to have a dedicated individual. Depending on the project size, one or more software architects are involved.<\/p>\n<ol start=\"3\">\n<li><strong> The chief architect leads software architecture teams.<\/strong><\/li>\n<\/ol>\n<p>The software architect coordinates with various roles within the project and therefore requires both technical and non-technical knowledge \u2013 the more experience they have, the better. Ideally, the role of software architect should not be filled by a recent graduate. Extroverted, innovative, decisive, and experienced individuals are needed.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2131\" src=\"https:\/\/www.microconsult.de\/blog\/wp-content\/uploads\/2022\/07\/Bild-2-deutsch.png\" alt=\"Software Architect\" width=\"955\" height=\"650\" data-wp-pid=\"2131\" \/><\/p>\n<p><em>Figure 2: The most important context for the software architect<\/em><\/p>\n<h4>Design process \u2013 how a software architecture is created<\/h4>\n<p>The design process describes the development process of the software (architecture). Every company must find and implement the most suitable process for its needs. The software architect plays a crucial role in this definition.<\/p>\n<p>Based on a V-model-like representation, the design approach can be used for the development of a complete embedded system, not just for software development.<\/p>\n<h4>Requirements (WHAT) and corresponding architectures (HOW)<\/h4>\n<p>In the analysis activities, the analysts (in reality, usually also the architects) at each level identify and document the corresponding requirements (the WHAT). Based on this, the architectures are created (the HOW). Building on the subsystem architectures, the software architect develops the software architecture for a subsystem \u2013 in coordination with the other development domains at the same level (e.g., hardware development).<br \/>\nIn parallel with defining the requirements, the test team develops the test cases to later demonstrate correct implementation. This also takes place at different levels. &quot;Design for Test&quot; and, more recently, &quot;Design for Safety&quot; are fundamental software architecture topics in this context.<\/p>\n<p><em><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2132\" src=\"https:\/\/www.microconsult.de\/blog\/wp-content\/uploads\/2022\/07\/Bild-3-deutsch.png\" alt=\"Design approach for embedded systems\" width=\"997\" height=\"669\" data-wp-pid=\"2132\" \/><\/em><\/p>\n<p>Figure 3: Design process for embedded systems<\/p>\n<h4>Design basis and influencing factors<\/h4>\n<p>The software requirements (functional and non-functional) are derived from the X-analysis (here software analysis) shown in Figure 3.<\/p>\n<p>During a <strong>Analysis of influencing factors<\/strong> The software architect decides on the<\/p>\n<ul>\n<li>Relevance of the requirement for the software architecture<\/li>\n<li>Changeability of the requirement in the future<\/li>\n<li>Derivation of the consequences for the software architecture<\/li>\n<\/ul>\n<p>Part of the non-functional software requirements are the <strong>Software quality characteristics<\/strong>, which the software must provide, such as.<\/p>\n<ul>\n<li>Portability<\/li>\n<li>maintainability<\/li>\n<li><strong>reliability<\/strong><\/li>\n<li><strong>Security<\/strong><\/li>\n<li>Resource consumption<\/li>\n<li>performance<\/li>\n<li>Real-time capability<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2137\" src=\"https:\/\/www.microconsult.de\/blog\/wp-content\/uploads\/2022\/07\/Table-1.png\" alt=\"Software quality features - Safety\" width=\"998\" height=\"614\" data-wp-pid=\"2137\" \/><\/p>\n<p><em>Table 1: View through the lens of relevant software quality characteristics \u2013 Safety<\/em><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2138\" src=\"https:\/\/www.microconsult.de\/blog\/wp-content\/uploads\/2022\/07\/Table-2.png\" alt=\"Software quality characteristics - Reliability\" width=\"998\" height=\"641\" data-wp-pid=\"2138\" \/><\/p>\n<p><em>Table 2: From the perspective of relevant software quality characteristics \u2013 Reliability<\/em><\/p>\n<p>Regarding the quality characteristics, it should be noted that some are synchronous, while others are contradictory.<\/p>\n<p>With this knowledge, let us ask the following question: Which requirements influence the architecture more \u2013 functional or non-functional ones?<\/p>\n<p>Correct answer: the non-functional requirements!<\/p>\n<p>Thus, the software requirements and the resulting influencing factors, alongside the subsystem architecture, form the most important design basis for the software architecture.<\/p>\n<h4>Communication and documentation<\/h4>\n<p>The software architect creates a clear and understandable documentation of the software architecture for all stakeholders, thus laying the foundation for every project and ensuring complete traceability for everyone involved. This, in turn, secures the company&#039;s continued existence.<\/p>\n<p>The documentation simultaneously forms the basis for communication, which must be continuously coordinated with the stakeholders.<\/p>\n<p>The most important stakeholder is the software developer, who refines the software architecture during the design phase and ultimately implements it in the target programming language. Besides the software developer, other roles, such as the software testing team, have a legitimate interest in the software architecture. Only by understanding the intended outcome can I verify that it has been implemented correctly.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2133\" src=\"https:\/\/www.microconsult.de\/blog\/wp-content\/uploads\/2022\/07\/Bild-4.png\" alt=\"Software layered architecture\" width=\"1638\" height=\"908\" data-wp-pid=\"2133\" \/><\/p>\n<p><em>Figure 4: Example of a software layered architecture<\/em><\/p>\n<p>UML (Unified Modeling Language) is the notation used to document and refine various views and aspects of software architecture during the design process \u2013 right up to automatic code generation. The package diagram in Figure 4 models the different software layers.<\/p>\n<h4>Software design principles improve software quality<\/h4>\n<p>Our entire lives are governed by rules, even if some people think they don&#039;t have to follow them. Everyone has surely had their own experiences with the topic of Corona and &quot;adhering&quot; to regulations and rules. You probably played with Lego yourself as a child, or you do it with your children today. There are rules for how the bricks fit together, too.<\/p>\n<p>The software architect continuously develops the software development style guide based on new knowledge. This guide describes the rules according to which software architectures should be developed. Not all rules can be applied to all architectures, nor are all rules applicable to them. Their application depends on the specific requirements. Applying these rules to a software architecture always improves software quality.<\/p>\n<p>One architectural design principle, for example, is that of... <strong>high cohesion<\/strong>. The goal here is to avoid redundancies by handling logically related tasks within a single architectural element and not distributing similar tasks across multiple architectural elements. Publications now exist on specific design principles applicable to embedded software architectures. <strong>Software architecture patterns<\/strong> The software architect can implement the design principles in practice.<\/p>\n<h4>Architectural development and architectural patterns must meet safety requirements.<\/h4>\n<p>Based on his professional knowledge, the software architect develops the software architecture. In doing so, the architect draws on his <strong>Pattern catalog<\/strong> Back. In general, patterns are known, proven, evaluated and adaptable solutions to recurring problems (challenges).<\/p>\n<p>For safety-relevant systems, aspects such as functional safety and reliability must be considered and fulfilled.<\/p>\n<p>For systems that are intended to support us fully automatically (think of automated driving), the aspects are <strong>Safety<\/strong> and <strong>Reliability<\/strong> Key to the product&#039;s success:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2139\" src=\"https:\/\/www.microconsult.de\/blog\/wp-content\/uploads\/2022\/07\/Table-3.png\" alt=\"View through the safety goggles\" width=\"994\" height=\"461\" data-wp-pid=\"2139\" \/><\/p>\n<p><em>Table 3: View through the safety goggles<\/em><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2140\" src=\"https:\/\/www.microconsult.de\/blog\/wp-content\/uploads\/2022\/07\/Table-4.png\" alt=\"View through security glasses\" width=\"997\" height=\"562\" data-wp-pid=\"2140\" \/><\/p>\n<p><em>Table 4: And not to forget \u2013 the view through the security glasses<\/em><\/p>\n<p>The use of patterns can be a challenge in software architecture development:<\/p>\n<p>For example, a problem might require curved contours even if only rectangular building blocks are available. One solution would be to place the blocks \u2013 following the Lego principle \u2013 in staggered rows or rows. Since we are not the first generation to develop software, patterns now exist for almost all areas of software development, including software architecture development.<\/p>\n<p>One example is the Software Layer Pattern (strict or non-strict). Figure 4 shows a non-strict software layer architecture. &quot;Non-strict&quot; means that it includes cross-layer access. This is particularly useful for embedded software to maintain the required performance. In this example, vertical layers are included in addition to the classic horizontal layers.<\/p>\n<h4>Quality assurance and quality assessment<\/h4>\n<p>The software architect is responsible for software quality and also shares responsibility for quality assurance. Before the software architect develops an architecture, the quality characteristics must be defined. The architect understands the influence of these characteristics on their software architecture, and the software testing team knows how to verify them. Incidentally, quality cannot simply be tested into a product at the end of development!<\/p>\n<p>Regarding quality, a distinction must be made between...<\/p>\n<ul>\n<li><strong>internal quality<\/strong> (e.g., software architecture) and<\/li>\n<li><strong>external quality<\/strong> (the customer sees this).<\/li>\n<\/ul>\n<p>The <strong>Process quality<\/strong> This also significantly influences product quality. To use the Lego analogy again \u2013 all Lego bricks must be assembled in such a way that they support the structure; otherwise, it will collapse, at the latest when additional extensions are made. This also applies, by analogy, to software architecture. It must fulfill all previously defined quality criteria and functionalities.<\/p>\n<p>In the past, software architectures often had to remain viable for 20 years or more. Today, they are constantly being expanded and improved. This is due to ever-changing requirements, regulations, and laws. A development process that allows for this is therefore extremely important for the continued development of products.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2142 size-medium\" src=\"https:\/\/www.microconsult.de\/blog\/wp-content\/uploads\/2022\/07\/Bild-5-deutsch-1-270x300.png\" alt=\"Quality assurance and evaluation\" width=\"270\" height=\"300\" data-wp-pid=\"2142\" \/><\/p>\n<p><em>Figure 5: Quality assurance and evaluation<\/em><\/p>\n<h4>The simplest quality assurance measure<\/h4>\n<p>Reviews with other architects and stakeholders represent the simplest quality assurance measure in software architecture development. These reviews assess whether the architecture meets the required quality criteria. Software architecture documentation based on a UML model serves as a suitable basis for such a review.<\/p>\n<p>In the <strong>scenario-based review<\/strong> The participants use the architecture to simulate predefined scenarios. For example, if an architecture needs to be hardware-portable, the hardware is swapped in a thought experiment to demonstrate that the software architecture can accommodate this. A very comprehensive method for this is developed by... <strong>BE<\/strong> (Software Engineering Institute of Carnegie Mellon University). It is called ATAM (Architecture Tradeoff Analysis Method).<\/p>\n<p>Other quality assurance measures include, for example, creating prototypes or mathematical models, performing a simulation, and determining metrics.<\/p>\n<h4>Using this tool facilitates the development of the software architecture.<\/h4>\n<p>The software architect is responsible, or at least partly responsible, for the world of tools used in software development.<\/p>\n<p><em><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2150 size-medium\" src=\"https:\/\/www.microconsult.de\/blog\/wp-content\/uploads\/2022\/07\/Bild-6x-deutsch-270x300.png\" alt=\"\" width=\"270\" height=\"300\" data-wp-pid=\"2150\" \/><br \/>\n<\/em><\/p>\n<p><em>Figure 6: Use of tools<\/em><\/p>\n<p>He knows the tool market, identifies the needs, develops tool requirements, evaluates tools, and ultimately selects them based on his expertise. If there is no dedicated tool team within the company, he is also responsible for tool integration. The tools should make the work of everyone involved in software development easier. A little self-interest doesn&#039;t hurt; the software architect benefits (primarily) from it.<\/p>\n<p>Tool topics that make the work of the software architect easier:<\/p>\n<ul>\n<li>Requirements management<\/li>\n<li>Version and configuration management<\/li>\n<li>Modeling<\/li>\n<li>Generation of documentation and program code<\/li>\n<li>Build systems<\/li>\n<li>Static analysis<\/li>\n<li>Dynamic analysis<\/li>\n<\/ul>\n<h4>Implementation of the software architecture<\/h4>\n<p>The software architect hands over parts or all of the architecture to one or more software developers for further refinement (design and implementation). The coding style guide, which the software architect writes together with the software developers, shows, among other things, how the software architecture is reflected in the target programming language. Typical target programming languages for programming embedded systems are currently C and C++.<\/p>\n<p>With C++, the software architecture can be very well represented using namespaces in the program code.<\/p>\n<p><em><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2149 size-medium\" src=\"https:\/\/www.microconsult.de\/blog\/wp-content\/uploads\/2022\/07\/Bild-7x-deutsch-274x300.png\" alt=\"\" width=\"274\" height=\"300\" data-wp-pid=\"2149\" \/>\u00a0<\/em><\/p>\n<p><em>Image 7: Coding Style Guide<\/em><\/p>\n<p>Software architects and software developers must ensure that the specified software architecture is maintained throughout its entire life cycle and is not &quot;broken&quot; by programming \u2013 a process also known as software erosion.<\/p>\n<p>If the software developer identifies a need for changes to the architecture, all change decisions and the architecture change itself must be handled by the responsible software architect.<\/p>\n<p>The higher the demands on safety, security and modularity of the products become, the more important and crucial to success the function of the software architect becomes in the entire development process.<\/p>\n<h3><strong>Further information<\/strong><\/h3>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>Software Engineering Institute, Carnegie Mellon University: <strong><a href=\"https:\/\/www.sei.cmu.edu\/architecture\/tools\/evaluate\/atam.cfm\" target=\"_blank\" rel=\"noopener\">ATAM\/Architecture Tradeoff Analysis Method<\/a><\/strong><\/li>\n<li><strong><a href=\"https:\/\/www.cio.bund.de\/Web\/DE\/Architekturen-und-Standards\/V-Modell-XT\/vmodell_xt_node.html\" target=\"_blank\" rel=\"noopener\">V-model\u00a0<\/a><\/strong><\/li>\n<li><strong><a href=\"https:\/\/www.omg.org\" target=\"_blank\" rel=\"noopener\">Object Management Group (OMG)<\/a><\/strong><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>MicroConsult Download: <strong><a href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2022\/07\/archprinz.zip\" target=\"_blank\" rel=\"noopener\">Principles for embedded software architectures<\/a><\/strong><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3><strong>MicroConsult training &amp; coaching:<\/strong><\/h3>\n<p><strong><a href=\"https:\/\/www.microconsult.de\/en\/training-consulting\/training\/rtos-anwendung-entwicklung-von-laufzeit-architekturen-fuer-embedded-und-echtzeitsysteme\/aaaadqr\/\" target=\"_blank\" rel=\"noopener\">Software architectures for embedded and real-time systems<\/a><\/strong><\/p>\n<p><strong><a href=\"https:\/\/www.microconsult.de\/en\/training-consulting\/training\/rtos-anwendung-entwicklung-von-laufzeit-architekturen-fuer-embedded-und-echtzeitsysteme\/aaaadqr\/\" target=\"_blank\" rel=\"noopener\">RTOS mechanisms and their applications in embedded and real-time software<\/a><\/strong><\/p>\n<p><strong><a href=\"https:\/\/www.microconsult.de\/en\/training-consulting\/training\/design-patterns-training-not-only-for-embedded-systems-2\/aaaaciq\/\" target=\"_blank\" rel=\"noopener\">Design patterns (not only) for embedded systems<\/a><\/strong><\/p>\n<p><strong><a href=\"https:\/\/www.microconsult.de\/en\/training-consulting\/training\/functional-safety-training-functional-safety-fusi-of-electronics-and-their-software-according-to-iec-61508-and-iso-26262\/aaaacya\/\" target=\"_blank\" rel=\"noopener\">Functional safety of electronics and their software \u2013 implementation according to IEC 61508 and ISO 26262<\/a><\/strong><\/p>\n<p><strong><a href=\"https:\/\/www.microconsult.de\/en\/training-consulting\/training\/security-engineering-security-fundamente-fuer-eingebettete-systeme-embedded-systems\/aaaadtj\/\" target=\"_blank\" rel=\"noopener\">Security foundations for embedded systems<\/a><\/strong><\/p>\n<p><strong><a href=\"https:\/\/www.microconsult.de\/en\/training-consulting\/training\/embedded-software-test-best-practices-fuer-den-unit-modul-komponenten-test\/aaaadjo\/\" target=\"_blank\" rel=\"noopener\">Embedded software testing: Best practices for unit\/module\/component testing<\/a><\/strong><\/p>\n<p><strong><a href=\"https:\/\/www.microconsult.de\/en\/training-consulting\/training\/agile-testing-and-test-driven-development-tdd-of-embedded-systems-2\/aaaadje\/\" target=\"_blank\" rel=\"noopener\">Agile testing and test-driven development (TDD) of embedded systems<\/a><\/strong><\/p>\n<p><strong><a href=\"https:\/\/www.microconsult.de\/en\/training-consulting\/\" target=\"_blank\" rel=\"noopener\">Overview of all training courses<\/a><\/strong><\/p>\n<h4>The English version of this article was published by electronic specifier:<\/h4>\n<p><strong><a href=\"https:\/\/www.electronicspecifier.com\/design-automation\/design-for-test-and-design-for-safety\" target=\"_blank\" rel=\"noopener\">https:\/\/www.electronicspecifier.com\/design-automation\/design-for-test-and-design-for-safety<\/a><\/strong><\/p>","protected":false},"excerpt":{"rendered":"<p>Unser Alltag ist heute wie selbstverst\u00e4ndlich von miteinander vernetzten Ger\u00e4ten und Systemen gepr\u00e4gt. Ob man mit dem Smartphone unterwegs den schnellsten Weg zum Ziel findet, auf dem Sofa mit dem Tablet die Zeitung liest oder die smarte Heizung \u00fcber eine App auf dem Smartphone steuert, diese Systeme machen unser Leben komfortabler. Der Gewinn an Komfort [&hellip;]<\/p>\n","protected":false},"author":10,"featured_media":3408,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","inline_featured_image":false,"footnotes":""},"categories":[9,30,51,15],"tags":[355,356,357,212,42,296,358,20,359,193,26,13,80,360,14,164,361,103,86,68,362],"class_list":["post-3407","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-embedded_und_echtzeit-softwareentwicklung","category-projektmanagement","category-qualitaet_und_sicherheit","category-softwareentwicklung_windows_linux_mobile","tag-architekturentwicklung","tag-design-for-safety","tag-design-for-test","tag-design-pattern","tag-embedded","tag-entwurfsprinzipien","tag-entwurfsvorgehen","tag-funktionale-sicherheit","tag-qualitaetsmerkmal","tag-rtos","tag-safety","tag-security","tag-sicherheit","tag-software-architekt","tag-software-architektur","tag-software-design","tag-software-entwickler","tag-software-entwicklung","tag-software-qualitaet","tag-software-test","tag-softwarearchitekt"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Design for Test und Design for Safety - Software-Architektur nach Ma\u00df - MicroConsult Academy GmbH<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.microconsult.de\/en\/tb_design-for-test\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Design for Test und Design for Safety - Software-Architektur nach Ma\u00df - MicroConsult Academy GmbH\" \/>\n<meta property=\"og:description\" content=\"Unser Alltag ist heute wie selbstverst\u00e4ndlich von miteinander vernetzten Ger\u00e4ten und Systemen gepr\u00e4gt. Ob man mit dem Smartphone unterwegs den schnellsten Weg zum Ziel findet, auf dem Sofa mit dem Tablet die Zeitung liest oder die smarte Heizung \u00fcber eine App auf dem Smartphone steuert, diese Systeme machen unser Leben komfortabler. Der Gewinn an Komfort [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.microconsult.de\/en\/tb_design-for-test\/\" \/>\n<meta property=\"og:site_name\" content=\"MicroConsult Academy GmbH\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-30T03:45:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-17T11:16:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/07\/architektur2-half.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2400\" \/>\n\t<meta property=\"og:image:height\" content=\"1580\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Thomas Batt\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Thomas Batt\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"14 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/tb_design-for-test\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/tb_design-for-test\\\/\"},\"author\":{\"name\":\"Thomas Batt\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#\\\/schema\\\/person\\\/344ea687ec9637d76b9f570373cae5eb\"},\"headline\":\"Design for Test und Design for Safety &#8211; Software-Architektur nach Ma\u00df\",\"datePublished\":\"2026-01-30T03:45:00+00:00\",\"dateModified\":\"2026-06-17T11:16:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/tb_design-for-test\\\/\"},\"wordCount\":2123,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/tb_design-for-test\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.microconsult.de\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/architektur2-half.jpg\",\"keywords\":[\"Architekturentwicklung\",\"Design for Safety\",\"Design for Test\",\"Design Pattern\",\"embedded\",\"Entwurfsprinzipien\",\"Entwurfsvorgehen\",\"funktionale Sicherheit\",\"Qualit\u00e4tsmerkmal\",\"RTOS\",\"Safety\",\"Security\",\"Sicherheit\",\"Software-Architekt\",\"Software-Architektur\",\"Software-Design\",\"Software-Entwickler\",\"Software-Entwicklung\",\"Software-Qualit\u00e4t\",\"Software-Test\",\"Softwarearchitekt\"],\"articleSection\":[\"Embedded- und Echtzeit-Softwareentwicklung\",\"Projektmanagement\",\"Qualit\u00e4t und Sicherheit\",\"Softwareentwicklung (Windows, Linux)\"],\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.microconsult.de\\\/tb_design-for-test\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/tb_design-for-test\\\/\",\"url\":\"https:\\\/\\\/www.microconsult.de\\\/tb_design-for-test\\\/\",\"name\":\"Design for Test und Design for Safety - Software-Architektur nach Ma\u00df - MicroConsult Academy GmbH\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/tb_design-for-test\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/tb_design-for-test\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.microconsult.de\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/architektur2-half.jpg\",\"datePublished\":\"2026-01-30T03:45:00+00:00\",\"dateModified\":\"2026-06-17T11:16:24+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#\\\/schema\\\/person\\\/344ea687ec9637d76b9f570373cae5eb\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/tb_design-for-test\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.microconsult.de\\\/tb_design-for-test\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/tb_design-for-test\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.microconsult.de\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/architektur2-half.jpg\",\"contentUrl\":\"https:\\\/\\\/www.microconsult.de\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/architektur2-half.jpg\",\"width\":2400,\"height\":1580,\"caption\":\"construction site blueprint\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/tb_design-for-test\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.microconsult.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Design for Test und Design for Safety &#8211; Software-Architektur nach Ma\u00df\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#website\",\"url\":\"https:\\\/\\\/www.microconsult.de\\\/\",\"name\":\"MicroConsult Academy GmbH\",\"description\":\"Professionelle Schulungen, Beratung und Projektunterst\u00fctzung\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.microconsult.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#\\\/schema\\\/person\\\/344ea687ec9637d76b9f570373cae5eb\",\"name\":\"Thomas Batt\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6e2cfb0fb9027df3be0b60804d3dd07e5061a84cf3a0fc3a5adcc8c5f114e6b9?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6e2cfb0fb9027df3be0b60804d3dd07e5061a84cf3a0fc3a5adcc8c5f114e6b9?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6e2cfb0fb9027df3be0b60804d3dd07e5061a84cf3a0fc3a5adcc8c5f114e6b9?s=96&d=mm&r=g\",\"caption\":\"Thomas Batt\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Design for Test and Design for Safety - Tailor-made Software Architecture - MicroConsult Academy GmbH","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.microconsult.de\/en\/tb_design-for-test\/","og_locale":"en_GB","og_type":"article","og_title":"Design for Test und Design for Safety - Software-Architektur nach Ma\u00df - MicroConsult Academy GmbH","og_description":"Unser Alltag ist heute wie selbstverst\u00e4ndlich von miteinander vernetzten Ger\u00e4ten und Systemen gepr\u00e4gt. Ob man mit dem Smartphone unterwegs den schnellsten Weg zum Ziel findet, auf dem Sofa mit dem Tablet die Zeitung liest oder die smarte Heizung \u00fcber eine App auf dem Smartphone steuert, diese Systeme machen unser Leben komfortabler. Der Gewinn an Komfort [&hellip;]","og_url":"https:\/\/www.microconsult.de\/en\/tb_design-for-test\/","og_site_name":"MicroConsult Academy GmbH","article_published_time":"2026-01-30T03:45:00+00:00","article_modified_time":"2026-06-17T11:16:24+00:00","og_image":[{"width":2400,"height":1580,"url":"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/07\/architektur2-half.jpg","type":"image\/jpeg"}],"author":"Thomas Batt","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Thomas Batt","Estimated reading time":"14 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.microconsult.de\/tb_design-for-test\/#article","isPartOf":{"@id":"https:\/\/www.microconsult.de\/tb_design-for-test\/"},"author":{"name":"Thomas Batt","@id":"https:\/\/www.microconsult.de\/#\/schema\/person\/344ea687ec9637d76b9f570373cae5eb"},"headline":"Design for Test und Design for Safety &#8211; Software-Architektur nach Ma\u00df","datePublished":"2026-01-30T03:45:00+00:00","dateModified":"2026-06-17T11:16:24+00:00","mainEntityOfPage":{"@id":"https:\/\/www.microconsult.de\/tb_design-for-test\/"},"wordCount":2123,"commentCount":0,"image":{"@id":"https:\/\/www.microconsult.de\/tb_design-for-test\/#primaryimage"},"thumbnailUrl":"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/07\/architektur2-half.jpg","keywords":["Architekturentwicklung","Design for Safety","Design for Test","Design Pattern","embedded","Entwurfsprinzipien","Entwurfsvorgehen","funktionale Sicherheit","Qualit\u00e4tsmerkmal","RTOS","Safety","Security","Sicherheit","Software-Architekt","Software-Architektur","Software-Design","Software-Entwickler","Software-Entwicklung","Software-Qualit\u00e4t","Software-Test","Softwarearchitekt"],"articleSection":["Embedded- und Echtzeit-Softwareentwicklung","Projektmanagement","Qualit\u00e4t und Sicherheit","Softwareentwicklung (Windows, Linux)"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.microconsult.de\/tb_design-for-test\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.microconsult.de\/tb_design-for-test\/","url":"https:\/\/www.microconsult.de\/tb_design-for-test\/","name":"Design for Test and Design for Safety - Tailor-made Software Architecture - MicroConsult Academy GmbH","isPartOf":{"@id":"https:\/\/www.microconsult.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.microconsult.de\/tb_design-for-test\/#primaryimage"},"image":{"@id":"https:\/\/www.microconsult.de\/tb_design-for-test\/#primaryimage"},"thumbnailUrl":"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/07\/architektur2-half.jpg","datePublished":"2026-01-30T03:45:00+00:00","dateModified":"2026-06-17T11:16:24+00:00","author":{"@id":"https:\/\/www.microconsult.de\/#\/schema\/person\/344ea687ec9637d76b9f570373cae5eb"},"breadcrumb":{"@id":"https:\/\/www.microconsult.de\/tb_design-for-test\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.microconsult.de\/tb_design-for-test\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.microconsult.de\/tb_design-for-test\/#primaryimage","url":"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/07\/architektur2-half.jpg","contentUrl":"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/07\/architektur2-half.jpg","width":2400,"height":1580,"caption":"construction site blueprint"},{"@type":"BreadcrumbList","@id":"https:\/\/www.microconsult.de\/tb_design-for-test\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.microconsult.de\/"},{"@type":"ListItem","position":2,"name":"Design for Test und Design for Safety &#8211; Software-Architektur nach Ma\u00df"}]},{"@type":"WebSite","@id":"https:\/\/www.microconsult.de\/#website","url":"https:\/\/www.microconsult.de\/","name":"MicroConsult Academy GmbH","description":"Professional training, consulting and project support","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.microconsult.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Person","@id":"https:\/\/www.microconsult.de\/#\/schema\/person\/344ea687ec9637d76b9f570373cae5eb","name":"Thomas Batt","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/secure.gravatar.com\/avatar\/6e2cfb0fb9027df3be0b60804d3dd07e5061a84cf3a0fc3a5adcc8c5f114e6b9?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/6e2cfb0fb9027df3be0b60804d3dd07e5061a84cf3a0fc3a5adcc8c5f114e6b9?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6e2cfb0fb9027df3be0b60804d3dd07e5061a84cf3a0fc3a5adcc8c5f114e6b9?s=96&d=mm&r=g","caption":"Thomas Batt"}}]}},"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/posts\/3407","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/comments?post=3407"}],"version-history":[{"count":3,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/posts\/3407\/revisions"}],"predecessor-version":[{"id":11471,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/posts\/3407\/revisions\/11471"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/media\/3408"}],"wp:attachment":[{"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/media?parent=3407"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/categories?post=3407"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/tags?post=3407"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}