DE102011055905A1 - Verfahren zum Testen einer Software bzw. Softwaretestverfahren, Programmprodukt und Datenverarbeitungsanlage zur Ausführung des Verfahrens - Google Patents

Verfahren zum Testen einer Software bzw. Softwaretestverfahren, Programmprodukt und Datenverarbeitungsanlage zur Ausführung des Verfahrens Download PDF

Info

Publication number
DE102011055905A1
DE102011055905A1 DE201110055905 DE102011055905A DE102011055905A1 DE 102011055905 A1 DE102011055905 A1 DE 102011055905A1 DE 201110055905 DE201110055905 DE 201110055905 DE 102011055905 A DE102011055905 A DE 102011055905A DE 102011055905 A1 DE102011055905 A1 DE 102011055905A1
Authority
DE
Germany
Prior art keywords
software
test
component
components
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE201110055905
Other languages
English (en)
Inventor
Florian Schmidt
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Gdv Dienstleistungs & Co KG GmbH
Gdv Dienstleistungs-Gmbh & Co KG
Original Assignee
Gdv Dienstleistungs & Co KG GmbH
Gdv Dienstleistungs-Gmbh & Co KG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gdv Dienstleistungs & Co KG GmbH, Gdv Dienstleistungs-Gmbh & Co KG filed Critical Gdv Dienstleistungs & Co KG GmbH
Priority to DE201110055905 priority Critical patent/DE102011055905A1/de
Publication of DE102011055905A1 publication Critical patent/DE102011055905A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Ein Verfahren zum Testen einer Software (10) bzw. ein Softwaretestverfahren weist wenigstens eine zu testende Software (10) und wenigstens eine für diesen Zweck vorgesehene Testsoftware (14) auf. Die Testsoftware (14) beinhaltet dazu Testkomponenten (30) und die Software entsprechende Softwarekomponenten (20). Das Verfahren zeichnet sich dadurch aus, dass die gesamte oder zumindest wesentliche Teile der Testsoftware (14) und/oder der wenigstens einen Testkomponente (30) in einer zentralen Datenbank (42) gespeichert und zur Testdurchführung aus der Datenbank (42) auf ein Computersystem heruntergeladen werden.

