{"id":255,"date":"2019-09-23T13:26:12","date_gmt":"2019-09-23T13:26:12","guid":{"rendered":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/?p=255"},"modified":"2022-02-18T14:07:42","modified_gmt":"2022-02-18T14:07:42","slug":"testautomatisierung-mit-squish-teil-2","status":"publish","type":"post","link":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-mit-squish-teil-2\/","title":{"rendered":"Testautomatisierung mit Squish (Teil 2) \u2013 Fachliche Sicht"},"content":{"rendered":"\n<p>Bei einer aktiven <a href=\"https:\/\/www.zeiss.de\/digital-innovation\/digitale-loesungen\/testservices.html\">Testautomatisierung<\/a> w\u00e4chst die Zahl der Testskripte oftmals t\u00e4glich. Fehlen strukturelle Vorgaben, kann schnell die \u00dcbersicht und damit der Mehrwert der Testautomatisierung verloren gehen. Der Wartungsaufwand unstrukturierter Testskripte, die zum Teil nur noch von ihrem einstigen Autor verstanden werden, ist nicht zu untersch\u00e4tzen und kann unter Umst\u00e4nden den gesamten Projektverlauf negativ beeinflussen.<\/p>\n\n\n\n<p>Unter anderem deswegen wurde Python im ersten Teil als am besten geeignete Skriptsprache f\u00fcr die Testautomatisierung mit Squish bestimmt. Python besitzt wenige (f\u00fcr den Test) unn\u00f6tige Zeichen und keine komplizierten Klammerungen, wodurch die Testskripte auch f\u00fcr Mitarbeiter ohne Fachkenntnisse gut lesbar sind. Die Klammerung wird in Python durch Zeileneinr\u00fcckungen ersetzt, die immer aus vier Leerzeichen bestehen. Dies erh\u00f6ht die Lesbarkeit des Testcodes zus\u00e4tzlich.<\/p>\n\n\n\n<p>Gerade in der Medizintechnik sind Testskript-Reviews ab und an erforderlich und seit neuestem sogar gefordert. Gut strukturierte Testskripte reduzieren den Zeitaufwand solcher Reviews enorm. Auch bei der Test-Fehleranalyse macht sich ein sauber aufgebautes Test-Framework positiv bemerkbar. Wie baut man also seine Testskripte auf?<\/p>\n\n\n\n<p>Bei unserem Kunden hat sich die Vorgehensweise bew\u00e4hrt, zu allererst einen manuell durchf\u00fchrbaren Testfall mittels Testmanagement-Tool zu erstellen, so dass dieser per manuell gef\u00fchrtem Mauszeiger an der AUT (\u201eApplication Under Test\u201c) in der jeweiligen Testumgebung ohne Squish durchf\u00fchrbar w\u00e4re. Danach wird mit der Implementierung des Testskripts begonnen. Nicht nur aus Review-Sicht ist es hier empfehlenswert, die Testfall-ID gleichzeitig als Name des Testskripts zu verwenden (d.h. Testskript <em>\u201ctst_1134\u201d<\/em> w\u00fcrde Testfall mit ID 1134 automatisieren).<\/p>\n\n\n\n<p>Die Testskripte an sich basieren auf einem Template, das im groben folgende Struktur aufweist:<\/p>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<pre class=\"wp-block-code\"><code>    tstHelper = TstHelper()\n     \n    def main(): \n        try:\n            preconditions()\n            testprocedure()\n            cleanUp()\n        except Exception, e:\n            tstHelper.fatal(e)\n     \n    def preconditions():\n        'Vorbedingungen des Testfalls'\n          \n    def testprocedure():\n        'Testschritte und erwartete Ergebnisse'\n            \n    def cleanUp():\n        'AUT in den Ausgangszustand versetzen'<\/code><\/pre>\n\n\n\n<div style=\"height:50px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Wie in Teil 1 beschrieben wurde, gen\u00fcgt ein Einzeiler am Anfang, um die AUT zu starten bzw. sich mit dem laufenden Prozess zu verbinden, indem einfach ein Objekt der Klasse TstHelper instanziiert wird.&nbsp; Weiterhin auff\u00e4llig ist, dass s\u00e4mtliche Vorbedingungen und Testschritte innerhalb eines try-except-Blocks abgehandelt werden. Alle unvorhergesehenen Exceptions, die w\u00e4hrend einer sauberen Testdurchf\u00fchrung nicht auftreten d\u00fcrfen, werden abgefangen um eine individuelle Fehlerbehandlung zu starten.<\/p>\n\n\n\n<p>Um einen fehlerhaften Zustand der AUT nicht zum Ausgangspunkt f\u00fcr nachfolgende Tests zu machen, sollte die Fehlerbehandlung darin bestehen, die AUT zu beenden und die Testumgebung aufzur\u00e4umen. So wird unter anderem vermieden, den Fehler mitzuschleifen und \u201cFalse-Negative\u201d-Testergebnisse bei nachfolgenden Tests zu erzeugen.<\/p>\n\n\n\n<p>In der Methode <em>\u201cpreconditions()\u201d<\/em> sind s\u00e4mtliche, im manuellen Testfall beschriebenen Vorbedingen unterzubringen. Um die Wartbarkeit hoch zu halten, empfiehlt es sich, f\u00fcr jede Vorbedingung eine eigene Testskriptfunktion zu erstellen und diese so zu benennen, dass deren Name eindeutig deren funktionelle Inhalte widerspiegelt. Vorbedingung <em>\u201cUser A ist ausgew\u00e4hlt\u201d<\/em> wird beispielsweise zur Testskriptfunktion <em>\u201cselectUser(\u201cUser A\u201d)\u201d<\/em>, <em>\u201cMen\u00fc zur Konfiguration des Lichts ist ge\u00f6ffnet\u201d<\/em> wird zu <em>\u201cgotoConfigMenuLight()\u201d<\/em> usw.<\/p>\n\n\n\n<p>Analog dazu wird mit Methode <em>\u201ctestprocedure()\u201d<\/em> verfahren. Sie wird sp\u00e4ter alle Testschritte und erwarteten Ergebnisse enthalten. Zur besseren Strukturierung kann den einzelnen Testschritten zus\u00e4tzlich ein kurzer Kommentar vorangestellt werden (z.B. <em>\u201c# 1.\u201d<\/em>). Auch hier sollte wieder, soweit m\u00f6glich, pro Aktion im Testfall eine Testskriptfunktion geschrieben werden. Die Pr\u00fcfung des jeweils erwarteten Ergebnisses sollte allerdings nicht innerhalb dieser Funktion, sondern separat aufgef\u00fchrt gut lesbar im aufrufenden Testskript stehen. Dies erleichtert ein Review enorm und wirkt sich zudem positiv auf die Wartbarkeit der Skripte aus.<\/p>\n\n\n\n<p>Eine 1:1-Beziehung zwischen Testskriptfunktion und Testschritt ist nicht immer m\u00f6glich. Darum ist es auch zul\u00e4ssig, mehrere Funktionen im Testskript zu Bl\u00f6cken zusammenzufassen und die Relation zum zugrundeliegenden Testschritt mittels passender Kommentierung herzustellen.<\/p>\n\n\n\n<p>Ein gro\u00dfer Vorteil dieser Herangehensweise ist die automatische Trennung von technischer und fachlicher Testebene. Es entsteht ganz automatisch eine Bibliothek aus Testskriptfunktionen, die bei der Erstellung weiterer Testskripte wiederverwendet wird. Allerdings kann diese Bibliothek auch selbst wieder (technische) Fehler aufweisen. H\u00e4ufig passiert es, dass Fehler bei der Testdurchf\u00fchrung nicht auf fachlicher sondern auf technischer Ebene zu suchen sind. Fehlerhaft implementierte Testskriptfunktionen k\u00f6nnen schnell zu \u201cFalse-Negative\u201d- bzw. \u201cFalse-Positive\u201d-Testergebnissen f\u00fchren.<\/p>\n\n\n\n<p>Um dem entgegenzuwirken, sollte eine eigene Testsuite erstellt werden, die ausschlie\u00dflich die Bibliothek der Testskriptfunktionen im Sinne eines Unit-Tests pr\u00fcft. Jede Testskriptfunktion sollte mindestens einmal auf alle m\u00f6glichen Ein- und Ausgabewerte gepr\u00fcft werden. Soweit m\u00f6glich sollten die Tests wenige Fachlichkeiten enthalten und im Grunde genommen immer erfolgreich durchlaufen. Die AUT wird dabei nicht direkt getestet, sondern dient nur als Mittel zum Zweck, den Unit-Tests der Testskriptfunktion die passende Testumgebung zur Verf\u00fcgung zu stellen.<\/p>\n\n\n\n<p>Es empfiehlt sich zudem, diese Testsuite stets vor den eigentlichen produktiven Tests laufen zu lassen. Werden Fehler festgestellt, muss dies zum Abbruch der gesamten GUI-Testautomatisierung f\u00fchren. So wird verhindert, dass technische Fehler in den Testskriptfunktionen \u201cFalse-Negative\u201d- bzw. \u201cFalse-Positive\u201d- Testergebnisse generieren, die wiederum einen erh\u00f6hten Aufwand bei der Fehleranalyse mit sich bringen w\u00fcrden (falls sie \u00fcberhaupt gefunden werden).<\/p>\n\n\n\n<p>Zusammenfassend kann gesagt werden, dass durch den hohen Funktionsumfang von Python nahezu jeder GUI-Test mit Squish automatisiert werden kann. Ein gro\u00dfer Pluspunkt ist zudem der hervorragende Support von Froglogic. Es ist selten vorgekommen, dass der Support l\u00e4nger als einen Tag zum Beantworten einer Anfrage gebraucht hat. Um den vollen Funktionsumfang von Squish aussch\u00f6pfen zu k\u00f6nnen, sind jedoch Programmiergrundkenntnisse zwingend erforderlich.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bei einer aktiven Testautomatisierung w\u00e4chst die Zahl der Testskripte oftmals t\u00e4glich. Fehlen strukturelle Vorgaben, kann schnell die \u00dcbersicht verloren gehen. Dieser Beitrag zeigt einen L\u00f6sungsansatz mit der Skriptsprache Python.<\/p>\n","protected":false},"author":24,"featured_media":875,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"advgb_blocks_editor_width":"","advgb_blocks_columns_visual_guide":"","footnotes":""},"categories":[10],"tags":[120,121,122,124,125,52,119],"topics":[227],"class_list":["post-255","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-qualitaetssicherung","tag-squish","tag-python","tag-gui-test","tag-aut","tag-application-under-test","tag-testautomatisierung","tag-testskripte","topics-testautomatisierung"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Testautomatisierung mit Squish (Teil 2) \u2013 Fachliche Sicht - ZEISS Digital Innovation Blog<\/title>\n<meta name=\"description\" content=\"Nachdem in Teil 1 Python als am besten geeignet f\u00fcr die Testautomatisierung mit Squish bestimmt wurde, wird nun die fachliche Sicht auf das Thema erl\u00e4utert.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-mit-squish-teil-2\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Testautomatisierung mit Squish (Teil 2) \u2013 Fachliche Sicht - ZEISS Digital Innovation Blog\" \/>\n<meta property=\"og:description\" content=\"Nachdem in Teil 1 Python als am besten geeignet f\u00fcr die Testautomatisierung mit Squish bestimmt wurde, wird nun die fachliche Sicht auf das Thema erl\u00e4utert.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-mit-squish-teil-2\/\" \/>\n<meta property=\"og:site_name\" content=\"Digital Innovation Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/ZEISSDigitalInnovation\/\" \/>\n<meta property=\"article:published_time\" content=\"2019-09-23T13:26:12+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-02-18T14:07:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2019\/09\/201909_testautomatisierung_squish_2_fi.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1174\" \/>\n\t<meta property=\"og:image:height\" content=\"661\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Steve Gronwaldt\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ZEISS_di\" \/>\n<meta name=\"twitter:site\" content=\"@ZEISS_di\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Steve Gronwaldt\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"5\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-mit-squish-teil-2\/\",\"url\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-mit-squish-teil-2\/\",\"name\":\"Testautomatisierung mit Squish (Teil 2) \u2013 Fachliche Sicht - ZEISS Digital Innovation Blog\",\"isPartOf\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-mit-squish-teil-2\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-mit-squish-teil-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2019\/09\/201909_testautomatisierung_squish_2_fi.png\",\"datePublished\":\"2019-09-23T13:26:12+00:00\",\"dateModified\":\"2022-02-18T14:07:42+00:00\",\"author\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#\/schema\/person\/b391a6d224466f2d90e68e5eb698b3f3\"},\"description\":\"Nachdem in Teil 1 Python als am besten geeignet f\u00fcr die Testautomatisierung mit Squish bestimmt wurde, wird nun die fachliche Sicht auf das Thema erl\u00e4utert.\",\"breadcrumb\":{\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-mit-squish-teil-2\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-mit-squish-teil-2\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-mit-squish-teil-2\/#primaryimage\",\"url\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2019\/09\/201909_testautomatisierung_squish_2_fi.png\",\"contentUrl\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2019\/09\/201909_testautomatisierung_squish_2_fi.png\",\"width\":1174,\"height\":661},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-mit-squish-teil-2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Testautomatisierung mit Squish (Teil 2) \u2013 Fachliche Sicht\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#website\",\"url\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/\",\"name\":\"Digital Innovation Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#\/schema\/person\/b391a6d224466f2d90e68e5eb698b3f3\",\"name\":\"Steve Gronwaldt\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/gronwaldt_steve-150x150.jpg\",\"contentUrl\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/gronwaldt_steve-150x150.jpg\",\"caption\":\"Steve Gronwaldt\"},\"description\":\"Steve Gronwaldt ist seit 2007 im Fachbereich Software-Qualit\u00e4tssicherung der ZEISS Digital Innovation t\u00e4tig. W\u00e4hrend dieser Zeit sammelte er Erfahrungen in klassischen sowie agilen Projekten im industriellen und medizinischen Umfeld. Neben Testanalyse und Testdesign umfasst sein T\u00e4tigkeitsfeld dabei vor allem Testautomatisierungs- und Testmanagement-Aufgaben unter Ber\u00fccksichtigung g\u00fcltiger Normen. Besonderes Interesse hegt er an der Schittstelle zwischen SW-Entwicklung und Test und den damit verbundenen technischen M\u00f6glichkeiten zur Automatisierung von manuellen Abl\u00e4ufen.\",\"url\":\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/author\/stevegronwaldt\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Testautomatisierung mit Squish (Teil 2) \u2013 Fachliche Sicht - ZEISS Digital Innovation Blog","description":"Nachdem in Teil 1 Python als am besten geeignet f\u00fcr die Testautomatisierung mit Squish bestimmt wurde, wird nun die fachliche Sicht auf das Thema erl\u00e4utert.","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:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-mit-squish-teil-2\/","og_locale":"de_DE","og_type":"article","og_title":"Testautomatisierung mit Squish (Teil 2) \u2013 Fachliche Sicht - ZEISS Digital Innovation Blog","og_description":"Nachdem in Teil 1 Python als am besten geeignet f\u00fcr die Testautomatisierung mit Squish bestimmt wurde, wird nun die fachliche Sicht auf das Thema erl\u00e4utert.","og_url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-mit-squish-teil-2\/","og_site_name":"Digital Innovation Blog","article_publisher":"https:\/\/www.facebook.com\/ZEISSDigitalInnovation\/","article_published_time":"2019-09-23T13:26:12+00:00","article_modified_time":"2022-02-18T14:07:42+00:00","og_image":[{"width":1174,"height":661,"url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2019\/09\/201909_testautomatisierung_squish_2_fi.png","type":"image\/png"}],"author":"Steve Gronwaldt","twitter_card":"summary_large_image","twitter_creator":"@ZEISS_di","twitter_site":"@ZEISS_di","twitter_misc":{"Verfasst von":"Steve Gronwaldt","Gesch\u00e4tzte Lesezeit":"5\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-mit-squish-teil-2\/","url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-mit-squish-teil-2\/","name":"Testautomatisierung mit Squish (Teil 2) \u2013 Fachliche Sicht - ZEISS Digital Innovation Blog","isPartOf":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-mit-squish-teil-2\/#primaryimage"},"image":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-mit-squish-teil-2\/#primaryimage"},"thumbnailUrl":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2019\/09\/201909_testautomatisierung_squish_2_fi.png","datePublished":"2019-09-23T13:26:12+00:00","dateModified":"2022-02-18T14:07:42+00:00","author":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#\/schema\/person\/b391a6d224466f2d90e68e5eb698b3f3"},"description":"Nachdem in Teil 1 Python als am besten geeignet f\u00fcr die Testautomatisierung mit Squish bestimmt wurde, wird nun die fachliche Sicht auf das Thema erl\u00e4utert.","breadcrumb":{"@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-mit-squish-teil-2\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-mit-squish-teil-2\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-mit-squish-teil-2\/#primaryimage","url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2019\/09\/201909_testautomatisierung_squish_2_fi.png","contentUrl":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2019\/09\/201909_testautomatisierung_squish_2_fi.png","width":1174,"height":661},{"@type":"BreadcrumbList","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/testautomatisierung-mit-squish-teil-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/"},{"@type":"ListItem","position":2,"name":"Testautomatisierung mit Squish (Teil 2) \u2013 Fachliche Sicht"}]},{"@type":"WebSite","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#website","url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/","name":"Digital Innovation Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Person","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#\/schema\/person\/b391a6d224466f2d90e68e5eb698b3f3","name":"Steve Gronwaldt","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/#\/schema\/person\/image\/","url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/gronwaldt_steve-150x150.jpg","contentUrl":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2020\/05\/gronwaldt_steve-150x150.jpg","caption":"Steve Gronwaldt"},"description":"Steve Gronwaldt ist seit 2007 im Fachbereich Software-Qualit\u00e4tssicherung der ZEISS Digital Innovation t\u00e4tig. W\u00e4hrend dieser Zeit sammelte er Erfahrungen in klassischen sowie agilen Projekten im industriellen und medizinischen Umfeld. Neben Testanalyse und Testdesign umfasst sein T\u00e4tigkeitsfeld dabei vor allem Testautomatisierungs- und Testmanagement-Aufgaben unter Ber\u00fccksichtigung g\u00fcltiger Normen. Besonderes Interesse hegt er an der Schittstelle zwischen SW-Entwicklung und Test und den damit verbundenen technischen M\u00f6glichkeiten zur Automatisierung von manuellen Abl\u00e4ufen.","url":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/author\/stevegronwaldt\/"}]}},"author_meta":{"display_name":"Steve Gronwaldt","author_link":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/author\/stevegronwaldt\/"},"featured_img":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-content\/uploads\/sites\/2\/2019\/09\/201909_testautomatisierung_squish_2_fi-600x338.png","coauthors":[],"tax_additional":{"categories":{"linked":["<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/qualitaetssicherung\/\" class=\"advgb-post-tax-term\">Qualit\u00e4tssicherung<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">Qualit\u00e4tssicherung<\/span>"]},"tags":{"linked":["<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/qualitaetssicherung\/\" class=\"advgb-post-tax-term\">Squish<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/qualitaetssicherung\/\" class=\"advgb-post-tax-term\">Python<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/qualitaetssicherung\/\" class=\"advgb-post-tax-term\">GUI-Test<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/qualitaetssicherung\/\" class=\"advgb-post-tax-term\">AUT<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/qualitaetssicherung\/\" class=\"advgb-post-tax-term\">Application Under Test<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/qualitaetssicherung\/\" class=\"advgb-post-tax-term\">Testautomatisierung<\/a>","<a href=\"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/category\/qualitaetssicherung\/\" class=\"advgb-post-tax-term\">Testskripte<\/a>"],"unlinked":["<span class=\"advgb-post-tax-term\">Squish<\/span>","<span class=\"advgb-post-tax-term\">Python<\/span>","<span class=\"advgb-post-tax-term\">GUI-Test<\/span>","<span class=\"advgb-post-tax-term\">AUT<\/span>","<span class=\"advgb-post-tax-term\">Application Under Test<\/span>","<span class=\"advgb-post-tax-term\">Testautomatisierung<\/span>","<span class=\"advgb-post-tax-term\">Testskripte<\/span>"]}},"comment_count":"0","relative_dates":{"created":"Posted 7\u00a0Jahren ago","modified":"Updated 4\u00a0Jahren ago"},"absolute_dates":{"created":"Posted on September 23, 2019","modified":"Updated on Februar 18, 2022"},"absolute_dates_time":{"created":"Posted on September 23, 2019 1:26 p.m.","modified":"Updated on Februar 18, 2022 2:07 p.m."},"featured_img_caption":"","series_order":"","_links":{"self":[{"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/posts\/255","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/users\/24"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/comments?post=255"}],"version-history":[{"count":7,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/posts\/255\/revisions"}],"predecessor-version":[{"id":1907,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/posts\/255\/revisions\/1907"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/media\/875"}],"wp:attachment":[{"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/media?parent=255"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/categories?post=255"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/tags?post=255"},{"taxonomy":"topics","embeddable":true,"href":"https:\/\/blogs.zeiss.com\/digital-innovation\/de\/wp-json\/wp\/v2\/topics?post=255"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}