Software Testing

    Software Testing

    Was ist Software Testing? Software Testing ist ein Prozess, um die Funktionalität einer Softwareanwendung zu bewerten. Es dient dazu festzustellen, ob die entwickelte Software die spezifizierten Anforderungen erfüllt oder nicht. Außerdem identifizieren wir mit Software Testing Mängel und stellen damit sicher, dass das Produkt weitgehend fehlerfrei funktioniert.

    Hierfür gibt es eine Vielzahl an Software Testing Methoden. Mithilfe von Software Testing Tools lässt sich fast jede Software testen und somit die Software Qualität sicherstellen – sowohl manuell als auch automatisiert.

    Warum ist Software Testing so wichtig?

    Um die Bedeutung von Testverfahren Software zu verstehen, haben wir im Folgenden die vier wichtigsten Punkte erläutert.

    1. Software Testing spart Geld.

    Die Softwareentwicklung besteht aus vielen Phasen (Konzeption, Entwicklung, Testing jeweils in Sprints umgesetzt wenn man nach agilen Methoden in der Softwareentwicklung vorgeht) und wenn Fehler in den frühen Phasen entdeckt werden, ist es meist günstiger, diese zu beheben.

    Deshalb ist es wichtig, dass die Tests so früh wie möglich durchgeführt werden – Test Driven Development sieht sogar vor, dass die Test vor der Entwicklung geschrieben werden, was gerade für komplexe und validierte Umgebungen wichtig ist.

    8 Checklisten für Ihr digitales Projekt

    Haben Sie alle Anforderungen im Blick? Kostenlose Checklisten für Ihr digitales Projekt.

    2. Mehr Sicherheit.

    In der Vergangenheit gab es viele Situationen, in denen Benutzerinformationen gestohlen wurden oder Hacker sie gefunden und zu ihrem Vorteil genutzt haben.

    Das ist der Grund, warum Menschen nach vertrauenswürdigen Produkten suchen, auf die sie sich verlassen können und die ausgiebig auf Funktionalität und Sicherheit getestet wurden. Unsere personenbezogenen Daten sollten so vertraulich wie möglich behandelt werden.

    Durch Security-Testing erhält der Nutzer ein vertrauenswürdiges Produkt, da Probleme und Risiken im Vorfeld erkannt und noch während der Entwicklung beseitigt werden.

    Das könnte Sie auch interessieren: 6 Tipps für den Website Check

    3. Bessere Produktqualität.

    Damit die Produktvision Wirklichkeit wird, muss das Ergebnis die Anforderungen der Buyer Persona bestmöglich erfüllen. Die Einhaltung der Produktanforderungen ist in gewissem Maße unerlässlich, da sie dabei hilft, die gewünschten Endergebnisse zu erzielen.

    Digitale Produkte sollen Ihrer Zielgruppe über die Customer Journey hinweg einen Mehrwert bieten und dabei unterstützen, bestimmte Aufgaben (Use Cases) schneller, einfacher und effizienter zu erledigen.

    Daher ist es sehr wichtig, dass digitale Produkte diesen Mehrwert auch tatsächlich und kontinuierlich liefern – und das am besten auch nach einem neuen Update, also nach einer meist umfassenden Änderung der Software.

    4. Höhere Kundenzufriedenheit.

    Das oberste Ziel eines Product Owners ist es, die beste Kundenzufriedenheit bei der Nutzung seines digitalen Produkts zu erreichen (meist erreicht durch ein Agiles Vorgehensmodell und ein darauf abgestimmtes UX Design).

    Das ist auch der Hauptgrund, warum Apps und Software getestet werden sollten – um die Konsistenz der Anforderungen über den gesamten Produktlebenszyklus sicherzustellen.

    Das Vertrauen Ihrer Kunden ist nicht einfach zu verdienen, besonders, wenn das Produkt nach neuen Releases häufiger Bugs aufweist.

    Lesen Sie dazu auch: Einstieg in die Customer Journey Analyse

    Der Zweck von Software Testing

    Durch Testverfahren Software erhalten wir wertvolle Informationen und Einblicke in den Zustand des Systems. Bei der Entscheidung, ob ein Produkt auf den Markt kommt, müssen die Stakeholder beispielsweise den Zustand des Produkts bzgl seiner Anforderungen, Security-Richtlinien etc. kennen. Dazu gehören Aspekte wie die Konformität des Produkts mit den Anforderungen, die Benutzerfreundlichkeit sowie die Einhaltung der geltenden Vorschriften durch das Produkt.

    Website Relaunch Guide

    Planen Sie einen Website Relaunch? Wir haben den passenden Guide dazu!
    Durch Tests wird überprüft, ob das System die verschiedenen Anforderungen erfüllt, einschließlich Funktion, Leistung, Zuverlässigkeit und Sicherheit.

    Darüber hinaus ist es das Ziel, dass das gewählte Testverfahren Software hinsichtlich aller weiteren zu validierenden Kriterien überprüft.

    Softwaretests tragen dazu bei, die Qualität des Produkts zu verbessern. Das Auffinden von Fehlern ist zwar einer der Zwecke des Softwaretests, aber nicht der einzige Zweck. Es ist wichtig, dass Softwaretests überprüfen und validieren, ob das Produkt die angegebenen Anforderungen und Spezifikationen erfüllt.

    Suchen Sie einen Softwarepartner?

    Wenn wir über Softwarequalität sprechen, dann geht es im Prinzip um die Bewertung der Software anhand bestimmter Attribute.

    Eine Software QA wird auf der Grundlage der Untersuchung externer und interner Merkmale der Software definiert. Die externe Software QA wird anhand der Art und Weise definiert, wie die Software im Betriebsmodus in Echtzeit funktioniert und wie nützlich sie für den Benutzer ist. Die interne Software QA hingegen konzentriert sich auf die internen Aspekte, die von der Qualität des geschriebenen Codes abhängig sind.

    Die Bedeutung von Error, Fault, Bug und Failure

    Software Testing beschreibt den Prozess der Identifizierung von Fehlern, wobei ein Fehler eine Abweichung zwischen den tatsächlichen und den erwarteten Ergebnissen ist.

    Ein Fehler kann in folgende Kategorien eingeteilt werden:

    Ein Error ist ein Fehler seitens der Softwareentwickler.

    Dazu gehören Software-Ingenieure, Programmierer, Analysten und Tester. So kann beispielsweise ein Entwickler bestimmte Informationen fehlinterpretieren oder ein Programmierer gibt einen Variablennamen falsch ein. Dies führt dann zu einem Error beim Ausführen oder Kompilieren der Software.

    Ein Bug ist das Ergebnis eines Codierungsfehlers.

    Es handelt sich um einen Programmierfehler, der dazu führt, dass ein Programm zwar ausgeführt werden kann, die geforderte Funktion jedoch nicht oder nicht richtig funktioniert, falsche Ergebnisse liefert oder abstürzt. Ein Bug in der Soft- oder Hardware verursacht eine Fehlfunktion des Programms.

    Ein Failure ist die Unfähigkeit eines Softwaresystems oder einer Komponente, seine erforderlichen Funktionen innerhalb bestimmter Leistungsanforderungen auszuführen. Wenn ein Defekt den Endkunden erreicht, spricht man von einem Failure.

    Ein Fault ist ein falscher Schritt, Prozess oder eine falsche Datendefinition in einem Computerprogramm, was dazu führt, dass das Programm falsch ausgeführt wird.

    Es handelt sich um eine Anomalie in der Software, die dazu führen kann, dass sie sich nicht entsprechend ihrer Spezifikation verhält.

     

    Agile Teams für erfolgreiche, digitale Projekte

    Welche Software Testing Methoden gibt es?

    Jede Art von Testing hat auch ihre eigenen Merkmale sowie Vor- und Nachteile und wird für verschiedenen Aufgabenstellungen eingesetzt. Im Folgenden behandeln wir hauptsächlich die Arten von Softwaretests, die wir am häufigsten verwenden.

    Dazu gehören funktionale Tests und nicht funktionale Tests.

    Funktionale Tests

    Dies ist eine Art Black-Box-Test, der auf den Spezifikationen der zu testenden Software basiert. Die Anwendung wird getestet, indem Input in Form von Eingaben durch den Nutzer oder über Schnittstellen durch andere Systeme bereitgestellt wird. Dann werden die Ergebnisse untersucht, die mit der Funktionalität übereinstimmen müssen, für die sie bestimmt war. Der Funktionstest einer Software wird an einem kompletten, integrierten System durchgeführt, um die Übereinstimmung des Systems mit den spezifizierten Anforderungen zu bewerten.

    Beim Testen einer Anwendung auf Funktionalität sind fünf Schritte erforderlich:

    1. Die Bestimmung der Funktionalität, die die beabsichtigte Anwendung erfüllen soll.
    2. Die Erstellung von Testdaten basierend auf den Spezifikationen der Anwendung.
    3. Die Ausgabe basiert auf den Testdaten und den Spezifikationen der Anwendung.
    4. Das Schreiben von Testszenarien und die Ausführung von Testfällen.
    5. Der Vergleich von tatsächlichen und erwarteten Ergebnissen auf Basis der ausgeführten Testfälle.

    Nichtfunktionale Testtypen

    Nichtfunktionales Testen beinhaltet das Testen einer Software anhand der Anforderungen, die zwar nicht funktionsfähig, aber wichtig sind, wie Leistung, Sicherheit, Benutzeroberfläche usw.

    Im Folgenden werden einige der wichtigen und häufig verwendeten nicht-funktionalen Testtypen erläutert.

    Eine Leistungsprüfung wird hauptsächlich verwendet, um Engpässe oder Leistungsprobleme (Performanceprobleme) zu identifizieren, anstatt Fehler in einer Software zu finden. Es gibt verschiedene Ursachen, die dazu beitragen, die Leistung einer Software zu verringern.

    Dazu gehören:

    • Netzwerkverzögerung
    • Client-seitige Verarbeitung
    • Verarbeitung von Datenbanktransaktionen
    • Lastausgleich zwischen Servern
    • Datenwiedergabe

    Die Leistungsprüfung gilt als eine der wichtigsten und vorgeschriebenen Prüfarten im Hinblick auf folgende Aspekte:

    • Geschwindigkeit (Reaktionszeit, Datenwiedergabe und Zugriff)
    • Kapazität
    • Stabilität
    • Skalierbarkeit

    Automatisiertes Testing vs. Manuelles Testing

    Softwaretests können in zwei Bereiche unterteilt werden: Manuelles Testen und automatisiertes Testen. Sowohl manuelle als auch automatisierte Tests bieten Vor- und Nachteile.

    Beim manuellen Testen werden Testfälle manuell durch einen Menschen und ohne Unterstützung durch Werkzeuge oder Skripte ausgeführt. Beim automatisierten Testen werden Testfälle jedoch mithilfe von Tools, Skripten und Software ausgeführt.

    Die Art der Prüfung hängt von verschiedenen Faktoren ab, darunter Projektanforderungen, Budget, Zeitrahmen, Fachwissen und Eignung. Wird eine Software kontinuierlich weiterentwickelt und wächst die Komplexität der Anforderungen mit jedem Release, sind automatisierte Tests die bessere Wahl, da Sie Zeit und Budget über den Projektverlauf sparen.

    Zum Podcast

     

    Die Vor- und Nachteile von statischen Testverfahren

    In statischen Testverfahren überprüft der Tester den Code, die Architektur-Dokumente sowie das Anforderungsdokument und gibt dann Kommentare zur Überprüfung des Dokuments ab. Bei Software, die nicht betriebsbereit und inaktiv ist, werden Sicherheitstests durchgeführt, um die Software in einer Nicht-Laufzeitumgebung zu analysieren.

    Diese Art von Tests ist nützlich, um Codefehler zu erkennen. Statische Tests finden in einer frühen Phase des Entwicklungszyklus statt, daher wird es auch als Verifikationstest bezeichnet. Anforderungsspezifikationen, Design-Dokumente, Quellcode, Testpläne, Testskripte, Testfälle und Webseiteninhalte, all dies muss die statische Prüfung bestehen.

    Durch ein ordentliches statisches Testen können etwa 85 % der Fehler einer Software erkannt werden.

    In einer Continuous Integration Umgebung sind statische Testverfahren meist fester Bestandteil eines Build-Prozesses.

    Die Vorteile des statischen Software-Testverfahrens:

    • Hilft bei der Identifizierung der Fehler im Code.
    • Die Tests werden von geschulten Softwareentwicklern mit guten Kenntnissen in der Programmierung durchgeführt, teilweise ist dies auch automatisiert möglich.
    • Es ist ein schneller und einfacher Weg, um offensichtliche Fehler zu finden und zu beheben.
    • Mit automatisierten Software Testing Tools lässt sich die Software recht schnell scannen und überprüfen.
    • Der Einsatz von automatisierten Software Testing Tools bietet Empfehlungen zur Reduzierung von Risiken.
    • Mit statischen Tests ist es möglich, Fehler in einem frühen Stadium des Entwicklungslebenszyklus zu finden, was wiederum die Kosten für die Behebung reduziert.

    Die Nachteile des statischen Software-Testverfahrens:

    • Hoher Zeitaufwand bei manueller Bearbeitung.
    • Automatisierte Tools funktionieren nur mit wenigen Programmiersprachen
    • können Fehlalarme (False Positives) liefern
    • scannen nur den Code, prüfen diesen aber nicht während der Ausführung
    • können keine Schwachstellen erkennen, die zur Laufzeit zu Problemen führen können.

    Die Vor- und Nachteile beim dynamischen Software Testing

    Im Gegensatz zum statischen Testverfahren wird beim dynamischen Testen der Code ausgeführt. Der Test überprüft sowohl das Funktionsverhalten als auch die CPU-Auslastung sowie die Gesamtleistung der Software.

    Das Ziel dynamischer Tests ist es, sicherzustellen, dass das Endprodukt entsprechend den Anforderungen der Kunden gestaltet wird und genau so funktioniert wie es sill. Es wird auch als Validierungs- oder Ausführungs-Test bezeichnet.

    Die Vorteile der dynamischen Testmethode

    • Hilft bei der Identifizierung von Schwachstellen in einer Laufzeitumgebung.
    • Unterstützt die Analyse von Anwendungen, auch wenn der Tester nicht über den eigentlichen Code verfügt.
    • Identifiziert Schwachstellen, die mit der statischen Codeanalyse schwer zu finden sind.
    • Ermöglicht die Validierung von Ergebnissen der statischen Codeanalyse.

    Die Nachteile des dynamischen Testings

    • Kann eine falsche Sicherheit geben, dass alles überprüft wurde.
    • Erzeugt von Fehlalarmen und Fehlmeldungen.
    • Es ist schwierig, die Schwachstelle im Code zu verfolgen.
    • Es dauert länger, das Problem zu beheben.
    • Dadurch wird es kostspieliger.

    Dynamische Tests validieren die Ergebnisse mit dem erwarteten Resultat. Es wird auf allen Ebenen durchgeführt und kann entweder in Form eines White Box Test oder der Black Box Methode erfolgen. Im Folgenden gehen wir näher auf die beiden Methoden ein und liefern zur Veranschaulichung ein Black Box Test Beispiel aus der Praxis.

    Der White Box Test

    Der White Box Test basiert auf dem Wissen über die interne Logik des Codes einer Anwendung. Ein White Box Test beschreibt die detaillierte Untersuchung der internen Logik und Struktur des Codes. White Box Tests werden auch als Glass-Tests oder Open-Box-Tests bezeichnet.

    Um White Box Tests für eine Anwendung durchführen zu können, muss ein Tester die interne Funktionsweise des Codes kennen. Der Tester muss einen Blick in den Quellcode werfen und herausfinden, welche Einheit des Codes sich gegenüber der Spezifikation unerwartet und somit falsch verhält.

    Suchen Sie eine Webagentur? Mehr erfahren

    Die Black Box Methode

    Bei der Black Box Methode wird das interne Systemdesign nicht berücksichtigt und bleibt für den Tester unbekannt. Die Tests basieren auf den Anforderungen und der Funktionalität die über das Interface oder Schnittstellen zur Software mit Eingaben getestet werden. Es wird deshalb als Black Box Methode bezeichnet, weil keine Kenntnisse des Innenlebens der Anwendung bekannt sind.

    Der Tester hat keinen Zugriff auf den Quellcode und ist sich der Systemarchitektur nicht bewusst. Typischerweise interagiert ein Tester während der Durchführung eines Black Box Tests mit der Benutzeroberfläche des Systems oder einer anderen Schnittstelle, indem er Eingaben bereitstellt und Ausgaben untersucht, ohne zu wissen, wie und wo die Eingaben bearbeitet werden.

    Erhalten Sie regelmäßig das passende Know-how: Jetzt für Newsletter anmelden

    Black Box Test Beispiel

    Bei den Blackbox Testverfahren werden mehrere Vorgehensweisen angewandt. Dazu gehören unter Anderem fehler-, zustands- und grenzwertbasierte Testenverfahren. Ein Black Box Test Beispiel ist das äquivalenzklassenbasierte Testing. Die Verwendung von Äquivalenzklassen als Grundlage für die Funktionsprüfung ist geeignet, wenn eine gründliche Prüfung erwünscht ist oder wenn es dringend notwendig ist, Redundanzen zu vermeiden.

     

    Mehr erfahren

    Weitere wichtige Software Testing Methoden

    Funktions Testing

    Diese Art der Prüfung ignoriert die internen Komponenten und konzentriert sich nur auf den Output, um zu prüfen, ob sie den gewünschten Anforderung entspricht oder nicht. Hierbei handelt es sich um ein Black-Box-Testverfahren, welches auf die funktionalen Anforderungen einer Anwendung ausgerichtet ist.

    Nichtfunktionales Testing

    Bei dieser Art von Test gibt es ein eigenes Team, welches normalerweise als Non-Functional Test (NFT)-Team oder Performance-Team bezeichnet wird.

    Nichtfunktionales Testen beinhaltet das Testen von nichtfunktionalen Anforderungen wie Load Testing, Stress Testing, Security, Volume, Recovery Testing etc. Das Ziel des NFT-Tests ist es, sicherzustellen, ob die Reaktionszeit sowie andere zuvor aufgezählte Eigenschaften der Software oder Anwendung den Anforderungen entsprechen.

    Es sollte nicht viel Zeit in Anspruch nehmen, eine Seite oder ein System zu laden. Außerdem sollte dies auch während der höchsten Auslastung aufrechterhalten werden. Es ist dabei zu definieren, was „nicht viel Zeit in Anspruch nehmen“ bedeutet.

    Visuelle Regressionstests

    Visuelle Regressionstests sind eine Möglichkeit, Screenshots von der entwickelten Website zu erstellen und diese in Verschiedenen Versionen miteinander zu vergleichen. Diese Screenshots werden oft vor und nach der Aktualisierung des Frontend-Codes gemacht. Die Screenshots können zu jeder Zeit gemacht werden, egal ob beim Testen, Staging oder in der Produktion. Anschließend können vorherige und aktuelle Screenshots vergleichen werden, um zu sehen, ob die letzten Updates etwas in der Oberfläche der Software verändert haben. Bei Visuellen Regressionstests werden keine Funktionen getestet.

    Smoke Testing

    Wann immer ein neuer Build (ausführbare Software) vom Entwicklungsteam bereitgestellt wird, validiert das Software-Testteam den Build und stellt sicher, dass kein größeres Problem vorliegt.

    Das Testteam stellt sicher, dass der Build stabil ist und ein detaillierter Testlauf durchgeführt wird. Smoke Testing überprüft, ob kein „Blocker“ im Build vorliegt, was das Testteam daran hindert, die Anwendung im Detail zu testen.

    Wenn Tester feststellen, dass die wichtigste kritische Funktionalität in der Build oder Releasphase nicht funktioniert (Broken Build), kann das Testteam den Build ablehnen und das Entwicklungsteam entsprechend informieren. Das Smoke Testing wird bis auf ein detailliertes Niveau aller Funktions- oder Regressionstests durchgeführt.

    Erhalten Sie regelmäßig das passende Know-how: Jetzt für Newsletter anmelden

    Software Testen mit den Top 10 Testing Tools

    1. Selenium

    Selenium ist ein beliebtes Tool für das Software Testen im Browser. Es gilt als Industriestandard für das Testen von Webanwendungen durch die Automatisierung von Testcases in der Benutzeroberfläche.

    2. Katalon Studio

    Katalon Studio ist eine leistungsstarke und umfassende Automatisierungslösung zum Testen von API-, Web- und mobilen Anwendungen. Es verfügt über einen umfangreichen Funktionsumfang für diese Arten von Tests und unterstützt mehrere Plattformen, darunter Windows, MacOS und Linux.

    3. UFT

    UFT ist ein beliebtes kommerzielles Tool zum Testen von Desktop-, Web- und mobilen Anwendungen. Es wurde um eine Reihe von Funktionen für API-Tests erweitert.

    4. TestComplete

    TestComplete ist wegen seiner leistungsstarken und umfassenden Funktionen für das Testen von Web-, Mobil- und Desktop-Anwendungen beliebt. Tester können JavaScript, VBScript, Python oder C++Script verwenden, um Testskripte zu schreiben.

    5. SoapUI

    SoapUI ist ein Funktionstool, das speziell für den API-Test entwickelt wurde.

    6. IBM Rational Functional Tester

    IBM Rational Functional Tester ist ein Testautomatisierungswerkzeug, das zum Testen von Anwendungen entwickelt wurde, die mit verschiedenen Sprachen und Technologien wie Web,.Net, Java, Visual Basic, Siebel, SAP, PowerBuilder, Adobe Flex und Dojo Toolkit entwickelt wurden.

    7. Tricentis Tosca

    Diese Testplattform stellt ein umfassendes Toolsets zur Verfügung, um die meisten Testaktivitäten zu unterstützen, die von Testdesign und Testautomatisierung bis hin zu Testberichten und Analysen reichen.

    8. Ranorex

    Ranorex bietet seit vielen Jahren eine umfassende und professionelle Palette von Funktionen für Web-, Mobil-, Desktop- und API-Tests.

    9. Postman

    Postman ist ein weiteres Automatisierungswerkzeug, das für den API-Test entwickelt wurde. Benutzer können dieses Tool als Browser-Erweiterung oder Desktop-Anwendung auf Mac, Linux, Windows installieren und Webservice Anfragen an die API einer Software stellen um das Ergebnis anschließend zu validieren.

    10. Apache JMeter

    JMeter ist ein Open-Source-Tool, das für Lasttests und Leistungsmessung entwickelt wurde – zwei Funktionen, von denen JMeter bekannt ist. Das Tool wird nun aber auch für API- und Servicetests verwendet, insbesondere für die API-Performance Tests.

    Wann sollten Sie mit dem Testen beginnen?

    Ein früher Start des Testens reduziert die Kosten und Zeit für die Nachbearbeitung und die Erstellung fehlerfreier Software, die an den Kunden ausgeliefert wird. Im Software Development Life Cycle (SDLC) kann das Testen jedoch von der Phase der Anforderungserfassung bis zur Bereitstellung der Software gestartet und fortgesetzt werden. Oftmals beginnen gerade Agile Projekte mit dem Schreiben von Tests bevor eine Zeile Programmcode geschrieben wurde. Im Test-Driven Development dienen die Tests somit bereits als Spezifikation.

    Es hängt auch vom verwendeten Entwicklungsmodell ab. Beispielsweise werden im Wasserfallmodell formale Tests in der Testphase durchgeführt, aber im inkrementellen Modell werden Tests am Ende jeder Schrittweite durchgeführt und die gesamte Anwendung am Ende getestet.

    Während der Phase der Anforderungserfassung wird die Analyse und Verifizierung der Anforderungen ebenfalls als Test betrachtet.

    Die Überprüfung des Designs in der Entwurfsphase mit der Absicht, das Design zu verbessern, gilt ebenfalls als Test, sie werden oft als User Akzeptanztests bezeichnet.

    Tests, die von einem Entwickler nach Fertigstellung des Codes durchgeführt werden, werden ebenfalls als Tests eingestuft, hier wird häufig mit Code-Reviews und Pull-Requests gearbeitet.

     

    Mehr Leads

    Mehr Leads über Ihre Website – jetzt Video ansehen

    Wann sollten Sie mit dem Testen aufhören?

    Es ist schwierig festzustellen, wann man mit dem Testen aufhören sollte, da das Testen ein endloser Prozess ist und niemand behaupten kann, dass eine Software zu 100 % getestet wurde. Folgende Aspekte sind bei der Unterbrechung des Prüfprozesses zu berücksichtigen:

    • Prüftermine
    • Abschluss der Testfallausführung
    • Fertigstellung der Funktions- und Code-Deckung bis zu einem bestimmten Punkt
    • Die Fehlerrate sinkt unter ein bestimmtes Niveau und es werden keine Fehler mit hoher Priorität identifiziert.
    • Nach jeder Entwicklungsphase z. B. nach einem Sprint in agilen Projekten wird eine Testphase eingeplant.

    Fazit

    Softwaretests sind ein wichtiger Bestandteil des Softwareentwicklungsprozesses, ohne den kaum Qualität in der Softwareentwicklung möglich ist.

    Es ist keine einzelne Aktivität, die nach der Implementierung stattfindet, sondern Teil jeder Phase des Lebenszyklus einer Software. Eine erfolgreiche Teststrategie beginnt mit der Berücksichtigung bei der Anforderungsspezifikation.

    Wie bei den anderen Aktivitäten im Software-Lebenszyklus hat auch das Testen seine eigenen Herausforderungen.

    Mit der zunehmenden Komplexität von Softwaresystemen wird die Bedeutung eines effektiven, gut geplanten Testaufwands und der Verwendung von Tools zur Test-Automatisierung weiter zunehmen.