Description

  • Die Erfindung betrifft ein Verfahren zum Testen einer Software beziehungsweise ein Softwaretestverfahren. Des Weiteren betrifft die Erfindung ein Programmprodukt beziehungsweise ein Computerprogrammprodukt zur Ausführung des Verfahrens. Schließlich betrifft die Erfindung eine Datenverarbeitungsanlage zur Ausführung des Verfahrens.
  • Die Entwicklung einer neuen Software bzw. eines neuen Computerprogramms vollzieht sich im Allgemeinen in mehreren Stufen. An die Konzeptions- und Planungsphase mit der Erstellung eines Pflichtenhefts etc. schließt sich die eigentliche Entwicklung bzw. Programmierung an. Ein ganz wesentlicher Bestandteil des Entwicklungsprozesses stellt schließlich der Test der entwickelten Software bzw. der einzelnen Softwarekomponenten dar. im Rahmen eines Softwaretests wird üblicherweise eine Reihe unterschiedlicher Kriterien eines Anforderungskatalogs auf Einhaltung geprüft. Neben dieser Überprüfung auf die erwartete Funktionsweise erfolgt außerdem ein Test der Fehlertoleranz bezüglich der Erkennung und Behandlung fehlerhafter Eingaben und ähnlichem.
  • Üblicherweise werden Softwaretests durch Mitarbeiter einer Qualitätssicherungsabteilung des die Software verwendenden Unternehmens bzw. durch entsprechende Dienstleister durchgeführt. Diese Mitarbeiter bzw. Testbenutzer kennen die Anforderungen an die Software und die entsprechenden Abläufe im Unternehmen hinreichend, um die korrekte Funktion der Software bewerten zu können. Dazu geben die Testbenutzer der Software manuell durch Eingabe in eine Benutzeroberfläche der Software Eingaben und Wertebereiche vor. Die Ausgaben und Fehlerbehandlungen der Software werden dann üblicherweise von denselben Mitarbeitern ausgewertet, beispielsweise im Hinblick auf korrekte Bearbeitung, Programmierfehler oder die Behandlung fehlerhafter Eingaben. Der Test einer Vielzahl unterschiedlicher Werte- bzw. Parameterkombinationen ist damit sehr personalintensiv und teuer.
  • Bei existierender Testsoftware zur computergestützten Testdurchführung steuert der Testbenutzer in Echtzeit den Programmablauf mittels Benutzereingaben zur Laufzeit der zu testenden Software mittels einer Benutzeroberfläche der Testsoftware. Dies vereinfacht die Testdurchführung zwar, ist aber einerseits immer noch mit hohem personellen und zeitlichen Aufwand verbunden und andererseits nur für Standardfälle von Software geringen Komplexitätsgrades mit einer allgemein gehaltenen Fehlerüberprüfung einsetzbar. Eine Durchführung von Softwaretests mit Anpassungen der Testsoftware an spezielle Gegebenheiten der zu testenden Software erfordert jedoch komplexe Programmiertätigkeiten. Hierzu sind insbesondere die den Softwaretests durchführenden Mitarbeiter bzw. Testbenutzer üblicherweise weder ausgebildet noch qualifiziert. Eine Durchführung solcher Softwaretests durch zur entsprechenden Programmierung ausgebildete, hochspezialisierte Softwareentwickler ist aber nicht wirtschaftlich.
  • Der vorliegenden Erfindung liegt daher die Aufgabe zu Grunde, ein Verfahren zum Testen einer Software beziehungsweise ein Softwaretestverfahren anzugeben, mit dem der ein durch Mitarbeiter ohne Programmierkenntnisse durchführbarer Softwaretest zumindest teilweise automatisiert wird.
  • Die Aufgabe wird durch ein Verfahren gemäß Anspruch 1 gelöst.
  • Das Verfahren zum Testen der Software weist demnach wenigstens eine zu testende Software mit wenigstens einer zu testenden Softwarekomponente auf. Eine Testsoftware mit vorzugsweise wenigstens einer Testkomponente wird dabei zum Testen der Software verwendet. Die gesamte Testsoftware oder zumindest wesentliche Teile derselben, insbesondere wenigstens eine Testkomponente, werden in einer vorzugsweise wenigstens einer insbesondere zentralen Datenbank gespeichert. Zur Ausführungszeit der Testsoftware werden die Testsoftware oder zumindest wesentliche Teile derselben aus der Datenbank ausgelesen und insbesondere auf ein Computersystem bzw. einen Ausführungsserver heruntergeladen. Vorzugsweise wird die Testsoftware bzw. die wenigstens eine Testkomponente auf dem Computersystem ausgeführt. Bei der Testdurchführung handelt es sich um die tatsächliche Ausführung der Testsoftware zum Überprüfen der zu testenden Software auf Einhaltung der entsprechenden Vorgaben, auf Fehlerfreiheit und/oder gegebenenfalls korrekte Fehlerbehandlung beispielsweise bezüglich fehlerhafter Benutzereingaben. Die Datenbank ist insbesondere über ein Netzwerk erreichbar, insbesondere über ein lokales und/oder internes Netzwerk (Local Area Network, LAN), ein Weitverkehrsnetz (Wide Area Network, WAN) und/oder insbesondere über das Internet, vorzugsweise auch per virtuellem privaten Netzwerk (VPN).
  • Die folgende Ausführung der Erfindung kann auch separat als Gegenstand der Patentanmeldung beansprucht werden, da sie die Aufgabe ebenfalls löst:
    Das Verfahren zum Testen der Software weist demnach wenigstens eine zu testende Software mit wenigstens einer zu testenden Softwarekomponente auf. Eine Testsoftware mit vorzugsweise wenigstens einer Testkomponente wird dabei zum Testen der Software verwendet. Demnach werden alternativ oder insbesondere ergänzend zur Durchführung des Softwaretests der Testsoftware und/oder deren Testkomponenten erforderliche Parameter bzw. Benutzereingaben vorgegeben. Hierzu dient insbesondere eine Benutzeroberfläche. Über die Benutzeroberfläche werden durch den Benutzer insbesondere entsprechende Eingaben vorgenommen, die insbesondere als Eingaben von Wertebereichen oder auch als Befehle dienen. Auch die eigentliche Ausführung der Testsoftware wird damit insbesondere mittels der Benutzeroberfläche vorgenommen. Somit wird dann vorzugsweise die Software sofort oder zeitverzögert ausgeführt, um den Test zu absolvieren.
  • Eine Speicherung der Testsoftware in der Datenbank und ein entsprechendes Auslesen wie oben weiter beschrieben ist hier explizit auch möglich. Das Herunterladen der gesamten oder zumindest wesentlicher Teile der Testsoftware beziehungsweise der wenigstens einen Testkomponente erfolgt demnach insbesondere unmittelbar zur Laufzeit der Software bzw. der Testsoftware. Damit kann auf einfache Weise sichergestellt werden, dass die Testsoftware vollständig auf dem Computersystem vorhanden ist. Außerdem wird damit die Software immer in der aktuellen Fassung bzw. Version bzw. dem jeweils aktuellen Entwicklungsstand verwendet. Außerdem wird die Testsoftware bzw. die Testkomponente direkt auf den Ausführungsserver heruntergeladen. Beim Ausführungsserver handelt es sich um das verwendete Computersystem bzw. die verwendete Datenverarbeitungsanlage zur Ausführung der Testsoftware bzw. der wenigstens einen Testkomponente.
  • Die Testsoftware bzw. die wenigstens eine Testkomponente (im Folgenden auch ”Testsoftware”) und/oder die Software bzw. die wenigstens eine Softwarekomponente (im Folgenden auch ”Software”) wird bzw. werden vorzugsweise als Clientsoftware (bzw. Benutzerkomponente) und/oder als Serversoftware (bzw. Serverkomponente) vorgesehen und/oder ausgeführt. Dies bedeutet, dass die Software bzw. die Programme auf einem Server- bzw. Clientrechner ablaufen, also auf einem üblicherweise zentralen Rechner, wie einem Server oder Serversystem jeweils insbesondere ohne eigene Benutzerschnittstelle. Letztere läuft dann auf einem Rechner beim Benutzer, wie einem Personalcomputer (PC), einem Notebook, einem Tablet, einem Mobiltelefon oder ähnlichem. Serversoftware bietet üblicherweise eine zentrale Datenschnittstelle, während eine Clientsoftware in der Regel eine Benutzerschnittstelle aufweist. Bevorzugt werden wenigstens eine serverbasierte bzw. eine serverseitige Komponente der Software, insbesondere ein sogenannter Serverdienst getestet. Der Test bzw. Softwaretest wird durch die Testsoftware bzw. die wenigstens eine Testkomponente durchgeführt. Insbesondere greift die Testsoftware bzw. die wenigstens eine Testkomponente auf die serverseitige Software bzw. die wenigstens eine serverbasierte Softwarekomponente zu. Dies ist erforderlich, um einerseits die Ausgaben und andererseits das Verhalten der Software zu überprüfen, beispielsweise bei fehlerhaften Eingaben etc. Die Testsoftware testet insbesondere die Funktionsweise und/oder die Fehlerfreiheit der Software bzw. wenigstens einer der Softwarekomponenten.
  • Die Software und die Testsoftware werden in einer besonderen Ausführung der Erfindung auf demselben Computersystem, einem Server oder Ausführungsserver, ausgeführt, vorzugsweise als voneinander unabhängige Prozesse. Alternativ werden die Software und die Testsoftware auf verschiedenen Computersystem ausgeführt. Weiter bevorzugt können die Software und/oder die Testsoftware in vorzugsweise jeweils wenigstens einer virtuellen Maschine ausgeführt werden, insbesondere auf demselben Computersystem oder auf verschiedenen Computersystemen. Damit wird einerseits eine Lastverteilung ermöglicht und durchgeführt, andererseits wird eine gegenseitige Beeinflussung der Instanzen bzw. Prozesse minimiert. Die verschiedenen Instanzen der Software und/oder der Testsoftware greifen dabei vorzugsweise auf die wenigstens eine Datenbank, insbesondere dieselbe Datenbank zu. Insbesondere wird eine gemeinsame Datenbank für die Testsoftware und/oder deren Daten und/oder die Software und/oder die Daten der Software vorgesehen. Damit sind vorzugsweise alle erforderlichen Daten und Programme an einer zentralen Stelle hinterlegt.
  • Die Benutzeroberfläche wird vorzugsweise als grafische Benutzeroberfläche (Graphical User Interface, GUI) ausgebildet. Sie wird insbesondere zur Laufzeit erzeugt. Damit kann ein Testbenutzer auf einfache und/oder visuell erfassbare Weise die Testsoftware und damit auch die Ausführung der Software steuern. Die Testsoftware bzw. die wenigstens eine Testkomponente wird vorzugsweise aus mehreren Komponenten gebildet, aus denen insbesondere erst im Zusammenwirken ein lauffähiges Programmpaket mit allen erwünschten Funktionen wird. Diese Testkomponenten weisen insbesondere unterschiedliche programmtechnische Aufgaben bzw. Abstraktionsebenen auf. Dies bedeutet, dass für die Komponenten oder Testkomponenten bzw. die unterschiedlichen programmtechnischen Abstraktionsebenen entsprechend unterschiedliche umfangreiche Programmierkenntnisse erforderlich sind. Je nach Abstraktionsebene reichen die erforderlichen Fähigkeiten vorzugsweise von der reinen Bedienung einer Software bzw. Oberfläche derselben über eine Skriptprogrammierung bis hin zur Erstellung von Programmen in einer komplexen Programmiersprache, insbesondere einer Hochsprache. Vorzugsweise kommen daher Benutzer mit unterschiedlichen Programmier- bzw. Computerkenntnissen für die verschiedenen Abstraktionsebenen in Betracht. Die Testkomponenten bzw. Abstraktionsebenen werden vorzugsweise in Form von Funktionsmodulen und/oder Testskripten und/oder Testfällen ausgebildet. Bei einem Funktionsmodul handelt es sich vorzugsweise um eine Funktionssammlung bzw. eine sogenannte Programmbibliothek, die insbesondere zumindest einen Teil der gegenüber dem Funktionsumfang der Programmiersprache zusätzlichen Funktionen der Testsoftware implementiert, vorzugsweise in einer (kompilierten) Hochsprache bzw. einer höheren Programmiersprache wie Java, C, C++, C#, oder Ähnlichem. Mit einem Testskript wird in der Regel auf die Funktionen des Funktionsmoduls zugegriffen. Testskripte werden dazu insbesondere in einer sogenannten Skriptsprache formuliert, also einer Programmiersprache mit deutlich weniger strenger hierarchischer Syntaxprüfung. Das Testskript steuert durch Übergabe von Parametern und Benutzereingabe den Programmablauf der Software insbesondere mittels der Funktionen des Funktionsmoduls. Schließlich fasst ein Testfall zumindest die für einen konkreten Programmablauf wesentlichen Parameter, Eingabe- und Ausgabewerte zusammen. Den Vorgaben entsprechend werden die Testskripte ausgewählt, die Software wird mit entsprechenden Parametern und Wertebereichen gefüttert und die entsprechenden Programmantworten der Software werden ausgewertet. Testfälle werden dazu im Allgemeinen mittels der insbesondere graphischen Benutzeroberfläche erstellt. Die Steuerung der Ausführung eines Testfalls auf einem Ausführungsserver bzw. deren Planung wird vorzugsweise mittels der Benutzeroberfläche vorgenommen. Dies erfolgt insbesondere im Voraus in der Regel zeitlich unabhängig von der Ausführung der Testsoftware. Dies bedeutet, dass ein Benutzer der Testsoftware zumindest alle Parameter, eventuell, die Auswahl der Testskripte und gegebenenfalls noch die Ausführungszeiten vorgibt. Alternativ oder ergänzend kann festgelegt werden, dass die Testsoftware beispielsweise in der Reihenfolge der Erstellung bzw. des Eingangs bei freien Rechenkapazitäten auf einem Ausführungsserver gestartet wird, dass Prioritäten vergeben werden etc..
  • Vorzugsweise werden die Komponenten unterschiedlicher Abstraktionsebene durch Personen bzw. Benutzer mit unterschiedlichen Programmierfähigkeiten programmiert bzw. erstellt. Bevorzugt gilt dies zumindest für den wenigstens einen Testfall (32) jeweils mit Hilfe der graphischen Benutzeroberfläche. Die Testausführung wird weiter bevorzugt mittels einer Bediensoftware zur Bedienung der Testsoftware (14) bzw. der Testkomponenten (30), insbesondere zur Erstellung von Testskripten (34) und/oder Testfällen (36), vorzugsweise durch wenigstens einen Benutzer programmiert und/oder geplant wird. Dies erfolgt insbesondere zeitlich unabhängig von der Ausführung im Voraus.
  • Besonders bevorzugt werden die Testsoftware bzw. die Testkomponenten und/oder die zur Durchführung erforderlichen Daten aus der Datenbank heruntergeladen, insbesondere durch und/oder auf ein Computersystem wie einem Server bzw. Ausführungsserver. Auf diesem findet die Testdurchführung statt. Das Herunterladen erfolgt insbesondere unmittelbar vor Durchführung des Softwaretests. Eine direkte Ausführung aus der Datenbank heraus kann ebenfalls möglich, sein. Die Testdurchführung erfolgt vorzugsweise zumindest im Wesentlichen automatisiert. Dies bedeutet, dass insbesondere kein weiterer Benutzereingriff erforderlich ist, also der Test bevorzugt zeit- und/oder ereignisgesteuert und/oder lastabhängig durchgeführt wird. Alternativ kann der Start des Softwaretest vorzugsweise direkt durch einen Benutzer vorgegeben bzw. durchgeführt werden.
  • Des Weiteren wird in einer bevorzugten Ausführung der Erfindung wenigstens ein Bericht bzw. Report über die wenigstens eine Testausführung erstellt und/oder bereitgestellt, insbesondere automatisch. Dabei werden bevorzugt Eingabedaten und/oder die Testsoftware und/oder die wenigstens eine Testkomponente und/oder Ausgabedaten beziehungsweise ein Ergebnis der Testausführung, insbesondere einzelner Testläufe der Testsoftware in der wenigstens einen Datenbank gespeichert. Außerdem können die Daten und/oder die Testsoftware und/oder die Software in mehreren separaten Datenbanken gespeichert werden. Bevorzugt wird allerdings eine einzige Datenbank für alle Daten und Programme verwendet, um lediglich einen zentralen Ort für die Ablage sämtlicher Daten vorhalten zu müssen.
  • Außerdem wird die Aufgabe der Erfindung durch ein Programmprodukt beziehungsweise ein Computerprogrammprodukt zur Durchführung eines Verfahrens gemäß den obigen Ausführungen gelöst, sofern das Programmprodukt auf einer programmtechnisch eingerichteten Datenverarbeitungsanlage abläuft, also insbesondere auf einem Computersystem, einem Personalcomputer (PC), einem Mobiltelefon, einem tragbaren Computer bzw. Laptop, einem Tablet-Computer, einem verteilten Rechnersystem, einem Prozessrechner, einem Client-Server-System und dergleichen.
  • Die Aufgabe wird außerdem gelöst durch eine Datenverarbeitungsanlage zur Ausführung des beschriebenen Verfahrens mit einem in einem der Datenverarbeitungsanlage zugeordneten Speicher hinterlegten Programmprodukt gemäß obigen Ausführungen.
  • Weitere bevorzugte Ausführungen der Erfindung sind den Ansprüchen zu entnehmen. Eine besonders bevorzugte Ausführungsform der Erfindung wird im Folgenden anhand der Zeichnungen näher beschrieben. In dieser zeigt:
  • 1 ein Blockdiagramm zur Funktionsweise des erfindungsgemäßen Verfahrens.
  • Der Entwicklungsprozess einer Software 10 bis zur Einsatzreife umfasst in der Regel eine Reihe von Schritten. Die wesentlichen Schritte sind dabei in der Regel eine Planungsphase, eine Entwicklungsphase mit der eigentlichen Codierung bzw. Programmierung und schließlich eine Testphase bzw. einen Softwaretest 12. Der eigentliche Softwaretest 12 ist dabei Teil eines Softwaretestverfahrens. Bei dem hier beschriebenen Verfahren wird der Softwaretest 12 automatisiert mittels einer Testsoftware 14 durchgeführt. Die Testsoftware 14 greift auf die zu testende Software 10 zu zur Bereitstellung von Eingabedaten 16 als Werten oder aus Wertebereichen bzw. auch als Benutzereingaben. Die von der Software nach entsprechender Auswertung zurückgelieferten Ergebnisse bzw. Ausgabedaten 18 werden wiederum von der Testsoftware 14 entgegengenommen.
  • Die Software 10 kann aus einer oder mehreren Komponenten, nämlich sogenannten Softwarekomponenten 20, gebildet werden. In 1 ist einerseits mit durchgezogenem Rahmen eine einzelne Softwarekomponente 20 dargestellt. Alternativ sind weitere Softwarekomponenten 20 gestrichelt gezeigt. In der Regel handelt es sich bei der Software 10 bzw. der wenigstens einen Softwarekomponente 20 jeweils um serverseitige Computerprogramme bzw. sogenannte Serversoftware. Die Software 10 weist dazu typischerweise also zumindest eine Serverkomponente 22 als Softwarekomponente 22 auf. Eine Serversoftware beinhaltet üblicherweise keine Benutzerschnittstelle, sondern lediglich Schnittstellen zum Zugriff durch andere Programme, üblicherweise per Netzwerk. Demnach können dann alle erforderlichen Zugriffe auf die Serverkomponente 22 über ein Netzwerk 24 erfolgen, insbesondere per Netzwerkprotokoll.
  • Des Weiteren kommunizieren die übrigen Softwarekomponenten 20, wie beispielsweise eine Benutzeroberfläche einer Benutzerkomponente 26, entsprechend mit der Serverkomponente 22. Dazu sind entsprechende Schnittstellen in den Softwarekomponenten 20 definiert. Über die Benutzerkomponente 26 kann ein menschlicher Benutzer oder Anwender mit der Software 10 interagieren. Dazu erzeugt die Benutzerkomponente 26 eine in der Regel graphische Benutzeroberfläche (Graphical User Interface, GUI). Diese wird dazu auf einem Anzeigegerät wie einem Computerbildschirm dargestellt, also beispielsweise einer Flüssigkristallanzeige (Liquid Crystal Display, LCD). Die Benutzerkomponente 26 wird insbesondere auf demselben Rechnersystem ausgeführt wie die Serverkomponente 22. Alternativ kann sie auch auf einem anderen Rechnersystem, beispielsweise einem Rechnersystem eines Anwenders, ablaufen, insbesondere einem Personal Computer (PC), einem tragbaren Computer, wie einem Notebook oder einem Tablet-Computer, einem Mobiltelefon etc. Dazu wird eine Kopplung über das Netzwerk 24, insbesondere einem lokalen Netzwerk (LAN) und/oder dem Internet, hergestellt.
  • Die Testsoftware 14 und die Software 10 tauschen über entsprechende Schnittstellen Daten aus, wie die Pfeile in der 1 andeuten. Dabei handelt es sich insbesondere um Eingabedaten 16 für die Software und entsprechende Steuerbefehle zu deren Steuerung. Ausgabedaten 18 der Software 10 werden durch die Testsoftware 14 entgegengenommen und ausgewertet. Sie werden insbesondere auf Konformität mit den vordefinierten bzw. erwarteten Werten und Reaktionen überprüft. Die Testsoftware 14 wird daher vorwiegend Werte und Eingaben über die Schnittstelle an die Software 10 übergeben, die Benutzereingaben in die graphische Benutzeroberfläche der Benutzerkomponente 26 entsprechen.
  • Die Testsoftware 14 umfasst hier mehrere Komponenten 30. Hier handelt es sich dabei um drei Komponenten 32, 34 und 36. Im Funktionsmodul 32 sind sämtliche Funktionen Zugriff auf die Software 10 bzw. deren Softwarekomponenten 20 kodiert. Dies betrifft insbesondere die Implementierung des Netzwerkzugriffs. Des Weiteren erfolgt hier die Bereitstellung der Eingabedaten 16. Außerdem ist auch die Entgegennahme und insbesondere eine Bearbeitung der Ausgabedaten 18 vorgesehen. Eventuelle Rückmeldungen bezüglich der Testergebnisse werden ebenfalls im Kern durch die Funktionen des Funktionsmoduls 32 bereitgestellt.
  • Die Komponenten 30, 32 und 34 werden insbesondere in wenigstens einer Programmbibliothek zusammengefasst, auf die auf einfache Weise zugegriffen werden kann. Das Funktionsmodul 32 ist dazu vorzugsweise in einer kompilierbaren Programmiersprache, insbesondere einer sogenannten Hochsprache, wie Java, einem C-Dialekt etc., implementiert. Zur Erstellung geeigneter Quelltexte in einer solchen Programmiersprache sind ausgewiesene Programmierkenntnisse notwendig. Dementsprechend kann eine solche programmierende Tätigkeit lediglich von einem entsprechend ausgebildeten Programmierer durchgeführt werden. Ein Mitarbeiter der Qualitätssicherung, der für die eigentlichen Testausführungen zuständig ist, ist hierzu in der Regal weder ausgebildet noch qualifiziert.
  • Auf die Funktionen des Funktionsmoduls 32 wird mittels sogenannter Testskripte 34 zugegriffen. Ein Testskript 34 wird dazu in einer Skriptsprache formuliert, wobei Programmierbefehle verwendet werden, die darauf ausgerichtet sind, den Ablauf der Testsoftware 14 zu steuern. Ein solches Testskript 34 führt eine Reihe von Bedienungsschritten mittels Benutzereingaben durch bzw. gibt konkrete Eingabedaten 16 aus vorgegebenen Wertebereichen vor. Insgesamt wird also die gesamte Steuerung des Testablaufs durch ein Testskript 34 vorgenommen. Da die Testskripte 34 in einer sogenannten Skriptsprache formuliert sind, lassen sie sich auch ohne explizite Programmiererfahrung erstellen. Die formalen Anforderungen, wie Syntax etc., sind dabei einfacher gehalten als im Falle einer komplexen höheren Programmiersprache. Als Skriptsprachen kommen beispielsweise JavaScript, JRuby, Jython, BeanShell, Groovy etc. in Betracht.
  • Ausgehend von den mittels des wenigstens einen Testskripts 34 definierten Abläufen des Softwaretests 12 kann zunächst wenigstens ein so genannter Testfall 36 als konkreter Testlauf der Testsoftware 14 erstellt werden. Der Testfall 36 definiert die entsprechenden Eingabedaten 16 für die testende Software 10 beziehungsweise deren Softwarekomponenten 20. Diese Eingabedaten 16 können beispielsweise als Benutzereingaben, Wertebereiche oder auch Steuerbefehle für die Software 10 ausgeführt sein. Der Testfall 36 definiert ferner, welche Ausgabedaten 18 oder allgemein welche Rückgaben bzw. welche Reaktionen der Software 10 abgefragt werden. Des Weiteren wird festgelegt, welche der genannten Ausgabedaten 18 bzw. welche Rückgaben ausgewertet werden, um damit Rückschlüsse auf die Konformität der Software 10 mit den im Rahmen eines vorab in der Entwicklungsphase erstellten Pflichtenheftes vorgesehenen Eigenschaften, außerdem auf Fehlerfreiheit und korrekte Behandlung von Eingabefehlern etc. überprüft.
  • Ergänzend kann zu jedem Testfall 36 der Startmodus festgelegt werden, also ob dieser manuell durch einen Benutzer oder automatisiert aufgrund festzulegenden Kriterien ausgeführt wird. Ein manueller Start kann beispielsweise durch einen Benutzer des entsprechenden Testrechners bzw. Ausführungsservers vorgenommen werden, beispielsweise zu Beginn einer Arbeitspause oder auch über Nacht. Damit wird vermieden, dass ein automatisierter Start durch eine entsprechende zeit- oder ereignisgesteuerte Steuersoftware vorgenommen wird, wenn der Rechner belegt ist. Die Ausführungszeit kann demnach konkret festgelegt werden. Ebenfalls kann als Ausführung in der Reihenfolge der Erstellung oder eine Priorisierung der Testfälle 36 erfolgen. In diesem Fall wird der Ausführungsserver bzw. die entsprechende Steuersoftware die Ausführung der zur Verfügung stehenden Ressourcen auf dem Ausführungsserver planen und Starts durchführen. Damit kann für eine möglichst ressourcenschonende, wechselwirkungsfreie bzw. gleichmäßig auslastende Abarbeitung der erstellten Testfälle 36 gesorgt werden. Insbesondere wird dabei auch die zur Verfügung stehende Rechenkapazität auf dem wenigstens einen Ausführungsserver optimal ausgenutzt.
  • Die zu testende Software 10 kann als Softwarekomponenten 20 verschiedene Programmteile aufweisen. In der 1 ist als wichtigste Softwarekomponente 20 eine Serverkomponente 22 vorhanden. Dies bedeutet, dass diese Komponente 22 auf einem Server oder serverähnlichen Rechner lauffähig ist. Diese erfordert zum vollständigen Funktionieren in der Regel kein reales Ausgabegerät. Die Schnittstellen von Serverkomponenten 22 im Allgemeinen und der hier konkret angesprochenen wenigstens einen Serverkomponente 22 dienen im Allgemeinen nämlich gerade nicht dazu, direkt eine insbesondere optisch, akustisch, olfaktorisch oder auch haptisch für einen Nutzer wahrnehmbare Ausgabe auf entsprechenden Geräten zu erzeugen. Hierzu dient die Benutzerschnittstelle. Stattdessen stellen die Schnittstellen der Serverkomponente 22 programmtechnische Schnittstellen dar, die zur Übergabe bzw. zum Austausch von Daten mit anderen Programmkomponenten oder Softwarekomponenten 20 erforderlich sind. Dementsprechend ist eine solche Serverkomponente 22 praktisch vollständig entkoppelt von einer direkten Interaktion mit einem Benutzer lauffähig.
  • Unter den weiteren Softwarekomponenten 20, mit denen die serverseitige Softwarekomponente 22 kommuniziert, kann sich insbesondere auch eine Benutzerschnittstelle als Benutzerkomponente 26 befinden. Die Benutzerkomponente 26 dient der Interaktion mit einem menschlichen Benutzer. Dabei werden wahrnehmbare Eindrücke in der realen Welt erzeugt, wie insbesondere optische, akustische, haptische, und olfaktorische Reize. In der Regel wird jedoch eine graphische Benutzeroberfläche vorgesehen sein. Mit dieser kann der Benutzer interagieren, indem er Eingaben vornimmt oder auch den Programmablauf durch Eingriffe beeinflusst. Aufgrund dessen kann eine der Softwarekomponenten 20 weitere Effekte in der realen Welt hervorrufen, wie beispielsweise die Steuerung elektrischer, mechanischer oder ähnlicher Gerätschaften.
  • Die Serverkomponente 22 und die gestrichelt dargestellte Benutzerkomponente 26 laufen innerhalb der Software 10 als einem umfassenden Programmpaket 38 ab. Alternativ können die einzelnen Softwarekomponenten 20 auch auf mehrere verschiedene Instanzen oder Programmpakete 38, 40 der Software 10 aufgeteilt werden. Dies ist in der 1 durch die gestrichelte Darstellung des zweiten Programmpakets 40 angedeutet.
  • Zum Datenaustausch zwischen den einzelnen Softwarekomponenten 20, nämlich insbesondere zwischen der Serverkomponente 22 im Programmpaket 38 und der Benutzerkomponente 26 im Programmpaket 40 ist auch hier eine Verbindung über das Netzwerk 24 vorgesehen. Das Netzwerk 24 wird hier als ein einheitliches Netzwerk mit der Bezugsziffer 24 bezeichnet. Es kann sich aber auch um separate Segmente oder Abschnitte eines einzelnen insbesondere lokalen Netzwerks 24 oder um separate Netzwerke 24 handeln. In jedem Fall werden die einzelnen Netzwerkverbindungen paarweise zwischen jeweils zwei der Softwarekomponenten 20 und Testkomponenten 30 hergestellt, wie mit Pfeilen 16, 24 bzw. 18, 24 angedeutet ist.
  • Der Austausch von Werte- bzw. Parameterbereichen einerseits und von Ergebnissen bzw. Antworten der Software andererseits erfolgt als Eingabedaten 16 bzw. Ausgabedaten 18. Hierzu sind in der Zeichnung die entsprechenden Netzwerkverbindungen gezeigt. Diese verlaufen sowohl zwischen der Testsoftware 14 und dem Programmpaket 38 mit der Serverkomponente 22 als auch zusätzlich zwischen der Testsoftware 14 und dem optional separaten Programmpaket 40 mit der Benutzerkomponente 26. Außerdem lassen sich verschiedene andere Konfigurationen in Betracht ziehen. Insbesondere können weitere Softwarekomponenten 20 vorgesehen sein, die weitere einzelne Aspekte der Software 10 abdecken als die hier als Programmpakete 38 bzw. 40 beschriebenen.
  • Bei einer Instanz eines Computerprogramms handelt es sich um den tatsächlich ausführbaren Kode im Speicher eines Rechnersystems, also ein ausführbares Programm bzw. einen Prozess zur Laufzeit. Dementsprechend kann hier die Software 10 auch in mehrere Prozesse oder auch Threads aufgeschlüsselt sein. Teile der Software 10 bzw. Softwarekomponenten 20 lassen sich auch als einzelne, als solches lauffähige Instanzen der Software 10 bzw. der Softwarekomponenten 20 auffassen.
  • Außerdem ist eine Datenbank 42 vorgesehen, um die unterschiedlichen Daten zu speichern. Üblicherweise werden in einer Datenbank 42 die Eingabedaten 16 und Ausgabedaten 18 der verschiedenen Teile der Software 10 bzw. der Testsoftware 14 abgelegt. Im vorliegenden Fall sind die ausführbaren Programme der Testsoftware 14 selber in der Datenbank 42 abgelegt. Außerdem können optional auch zumindest Teile der Software 10 mit ihren Softwarekomponenten 20 in der Datenbank 42 gespeichert werden.
  • Erfindungsgemäß ist also die Testsoftware 14 als solche in der Datenbank 42 gespeichert. Dementsprechend sind auch die Testkomponenten 30 dort abgelegt, so dass das wenigstens eine Funktionsmodul 32, das wenigstens eine Testskript 34 und der wenigstens eine Testfall 36 in der Datenbank gespeichert werden. Die Testsoftware 14 mit den erforderlichen Testkomponenten 30 wird über das Netzwerk 24 in einem Ausleseschritt 44 ausgelesen. Dies geschieht jeweils zur Laufzeit der Testsoftware 14, vorzugsweise bei jeder erneuten Ausführung oder jedem Neustart. Damit ist sichergestellt, dass die Testsoftware 14 bei der Ausführung jeweils der aktuellen, in der Datenbank 42 hinterlegten Version bzw. Fassung entspricht. Eine dezentrale Datenhaltung würde demgegenüber die Einheitlichkeit der verwendeten Testsoftware 14 einschließlich deren Daten und eine entsprechende Aktualisierung deutlich erschweren. Somit wird auf einfache Weise die jeweils aktuelle Testsoftware 14 verwendet, die selbst bei marginalen Änderungen sofort eingesetzt wird. Als Datenbanksoftware werden insbesondere SQL-Datenbanken verwendet, beispielsweise MySQL, Postgresql, Oracle etc.
  • Über das Netzwerk 24 werden insbesondere die Rückgabedaten bzw. Ausgabedaten 18 der Testsoftware 14 ebenso wie die Testergebnisse bzw. Auswertungen in die Datenbank 42 zurückgeschrieben. Es ist hier vorgesehen, dass sowohl die für die Ausführung erforderlichen Teile der Testsoftware 14 wie auch die Testergebnisse in derselben Datenbank 42 abgelegt werden. Prinzipiell kann allerdings auch eine Aufteilung der zu Grunde liegenden Daten und Programme einerseits und Testergebnisse andererseits auf verschiedene Datenbanken vorgesehen werden. Dies wird hier allerdings nicht im Detail diskutiert.
  • Der Ausleseschritt 44 und der Speicherschritt 46 können auch bei der zu testenden Software 10 selber vorgesehen sein. Dies wird durch entsprechende Pfeile zwischen der Datenbank 42 und dem Programmpaket 38 wie auch dem optionalen Programmpaket 40 dargestellt. Auch die eigentliche Software 10 kann demnach optional in der Datenbank 42 abgespeichert bzw. von dort abgerufen werden. Gleiches gilt für die für den Betrieb der Software 10 erforderlichen Daten, die nicht Teil des Softwaretests 12 sind. Die Vorteile der vorgeschlagenen Vorgehensweise sind vielfältig. Zum einen wird für eine hohe Aktualität der verwendeten Testsoftware 14 und deren Testkomponenten 30 gesorgt, wobei die Pflege und Vereinheitlichung der Testsoftware 14 deutlich vereinfacht wird. Zum Anderen wird durch eine Aufteilung in einzelne Testkomponenten 32, 34, 36 die Bedienung der Testsoftware 14 wesentlich erleichtert. Während die Funktionskomponenten 32 zwar nach wie vor in jedem Fall durch erfahrene Programmierer entwickelt werden müssen, lassen sich die einfacheren Testskripte 34 dagegen beispielsweise bereits durch erfahrene und entsprechend geschulte Mitarbeiter aus dem Bereich der Qualitätssicherung erstellen. Eine Skriptsprache umfasst nämlich vergleichsweise mächtige und einfach erlernbare Grundfunktionen, die viele Bearbeitungsschritte bereits einschließen. Außerdem ähneln Skriptsprachen einer menschlichen Sprache deutlich stärker als die beispielsweise für die Funktionsmodule 32 verwendeten komplexen Programmiersprachen. Somit werden deutlich geringere Anforderungen an die Mitarbeiter insgesamt gestellt als üblich bei Softwaretests 12. Schließlich können die einzelnen Testfälle 36 auf Basis der erstellten Testskripte 34 praktisch durch jeden Mitarbeiter mit einem Grundverständnis der Software 10 erstellt bzw. abgearbeitet und bedient werden, um entsprechende Softwaretests 12 durchzuführen. Programmierkenntnisse wie bisher sind hierzu nicht mehr erforderlich.
  • Zum Datenaustausch zwischen den einzelnen Elementen bzw. Komponenten des hier beschriebenen Verfahrens wird das Netzwerk 24 verwendet. Es kann es sich dabei um das Internet als solches oder auch um private bzw. lokale Netzwerke oder beliebige Kombinationen daraus handeln. Insbesondere kommt z. B. ein lokales Netzwerk (Local Area Network, LAN) aber auch ein Weitraumnetz (Wide Area Network, WAN) bzw. Anbindungen über ein virtuelles privates Netzwerk (VPN) etc. in Betracht. Auch verschiedene Netzwerktypen, wie drahtgebundene Netzwerke, Funknetzwerke, optische Netzwerke und ähnliches, wie auch Kombinationen derselben und verschiedenste Netzwerkprotokolle sind verwendbar.
  • Bei dem oben beschriebenen Netz bzw. Netzwerk 24 kann sich um ein abgeschlossenes, separates Netzwerk handeln und/oder um Teile eines größeren Netzwerks, wie insbesondere das Internet. Die einzelnen Teile des Netzwerks 24 können aber auch bereits innerhalb eines Rechners oder sogar innerhalb der Software 10 bzw. der Testsoftware 14 angeordnet sein, insbesondere als virtuelle Netzwerke. Demnach werden über das Netzwerk 24 Daten und Zustandsinformationen zwischen einzelnen Instanzen der Prozesse der Testsoftware 14 und der Software 10 ausgetauscht. Die Softwarekomponenten 20 bzw. Testkomponenten 30 können auch statt auf separaten realen Rechnersystemen lediglich in separaten virtuellen Maschinen ausgeführt werden. Bei einer virtuellen Maschine handelt es sich um einen virtuellen (simulierten) Rechner im Speicher eines realen Rechnersystems. In der virtuellen Maschine läuft ein Betriebssystem, das zur Ausführung beispielsweise der auf dem Server lauffähigen bzw. ausführbarer Software 10 und/oder Testsoftware 14 dient. Eine oder mehrere der virtuellen Maschinen können auf einem oder mehreren Systeme ablaufen bzw. angeordnet sein und insbesondere zwischen diesen verschieben.
  • Das Vorhalten der Daten in der Datenbank 42 sorgt dafür, dass eine gute Skalierbarkeit vorhanden ist. Außerdem werden die Software 10 und die entsprechenden Ausführungsserver im Netzwerk 24 adressiert. Sofern folglich zumindest zeitweise ein gestiegener oder gesunkener Bedarf an Rechenkapazität für das Abarbeiten der Testfälle 36 besteht, können dementsprechend zusätzliche Ausführungsserver hinzugenommen oder wieder abgegeben werden. Diese Server müssen lediglich über das Netzwerk 24 mit der Software 10 kommunizieren können. Damit eignet sich die vorgeschlagene Vorgehensweise insbesondere für praktisch beliebig große, umfangreiche und komplexe Netzanwendungen bzw. Rechnernetze mit vielen Anwendern.
  • Das erfindungsgemäße Verfahren funktioniert wie folgt:
    Zur Laufzeit wird die Testsoftware 14 aus der Datenbank 42 ausgelesen. Auf einem Rechnersystem wird die Testsoftware 14 als wenigstens ein entsprechender Prozess gestartet. Während des Programmablaufs der Testsoftware 14 greift diese über das Netzwerk 24 auf die Software 10 zu. Zur Übergabe der entsprechenden Eingabedaten 60 verbindet sich die Testsoftware 14 dann mit der Serverkomponente 22 der Software 10. Die zu testenden Benutzereingaben in die nicht verwendete Benutzerkomponente 26 werden dann emuliert, indem die entsprechenden Ausgaben der Benutzerkomponente 26 über die Schnittstellen mit der Serverkomponente 22 übergeben werden.
  • Alternativ oder ergänzend kann die Testsoftware 14 aber auch direkt auf die Benutzerkomponente 26 zugreifen. Die entsprechenden Benutzereingaben in eine Benutzerkomponente 26 werden dann durch die Testsoftware 14 vorgenommen. Dazu werden die entsprechend ausgewählten Werte der Wertebereiche in eine Eingabemaske der Benutzerkomponente 26 eingetragen und geeignete Benutzereingaben, wie beispielsweise Mausklicks oder Ähnliches vorgenommen.
  • Welche der beiden vorstehenden Varianten zur unterschiedlichen Aufteilung der Testsoftware 14 in Frage kommt, ist davon abhängig, ob einerseits eine Aufteilung in einen Serverkomponente 22 und eine Benutzerkomponente 26 eine Software 10 vorgenommen wurde und welche der Komponenten 20 tatsächlich getestet werden soll. Je nach Ausgestaltung der Benutzerkomponente 26 und der Serverkomponente 22 werden die Schnittstellen entsprechend für einen Datenaustausch über das Netzwerk 24 vorgesehen.
  • Die Benutzeroberfläche der Benutzerkomponente 26 kann im vorliegenden Fall insbesondere als graphische Benutzeroberfläche (Graphical User Interface, GUI) ausgebildet sein. Die Benutzeroberfläche wird dazu beispielsweise als graphische Darstellung auf einem separaten Anzeigegerät des Rechnersystems der Benutzerkomponente 26 erzeugt und repräsentiert. Alternativ kann die Anwendung auch eine Steuerung über das Netzwerk ermöglichen, indem die graphische Benutzeroberfläche durch die Benutzerkomponente 26 auf einem Serversystem erzeugt und auf dem Rechnersystem des Benutzers lediglich dargestellt wird. Insbesondere erfolgt die Darstellung dazu als Webseite im World Wide Web (WWW). Damit werden entsprechende Eingabemöglichkeiten bereitgestellt. Die Webseiten werden dazu insbesondere als HTML, XML oder in anderen im Internet verwendeten Formaten erstellt.
  • Eventuelle im Rahmen dieser Patentanmeldung genannte Marken verbleiben im Eigentum der Markeninhaber. Sie werden explizit nur zur Verdeutlichung der Sachlage und keinesfalls markenmäßig verwendet.
  • Bezugszeichenliste
  • 10
    Software
    12
    Softwaretest
    14
    Testsoftware
    16
    Eingabedaten
    18
    Ausgabedaten
    20
    Softwarekomponente
    22
    Serverkomponente
    24
    Netzwerk
    26
    Benutzerkomponente
    28
    Netzwerk
    30
    Testkomponente
    32
    Funktionsmodul
    34
    Testskript
    36
    Testfall
    38
    Programmpaket
    40
    Programmpaket
    42
    Datenbank
    44
    Ausleseschritt
    46
    Speicherschritt

