<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Testskript Archive - CEOsBay</title>
	<atom:link href="https://ceosbay.com/tag/testskript/feed/" rel="self" type="application/rss+xml" />
	<link>https://ceosbay.com/tag/testskript/</link>
	<description>It&#039;s all about Tech</description>
	<lastBuildDate>Tue, 24 Oct 2023 05:21:18 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://i0.wp.com/ceosbay.com/wp-content/uploads/2022/11/image.jpg?fit=32%2C32&#038;ssl=1</url>
	<title>Testskript Archive - CEOsBay</title>
	<link>https://ceosbay.com/tag/testskript/</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">211828771</site>	<item>
		<title>Bedingungsüberdeckungstest &#8211; Jeden Codepfad analysieren und optimieren</title>
		<link>https://ceosbay.com/2023/10/21/bedingungsueberdeckungstest/</link>
					<comments>https://ceosbay.com/2023/10/21/bedingungsueberdeckungstest/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Sat, 21 Oct 2023 20:56:37 +0000</pubDate>
				<category><![CDATA[Softwarequalität]]></category>
		<category><![CDATA[Testautomatisierung]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Anforderungstest]]></category>
		<category><![CDATA[Anwendungsfalltest]]></category>
		<category><![CDATA[Bedingungsüberdeckungstest]]></category>
		<category><![CDATA[Black-Box-Test]]></category>
		<category><![CDATA[Codeanalyse]]></category>
		<category><![CDATA[Codeüberdeckung]]></category>
		<category><![CDATA[Compliance-Test]]></category>
		<category><![CDATA[Condition Coverage]]></category>
		<category><![CDATA[Continuous Testing]]></category>
		<category><![CDATA[Datenflusstest]]></category>
		<category><![CDATA[Debugging]]></category>
		<category><![CDATA[Entscheidungsbaum]]></category>
		<category><![CDATA[Entwicklungsprozess]]></category>
		<category><![CDATA[Fehlerfindung]]></category>
		<category><![CDATA[Funktionstest]]></category>
		<category><![CDATA[Grenzwertanalyse]]></category>
		<category><![CDATA[Integrationstest]]></category>
		<category><![CDATA[Kontrollfluss]]></category>
		<category><![CDATA[Lasttest]]></category>
		<category><![CDATA[Modultest]]></category>
		<category><![CDATA[Performancetest]]></category>
		<category><![CDATA[Pfadüberdeckung]]></category>
		<category><![CDATA[Qualitätsgarantie]]></category>
		<category><![CDATA[Qualitätssicherung]]></category>
		<category><![CDATA[Qualitätssicherungsprozess]]></category>
		<category><![CDATA[Qualitätstests]]></category>
		<category><![CDATA[Regressionstest]]></category>
		<category><![CDATA[Sicherheitstest]]></category>
		<category><![CDATA[Softwareentwicklung]]></category>
		<category><![CDATA[Softwarefehler]]></category>
		<category><![CDATA[Softwaretest]]></category>
		<category><![CDATA[Stresstest]]></category>
		<category><![CDATA[Systemtest]]></category>
		<category><![CDATA[Testabdeckung]]></category>
		<category><![CDATA[Testdaten]]></category>
		<category><![CDATA[Testdesign]]></category>
		<category><![CDATA[Testdokumentation]]></category>
		<category><![CDATA[Testdriven Development]]></category>
		<category><![CDATA[Testfallerstellung]]></category>
		<category><![CDATA[Testfallkonstruktion]]></category>
		<category><![CDATA[Testframeworks]]></category>
		<category><![CDATA[Testkonzepte]]></category>
		<category><![CDATA[Testkriterien]]></category>
		<category><![CDATA[Testlifecycle]]></category>
		<category><![CDATA[Testmanagement]]></category>
		<category><![CDATA[Testmethoden]]></category>
		<category><![CDATA[Testphasen]]></category>
		<category><![CDATA[Testplanung]]></category>
		<category><![CDATA[Testprozesse]]></category>
		<category><![CDATA[Testreport]]></category>
		<category><![CDATA[Testskript]]></category>
		<category><![CDATA[Teststrategieentwicklung]]></category>
		<category><![CDATA[Teststrategien]]></category>
		<category><![CDATA[Testumgebung]]></category>
		<category><![CDATA[Testwerkzeuge]]></category>
		<category><![CDATA[Testzyklus]]></category>
		<category><![CDATA[Unit Test]]></category>
		<category><![CDATA[Usabilitytest]]></category>
		<category><![CDATA[Validierung]]></category>
		<category><![CDATA[Verifikation]]></category>
		<category><![CDATA[White-Box-Test]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=2772</guid>

					<description><![CDATA[<p>Der Softwaretest stellt einen entscheidenden Schritt in der Softwareentwicklung dar. Unter den zahlreichen Testmethoden hebt sich der Bedingungsüberdeckungstest (engl. Condition Coverage) durch seine Spezifität und Wirksamkeit ab. Doch was genau verbirgt sich dahinter? Definition des &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/10/21/bedingungsueberdeckungstest/">Bedingungsüberdeckungstest &#8211; Jeden Codepfad analysieren und optimieren</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Der Softwaretest stellt einen entscheidenden Schritt in der Softwareentwicklung dar. Unter den zahlreichen Testmethoden hebt sich der Bedingungsüberdeckungstest (engl. Condition Coverage) durch seine Spezifität und Wirksamkeit ab. Doch was genau verbirgt sich dahinter?</p>



<h3 class="wp-block-heading">Definition des Bedingungsüberdeckungstests</h3>



<p>Der Bedingungsüberdeckungstest, oft auch &#8222;Condition Coverage&#8220; genannt, fokussiert sich auf die verschiedenen Bedingungen innerhalb einer Entscheidungsstruktur. Er zielt darauf ab, sicherzustellen, dass jede Bedingung mindestens einmal sowohl wahr als auch falsch getestet wird. Dies ermöglicht eine tiefgehende Analyse und stellt sicher, dass alle Bedingungszweige im Code überprüft werden.</p>



<p>Der Bedingungsüberdeckungstest gehört zu den <a href="https://ceosbay.com/2023/06/01/whitebox-tests-bugs-aufspueren-und-qualitaet-sicherstellen/">Whitebox</a>-Testmethoden. Bei <a href="https://ceosbay.com/2023/06/01/whitebox-tests-bugs-aufspueren-und-qualitaet-sicherstellen/">Whitebox-Tests</a>, auch als strukturbasierte oder gläserne Kasten-Tests bezeichnet, liegt der Fokus auf der internen Struktur des Codes. Der Tester hat vollen Einblick in den Quellcode und entwirft Testfälle basierend auf der inneren Logik und Struktur der Software.</p>



<p>Der Bedingungsüberdeckungstest speziell konzentriert sich darauf, dass jede einzelne Bedingung im Code sowohl wahr als auch falsch getestet wird. Damit untersucht er die internen Entscheidungsstrukturen und gewährleistet, dass alle möglichen Bedingungspfade abgedeckt sind.</p>



<p>Im Gegensatz dazu stehen <a href="https://ceosbay.com/2023/06/02/blackbox-tests-software-pruefen-ohne-eine-zeile-code-zu-sehen/">Blackbox-Tests</a>, bei denen der Tester keinen Einblick in den internen Code hat. Bei diesen Tests konzentriert man sich auf die Funktion der Software und darauf, ob sie die erwarteten Ergebnisse liefert, basierend auf den gegebenen Eingaben. Hierbei bleibt die innere Arbeitsweise der Software verborgen.</p>



<h3 class="wp-block-heading">Entstehung des Bedingungsüberdeckungstests</h3>



<p>Die wachsende Komplexität von Software-Systemen im Laufe der Zeit erforderte verbesserte Testmethoden. Während der Anweisungsüberdeckungstest sicherstellt, dass jede Anweisung ausgeführt wird, ging man mit dem Bedingungsüberdeckungstest einen Schritt weiter. Hier legt man den Fokus nicht nur auf die Anweisungen, sondern auch darauf, wie sie ausgeführt werden, abhängig von den gegebenen Bedingungen.</p>



<h3 class="wp-block-heading">Effektives Vorgehen beim Bedingungsüberdeckungstest</h3>



<ol class="wp-block-list">
<li><strong>Identifizierung der Entscheidungen</strong>: Zunächst identifiziert man alle Entscheidungsstrukturen im Code, wie z.B. if-, while- oder for-Statements.</li>



<li><strong>Aufschlüsselung der Bedingungen</strong>: Jede Entscheidung kann mehrere Bedingungen haben. Diese Bedingungen trennt man und testet sie individuell.</li>



<li><strong>Erstellung der Testfälle</strong>: Für jede identifizierte Bedingung entwickelt man Testfälle, die diese Bedingung sowohl wahr als auch falsch machen.</li>



<li><strong>Ausführung und Auswertung</strong>: Nachdem die Testfälle entwickelt sind, führt man sie aus und wertet die Ergebnisse aus, um sicherzustellen, dass alle Bedingungen abgedeckt sind.</li>
</ol>



<h3 class="wp-block-heading"><strong>Beispiele für den Einsatz des Bedingungsüberdeckungstests</strong></h3>



<h4 class="wp-block-heading">Beispiel 1: Ein einfaches If-Statement</h4>



<pre class="wp-block-code"><code>if (A &amp;&amp; B) {
    // Code
}</code></pre>



<p>Hier gibt es zwei Bedingungen: A und B. Um eine vollständige Bedingungsüberdeckung zu gewährleisten, benötigt man Testfälle für:</p>



<ul class="wp-block-list">
<li>A = wahr, B = wahr</li>



<li>A = wahr, B = falsch</li>



<li>A = falsch, B = wahr</li>



<li>A = falsch, B = falsch</li>
</ul>



<h4 class="wp-block-heading">Beispiel 2: Ein zusammengesetztes Statement</h4>



<pre class="wp-block-code"><code>if (A &amp;&amp; (B || C)) {
    // Code
}</code></pre>



<p>Hier identifiziert man drei Bedingungen: A, B und C. Es ergeben sich diverse Testfälle, um sicherzustellen, dass jede Bedingung sowohl wahr als auch falsch getestet wird.</p>



<h3 class="wp-block-heading">Interaktiv &#8211; Bedingungsüberdeckungstest mit einer Wetter-App</h3>



<p><strong>Bedienungsanleitung</strong>:</p>



<ol class="wp-block-list">
<li>In das Feld &#8222;Stadt&#8220; den Namen &#8222;München&#8220; eingeben.</li>



<li>Zwischen &#8222;Aktueller Wetterbericht&#8220; und &#8222;Wettervorhersage&#8220; wählen, um den gewünschten Wettertyp zu bestimmen.</li>



<li>Auf &#8222;Prüfen&#8220; klicken.</li>



<li>Die resultierende Ausgabe betrachten. Bei korrekter Eingabe erscheint entweder der aktuelle Wetterbericht oder die Wettervorhersage für München. Bei einer anderen Stadt zeigt eine Nachricht an, dass die Anwendung die Stadt nicht in der Datenbank finden kann. Wenn kein Wettertyp ausgewählt ist, erscheint eine Aufforderung zur Auswahl.</li>
</ol>



<!DOCTYPE html>
<html lang="de">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Bedingungsüberdeckungstest &#8211; Interaktive Veranschaulichung</title>
    <style>
        body {
            font-family: Arial, sans-serif;
            background-color: #f7f9fc;
            padding: 20px;
        }

        #output {
            border: 2px solid #007BFF;
            padding: 15px;
            width: 320px;
            height: 120px;
            display: none;
            background-color: #e6f0ff;
            font-size: 1.2em;
        }

        input[type="text"] {
            padding: 10px;
            font-size: 1.1em;
            width: 300px;
            margin-top: 10px;
        }

        input[type="radio"] {
            margin: 10px 5px;
            transform: scale(1.5);
        }

        label {
            font-size: 1.2em;
        }

        button {
            padding: 10px 15px;
            font-size: 1.1em;
            background-color: #007BFF;
            color: white;
            border: none;
            cursor: pointer;
            margin-top: 10px;
        }

        button:hover {
            background-color: #0056b3;
        }
    </style>
</head>

<body>

<div>
    <label for="city">Stadt:</label>
    <input type="text" id="city" placeholder="Stadt eingeben">
</div>
<div>
    <input type="radio" id="current" name="weather" value="current">
    <label for="current">Aktueller Wetterbericht</label><br>
    <input type="radio" id="forecast" name="weather" value="forecast">
    <label for="forecast">Wettervorhersage</label>
</div>
<button onclick="checkConditions()">Prüfen</button>

<div id="output"></div>

<script>
    function checkConditions() {
        const city = document.getElementById('city').value;
        const currentWeather = document.getElementById('current').checked;
        const forecastWeather = document.getElementById('forecast').checked;
        const output = document.getElementById('output');

        output.style.display = "block";

        if (city === 'München') { 
            if (currentWeather) {
                output.innerHTML = "Aktueller Wetterbericht für München: Sonnig, 23°C.";
            } else if (forecastWeather) {
                output.innerHTML = "Wettervorhersage für München: Morgen leicht bewölkt, 21°C.";
            } else {
                output.innerHTML = "Bitte Wettertyp auswählen!";
            }
        } else {
            output.innerHTML = "Stadt nicht in der Datenbank gefunden!";
        }
    }
</script>

</body>

</html>



<p></p>



<h3 class="wp-block-heading">Fazit</h3>



<p>Der Bedingungsüberdeckungstest stellt ein leistungsstarkes Werkzeug dar, um die Qualität von Software zu sichern. Indem man jede Bedingung gründlich testet, minimiert man das Risiko unentdeckter Fehler und gewährleistet eine robustere Anwendung. Es empfiehlt sich, diesen Test in Kombination mit anderen Testmethoden anzuwenden, um ein umfassendes Testniveau zu erreichen.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/10/21/bedingungsueberdeckungstest/">Bedingungsüberdeckungstest &#8211; Jeden Codepfad analysieren und optimieren</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2023/10/21/bedingungsueberdeckungstest/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2772</post-id>	</item>
		<item>
		<title>Schlüsselwortgetriebenes Testing</title>
		<link>https://ceosbay.com/2023/10/17/schluesselwortgetriebenes-testing/</link>
					<comments>https://ceosbay.com/2023/10/17/schluesselwortgetriebenes-testing/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Tue, 17 Oct 2023 02:12:31 +0000</pubDate>
				<category><![CDATA[Softwarequalität]]></category>
		<category><![CDATA[Testautomatisierung]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Agile Testmethoden]]></category>
		<category><![CDATA[Anwendungsüberprüfung]]></category>
		<category><![CDATA[Automatisierte Qualitätssicherung]]></category>
		<category><![CDATA[Automatisierte Testfälle]]></category>
		<category><![CDATA[Benutzerakzeptanztests]]></category>
		<category><![CDATA[Benutzeroberflächen-Tests]]></category>
		<category><![CDATA[Codeüberdeckung]]></category>
		<category><![CDATA[Continuous Testing]]></category>
		<category><![CDATA[Desktop-Anwendungstests]]></category>
		<category><![CDATA[Effiziente Tests]]></category>
		<category><![CDATA[End-to-End-Tests]]></category>
		<category><![CDATA[Fehlerbehebung]]></category>
		<category><![CDATA[Funktionalitätstests]]></category>
		<category><![CDATA[Integrationstests]]></category>
		<category><![CDATA[Katalon Studio]]></category>
		<category><![CDATA[Lasttests]]></category>
		<category><![CDATA[Mobile App Tests]]></category>
		<category><![CDATA[Modulare Tests]]></category>
		<category><![CDATA[Non-Functional-Tests]]></category>
		<category><![CDATA[Performance-Tests]]></category>
		<category><![CDATA[QTP/UFT]]></category>
		<category><![CDATA[Qualitätssicherung]]></category>
		<category><![CDATA[Ranorex]]></category>
		<category><![CDATA[Regressionstests]]></category>
		<category><![CDATA[Robot Framework]]></category>
		<category><![CDATA[Schlüsselwortgetriebenes Testing]]></category>
		<category><![CDATA[Selenium]]></category>
		<category><![CDATA[Skalierbare Tests]]></category>
		<category><![CDATA[Softwarefehlererkennung]]></category>
		<category><![CDATA[Stress-Tests]]></category>
		<category><![CDATA[Systemtests]]></category>
		<category><![CDATA[Test-Case-Erstellung]]></category>
		<category><![CDATA[Test-Management]]></category>
		<category><![CDATA[Test-Orchestrierung]]></category>
		<category><![CDATA[Test-Tools]]></category>
		<category><![CDATA[Testausführung]]></category>
		<category><![CDATA[Testautomatisierungsplattformen]]></category>
		<category><![CDATA[Testautomatisierungstrends]]></category>
		<category><![CDATA[Testberichterstattung]]></category>
		<category><![CDATA[Testbibliotheken]]></category>
		<category><![CDATA[TestComplete]]></category>
		<category><![CDATA[Testdatenmanagement]]></category>
		<category><![CDATA[Testfallentwicklung]]></category>
		<category><![CDATA[Testframeworks]]></category>
		<category><![CDATA[Testlauf]]></category>
		<category><![CDATA[Testlebenszyklus]]></category>
		<category><![CDATA[Testprozessoptimierung]]></category>
		<category><![CDATA[Testskript]]></category>
		<category><![CDATA[Teststrategien]]></category>
		<category><![CDATA[Teststrategieplanung]]></category>
		<category><![CDATA[Testumgebungen]]></category>
		<category><![CDATA[Testverfahren]]></category>
		<category><![CDATA[Testwerkzeuge]]></category>
		<category><![CDATA[Tosca]]></category>
		<category><![CDATA[Validierung]]></category>
		<category><![CDATA[Verifikation]]></category>
		<category><![CDATA[Webanwendungstests]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=2766</guid>

					<description><![CDATA[<p>Schlüsselwortgetriebenes Testing, auch Keyword-driven Testing genannt, hat die Testautomatisierung revolutioniert. In diesem Beitrag versuche ich zu schildern, was hinter dieser Technik steckt, wie sie entstanden ist und wie man sie optimal in der Software-Qualitätssicherung einsetzen &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/10/17/schluesselwortgetriebenes-testing/">Schlüsselwortgetriebenes Testing</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Schlüsselwortgetriebenes Testing, auch Keyword-driven Testing genannt, hat die Testautomatisierung revolutioniert. In diesem Beitrag versuche ich zu schildern, was hinter dieser Technik steckt, wie sie entstanden ist und wie man sie optimal in der Software-Qualitätssicherung einsetzen kann.</p>



<h3 class="wp-block-heading">Was ist Schlüsselwortgetriebenes Testing?</h3>



<p>Beim Schlüsselwortgetriebenen Testing handelt es sich um einen Ansatz der Testautomatisierung, bei der man Testfälle nicht direkt im Code, sondern durch die Kombination von Schlüsselwörtern oder Befehlen definiert. Diese Schlüsselwörter repräsentieren typischerweise Aktionen, die man auf einem System oder einer Anwendung ausführt, wie z.B. &#8222;Klicke Button&#8220;, &#8222;Gebe Text ein&#8220; oder &#8222;Überprüfe Wert&#8220;.</p>



<h3 class="wp-block-heading">Die Geschichte des Schlüsselwortgetriebenen Testings</h3>



<p>Die Anfänge des Schlüsselwortgetriebenen Testings liegen in den 1990er Jahren. Damals suchten Tester nach Wegen, den Testprozess zu beschleunigen und zu vereinfachen. Der Hauptvorteil dieses Ansatzes besteht darin, dass nicht technisch versierte Personen Testfälle definieren können, ohne tiefe Programmierkenntnisse zu besitzen. Das fördert die Zusammenarbeit zwischen technischen und nicht-technischen Teams und beschleunigt den gesamten Testprozess.</p>



<h3 class="wp-block-heading">Wie geht man Schlüsselwortgetriebenes Testing an?</h3>



<ol class="wp-block-list">
<li><strong>Definition von Schlüsselwörtern:</strong> Zuerst legt das Team eine Bibliothek von Schlüsselwörtern an, die verschiedene Aktionen und Überprüfungen repräsentieren.</li>



<li><strong>Erstellung von Testfällen:</strong> Anschließend erstellen Tester Testfälle durch Kombination dieser Schlüsselwörter in der richtigen Reihenfolge.</li>



<li><strong>Automatisierung:</strong> Ein <a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/">Framework</a> oder Tool liest diese Testfälle und führt die entsprechenden Aktionen in der Anwendung oder dem System durch.</li>



<li><strong>Ergebnisüberprüfung:</strong> Nach Ausführung des Tests erhält das Team Berichte über die Ergebnisse und eventuelle Fehler oder Abweichungen.</li>
</ol>



<h3 class="wp-block-heading">Beispiele für den Einsatz des Schlüsselwortgetriebenen Testings</h3>



<ul class="wp-block-list">
<li><strong>Web-Anwendungen:</strong> Beim Testen von Online-Shops könnten Schlüsselwörter wie &#8222;Wähle Produkt&#8220;, &#8222;Füge zum Warenkorb hinzu&#8220; und &#8222;Bestätige Kauf&#8220; zum Einsatz kommen.</li>



<li><strong>Mobile Apps:</strong> In einer Wetter-App kann man Schlüsselwörter wie &#8222;Suche Stadt&#8220;, &#8222;Zeige Vorhersage&#8220; und &#8222;Aktualisiere Daten&#8220; definieren.</li>



<li><strong>Desktop-Anwendungen:</strong> Bei einem Textverarbeitungsprogramm könnte man Aktionen wie &#8222;Öffne Datei&#8220;, &#8222;Bearbeite Text&#8220; und &#8222;Speichere Änderungen&#8220; durch Schlüsselwörter abdeckten.</li>
</ul>



<h3 class="wp-block-heading">Welche Software kann man dafür nutzen?</h3>



<p>Für das Schlüsselwortgetriebene Testing gibt es verschiedene Softwarelösungen und <a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/">Frameworks</a>, die man je nach Anwendungsfall und Vorlieben wählen kann. Hier sind einige der bekanntesten und am häufigsten genutzten Lösungen:</p>



<ol class="wp-block-list">
<li><strong>Selenium:</strong> Ein beliebtes <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open-Source</a>-Tool für das Testen von Webanwendungen. Mit <a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/">Frameworks</a> wie Robot Framework oder Data-Driven Testing können Tester schlüsselwortgetriebene Tests in <a href="https://ceosbay.com/2022/11/25/selenium/">Selenium</a> implementieren.</li>



<li><strong>Robot Framework:</strong> Dieses Testautomatisierungs-<a href="https://ceosbay.com/2022/11/14/erklaerung-frameworks/">Framework</a> unterstützt schlüsselwortgetriebenes Testing direkt und kann mit verschiedenen Bibliotheken, einschließlich Selenium, integriert werden.</li>



<li><strong>TestComplete:</strong> Eine kommerzielle Lösung von SmartBear, die das Erstellen von schlüsselwortgetriebenen Tests erleichtert und eine visuelle Benutzeroberfläche bietet.</li>



<li><strong>QTP/UFT (Unified Functional Testing) von Micro Focus:</strong> Dieses Tool bietet eine intuitive Möglichkeit, schlüsselwortgetriebene Tests zu erstellen und zu verwalten.</li>



<li><strong>Ranorex:</strong> Ein weiteres kommerzielles Tool, das sich gut für das schlüsselwortgetriebene Testing eignet. Es bietet eine Benutzeroberfläche, die das Erstellen und Verwalten von Tests vereinfacht.</li>



<li><strong>Katalon Studio:</strong> Eine All-in-One-Testautomatisierungslösung, die sowohl schlüsselwortgetriebene als auch datengetriebene Ansätze unterstützt.</li>



<li><strong>Tosca von Tricentis:</strong> Eine führende End-to-End-Testautomatisierungsplattform, die speziell für Continuous Testing entwickelt wurde und einen starken Fokus auf schlüsselwortgetriebenes Testing hat. (Ich habe <a href="https://ceosbay.com/2023/04/04/erklaerung-tosca/">hier</a> einen Beitrag über <a href="https://ceosbay.com/2023/04/04/erklaerung-tosca/">Tosca von Tricentis</a> geschrieben.)</li>
</ol>



<p>Bei der Auswahl der richtigen Software für das schlüsselwortgetriebene Testing sollte man die spezifischen Anforderungen des Projekts, das Budget und die gewünschten Integrationen berücksichtigen. Es empfiehlt sich, die Tools zuerst in einem Proof-of-Concept zu testen, um ihre Eignung für die speziellen Anforderungen und den Kontext zu überprüfen.</p>



<h3 class="wp-block-heading">Fazit</h3>



<p>Schlüsselwortgetriebenes Testing optimiert den Testprozess und ermöglicht es auch nicht-technischen Teams, sich aktiv an der Qualitätssicherung zu beteiligen. Durch den effizienten und modularen Ansatz eignet sich diese Methode für eine Vielzahl von Anwendungen und Projekten.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/10/17/schluesselwortgetriebenes-testing/">Schlüsselwortgetriebenes Testing</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2023/10/17/schluesselwortgetriebenes-testing/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2766</post-id>	</item>
		<item>
		<title>Entscheidungstabellentest &#8211; Effektivität trifft Präzision</title>
		<link>https://ceosbay.com/2023/10/16/entscheidungstabellentest-effektivitaet-trifft-praezision/</link>
					<comments>https://ceosbay.com/2023/10/16/entscheidungstabellentest-effektivitaet-trifft-praezision/#respond</comments>
		
		<dc:creator><![CDATA[CEO]]></dc:creator>
		<pubDate>Mon, 16 Oct 2023 18:48:00 +0000</pubDate>
				<category><![CDATA[Softwarequalität]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Akzeptanztest]]></category>
		<category><![CDATA[Anforderungsprüfung]]></category>
		<category><![CDATA[Anwendungstest]]></category>
		<category><![CDATA[Black-Box-Test]]></category>
		<category><![CDATA[Boundary-Test]]></category>
		<category><![CDATA[Eingabekombinationen]]></category>
		<category><![CDATA[End-to-End-Test]]></category>
		<category><![CDATA[Entscheidungslogik]]></category>
		<category><![CDATA[Entscheidungsmatrix]]></category>
		<category><![CDATA[Entscheidungstabellentest]]></category>
		<category><![CDATA[Exploratives Testen]]></category>
		<category><![CDATA[Fehlerbericht]]></category>
		<category><![CDATA[Fehleridentifikation]]></category>
		<category><![CDATA[Funktionalitätstest]]></category>
		<category><![CDATA[Integrationstest]]></category>
		<category><![CDATA[Kontexttest]]></category>
		<category><![CDATA[Lasttest]]></category>
		<category><![CDATA[Modultest]]></category>
		<category><![CDATA[Performancetest]]></category>
		<category><![CDATA[Qualitätssicherung]]></category>
		<category><![CDATA[Regressionsprüfung]]></category>
		<category><![CDATA[Softwareentwicklung]]></category>
		<category><![CDATA[Softwaretest]]></category>
		<category><![CDATA[Stresstest]]></category>
		<category><![CDATA[Systemtest]]></category>
		<category><![CDATA[Systemverhalten]]></category>
		<category><![CDATA[Szenariotest]]></category>
		<category><![CDATA[Testabdeckung]]></category>
		<category><![CDATA[Testautomatisierung]]></category>
		<category><![CDATA[Testdaten]]></category>
		<category><![CDATA[Testdesign]]></category>
		<category><![CDATA[Testdokumentation]]></category>
		<category><![CDATA[Testfallerstellung]]></category>
		<category><![CDATA[Testmethodik]]></category>
		<category><![CDATA[Testplanung]]></category>
		<category><![CDATA[Testskript]]></category>
		<category><![CDATA[Teststrategie]]></category>
		<category><![CDATA[Testumgebung]]></category>
		<category><![CDATA[Testverfahren]]></category>
		<category><![CDATA[Testwerkzeuge]]></category>
		<category><![CDATA[Testzyklus]]></category>
		<category><![CDATA[Usability-Test]]></category>
		<category><![CDATA[White-Box-Test]]></category>
		<guid isPermaLink="false">https://ceosbay.com/?p=2784</guid>

					<description><![CDATA[<p>Ein effizientes Werkzeug zur Überprüfung der Funktionalität von Software und zur Identifizierung von Testfällen ist der Entscheidungstabellentest. In diesem Blog-Beitrag beschäftige ich mich mit diesem Testverfahren, dessen Ursprüngen, Anwendungen und Vorteilen. Was ist der Entscheidungstabellentest? &#8230;</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/10/16/entscheidungstabellentest-effektivitaet-trifft-praezision/">Entscheidungstabellentest &#8211; Effektivität trifft Präzision</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Ein effizientes Werkzeug zur Überprüfung der Funktionalität von Software und zur Identifizierung von Testfällen ist der Entscheidungstabellentest. In diesem Blog-Beitrag beschäftige ich mich mit diesem Testverfahren, dessen Ursprüngen, Anwendungen und Vorteilen.</p>



<h3 class="wp-block-heading">Was ist der Entscheidungstabellentest?</h3>



<p>Der Entscheidungstabellentest, auch bekannt als Decision Table Testing, ermöglicht die systematische Überprüfung von Systemverhalten auf Basis unterschiedlicher Eingaben. Hierbei steht die Kombination verschiedener Eingabeparameter und die resultierenden Ausgaben im Fokus.</p>



<h3 class="wp-block-heading">Ursprung des Entscheidungstabellentests</h3>



<p>Die Wurzeln des Entscheidungstabellentests liegen in den 1960er Jahren. Entwickler suchten nach einer Möglichkeit, die Verarbeitungslogik von Informationssystemen zu dokumentieren und zu verifizieren. Sie fanden in den Entscheidungstabellen ein effizientes Mittel, komplexe Geschäftsregeln und Entscheidungslogiken übersichtlich darzustellen.</p>



<h3 class="wp-block-heading">Wie geht man den Entscheidungstabellentest an?</h3>



<ol class="wp-block-list">
<li><strong>Identifikation der Entscheidungsparameter</strong>: Zuerst identifiziert man die relevanten Eingangsparameter und Ausgaben für den zu testenden Prozess oder das System.</li>



<li><strong>Erstellung der Tabelle</strong>: Für jeden Eingangsparameter wird eine Zeile angelegt. Zusätzlich gibt es Zeilen für die jeweiligen Ausgaben. In den Spalten werden verschiedene Kombinationen der Eingaben und die dazugehörigen erwarteten Ausgaben dargestellt.</li>



<li><strong>Ausarbeitung der Testfälle</strong>: Anhand der Tabelle lassen sich Testfälle erstellen, die alle möglichen Kombinationen von Eingaben abdecken.</li>



<li><strong>Testdurchführung</strong>: Jeder Testfall wird nun gegen das System oder den Prozess ausgeführt und die tatsächlichen Ausgaben mit den erwarteten Ergebnissen verglichen.</li>
</ol>



<h3 class="wp-block-heading">Beispiele für den Einsatz vom Entscheidungstabellentest</h3>



<ul class="wp-block-list">
<li><strong>Online-Bestellsysteme</strong>: Bei einem Bestellsystem können verschiedene Parameter wie Artikelverfügbarkeit, Versandoptionen und Zahlungsmethoden kombiniert werden, um verschiedene Szenarien zu testen.</li>



<li><strong>Kreditsysteme in Banken</strong>: Banken können Entscheidungstabellen nutzen, um verschiedene Kreditantrags-Szenarien durchzuspielen, z.B. bei unterschiedlichen Einkommen, Kreditbeträgen oder Laufzeiten.</li>



<li><strong>Heizungssysteme</strong>: Bei der Entwicklung von intelligenten Heizungssystemen können unterschiedliche Temperatureinstellungen, Uhrzeiten und Modi kombiniert werden, um das Verhalten des Systems unter verschiedenen Bedingungen zu testen.</li>
</ul>



<h3 class="wp-block-heading">Genereller Überblick über die Struktur</h3>



<ol class="wp-block-list">
<li><strong>Eingangsbedingungen (oben links)</strong>: Dieser Bereich listet alle möglichen Eingabebedingungen oder -parameter auf.</li>



<li><strong>Ausgabehandlungen (unten links)</strong>: Hier werden die möglichen Ausgaben oder Aktionen des Systems aufgeführt.</li>



<li><strong>Entscheidungsregeln (oben rechts)</strong>: In diesem Abschnitt werden verschiedene Kombinationen der Eingabebedingungen aufgeführt. Jede Spalte repräsentiert einen Testfall.</li>



<li><strong>Ergebnisse der Entscheidungsregeln (unten rechts)</strong>: Hier werden die erwarteten Ausgaben für jede Regelkombination dargestellt.</li>
</ol>



<h4 class="wp-block-heading">Beispiel: Einfaches Online-Bestellsystem</h4>



<p>Angenommen, wir haben ein einfaches Bestellsystem, in dem die Kunden entweder per Kreditkarte oder PayPal bezahlen können und es gibt eine Überprüfung, ob der Artikel vorrätig ist.</p>



<figure class="wp-block-table"><table><thead><tr><th><strong>Eingangsbedingungen/Ausgabehandlungen</strong></th><th><strong>Regel 1</strong></th><th><strong>Regel 2</strong></th><th><strong>Regel 3</strong></th><th><strong>Regel 4</strong></th></tr></thead><tbody><tr><td>Artikel verfügbar?</td><td>Ja</td><td>Ja</td><td>Nein</td><td>Nein</td></tr><tr><td>Zahlungsmethode = Kreditkarte?</td><td>Ja</td><td>Nein</td><td>Ja</td><td>Nein</td></tr></tbody></table></figure>



<figure class="wp-block-table"><table><thead><tr><th>Zahlungsmethode = PayPal?</th><th>Nein</th><th>Ja</th><th>Nein</th><th>Ja</th></tr></thead><tbody><tr><td>Bestellung akzeptieren?</td><td>Ja</td><td>Ja</td><td>Nein</td><td>Nein</td></tr><tr><td>Hinweis &#8222;Artikel nicht verfügbar&#8220; anzeigen?</td><td>Nein</td><td>Nein</td><td>Ja</td><td>Ja</td></tr></tbody></table></figure>



<p>Für <strong>Regel 1</strong> ist der Artikel verfügbar, und die Zahlung erfolgt per Kreditkarte. Für die Bestellung erfolgt die Akzeptanz und es gibt keinen Hinweis zur Nichtverfügbarkeit des Artikels. Bei <strong>Regel 3</strong> ist der Artikel jedoch nicht verfügbar, und es spielt keine Rolle, welche Zahlungsmethode der User gewählt hat: Die Bestellung ist inakzeptabel und es erfolgt der Hinweis auf Nichtverfügbarkeit.</p>



<p>Auf diese Weise kann man verschiedene Kombinationen von Eingabeparametern testen und die erwarteten Ausgaben systematisch darstellen.</p>



<h3 class="wp-block-heading">Konkrete Anwendung in der Praxis</h3>



<p>Die vorherige Erklärung bietet einen generellen Überblick über die Struktur einer Entscheidungstabelle. Für eine konkrete Anwendung in der Praxis muss man oft spezifischere Details berücksichtigen. Nachfolgend ein detaillierteres Beispiel, um das Konzept besser zu illustrieren.</p>



<h4 class="wp-block-heading">Rabattsystem eines Online-Shops</h4>



<p>Ein Online-Shop bietet seinen Kunden Rabatte an, die auf der Gesamtmenge der gekauften Artikel und dem Kundenstatus basieren.</p>



<h4 class="wp-block-heading">Regeln:</h4>



<ol class="wp-block-list">
<li>Standardkunden erhalten bei einer Bestellung von mehr als 10 Artikeln einen Rabatt von 5%.</li>



<li>Premiumkunden erhalten immer einen Rabatt von 5%.</li>



<li>Bei einer Bestellung von mehr als 20 Artikeln erhalten alle Kunden einen Rabatt von 10%.</li>
</ol>



<h4 class="wp-block-heading">Entscheidungstabelle:</h4>



<figure class="wp-block-table"><table><thead><tr><th><strong>Eingangsbedingungen/Ausgabehandlungen</strong></th><th><strong>Regel 1</strong></th><th><strong>Regel 2</strong></th><th><strong>Regel 3</strong></th><th><strong>Regel 4</strong></th></tr></thead><tbody><tr><td>Anzahl der Artikel &gt; 10?</td><td>Ja</td><td>Ja</td><td>Nein</td><td>Nein</td></tr><tr><td>Anzahl der Artikel &gt; 20?</td><td>Nein</td><td>Ja</td><td>Nein</td><td>Nein</td></tr></tbody></table></figure>



<figure class="wp-block-table"><table><thead><tr><th>Kundenstatus = Premium?</th><th>Ja</th><th>Ja</th><th>Ja</th><th>Nein</th></tr></thead><tbody><tr><td>Rabatt = 5%?</td><td>Ja</td><td>Nein</td><td>Ja</td><td>Nein</td></tr><tr><td>Rabatt = 10%?</td><td>Nein</td><td>Ja</td><td>Nein</td><td>Nein</td></tr><tr><td>Kein Rabatt?</td><td>Nein</td><td>Nein</td><td>Nein</td><td>Ja</td></tr></tbody></table></figure>



<h4 class="wp-block-heading">In dieser Tabelle:</h4>



<ul class="wp-block-list">
<li><strong>Regel 1</strong> repräsentiert einen Premiumkunden, der 11-20 Artikel kauft. Dieser erhält einen Rabatt von 5%.</li>



<li><strong>Regel 2</strong> repräsentiert einen Premiumkunden, der mehr als 20 Artikel kauft. Dieser erhält einen Rabatt von 10% (da der 5%-Rabatt für Premiumkunden in diesem Fall vom höheren Mengenrabatt überschrieben wird).</li>



<li><strong>Regel 3</strong> repräsentiert einen Premiumkunden, der 10 oder weniger Artikel kauft. Dieser erhält den standardmäßigen 5%-Rabatt für Premiumkunden.</li>



<li><strong>Regel 4</strong> repräsentiert einen Standardkunden, der 10 oder weniger Artikel kauft. Dieser erhält keinen Rabatt.</li>
</ul>



<p>Durch die Entscheidungstabelle stellt man klar, welchen Rabatt man unter welchen Bedingungen gewährt. Sie bietet einen systematischen Ansatz, um sicherzustellen, dass man alle Kombinationen von Bedingungen testet.</p>



<h4 class="wp-block-heading">In der nachfolgenden Tabelle gilt es, die möglichen Testfälle für alle Aktionen zu ermitteln:</h4>



<figure class="wp-block-table"><table><thead><tr><th class="has-text-align-left" data-align="left">Bedingungen:</th><th>I</th><th>II</th><th>III</th><th>IV</th><th>V</th><th>VI</th><th>VII</th></tr></thead><tbody><tr><td class="has-text-align-left" data-align="left"><strong>Bedingung A</strong></td><td>x</td><td>x</td><td>x</td><td>x</td><td></td><td></td><td></td></tr><tr><td class="has-text-align-left" data-align="left"><strong>Bedingung B</strong></td><td>x</td><td>x</td><td></td><td></td><td>x</td><td>x</td><td></td></tr><tr><td class="has-text-align-left" data-align="left"><strong>Bedingung C</strong></td><td>x</td><td></td><td>x</td><td></td><td>x</td><td></td><td>x</td></tr><tr><td class="has-text-align-left" data-align="left"><strong>Aktionen:</strong></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr><tr><td class="has-text-align-left" data-align="left"><strong>Aktion 1</strong></td><td></td><td></td><td></td><td></td><td></td><td>x</td><td></td></tr><tr><td class="has-text-align-left" data-align="left"><strong>Aktion 2</strong></td><td></td><td>x</td><td></td><td>x</td><td></td><td></td><td></td></tr><tr><td class="has-text-align-left" data-align="left"><strong>Aktion 3</strong></td><td>x</td><td></td><td>x</td><td></td><td>x</td><td></td><td>x</td></tr><tr><td class="has-text-align-left" data-align="left"><strong>Aktion 4</strong></td><td></td><td></td><td></td><td></td><td></td><td>x</td><td></td></tr></tbody></table></figure>



<p>Zur Ermittlung der Anzahl von Testfällen, die alle Aktionen abdecken, wird die Tabelle analysiert:</p>



<ul class="wp-block-list">
<li><strong>Aktion 1</strong> wird in Spalte VI abgedeckt.</li>



<li><strong>Aktion 2</strong> wird in den Spalten II und IV abgedeckt.</li>



<li><strong>Aktion 3</strong> wird in den Spalten I, III, V und VII abgedeckt.</li>



<li><strong>Aktion 4</strong> wird ebenfalls in Spalte VI abgedeckt.</li>
</ul>



<p>Durch Analyse der Tabelle ergeben sich die folgenden Testfälle:</p>



<ol class="wp-block-list">
<li>Spalte I deckt Aktion 3 ab.</li>



<li>Spalte II deckt Aktion 2 ab.</li>



<li>Spalte VI deckt Aktion 1, Aktion 3 und Aktion 4 ab.</li>
</ol>



<p>Insgesamt werden 3 Testfälle benötigt, um alle Aktionen abzudecken.</p>



<h3 class="wp-block-heading">Welche Software kann man dafür nutzen?</h3>



<p>Für den Entscheidungstabellentest und andere Softwaretest-Aktivitäten gibt es eine Reihe von Werkzeugen, die auf dem Markt verfügbar sind. Die Wahl des besten Tools hängt von den spezifischen Anforderungen, dem Budget und der Komplexität des Projekts ab. Hier sind einige der populären Werkzeuge, die in der Softwaretest-Community weit verbreitet sind:</p>



<ol class="wp-block-list">
<li><strong>JIRA + Zephyr</strong>: Atlassian&#8217;s JIRA, in Kombination mit dem Zephyr-Plugin, bietet eine umfassende Testmanagement-Lösung, die es Teams ermöglicht, Testfälle zu erstellen, zu verwalten und Berichte zu erstellen.</li>



<li><strong>TestRail</strong>: Ein beliebtes Testmanagement-Tool, das nahtlose Integrationen mit anderen gängigen Tools wie JIRA, Selenium und mehr bietet.</li>



<li><strong>Selenium</strong>: Ein <a href="https://ceosbay.com/2022/11/16/erklaerung-open-source/">Open-Source</a>-Tool für automatisierte Webanwendungstests. Es ist nicht speziell für den Entscheidungstabellentest entwickelt, man kann es aber zum Automatisieren von Testfällen verwenden, die man aus der Entscheidungstabelle ableitet.</li>



<li><strong>HP Quality Center (jetzt Teil von Micro Focus)</strong>: Ein umfassendes Testmanagement-Tool, das das Erstellen, Verwalten und Ausführen von Testfällen unterstützt.</li>



<li><strong>QTest</strong>: Eine moderne Testmanagement-Plattform, die Agile-Teams bei der Planung, Verfolgung und Ausführung von Testfällen unterstützt.</li>



<li><strong>SpecFlow</strong>: Ein <a href="https://ceosbay.com/2023/03/12/erklaerung-behavior-driven-development/">Behavior-Driven Development</a> (<a href="https://ceosbay.com/2023/03/12/erklaerung-behavior-driven-development/">BDD</a>) Tool, das man in Kombination mit der Gherkin-Syntax verwendet. Es kann zur Definition von Szenarien basierend auf Entscheidungstabellen und zur Automatisierung dieser Szenarien eingesetzt werden.</li>



<li><strong>Confluence</strong>: Auch wenn es primär ein Team-Kollaborations-Werkzeug ist, nutzen einige Teams Confluence, um Entscheidungstabellen zu erstellen und zu verwalten.</li>



<li><strong>Excel oder Google Sheets</strong>: Man kann auch einfache Tabellenkalkulationsprogramme verwenden, um Entscheidungstabellen zu entwerfen und zu verwalten. Sie bieten Flexibilität, sind aber nicht speziell für das Testen entwickelt.</li>
</ol>



<p>Es gibt viele weitere spezialisierte Tools auf dem Markt. Die Wahl hängt letztlich von den spezifischen Bedürfnissen des Testteams und den vorhandenen Technologie-Stacks ab. Es empfiehlt sich, eine gründliche Bewertung durchzuführen und möglicherweise einige Demos oder Testversionen auszuprobieren, bevor man sich für ein bestimmtes Tool entscheidet.</p>



<h3 class="wp-block-heading">Fazit</h3>



<p>Der Entscheidungstabellentest bietet eine strukturierte und systematische Methode, um komplexe Systeme oder Prozesse zu testen. Durch die umfassende Berücksichtigung aller möglichen Kombinationen von Eingaben gewährleistet dieser Test eine hohe Abdeckung und ermöglicht eine qualitativ hochwertige Qualitätssicherung.</p>
<p>Der Beitrag <a href="https://ceosbay.com/2023/10/16/entscheidungstabellentest-effektivitaet-trifft-praezision/">Entscheidungstabellentest &#8211; Effektivität trifft Präzision</a> erschien zuerst auf <a href="https://ceosbay.com">CEOsBay</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://ceosbay.com/2023/10/16/entscheidungstabellentest-effektivitaet-trifft-praezision/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2784</post-id>	</item>
	</channel>
</rss>
