{"id":7917,"date":"2025-11-29T07:49:36","date_gmt":"2025-11-29T06:49:36","guid":{"rendered":"https:\/\/web-dev-weissblau.de\/microconsult\/?p=7917"},"modified":"2026-02-13T09:57:58","modified_gmt":"2026-02-13T08:57:58","slug":"specification-by-example","status":"publish","type":"post","link":"https:\/\/www.microconsult.de\/en\/specification-by-example\/","title":{"rendered":"Specification by Example"},"content":{"rendered":"<h2>Wie man den Kunden an Board h\u00e4lt<\/h2>\n<p style=\"text-align: left;\" align=\"center\">Autor: Markus Unterauer, Software Quality Lab<\/p>\n<h3>Beitrag &#8211; Embedded Software Engineering Kongress 2017<\/h3>\n<p><strong>Specification by Example bedeutet, Anforderungen durch konkrete Beispiele zu spezifizieren. Dazu wird ein fixes Satzschema verwendet, welches ein einfaches Andocken von Testautomatisierung erm\u00f6glicht. So wird aus einem wertlosen Write-Only Dokument eine wertbringende lebende Spezifikation.<\/strong><\/p>\n<p>Eine der schwierigsten Aufgaben in der Softwareentwicklung ist es herauszufinden, was das System eigentlich tun und k\u00f6nnen soll. An dieser Anforderungserhebung sind viele Stakeholder beteiligt. Die Information \u00fcber die Anforderungen des Kunden wandert dabei \u00fcber zahlreiche Stationen. Der Kunde erz\u00e4hlt es dem Business Analysten, der gibt es an den Projektleiter weiter. Dieser bespricht es mit dem Architekten und vielleicht externen Beratern und gibt es dann an den Entwickler weiter. Der baut das System und gibt es gemeinsam mit den zu pr\u00fcfenden Anforderungen an den Tester weiter. Schlussendlich landen System und Spezifikation bei der Wartungs- und Betriebsmannschaft. Bei jedem Schritt in dieser Kommunikationskette geht Information verloren &#8211; wie beim Spiel \u201eStille Post\u201c (siehe Abbildung 1,\u00a0<a title=\"Specification by Example (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/12\/fachinfo_ese_req_specification_by_example_software_quality_lab_unterauer.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>). Erschwert wird die Anforderungsanalyse noch dadurch, dass es meist nicht nur einen Kunden gibt, sondern viele &#8211; und somit das System viele Szenarien, Varianten und Auspr\u00e4gungen unterst\u00fctzen muss.<\/p>\n<p>Zus\u00e4tzliche Verwirrung entsteht, wenn die Information nicht m\u00fcndlich, sondern als schriftliche Spezifikation in Form von Text und Modellen weitergegeben wird. Was f\u00fcr den einen v\u00f6llig klar und verst\u00e4ndlich ist, ist f\u00fcr den anderen nur eine sinnlose Aneinanderreihung von Zeichen. Oder schlimmer noch: Der Empf\u00e4nger der Spezifikation glaubt alles verstanden zu haben, in Wirklichkeit aber weicht sein Bild von den Anforderungen deutlich von dem des Kunden ab.<\/p>\n<p>Das Ergebnis sind oft schlecht designte Systeme, die die Bed\u00fcrfnisse der Kunden nicht erf\u00fcllen. Diese Systeme werden in vielen F\u00e4llen trotzdem in Betrieb genommen und erst im laufenden Betrieb richtiggestellt. Man spricht hier auch von &#8222;Bananensoftware&#8220;. Wie eine Banane reift auch die Software erst beim Kunden.<\/p>\n<p>Gesucht sind also Methoden, die uns helfen, Anforderungen vom Kunden zu erheben und diese so an alle Beteiligten zu kommunizieren, dass dabei keine Information verlorengeht. Specification by Example ist so eine Methode.<\/p>\n<p>Die Grundidee hinter Specification by Example ist, Anforderungen gemeinsam in Form von konkreten Beispielen zu spezifizieren und nach einem einfachen Schema zu dokumentieren. Das klare und immer gleiche Schema f\u00f6rdert die Verst\u00e4ndlichkeit, die konkreten Beispiele erh\u00f6hen die Eindeutigkeit und machen es leichter, die Anforderungen auf Vollst\u00e4ndigkeit zu pr\u00fcfen.<\/p>\n<p>Specification by Example basiert dazu auf 5 Grundprinzipien:<\/p>\n<p><em>1. Scope von Zielen ableiten<\/em>:<br \/>\nJede Anforderung wird auf ein Gesch\u00e4ftsziel und einen damit verbundenen Business Value zur\u00fcckgef\u00fchrt.<\/p>\n<p>2.\u00a0<em>Kollaboration<\/em>:<br \/>\nAnforderungen und konkrete Beispiele werden gemeinsam erarbeitet. Entwicklungsteam, PO und Kunde sind beteiligt.<\/p>\n<p><em>3. Konkrete Beispiele<\/em>:<br \/>\nAnforderungen werden in Form von konkreten Beispielen und nicht abstrakten Umschreibungen spezifiziert.<\/p>\n<p><em>4. Lebende Dokumentation<\/em>:<br \/>\nDurch den Einsatz von Tools k\u00f6nnen so formulierte Anforderungen direkt automatisiert getestet werden.<\/p>\n<p><em>5. Wiederkehrende Validierung<\/em>:<br \/>\nDurch eine hohe Abdeckung der Anforderungen durch automatisierte Tests ist eine erneute Pr\u00fcfung z.B. nach \u00c4nderungen leicht m\u00f6glich.<\/p>\n<p>Der erste Schritt ist also immer, Gesch\u00e4ftsziele und den zu erreichenden Nutzen des Systems zu definieren. Teil dieser Zieldefinition ist die \u00dcberlegung, f\u00fcr wen das Ziel wichtig ist. Dieser Aspekt des &#8222;f\u00fcr wen&#8220; wird oft in Form von Personas, also erfundenen Beispiel-Anwendern und -Kunden, beschrieben. Im n\u00e4chsten Schritt werden Geschichten erz\u00e4hlt, wie diese Personas das System nutzen werden. F\u00fcr jede dieser Geschichten wird als Merker ein Satz mittels der User-Story-Satzschablone geschrieben:<\/p>\n<p><em>\u00a0&#8222;Als &lt;Rolle&gt; m\u00f6chte ich &lt;Aktion&gt;, damit &lt;Nutzen&gt;&#8220;<\/em><\/p>\n<p>Zu jeder User Story werden nun Bedingungen definiert, die erf\u00fcllt sein m\u00fcssen, damit die User Story abgenommen wird und Wert f\u00fcr den Kunden liefert. Diese Abnahmebedingungen, auch Akzeptanzkriterien genannt, werden wieder nach einer definierten Struktur, dem &#8222;Gherkin&#8220;-Schema beschrieben:<\/p>\n<p><em>&#8222;Gegeben &lt;Ausgangszustand&gt;, wenn &lt;Aktion&gt;, dann &lt;Ergebnis&gt;&#8220;<\/em><\/p>\n<p>Inhaltlich werden dabei keine abstrakten Sachverhalte beschrieben, sondern konkrete Beispiele gegeben. Ziel ist es, f\u00fcr jede User Story so viele Beispiele zu spezifizieren, dass alle m\u00f6glichen Szenarien, Varianten und Sachverhalte der Story abgedeckt sind. Oft gibt man den einzelnen Szenarien noch einen griffigen Titel.<\/p>\n<p><em>Beispiel:<\/em><\/p>\n<p>Ziel:<\/p>\n<p><em>Bauen eines Smart Home, das einer kleinen Familie das Leben erleichtert.<\/em><\/p>\n<p>User Story:<\/p>\n<p><em>Als arbeitender Papa m\u00f6chte ich rechtzeitig geweckt werden, damit ich p\u00fcnktlich in der Arbeit bin.<\/em><\/p>\n<p>Akzeptanzkriterien in Form von Beispielen (siehe Abbildung 2,\u00a0<a title=\"Specification by Example (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/12\/fachinfo_ese_req_specification_by_example_software_quality_lab_unterauer.pdf\" target=\"_blank\" rel=\"noopener\">PDF<\/a>):<\/p>\n<ul>\n<li><em>&#8222;Szenario &#8217;normaler Arbeitstag&#8216;:<br \/>\nGegeben es gibt keine Verkehrsbehinderungen, wenn ich &#8218;Arbeitstag&#8216; aktiviere, dann ist die Weckzeit 8:15&#8220;<\/em><\/li>\n<li><em>&#8222;Szenario &#8218;Stau&#8216;:<br \/>\nGegeben ich brauche normalerweise 30 Minuten zur Arbeit und ich habe um 9 Uhr das Daily Scrum Meeting und es gibt 20 Minuten Stau, wenn ich &#8218;gem\u00fctlich Fr\u00fchst\u00fccken&#8216; aktiviere, dann ist die eingestellte Weckzeit 6:10.&#8220;<\/em><\/li>\n<li><em>&#8222;Szenario &#8218;Party am Vorabend&#8216;:<br \/>\nGegeben ich brauche 30 Minuten zur Arbeit und ich habe um 9 Uhr das Daily Scrum Meeting und es gibt keine Verkehrsbehinderungen, wenn ich &#8218;lange schlafen&#8216; aktiviere, dann ist die eingestellte Weckzeit 8:15.&#8220;<\/em><\/li>\n<\/ul>\n<p>Die konkreten Beispiele in den Akzeptanzkriterien sollen das Verhalten des Systems in allen Varianten beschreiben. Man spricht deshalb oft auch von &#8222;Behaviour Driven Development&#8220;. Beim Schreiben von User Stories und Akzeptanzkriterien nach diesem Ansatz haben sich einige Best Practices herauskristallisiert:<\/p>\n<ul>\n<li>Halte die Szenarien kurz.<\/li>\n<li>Teile ein komplexes Szenario in mehrere einfache auf.<\/li>\n<li>Beschriebe Szenarien aus Sicht des Anwenders.<\/li>\n<li>Halte alle Szenarien auf der gleichen Abstraktionsebene.<\/li>\n<li>Verwende keine technischen Begriffe (u.a. UI, REST).<\/li>\n<li>Verwende Begriffe aus der Fachdom\u00e4ne.<\/li>\n<li>Verwende konkrete Zahlen, Daten, Fakten<br \/>\n(also statt &#8222;Wert eingeben&#8220; die konkrete Zahl, z.B. &#8222;5.212,65 eingeben&#8220;)<\/li>\n<\/ul>\n<p>Durch die Verwendung einer standardisierten Satzstruktur k\u00f6nnen User Story und Akzeptanzkriterien als Andockpunkt f\u00fcr automatisierte Tests verwendet werden. Tools wie Cucumber und Fitnesse erm\u00f6glichen es, User Stories und Akzeptanzkriterien zu verwalten und sie um Testcode zu erg\u00e4nzen.<\/p>\n<p class=\"quellcode\">Feature: User authentication<\/p>\n<p class=\"quellcode\">User Story: In order to protect access to the HMI<\/p>\n<p class=\"quellcode\">As a system administrator<\/p>\n<p class=\"quellcode\">I want that all users need to be authorized<\/p>\n<p class=\"quellcode\">Scenario: Autologin after 60 seconds<\/p>\n<p class=\"quellcode\">Given HMI started with default configuration<\/p>\n<p class=\"quellcode\">When user waits for 60 seconds at the login screen<\/p>\n<p class=\"quellcode\">Then Default user should be logged in automatically<\/p>\n<p class=\"quellcode\">[Given(&#8222;HMI started with default configuration&#8220;)]<\/p>\n<p class=\"quellcode\">public void GivenTheStartedHMIWithMachineConfiguration()<\/p>\n<p class=\"quellcode\">{<\/p>\n<p class=\"quellcode\">\u00a0\u00a0 TestBase.loginForm = TestBase.app.Start();<\/p>\n<p class=\"quellcode\">}<\/p>\n<p class=\"quellcode\">[Then(&#8222;(.*) user should be logged in automatically&#8220;)]<\/p>\n<p class=\"quellcode\">public void ThenLoggedInUser(string user)<\/p>\n<p class=\"quellcode\">{<\/p>\n<p class=\"quellcode\">\u00a0 Assert.That(frameFunctions.UserGroup,Is.EqualTo(user));<\/p>\n<p class=\"quellcode\">}<\/p>\n<p>Manche \u00a0Tools erlauben es auch, die konkreten Werte f\u00fcr die Szenarien in einer Tabelle darzustellen. Das Szenario selbst beinhaltet dann Platzhalter. Dies ist k\u00fcrzer und \u00fcbersichtlicher, als w\u00fcrde man f\u00fcr jedes Szenario den vollen Satz nach dem Gherkin-Schema schreiben. Durch das Auslagern der Werte in eine Tabelle geht allerdings auch eine Spur Konkretheit in der Formulierung der Akzeptanzkriterien verloren.<\/p>\n<p class=\"quellcode\">Szenariogrundriss: Plausbilit\u00e4tspr\u00fcfung im Handbetrieb<\/p>\n<p class=\"quellcode\">\u00a0 Angenommen die Werte &#8218;&lt;Werkstoff&gt;&#8216;, &lt;Blechdicke&gt;,&lt;Biegewinkel&gt; im Handbetrieb<\/p>\n<p class=\"quellcode\">\u00a0 Wenn der Bediener die Vorberechnung startet<\/p>\n<p class=\"quellcode\">\u00a0 Dann ist &#8218;UpperDeadPoint&#8216; &lt;= &#8218;MutePoint1&#8216;<\/p>\n<p class=\"quellcode\">\u00a0 Und &#8218;ClampingPoint&#8216; &lt;= &#8218;LowerDeadPoint&#8216;<\/p>\n<p class=\"quellcode\">\u00a0 Und &#8218;DecompressionPoint&#8216; &lt;= &#8218;LowerDeadPoint&#8216;<\/p>\n<p class=\"quellcode\">\u00a0 Und &#8218;ClampingPoint&#8216; &#8211; &#8218;MutePoint1&#8216; = &#8218;MuteDistance1&#8216;<\/p>\n<p class=\"quellcode\">\u00a0 Beispiele:<\/p>\n<p class=\"quellcode\">\u00a0\u00a0\u00a0 | Werkstoff | Blechdicke | Biegewinkel |<\/p>\n<p class=\"quellcode\">\u00a0\u00a0\u00a0 | 1.0038\u00a0\u00a0\u00a0 | 0,1\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\u00a0 90,0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |<\/p>\n<p class=\"quellcode\">\u00a0\u00a0\u00a0 | 1.0038\u00a0\u00a0\u00a0 | 1,0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\u00a0 90,0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |<\/p>\n<p class=\"quellcode\">\u00a0\u00a0\u00a0 | 1.0038\u00a0\u00a0\u00a0 | 3,0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |\u00a0 90,0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 |<\/p>\n<p>Sind Anforderungen auf diese Weise mit automatisiert ausf\u00fchrbaren Testf\u00e4llen verbunden, spricht man von einer &#8222;lebenden Spezifikation&#8220;. Der gesamte Ablauf der Erstellung einer solchen von der Anforderung bis zum Test besteht aus 6 Schritten:<\/p>\n<p>1. Spezifizieren<\/p>\n<p>2. Testschritte implementieren<\/p>\n<p>3. Test ausf\u00fchren<\/p>\n<p>4. Programmcode schreiben<\/p>\n<p>5. Kontinuierliches Feedback von den Tests einholen<\/p>\n<p>6. Fertig!<\/p>\n<p>Dieses Vorgehen unterst\u00fctzt also einen \u00a7Test-First&#8220;-Ansatz, bei dem zuerst ein vollst\u00e4ndiges Set an automatisierten Tests geschrieben wird, welche die Anforderung vollst\u00e4ndig abdecken. Danach erst wird solange Programmcode geschrieben, bis alle Tests gr\u00fcn sind.<\/p>\n<p>Richtig angewandt erm\u00f6glicht Specification by Example, Sonderf\u00e4lle fr\u00fcher und vollst\u00e4ndiger zu beachten und dadurch Fehler zu vermeiden. Durch die Beteiligung von Kunde, PO und Team bei der Erstellung wird ein gemeinsames Verst\u00e4ndnis der Anforderungen gef\u00f6rdert. Die Automatisierung der Tests schlie\u00dflich erm\u00f6glicht es, auch bei \u00c4nderungen an Anforderungen jederzeit sicher zu sein, dass noch alle Szenarien einwandfrei funktionieren.<\/p>\n<h2>Quellen<\/h2>\n<p>Gojko Adzic, &#8222;Specification by Example&#8220;, Manning Verlag, 2011<\/p>\n<p>Johannes Bergsmann, Markus Unterauer, &#8222;Requirements Engineering f\u00fcr die agile Softwareentwicklung&#8220;, dpunkt.Verlag, 2014<\/p>\n<p>Markus Unterauer, &#8222;Workshops im Requirements Engineering&#8220;, dpunkt.Verlag, 2014<\/p>\n<p><a title=\"Specification by Example (PDF)\" href=\"https:\/\/www.microconsult.de\/wp-content\/uploads\/2025\/12\/fachinfo_ese_req_specification_by_example_software_quality_lab_unterauer.pdf\" target=\"_blank\" rel=\"noopener\"><strong>Beitrag als PDF downloaden<\/strong><\/a><\/p>\n<hr \/>\n<h2>Requirements &#8211; MicroConsult Trainings &amp; Coachings<\/h2>\n<p><strong>Wollen Sie sich auf den aktuellen Stand der Technik bringen?<\/strong><\/p>\n<p>Dann informieren Sie sich\u00a0<a title=\"Alle Trainings und Termine\" href=\"https:\/\/www.microconsult.de\/alle-trainings-termine-komplettuebersicht\/\" target=\"_blank\" rel=\"noopener\"><strong>hier<\/strong>\u00a0<\/a>zu Schulungen\/ Seminaren\/ Trainings\/ Workshops und individuellen Coachings von MircoConsult zum Thema Requirements \/Embedded- und Echtzeit-Softwareentwicklung.<\/p>\n<p><strong>Training &amp; Coaching zu den weiteren Themen unseren Portfolios finden Sie\u00a0<a title=\"Training &amp; Beratung - alle Themen\" href=\"https:\/\/www.microconsult.de\/training-beratung\/\" target=\"_blank\" rel=\"noopener\">hier<\/a>.<\/strong><\/p>\n<hr \/>\n<h2>Requirements &#8211; Fachwissen<\/h2>\n<p>Wertvolles Fachwissen zum Thema Requirements\/Embedded- und Echtzeit-Softwareentwicklung steht\u00a0<a href=\"https:\/\/www.microconsult.de\/die-7-wichtigsten-tipps-fuer-ihre-embedded-software-architektur\/\" target=\"_blank\" rel=\"noopener\"><strong>hier<\/strong>\u00a0<\/a>f\u00fcr Sie zum kostenfreien Download bereit.<\/p>\n<p><a title=\"Embedded Software Architektur Fachwissen\" href=\"https:\/\/www.microconsult.de\/die-7-wichtigsten-tipps-fuer-ihre-embedded-software-architektur\/\" target=\"_blank\" rel=\"noopener\"><strong>Zu den Fachinformationen<\/strong><\/a><\/p>\n<p><strong>Fachwissen zu weiteren Themen unseren Portfolios finden Sie <a title=\"Fachinformationen\" href=\"https:\/\/www.microconsult.de\/fachwissen\/\" target=\"_blank\" rel=\"noopener\">hier<\/a>.<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wie man den Kunden an Board h\u00e4lt Autor: Markus Unterauer, Software Quality Lab Beitrag &#8211; Embedded Software Engineering Kongress 2017 Specification by Example bedeutet, Anforderungen durch konkrete Beispiele zu spezifizieren. Dazu wird ein fixes Satzschema verwendet, welches ein einfaches Andocken von Testautomatisierung erm\u00f6glicht. So wird aus einem wertlosen Write-Only Dokument eine wertbringende lebende Spezifikation. Eine [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"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":[],"tags":[],"class_list":["post-7917","post","type-post","status-publish","format-standard","hentry"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.9 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Specification by Example - 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\/specification-by-example\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Specification by Example - MicroConsult Academy GmbH\" \/>\n<meta property=\"og:description\" content=\"Wie man den Kunden an Board h\u00e4lt Autor: Markus Unterauer, Software Quality Lab Beitrag &#8211; Embedded Software Engineering Kongress 2017 Specification by Example bedeutet, Anforderungen durch konkrete Beispiele zu spezifizieren. Dazu wird ein fixes Satzschema verwendet, welches ein einfaches Andocken von Testautomatisierung erm\u00f6glicht. So wird aus einem wertlosen Write-Only Dokument eine wertbringende lebende Spezifikation. Eine [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.microconsult.de\/en\/specification-by-example\/\" \/>\n<meta property=\"og:site_name\" content=\"MicroConsult Academy GmbH\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-29T06:49:36+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-13T08:57:58+00:00\" \/>\n<meta name=\"author\" content=\"weissblau media\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"weissblau media\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/specification-by-example\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/specification-by-example\\\/\"},\"author\":{\"name\":\"weissblau media\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#\\\/schema\\\/person\\\/b6d4c4ae959b068fbe8d9416ed019a0a\"},\"headline\":\"Specification by Example\",\"datePublished\":\"2025-11-29T06:49:36+00:00\",\"dateModified\":\"2026-02-13T08:57:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/specification-by-example\\\/\"},\"wordCount\":1421,\"commentCount\":0,\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.microconsult.de\\\/specification-by-example\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/specification-by-example\\\/\",\"url\":\"https:\\\/\\\/www.microconsult.de\\\/specification-by-example\\\/\",\"name\":\"Specification by Example - MicroConsult Academy GmbH\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#website\"},\"datePublished\":\"2025-11-29T06:49:36+00:00\",\"dateModified\":\"2026-02-13T08:57:58+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/#\\\/schema\\\/person\\\/b6d4c4ae959b068fbe8d9416ed019a0a\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/specification-by-example\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.microconsult.de\\\/specification-by-example\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.microconsult.de\\\/specification-by-example\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.microconsult.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Specification by Example\"}]},{\"@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\\\/b6d4c4ae959b068fbe8d9416ed019a0a\",\"name\":\"weissblau media\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g\",\"caption\":\"weissblau media\"},\"sameAs\":[\"https:\\\/\\\/www.microconsult.de\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Specification by Example - 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\/specification-by-example\/","og_locale":"en_GB","og_type":"article","og_title":"Specification by Example - MicroConsult Academy GmbH","og_description":"Wie man den Kunden an Board h\u00e4lt Autor: Markus Unterauer, Software Quality Lab Beitrag &#8211; Embedded Software Engineering Kongress 2017 Specification by Example bedeutet, Anforderungen durch konkrete Beispiele zu spezifizieren. Dazu wird ein fixes Satzschema verwendet, welches ein einfaches Andocken von Testautomatisierung erm\u00f6glicht. So wird aus einem wertlosen Write-Only Dokument eine wertbringende lebende Spezifikation. Eine [&hellip;]","og_url":"https:\/\/www.microconsult.de\/en\/specification-by-example\/","og_site_name":"MicroConsult Academy GmbH","article_published_time":"2025-11-29T06:49:36+00:00","article_modified_time":"2026-02-13T08:57:58+00:00","author":"weissblau media","twitter_card":"summary_large_image","twitter_misc":{"Written by":"weissblau media","Estimated reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.microconsult.de\/specification-by-example\/#article","isPartOf":{"@id":"https:\/\/www.microconsult.de\/specification-by-example\/"},"author":{"name":"weissblau media","@id":"https:\/\/www.microconsult.de\/#\/schema\/person\/b6d4c4ae959b068fbe8d9416ed019a0a"},"headline":"Specification by Example","datePublished":"2025-11-29T06:49:36+00:00","dateModified":"2026-02-13T08:57:58+00:00","mainEntityOfPage":{"@id":"https:\/\/www.microconsult.de\/specification-by-example\/"},"wordCount":1421,"commentCount":0,"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.microconsult.de\/specification-by-example\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.microconsult.de\/specification-by-example\/","url":"https:\/\/www.microconsult.de\/specification-by-example\/","name":"Specification by Example - MicroConsult Academy GmbH","isPartOf":{"@id":"https:\/\/www.microconsult.de\/#website"},"datePublished":"2025-11-29T06:49:36+00:00","dateModified":"2026-02-13T08:57:58+00:00","author":{"@id":"https:\/\/www.microconsult.de\/#\/schema\/person\/b6d4c4ae959b068fbe8d9416ed019a0a"},"breadcrumb":{"@id":"https:\/\/www.microconsult.de\/specification-by-example\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.microconsult.de\/specification-by-example\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.microconsult.de\/specification-by-example\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.microconsult.de\/"},{"@type":"ListItem","position":2,"name":"Specification by Example"}]},{"@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\/b6d4c4ae959b068fbe8d9416ed019a0a","name":"weissblau media","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/secure.gravatar.com\/avatar\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/bbb409da4970da9446f6c49465d453cb8a0dae301e4d4f465b5c4e62408daa2e?s=96&d=mm&r=g","caption":"weissblau media"},"sameAs":["https:\/\/www.microconsult.de"]}]}},"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/posts\/7917","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\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/comments?post=7917"}],"version-history":[{"count":6,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/posts\/7917\/revisions"}],"predecessor-version":[{"id":11726,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/posts\/7917\/revisions\/11726"}],"wp:attachment":[{"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/media?parent=7917"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/categories?post=7917"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.microconsult.de\/en\/wp-json\/wp\/v2\/tags?post=7917"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}