Claims (11)

  1. Verfahren zum Testen einer Software (10) bzw. Softwaretestverfahren, mit wenigstens einer zu testenden Software (10) und mit wenigstens einer Testsoftware (14) (einem Testframework), wobei die Testsoftware (14) wenigstens eine Testkomponente (30) zum Testen der Software (10) und/oder zumindest einer Komponente der Software bzw. Softwarekomponente (20) aufweist, dadurch gekennzeichnet, dass die gesamte oder zumindest wesentliche Teile der Testsoftware (14) und/oder der wenigstens einen Testkomponente (30) in einer zentralen Datenbank (42) gespeichert und zur Testdurchführung aus der Datenbank (42) auf ein Computersystem heruntergeladen werden.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Testdurchführung seitens der Testsoftware (14) bzw. deren Testkomponenten (30) und/oder deren Parameter durch Benutzereingaben über eine Benutzeroberfläche insbesondere einer Benutzerkomponente (26) gesteuert bzw. festgelegt werden, und/oder dass die Benutzeroberfläche bzw. die Benutzerkomponente (26) als graphische Benutzeroberfläche (GUI) ausgebildet wird.
  3. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass das Herunterladen der gesamten oder zumindest wesentlicher Teile der Testsoftware (14) bzw. der wenigstens einen Testkomponente (30) vorzugsweise unmittelbar zur Laufzeit des Softwaretests (12) durchgeführt wird, vorzugsweise auf ein als Ausführungsserver verwendetes Computersystem bzw. eine Datenverarbeitungsanlage.
  4. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Testsoftware (14) bzw. die wenigstens eine Testkomponente (30) und/oder die Software (10) bzw. die wenigstens eine Softwarekomponente (20) vorzugsweise als Clientsoftware bzw. Benutzerkomponente (26) und/oder Serversoftware bzw. Serverkomponente (22) ausgeführt wird/werden, und/oder dass wenigstens eine serverbasierte bzw. serverseitige Komponente der Software (10) bzw. Softwarekomponente (20), insbesondere wenigstens ein Serverdienst, getestet wird, und/oder dass die Testsoftware (14) bzw. die wenigstens eine Testkomponente (30) insbesondere auf die serverseitige Software (10) bzw. die wenigstens eine serverbasierte Softwarekomponente (20) zugreift, und/oder dass die Testsoftware (14) insbesondere die Funktionsweise bzw. Fehlerfreiheit der Software (10) bzw. deren wenigstens einer Komponente überprüft.
  5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Software (10) und die Testsoftware (14) auf demselben Computersystem ausgeführt werden, insbesondere auf einer oder mehreren virtuellen Maschinen, und/oder dass die Software (10) und die Testsoftware (14) auf verschiedenen Computersystemen bzw. Servern, insbesondere mehreren virtuellen Maschinen, ausgeführt werden.
  6. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Testsoftware (14) bzw. die wenigstens eine Testkomponente (30) aus Komponenten verschiedener programmtechnischer Abstraktionsebene, insbesondere jeweils aus wenigstens einem, Funktionsmodul und/oder Testskript und/oder Testfall, gebildet wird.
  7. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die Komponenten unterschiedlicher Abstraktionsebene durch Personen bzw. Benutzer mit unterschiedlichen Programmierfähigkeiten programmiert bzw. erstellt werden, bevorzugt zumindest der wenigstens eine Testfall (32) jeweils mit Hilfe der graphischen Benutzeroberfläche, und/oder dass die Testausführung mittels einer Bediensoftware zur Bedienung der Testsoftware (14) bzw. der Testkomponenten (30), insbesondere zur Erstellung von Testskripten (34) und/oder Testfällen (36), vorzugsweise durch wenigstens einen Benutzer programmiert und/oder geplant wird, insbesondere zeitlich unabhängig von der Ausführung im Voraus.
  8. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass ein Computersystem, insbesondere ein Ausführungsserver, die Testsoftware (14) bzw. die Testkomponente (30) und/oder erforderliche Daten zur Testdurchführung aus der wenigstens einen Datenbank (42) herunterlädt, um vorzugsweise direkt anschließend mittels der Testsoftware (14) bzw. deren Testkomponenten (30) die Software (10) zu testen, wobei die Ausführung des Softwaretests (12) vorzugsweise zumindest im Wesentlichen automatisiert abläuft, besonders bevorzugt vollautomatisch insbesondere ohne weiteren Benutzereingriff.
  9. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass Berichte über die wenigstens eine Ausführung des Softwaretests (12) bzw. den wenigstens einen Testlauf erstellt und/oder bereitgestellt werden, vorzugsweise automatisiert, und/oder dass die Eingabedaten (16) und/oder die Testsoftware (14) bzw. deren Testkomponenten (30) und/oder die Ausgabedaten (18) bzw. die Ergebnisse der Testausführung, insbesondere einzelner Testläufe der Testsoftware (14) in der einen Datenbank (42) und/oder in mehreren unterschiedlichen Datenbanken (42) gespeichert werden.
  10. Programmprodukt, insbesondere Computerprogrammprodukt, zur Ausführung eines Verfahrens insbesondere nach einem der vorhergehenden Ansprüche, wenn es auf einer programmtechnisch eingerichteten Datenverarbeitungsanlage abläuft, insbesondere Computersystem, einem Personalcomputer (PC), einem Mobiltelefon, einem Laptop, einem Tabletcomputer, einem verteilten Rechnersystem, einem Client-Server-System und dergleichen.
  11. Datenverarbeitungsanlage zur Ausführung des Verfahrens nach einem der Ansprüche 1 bis 9 mit einem in einem der Datenverarbeitungsanlage zugeordneten Speicher hinterlegten Programmprodukt nach Anspruch 10.
DE201110055905 2011-11-30 2011-11-30 Verfahren zum Testen einer Software bzw. Softwaretestverfahren, Programmprodukt und Datenverarbeitungsanlage zur Ausführung des Verfahrens Withdrawn DE102011055905A1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE201110055905 DE102011055905A1 (de) 2011-11-30 2011-11-30 Verfahren zum Testen einer Software bzw. Softwaretestverfahren, Programmprodukt und Datenverarbeitungsanlage zur Ausführung des Verfahrens

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE201110055905 DE102011055905A1 (de) 2011-11-30 2011-11-30 Verfahren zum Testen einer Software bzw. Softwaretestverfahren, Programmprodukt und Datenverarbeitungsanlage zur Ausführung des Verfahrens

Publications (1)

Publication Number Publication Date
DE102011055905A1 true DE102011055905A1 (de) 2013-06-06

Family

ID=48431047

Family Applications (1)

Application Number Title Priority Date Filing Date
DE201110055905 Withdrawn DE102011055905A1 (de) 2011-11-30 2011-11-30 Verfahren zum Testen einer Software bzw. Softwaretestverfahren, Programmprodukt und Datenverarbeitungsanlage zur Ausführung des Verfahrens

Country Status (1)

Country Link
DE (1) DE102011055905A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109408372A (zh) * 2018-09-26 2019-03-01 平安普惠企业管理有限公司 公共组件测试方法、装置、计算机设备和存储介质
CN112214405A (zh) * 2020-09-30 2021-01-12 维沃移动通信有限公司 一种软件测试方法、装置、电子设备和可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
WIKIPEDIA: Apache Subversion. 24.11.2011 [recherchiert am 16.08.2012]. Im Internet: *
WIKIPEDIA: Apache Subversion. 24.11.2011 [recherchiert am 16.08.2012]. Im Internet: <URL: http://de.wikipedia.org/w/index.php?title=Apache_Subversion&oldid=96356230>

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109408372A (zh) * 2018-09-26 2019-03-01 平安普惠企业管理有限公司 公共组件测试方法、装置、计算机设备和存储介质
CN112214405A (zh) * 2020-09-30 2021-01-12 维沃移动通信有限公司 一种软件测试方法、装置、电子设备和可读存储介质

Similar Documents

Publication Publication Date Title
DE60010906T2 (de) Verfahren zum testen von web-basierten softwareobjekten
DE102013207608B4 (de) Instrumentieren von Software-Anwendungen für die Konfiguration derselben
DE10255125A1 (de) Dezentralisierte Automatische Testung von Grafischen Benutzerschnittstellen(GUI) von Software
DE112016003949T5 (de) Webbasierte programmierumgebung für eingebettete geräte
DE19639424A1 (de) Entwurfsverfahren für die Anlagentechnik und rechnergestütztes Projektierungssystem zur Verwendung bei diesem Verfahren
DE102006046203A1 (de) Verfahren zur rechnergestützten Bewertung von Softwarequellcode
DE102004057021A1 (de) Verfahren und System zum Testen eines Computersystems durch ein Anlegen einer Last
DE10127170A1 (de) Fehlersuchverfahren und Fehlersuchvorrichtung
DE112011103428T5 (de) Automatisierte Analyse zusammengesetzter Anwendungen
DE102013001196A1 (de) Verfahren zum Bereitstellen einer Benutzerschnittstelle, Computersystem und Computerprogrammprodukt
EP1657670A1 (de) System und Verfahren zur Status- und Fortschriftskontrolle eines technischen Prozesses oder eines technischen Projektes
EP2648094B1 (de) Verfahren und system zum erzeugen eines quellcodes für ein computerprogramm zur ausführung und simulation eines prozesses
DE102005058164A1 (de) Betriebsüberwachungssytem für eine ausführbare Anwendung
DE112013006686T5 (de) Programmierbare Steuerung, programmierbares Steuersystem und Verfahren zum Erzeugen einer Ausführungsfehlerinformation
DE102018206762A1 (de) Feature-Development-Framework und Feature-Integration-Framework zum Implementieren physikalischer Funktionsfeatures in einem Zielgerät
CH701481B1 (de) Prozessmanagement.
DE102011055905A1 (de) Verfahren zum Testen einer Software bzw. Softwaretestverfahren, Programmprodukt und Datenverarbeitungsanlage zur Ausführung des Verfahrens
DE112017002503T5 (de) Schritt-zurück-mechanismus zum entwickeln und diagnostizieren von prozessanwendungen
EP2863277A1 (de) Verfahren zur Gerätesimulation
DE102006047762B4 (de) System zum Testen der Funktion eines Computernetzwerkes
EP2620868A1 (de) Arbeitsfluss-Management-System für Computernetze
EP1745375A1 (de) Verfahren zur bestimmung von verklemmungen in nebenläufigen prozessen
DE102011055907A1 (de) Verfahren zum Testen einer Software bzw. Softwaretestverfahren, Programmprodukt und Datenverarbeitungsanlage zur Ausführung des Verfahrens
EP2479664A1 (de) System und Verfahren zum Erzeugen eines Quellcodes für ein Computerprogramm
DE102010044039A1 (de) Verfahren und Vorrichtung zur Qualitätsanalyse von Systemmodellen

Legal Events

Date Code Title Description
R163 Identified publications notified
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20140603