DE10255125A1 - Dezentralisierte Automatische Testung von Grafischen Benutzerschnittstellen(GUI) von Software - Google Patents
Dezentralisierte Automatische Testung von Grafischen Benutzerschnittstellen(GUI) von SoftwareInfo
- Publication number
- DE10255125A1 DE10255125A1 DE10255125A DE10255125A DE10255125A1 DE 10255125 A1 DE10255125 A1 DE 10255125A1 DE 10255125 A DE10255125 A DE 10255125A DE 10255125 A DE10255125 A DE 10255125A DE 10255125 A1 DE10255125 A1 DE 10255125A1
- Authority
- DE
- Germany
- Prior art keywords
- test
- software
- decentralized
- gui
- software gui
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test 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 für die dezentralisierte automatische Testung von grafischen Benutzerschnittstellen (GUI) von Software beinhaltet die Pflege einer dezentralisierten Test-Warteschlange, in der multiple Software-GIU-Testinstanzen gespeichert sind, die von multiplen dezentralisierten Testdurchführung-Computern durchzuführen sind. Jeder dezentralisierte Testdurchführung-Computer beinhaltet eine Client-Plattform und ist jeweils mit einer oder mehreren Server-Plattformen verbunden. Gemeinsam bieten die Client-Plattformen und die Server-Plattformen multiple Client-Server-Kombinationen, für die Software-GUI-Testinstanzen durchgeführt werden könnten. Für jeden dezentralisierten Testdurchführung-Computer wird eine Anfrage für eine weitere Software-GUI-Testinstanz von einem bestimmten dezentralisierten Testdurchführung-Computer empfangen als Antwort auf den Abschluss einer vorhergehenden Software-GIU-Testinstanz durch den bestimmten dezentralisierten Testdurchführung-Computer und als Antwort wird die Software-GUI-Testinstanz aus der Testwarteschleife abgefragt. Die abgefragte Testinstanz wird an den bestimmten Testdurchführung-Computer übermittelt zur Testdurchführung für eine bestimmte Client-Server-Kombination unter Verwendung einer Testkomponente, die der bestimmte Testdurchführung-Computer unterstützt. Die Testkomponente führt eine automatische Software-GUI-Testung durch und erzeugt Testergebnisse für den betreffenden Test. Nach der Durchführung der Testinstanz wird ein ...
Description
- Diese Erfindung beruft sich auf die Testung von grafische Benutzerschnittstellen (GUI) von Software im allgemeinen und auf die dezentralisierte automatische Software-GUI- Testung im besonderen.
- Eine GUI ist ein wichtiger Bestandteil der meisten Softwareanwendungen. Die GUI stellt häufig den hauptsächlichen oder einzigen vorhandenen Mechanismus dar, mit dem ein Benutzer Eingaben vornehmen oder Ausgaben von der mit der GUI verbundenen Softwareanwendung erhalten kann. Für den erfolgreichen Betrieb der mit einer GUI verbundenen Softwareanwendung ist es daher wesentlich, dass die GUI korrekt und effizient funktioniert, so dass eine gründliche Testung der GUI in den meisten Instanzen unbedingt erforderlich ist. Zwar kann das Testen einer Software immer einen zeitaufwändigen Prozess darstellen, doch gilt dies in besonderem Maße für die GUI- Testung. Die GUI muss auf allen potenziellen Plattformen getestet werden, die häufig eine Vielzahl von Client-Server-Kombinationen umfassen. Außerdem muss bei der GUI- Testung häufig ein menschlicher Prüfer eine Vielzahl von Befehlen eingeben, mit denen Mausklicks, Tastatureingaben oder andere Operationen eines wirklichen Benutzer simuliert werden, um anschließend bestätigen zu können, dass die GUI das erwartete Ergebnis liefert. Dieser Prozess ist nicht nur zeitaufwändig und arbeitsintensiv, sondern unterliegt auch menschlichen Fehlern. Die Schwierigkeiten bei der Durchführung von GUI-Tests können zu einer Gefährdung der Qualität führen, da die zugehörigen Softwareanwendungen häufig sehr aggressiven Freigabe-Terminplänen unterliegen. Auf Grund der genannten oder weiterer Nachteile können frühere Software-GUI-Testtechniken für viele Zwecke ungeeignet sein.
- Mit der vorliegenden Erfindung lassen sich die Nachteile und Probleme früherer Software- GUI-Testtechniken deutlich verringern oder gänzlich beseitigen.
- In einer erfindungsgemäßen Ausführungsform besteht ein Verfahren für die dezentralisierte automatische Testung von grafische Benutzerschnittstellen (GUI) von Software aus der Pflege einer zentralisierten Test-Warteschlange, in der multiple Software-GUI- Testinstanzen gespeichert sind, die von multiplen dezentralisierten Testdurchführung- Computern durchzuführen sind. Jeder dezentralisierte Testdurchführung-Computer beinhaltet eine Client-Plattform und ist jeweils mit einer oder mehreren Server-Plattformen verbunden. Gemeinsam bieten die Client-Plattformen und die Server-Plattformen multiple Client-Server-Kombinationen, für die Software-GUI-Testinstanzen durchgeführt werden können. Für jeden dezentralisierten Testdurchführung-Computer wird eine Anfrage für eine weitere Software-GUI-Testinstanz von einem bestimmten dezentralisierten Testdurchführung-Computer empfangen als Antwort auf den Abschluss einer vorhergehenden Software-GUI-Testinstanz durch den bestimmten dezentralisierten Testdurchführung-Computer und als Antwort wird eine Software-GUI-Testinstanz aus der Testwarteschleife abgefragt. Die abgefragte Testinstanz wird für alle Testdurchführung Computer übermittelt, zum bestimmten dezentralisierten Testdurchführung-Computer- zur Durchführung für eine bestimmte Client-Server-Kombination unter Verwendung einer Testkomponente, die der bestimmten dezentralisierten Testdurchführung-Computer unterstützt. Die Testkomponente führt eine automatische Software-GUI-Testung durch und erzeugt Testergebnisse für den betreffenden Test. Als Antwort auf die Durchführung der Testinstanz wird ein Testergebnis des betreffenden dezentralisierten Testdurchführung- Computers für die Software-GUI-Testinstanz empfangen und für die Berichterstattung an ein oder mehrere Benutzer gespeichert.
- Besondere Ausführungsformen der vorliegenden Erfindung können einen oder mehrere technische Vorteile bieten. Beispielsweise übernimmt bei gewissen Ausführungsformen der vorliegenden Erfindung eine zentralisierte Test-Server-Engine die effiziente Einsatzplanung, dezentralisierte Durchführung und Meldung der Ergebnisse der automatischen Software-GUI-Testung. Die Test-Server-Engine kann Prüfer in die Lage versetzen, die Testdurchführung zeitlich effizient zu planen, die Testdurchführung von fernbedienten oder anderen dezentralisierten Testdurchführung-Computern aus zu steuern, die Testergebnisse der Testdurchführung-Computer zu sammeln und die Testergebnisse im wesentlichen in Echtzeit automatisch zu berichten. Die Test-Server- Engine kann Skalierung für eine große Anzahl von dezentralisierten Testdurchführung- Computern ermöglichen und kann außerdem eine hohe Nutzungsrate für die einzelnen Testdurchführung-Computer innerhalb des Testnetzwerks gewährleisten. Durch Verteilung der Testdurchführung auf parallel laufende, dezentralisierte Testdurchführung- Computer kann eine deutliche Verringerung der Zyklusdauern bei der GUI-Testung herbeigeführt werden. Bei einem Beispiel ohne einschränkendende Wirkung wurde im Rahmen eines Projektes eine Test-Server-Engine, bei der Teile der vorliegenden Erfindung umgesetzt waren, mit 15 dezentralisierten Testdurchführung-Computern benutzt, um zwischen ungefähr fünfhundert und eintausend Tests pro Tag durchzuführen, wobei für jeden Testdurchführung-Computer eine Nutzungsrate von ungefähr 90 Prozent erreicht wurde und die Zyklusdauern bei der GUI-Testung von ungefähr einhundert Tagen auf ungefähr sechs Tage vernngert wurden. Außerdem können gewisse Ausführungsformen eine automatische Regressionstestung erleichtern und die GUI-Testung in verkürzten Software-Freigabezyklen besser unterstützen. Auf diese Weise könnten gewisse Ausführungsformen die Grundlage für eine gründlichere Testung und somit eine bessere Qualitätssicherung bieten, ohne die aggressive Verfolgung von Time-to-Market- Zielvorgaben einzuschränken. Gewisse Ausführungsformen könnten es ermöglichen, Softwareprodukte auf neuen Plattformen schneller zu zertifizieren.
- Bei standardmäßigen dezentralisierten Testdurchführung-Verfahren wird eine statische Testeinsatzplanung verwendet. Bei der statischen Testeinsatzplanung werden sämtliche durchzuführenden Tests am Beginn des Testzyklus unter den verfügbaren Ressourcen aufgeteilt woraufhin die jeweiligen Computer die ihnen zugewiesenen Tests durchführen. Die statische Testeinsatzplanung gestaltet sich häufig ineffizient, da Schwankungen bei der Testdurchführungszeit, die auf die Eigenschaften der Tests und auf Schwankungen bei den Verarbeitungsleistungen der Computer beruhen, und dazu führen können, dass ein Computer die ihm zugewiesenen Tests zu einem weit früheren Zeitpunkt als andere Computer beendet, so dass der erste Computer sich im Wartezustand befindet, während andere Computer überlastet sind. Im Gegensatz dazu bieten gewisse erfindungsgemäße Ausführungsformen eine dynamische Einsatzplanung, bei der dezentralisierte Testdurchführung-Computer mit unterschiedlichen Kapazitäten und Geschwindigkeiten bei der Software-GUI-Testung besser genutzt werden können, da jeder Testdurchführung- Computer sich im wesentlichen sofort für einen weiteren Test aus einer zentralisierten Test-Warteschlange zur Verfügung stellt, sobald er den vorherigen Test abgeschlossen hat. Auf diese Weise können sowohl der Arbeits- als auch der Zeitaufwand für die komplette Durchführung des GUI-Testzyklus deutlich verringert werden, so dass die zugehörigen Softwareprodukte schneller freigegeben werden können und möglicherweise der Umsatz gesteigert wird.
- Gewisse erfindungsgemäße Ausführungsformen können eine im wesentlichen Echtzeit- Berichterstattung der Ergebnisse bieten. Bei gewissen Ausführungsformen werden die Ergebnisse von Software-GUI-Testinstanzen nach vollständiger Durchführung dieser Testinstanzen auf dezentralisierten Testdurchführung-Computern automatisch und im wesentlichen sofort an eine zentralisierte Testergebnis-Datenbank gemeldet. Sobald ein neuer Testergebnisbericht vorliegt kann die Test-Server-Engine automatisch für die Erstellung einer neuen Testergebnis-Webseite sorgen, auf der die neuen Testergebnisse enthalten sind und die interessierten Benutzern mit Hilfe eines Web-Servers zur Verfügung stehen könnte. Ausführungsformen, bei denen diese Eigenschaft umgesetzt ist, können daher den Status der angesammelten Testergebnisse im wesentlichen in Echtzeit anbieten. Bei gewissen Ausführungsformen kann es den Benutzern auch ermöglicht werden, Tests für eine anschließende Durchführung vorzusehen, in dem ein oder mehrere Tests ausgewählt werden, deren Testergebnisse auf einer Testergebnis-Webseite wiedergegeben werden.
- Bei gewissen erfindungsgemäßen Ausführungsformen kann ein mit der Test-Server- Engine zusammenarbeitender Client-Controller, der die einzelnen dezentralisierten Testdurchführung-Computern steuert, zu einem oder mehreren angemessenen Zeitpunkten auf dem jeweiligen dezentralisierten Testdurchführung-Computer automatisch eine aktuelle Softwareversion installieren, um dafür zu sorgen, dass dieser Testdurchführung- Computer die aktuellste verfügbare Softwareversion testet. Bei gewissen Ausführungsformen können die Client-Controller jeweils den betreffenden Testdurchführung-Computer zu einem oder mehreren angemessenen Zeitpunkten neu hochfahren (z. B. zweimal täglich), um auf diese Weise ein "Hängenbleiben " des Testdurchführung-Computers bei einer Instabilität des Betriebssystems weniger wahrscheinlich zu machen. Dies kann dabei helfen zu verhindern, dass das Testsystem als Ganzes hängen bleibt. Beim Auftreten von Problemen auf einem bestimmten dezentralisierten Testdurchführung-Computer können sich die Auswirkungen auf diese Weise auf einen einzelnen Test beschränken. Bei gewissen Ausführungsformen ist der Client-Controller der einzelnen Testdurchführung-Computer so eingerichtet, dass er automatisch einen Softwarekode startet, der eine Kommunikation mit der Test-Server- Engine aufbaut, sobald der zugehörige Testdurchführung-Computer hochfährt. Durch eine oder mehrere dieser Eigenschaften kann jeder einzelne Testdurchführung-Computer im Prinzip zu einem Testdurchführungsroboter werden, der für längere Zeitspannen automatisch und ohne menschlichen Eingriff läuft, was die Kosten der Software-GUI- Testung weiter verringert.
- Systeme und Verfahren; bei denen ein oder mehrere dieser oder anderer technische Vorteile umgesetzt sind, könnten für moderne Software-GUI-Testungsumgebungen gut geeignet sein. Bei gewissen erfindungsgemäßen Ausführungsformen können einige, alle oder keine der oben genannten Vorteile umgesetzt sein. Ein oder mehrere weitere fachliche Vorzüge können für den Fachmann anhand der folgenden Figuren, der Beschreibung und der Ansprüche leicht ersichtlich sein.
- Zur besseren Erläuterung der vorliegenden Erfindung und ihrer Merkmale und Vorteile wird auf die folgende Beschreibung in Verbindung mit den Begleitzeichnungen Bezug genommen, wobei die:
- Fig. 1 ein Beispielsystem für die dezentralisierte automatische Software-GUI- Testung erläutert,
- Fig. 2 eine beispielhafte Testergebnis-Webseite erläutert, und
- Fig. 3 eine Beispielverfahren 3 für die dezentralisierte automatische Software- GUI-Testung erläutert.
- Fig. 1 erläutert ein Beispielsystem 20 für die dezentralisierte automatische Software- GUI-Testung. System 20 weist ein Server-System 22 auf, das seinerseits eine Test-Server- Engine 24, einen Webserver 26, eine Warteschlange 28 und eine Testergebnis-Datenbank 30 aufweist. Die Test-Server-Engine 24 bietet gewisse zentralisierte Eigenschaften für die dezentralisierte automatische Software-GUI-Testung und bietet bei gewissen Ausführungsformen eine effiziente Einsatzplanung, dezentralisierte Testdurchführung und im wesentlichen in Echtzeit erfolgende Meldung der Ergebnisse der automatischen Software-GUI-Testung. Im allgemeinen erhält die Test-Server-Engine 24 von multiplen Testdurchführung-Computern Testinstanz-Anforderungen, ruft die angeforderten Testinstanzen aus der Test-Warteschlange 28 ab, reicht die abgefragten Testinstanzen für die parallele Durchführung auf multiplen dezentralisierten Testdurchführung-Computer weiter, empfängt von den multiplen dezentralisierten Testdurchführung-Computer die Testergebnisse für die durchgeführten Testinstanzen und speichert die erhaltenen Testergebnisse in der Testergebnis-Datenbank 30 für die Berichterstattung an einen oder mehrerer Benutzer.
- Bei einer Ausführungsform ist das Server-System 22 an multiple dezentralisierte Client- Systeme 32 gekoppelt, die wiederum jeweils an ein oder mehrere Server-Plattformen 34 gekoppelt sind. Die Client-Systeme 32 können räumlich dezentralisiert an verschiedenen Standorten angeordnet sein, die geographisch voneinander und von Server-System 22 getrennt sind, oder logisch dezentralisiert angeordnet sein, wobei sie sich ungefähr am selben Standort wie andere Client-Systeme 32 und das Server-System 22 befinden. Jedes Client-System 32 kann mit Hilfe von eines oder mehrerer Computerbusse, Local Area Networks (LANs), Metropolitan Area Networks (MANs), Wide Area Networks (WANs), eines globalen Computernetzwerks, wie dem Internet, oder jeder beliebigen anderen drahtgebundenen, optischen, drahtlosen oder sonstigen Verbindungen an das Server-System 22 gekoppelt sein. Auf ähnliche Weise kann jedes Server-System 34 über ein oder mehrere Computerbusse, LANs, MANs, WANs, ein globales Computernetzwerk, wie das Internet, oder jede beliebige andere drahtgebundene, optische, drahtlose oder sonstige Verbindungen an ein oder mehrere Client-Systeme 32 gekoppelt sein.
- Die Client-Systeme 32 arbeiten als Testdurchführung-Computer zur Durchführung von Software-GUI-Testinstanzen, die von der Test-Server-Engine 24 erhalten werden, und zur Meldung der Testergebnisse an die Test-Server-Engine 24 gemäß dem Betrieb des Systems 20. Bei einer Ausführungsform bietet ein die einzelnen Client-System 32 steuernder Client-Controller 36 eine Steuerschicht, die die von der Test-Server-Engine 24 erhaltenen automatischen Software-GUI-Testinstanzen empfängt, durchfuhrt und überwacht und Testergebnisse zurückgibt. Jeder einzelne Client-Controller 36 kann außerdem in regelmäßigen Abständen aktuelle Softwareversionen auf seinem Client- System 32 installieren, sein Client-System 32 in regelmäßigen Abständen neu hochfahren und beim Hochfahren seines Client-Systems 32 eine Kommunikation mit der Test-Server- Engine 24 auf die weiter unten beschriebene Weise aufbauen.
- Jedes einzelne Client-System 32 kann mit einer anderen Client-Plattform laufen oder zwei oder mehr Client-Systeme 32 können mit identischen Client-Plattformen laufen. Bei geeigneten Client-Plattformen für die Software-GUI-Testung kann es sich beispielsweise und ohne Einschränkung um WINDOWS NT, WINDOWS 2000, WINDOWS 98, WINDOWS ME, WINDOWS XP, UNIX und DOS handeln. Auf ähnliche Weise können die Server-Systeme 34 jeweils eine andere Server-Plattform unterstützen oder zwei oder mehr Server-Systeme 34 können die selbe Server-Plattform unterstützen. Für eine gründliche Software-GUI-Testung können die Client-Systeme 32 und die mit ihnen verbundenen Server-Systeme 34 vorzugsweise so ausgewählt werden, dass ein vollständiges Spektrum von Testszenarien für alle angemessenen Client-Server- Kombinationen abgedeckt ist. Beispielsweise könnten verschiedene GUI-Operationen auf verschiedenen Client-Server-Kombinationen eine unterschiedlich gute Performance zeigen. Es kann von Nutzen sein zu wissen, welche bestimmten GUI-Operationen bei welchen bestimmten Client-Server-Umgebungen Probleme bereiten, um diesen Probleme eine spezielle Aufmerksamkeit widmen zu können.
- Bei gewissen Ausführungsformen können die einzelnen Client-Systeme 32 jeweils eine spezialisierte Testsoftware zur automatischen Durchführung der von der Test-Server- Engine 24 erhaltenen GUI-Testinstanzen verwenden und für die durchgeführten Testinstanzen unter der Kontrolle des verbundenen Client-Controller 36 Testergebnisse produzieren. Beispielsweise, und ohne einschränkende Wirkung, könnte es sich bei einer solchen Testsoftware um die von der Firma MERCURY INTERACTIVE CORPORATION entwickelte Software WINRUNNER handeln. Auch wenn an dieser Stelle WINRUNNER primär beschrieben wird, kann jede beliebige Software, die eine angemessene Umgebung für die automatische Software-GUI-Testung zu bieten vermag, verwendet werden. Der WINRUNNER-Kode ermöglicht die Automatisierung der Software-GUI-Testung durch die Erstellung von maßgeschneiderten Programmen zur Kontrolle des Informationsflusses von und zu der zu testenden GUI-Software; in anderen Worten, zur Simulierung der Wechselwirkungen mit Software-GUI-Benutzern. Beispielsweise können bei Software- GUI-Tests Tastatureingaben, Mausklicks oder andere Verfahren zur Eingabe an die GUI simuliert werden, assoziierte Daten von der GUI ausgelesen werden und die Verarbeitungsergebnisse der betreffenden Daten an die GUI zurück gespielt werden. Bei einer Ausführungsform ist der Software-GUI-Testkode in einer Test Script Language geschrieben, die von WINRUNNER oder einer anderen eingesetzten Software unterstützt wird. Der Client-Controller 36 liest die für eine durchgeführte Testinstanz von der Testsoftware erstellten Testergebnisse, formatiert die Testergebnisse auf eine geeignete Weise und meldet anschließend die Testergebnisse an die Test-Server-Engine 24.
- Bei standardmäßigen dezentralisierten Testdurchführung-Verfahren wird eine statische Testeinsatzplanung verwendet. Bei der statischen Testeinsatzplanung werden sämtliche durchzuführenden Tests am Beginn des Testzyklus unter den verfügbaren Ressourcen aufgeteilt woraufhin die jeweiligen Computer die ihnen zugewiesenen Tests durchführen. Die statische Testeinsatzplanung gestaltet sich häufig ineffizient, da Schwankungen bei der Testdurchführungszeit, die auf den Eigenschaften der Tests und auf Schwankungen bei den Verarbeitungsleistungen der Computer beruhen, dazu führen können, dass ein Computer die ihm zugewiesenen Tests zu einem weit früheren Zeitpunkt als andere Computer beendet, so dass der erste Computer sich im Wartezustand befindet, während andere Computer überlastet sind.
- Im Gegensatz dazu bieten gewisse erfindungsgemäße Ausführungsformen eine dynamische Einsatzplanung, bei der jedes Client-System 32 in der Lage ist, bei jeder Untätigkeit des Client-Systems 32 eine Testinstanz anzufordern, und dies vorzugsweise direkt nach Abschluss der vorhergehenden Testinstanz zu tun. Beispielsweise kann bei einer bevorzugten Ausführungsform der Client-Controller 36 des Client-Systems 32 von der Test- Server-Engine 24 sofort einen neuen Testinstanz anfordern, sobald ein Client-System 32 einen Testinstanz abgeschlossen hat und der damit verbundene Client-Controller 36 die Testergebnisse für den Testinstanz weiter gemeldet hat. Als Antwort auf die Anforderung des Client-System 32 vergibt die Test-Server-Engine 24 die nächste Testinstanz aus der Warteschlange 28 an das Client-System 32, dass die Anforderung gestellt hat. Diese Vorgehensweise ermöglicht einen im wesentlichen konstanten Fluss von Testinstanzen von der Test-Server-Engine 24 zu den Client-Systemen 32 und eine im wesentlichen konstante Nutzung der Client-Systeme 32 während des Testzyklus, und zwar auch wenn die Art der Tests und die Fähigkeiten der einzelnen Client-Systeme 32 variieren. Die Test- Server-Engine 24 kann die Skalierung bis zu einer beliebigen geeigneten Anzahl von Client-Systemen 32 unterstützen. Durch die Aufteilung der Testdurchführung auf parallele dezentralisierte Testdurchführung-Computer können die Testzyklusdauern in deutlich gesenkt werden. Beispielsweise und ohne eine einschränkende Wirkung wurde im Rahmen eines Projektes eine Test-Server-Engine, bei der Teile der vorliegenden Erfindung umgesetzt waren, mit fünfzehn dezentralisierten Testdurchführung-Computern benutzt, um zwischen ungefähr fünfhundert und ungefähr eintausend Software-GUI- Testinstanzen pro Tag durchzuführen, wobei eine Auslastung von ungefähr 90 Prozent für die einzelnen Testdurchführung-Computer und eine Verringerung der Testzyklusdauer von ungefähr einhundert Tagen auf ungefähr sechs Tage erreicht wurde. Durch die Verkürzung der Gesamttestdauer können mehr Testinstanzen in einer kürzeren Zeitspanne durchgeführt werden, wodurch möglicherweise die Genauigkeit und die Gründlichkeit der Tests steigern kann, ohne die aggressivere Verfolgungen von Time-to-Market- Zielvorgaben einzuschränken. Außerdem können die Kosten der GUI-Tests bei erfindungsgemäßen Ausführungsformen durch eine Verringerung des Arbeits- und Zeitaufwands wesentlich geringer sein.
- Bei gewissen Ausführungsformen kann jeder Client-Controller 36 automatisch aktuelle Softwareversionen auf seinem Client-System 32 installieren, um dafür zu sorgen, dass sein Client-System 32 die aktuellste verfügbare Softwareversion testet. Dies kann regelmäßig oder auf andere geeignete Weise geschehen. Der Client-Controller 36 kann sein Client- System 32 regelmäßig oder auf andere geeignete Weise neu hochfahren. Das automatische Neuhochfahren hilft dabei dafür zu sorgen, die Wahrscheinlichkeit eines "Hängenbleibens" des Client-Systems 32, z. B. auf Grund einer Instabilität des Betriebssystems, zu vernngern. Bei einer Ausführungsform kann der Client-Controller 36 außerdem automatisch eine Kommunikation mit der Test-Server-Engine 24 aufbauen, sobald das Client-System 32 hochfährt. Dies kann helfen dafür zu sorgen, dass ein Client-System 32, bei dem ein Fehler auftritt, automatisch und ohne Bedarf für einen menschlichen Eingriff wieder hochfährt und die Testdurchführung umgehend wieder aufnimmt. Bei einer Ausfiibrungsform können die Client-Systeme 32 on- und offline gehen, ohne die Tests der anderen Client-Systeme 32 zu stören. Diese Eigenschaften, jede für sich oder in Kombination, können die Betriebsausfallzeiten des Systems senken, den Bedarf für menschliche Eingriffe senken und die Erhöhung der Anzahl der Client-Systeme 32 ermöglichen, um die Testzykluszeiten weiter zu verkürzen. Somit arbeitet jedes Client-System 32 zumindest teilweise auf Grundlage einer oder mehrerer der genannten Eigenschaften als ein Testdurchführungsroboter, der automatisch und ohne menschlichen Eingriff für ausgedehnte Zeitspannen läuft, was die Kosten der Software-GUI-Testung weiter verringert.
- Ein oder mehrere Client-Computer 38 können mit dem Server-System 22 nach Vorgabe geeigneter Eingaben durch eine beliebige Anzahl von verbundenen Benutzern in Wechselwirkung treten. Ein oder mehrere Benutzer können unter Verwendung einer oder mehrerer Webseiten, auf die mit den verbundenen Client-Computern 38 und dem Web- Server 26 Zugriff genommen wird, Software-GUI-Testinstanzen zur Durchführung einreichen. Beispielsweise könnte eine Liste von verfügbaren Tests auf einer Webseite angezeigt werden, wie nachfolgend unter Bezugnahme auf Fig. 2 beschrieben wird, und der Benutzer könnte einen oder mehrere dieser Tests auswählen. Der Web-Server 26 kommuniziert die eingereichten Testinstanzen an die Test-Server-Engine 24, die die zugehörigen Testinstanzen in die Warteschlange 28 einfügt. Bei einer Ausführungsform könnte die Test-Server-Engine 24 Perl Common Gateway Interface (CGI) Skripte zur Unterstützung der Einreichung von Testinstanzen durch die Benutzer verwenden.
- Die Test-Server-Engine 24 kann die Testinstanzen auf der Grundlage bestimmter Prioritäten, nach einer First-In/First-Out-Regel (FIFO) oder auf eine sonstige geeignete Weise, in die Warteschlange 28 einfügen. Zur Verwaltung der Test-Warteschlange 28 kann die Test-Server-Engine 24 geeignete Skripts verwenden und beim Einfugen der Testinstanzen in die Test-Warteschlange 28 kann die Test-Server-Engine 24 geeignete Regeln anwenden. Falls beispielsweise ein bestimmter Test mehrmals erfolgreich durchgeführt wird und dann einen Fehler ergibt, kann es wünschenswert sei, den spezifischen Grund für den Fehler zu ermitteln. Bei Auftreten eines Testfehlers könnte der Test, bei dem der Fehler aufgetreten ist, für alle Client-Server-Kombinationen durchgeführt werden, um das Ausmaß des Problems zu ermitteln und die Ursache zu isolieren und zu beseitigen. Als weiteres Beispiel könnte eine Untermenge von Tests in der Test-Warteschlange für eine häufigere Testdurchführung gekennzeichnet werden. Dabei könnten Tests, die als Test mit einer höheren Priorität gekennzeichnet sind, in einer bestimmten Zeitspanne durchgeführt werden und Tests, die als Test mit einer niedrigeren Priorität gekennzeichnet sind, in anderen Zeitspannen durchgeführt werden. In diesem Instanz könnte die Test-Warteschlange 28 entsprechende Test-Warteschlangen mit höherer Priorität bzw. niedriger Priorität umfassen. Die Test-Server-Engine 24 kann bei Erhalt einer Testanforderung von den Client-Systemen 32 lediglich Tests aus der Warteschlange mit der höheren Priorität abfragen und erst wenn die Warteschlange mit der höheren Priorität leer ist zu der Warteschlange mit den niedrigeren Priorität wechseln. Die Test-Warteschlange 28 kann jedes geeignete, aus einer oder mehreren Warteschlangen bestehende System darstellen, das bestimmten Bedürfnissen genügt. Die Test-Server- Engine 24 kann so konfiguriert werden, dass sie erkennen kann, wenn die Test- Warteschlange 28 oder eine der Warteschlangen, die einen Bestandteil der Test- Warteschlange 28 darstellen, einen bestimmten Schwellenwert unterschreitet und die Test- Warteschlange 28 oder die Warteschlange, die einen Bestandteil der Test-Warteschlange 28 darstellt, wieder mit Tests auffüllt, bis der selbe oder ein vorgegebener anderer Schwellenwert überschritten wird. Auf diese Weise könnte das System 20 im wesentlichen kontinuierlich laufen.
- Die Test-Server-Engine 24 erhält von den Client-Controllern 36 der Client-Systeme 32 Testergebnisse für die durchgeführten Testinstanzen und speichert die Testergebnisse in der Testergebnis-Datenbank 30. Bei einer Ausführungsform löst der Kode der Test-Server- Engine 24 bei Erhalt eines Testergebnisses ein Perl- oder sonstiges Script aus, das das Testergebnis in der Testergebnis-Datenbank 30 speichert und löst ein Perl- oder anderes Skript zur Erstellung einer Testergebnis-Webseite aus (möglicherweise als Aktualisierung einer bestehenden Testergebnis-Webseite), um die neu erhaltenen Testergebnisse zusammen mit den früheren Testergebnissen anzuzeigen. Auf diese Weise können gewisse Ausführungsformen eine im wesentlichen Echtzeit-Berichterstattung der Testergebnisse der Software-GUI-Tests bieten. Die Testergebnis-Webseite kann in regelmäßigen Abständen an einen oder mehrere, mit einem oder mehreren Benutzern verbundene Client- Computer 38 "gepuscht" werden, oder von den Benutzern auf einer bei Bedarf "pull" Grundlage zugänglich gemacht werden oder den Benutzern auf eine beliebige sonstige geeignete Weise dargeboten werden.
- Die Testergebnis-Webseite kann mit Hilfe einer Client-Plattform, einer Server-Plattform oder auf andere Weise konsolidierte Testergebnisse bieten. Bei der Berichterstattung der Testergebnisse von einzelnen Testinstanzen können auf der Testergebnis-Webseite zusammen mit dem Testergebnis das Testdatum und die Testzeit angegeben werden. Bei einer Ausführungsform kann auf der Testergebnis-Webseite das Testergebnis, das Alter des Testergebnisses sowie andere Informationen über einen Test mit Hilfe einer Farb-, Schattierung-, Text- oder sonstigen geeigneten Indexierung angezeigt werden. Die Testergebnis-Webseite kann einem Benutzer die Einsichtnahme in den derzeitigen Inhalt der Test-Warteschlange 28 ermöglichen. Auf diese Weise könnte ein Benutzer in die Lage versetzt werden feststellen zu können, wie voll die Test-Warteschlange 28 ist, ob Instanzen eines bestimmten Tests für die Durchführung vorgesehen sind oder erneut vorgesehen werden müssen, wann Instanzen eines bestimmten Tests durchgeführt werden könnten, welche Priorität einem bestimmten Test zugeordnet oder neu zugeordnet werden muss sowie sonstige geeignete Informationen. Bei einer Ausführungsform des Systems 20, die einen Web-Server 26 aufweist, kann das System 20 auch in der Lage sein, Web- Benutzerschnittstellen zu testen. In diesem Rahmen kann ein auf einem Client-System 32 laufender Client-Browser hinsichtlich seiner Wechselwirkung mit dem Web-Server 26 getestet werden. Im folgenden wird eine beispielhafte Testergebnis-Webseite unter Bezugnahme auf Fig. 2 in größeren Einzelheiten beschrieben.
- Das Server-System 22 kann einen oder mehrere, an einem oder mehreren Standorten aufgestellte Computer umfassen, die voneinander unabhängig sind oder Datenspeicherungs- Kommunikations- oder andere Ressourcen je nach Einzelfall gemeinsam nutzen. Jeder dieser Computer kann ein oder mehrere geeignete Eingabegeräte, Ausgabegeräte, Massenspeichermedien, Prozessoren, Speicher, Kommunikationsschnittstellen oder sonstige Komponente für den Erhalt, die Verarbeitung, die Speicherung und die Mitteilung von Informationen gemäß dem Betrieb des Systems 20 enthalten. Außerdem kann die in Verbindung mit der Test-Server-Engine 24, dem Web-Server 26, der Test- Warteschlange 28 und der Testergebnis-Datenbank 30 beschriebene Funktionalität durch beliebige Softwarekomponenten in Verbindung mit geeigneter Hardware geboten werden. Die Test-Warteschlange 28 und die Testergebnis-Datenbank 30 können am selben Standort wie die Test-Server-Engine 24 oder auf einem oder mehreren Computersystemen an anderen Standorten als die der Test-Server-Engine 24 unterstützende Computersystem laufen. Auch wenn die Test-Warteschlange 28 als Warteschlange beschrieben wird, kann die Test-Warteschlange 28 jede beliebige geeignete Datenspeicherungsanordnung umfassen und mit der Bezugnahme auf eine Warteschlange soll die Bezugnahme auf sämtliche solche Anordnungen gemeint sei. Auch wenn die Testergebnis-Datenbank 30 als Datenbank beschrieben wird, kann die Testergebnis-Datenbank 30 jede beliebige geeignete Datenspeicherungsanordnung umfassen und mit der Bezugnahme auf eine Datenbank soll die Bezugnahme auf sämtliche solche Anordnungen gemeint sein.
- Beim Betrieb einer beispielhaften Ausführungsform des Systems 20 können ein oder mehrere Benutzer Software-GUI-Testinstanzen mit Hilfe einer oder mehrerer Web- Seiten, auf die mit Hilfe der verbundenen Client-Computern 38 und des Web-Servers 26 Zugriff genommen wird, einreichen. Der Web-Server 26 meldet der Test-Server-Engine 24 die eingereichten Testinstanzen und die Test-Server-Engine 24 fügt die Testinstanzen in die Test-Warteschlange 28 ein. Der Client-Controller 36 eines verfügbaren Client- Systems 32 kann als Antwort auf den Abschluss eines vorhergehenden Testinstanz von der Test-Server-Engine 24 einen Software-GUI-Testinstanz anfordern. Als Antwort auf die Anforderung des Client-Systems 32 kann die Test-Server-Engine 24 ermitteln, ob die Test-Warteschlange 28 einen oder mehrere Testinstanzen enthält. Falls die Test- Warteschlange 28 leer ist, kann die Test-Server-Engine 24 dem Client-Controller 36 melden, dass keine Testinstanzen für die Testdurchführung verfügbar sind. Falls in der Test - Warteschlange 28 einen Testinstanz verfügbar ist, ruft die Test-Server-Engine 24 den nächsten Testinstanz aus der Test-Warteschlange 28 ab und übermittelt den abgerufenen Testinstanz zur Durchführung eines Tests an das Client-System 32, das die Anforderung gestellt hatte. Die Test-Server-Engine 24 kann die Testergebnis-Webseite aktualisieren, so dass diese den Status des Testinstanz anzeigt (im Ablauf).
- Zur Durchführung des Testinstanz kann das Client-System 32 die Software WINRUNNER verwenden, aber es kann auch wie oben beschrieben jede beliebige andere Software für automatische Tests verwendet werden. Nachdem das Client-System 32 die Durchführung eines Testinstanz abgeschlossen hat, meldet bei einer Ausführungsform der Client- Controller 36 des Client-Systems 32 die Testergebnisse des Testinstanz an die Test-Server- Engine 24 und fordert, im wesentlichen simultan oder im wesentlichen unverzüglich danach, von der Test-Server-Engine 24 einen weiteren Testinstanz an. Die Test-Server- Engine 24 speichert das erhaltene Testergebnis in der Testergebnis-Datenbank 30 und löst ein Script zur Erstellung einer mit den neuen Testergebnissen aktualisierten Testergebnis- Webseite aus, auf die ein oder mehrere Benutzer auf jede beliebige geeignete Weise Zugriff nehmen können. Im Verlauf des Testzyklus laufen diese Schritte vorzugsweise parallel und im wesentlichen kontinuierlich auf allen Client-Systemen 32 ab, um einen oder mehrere der oben beschriebenen technischen Vorteile zu gewährleisten.
- In Fig. 2 wird eine beispielhafte Testergebnis-Webseite 40 erläutert, auf die ein Benutzer mit Hilfe eines verbundenen Client-Computers 38 und des Web-Servers 26 Zugriff nehmen kann. Im allgemeinen bietet die Testergebnis-Webseite 40 eine kurzgefasste Anzeige der Testergebnisse von Software-GUI-Testinstanzen, die von den Client-Systemen 32 durchgeführt wurden, und den zugehörigen Status dieser Testinstanzen. Auch wenn die Testergebnis-Webseite 40 in dem erläuterten Beispiel die konsolidierten Testergebnisse einer bestimmten Client-Plattform bietet, kann eine Testergebnis-Webseite die Testergebnisse für alle oder jede beliebige geeignete Untermenge von Software-GUI- Testinstanzen anzeigen. Die Testergebnis-Webseite 40 kann eine Angabe über die bestimmte Client-Plattform enthalten, zu der die Testergebnisse gehören. Beispielsweise handelt es sich im erläuterten Instanz bei der bestimmten Client-Plattform, zu der die Testergebnis-Webseite 40 gehört, um WINDOWS NT, wie 42 zu entnehmen ist. Die Testergebnis-Webseite 40 kann anzeigen, wann die letzte Aktualisierung der auf der Testergebnis-Webseite 40 enthaltenen Testergebnisse erfolgt ist. Beispielsweise zeigt die Testergebnis-Webseite 40 in diesem Instanz die zuletzt um 13:33:07 am Donnerstag, dem 7. Juni 2001 aktualisierten Testergebnisse, wie 44 zu entnehmen ist. Wie 46 zu entnehmen ist, kann bei der Herstellung der Testergebnis-Webseite 40 ein Testfilter verwendet werden, sodass die Testergebnis-Webseite 40 nur die Testergebnisse derjenigen Testinstanzen enthält, die innerhalb einer bestimmten Zeitspanne eingereicht oder durchgeführt wurden, oder nur derjenigen Testinstanzen, die von einem bestimmten Benutzer eingereicht wurden, oder jeder beliebigen anderen geeigneten Untermenge von Testinstanzen.
- Bei einer Ausführungsform weist die Testergebnis-Webseite 40 eine Testergebnistabelle 48 mit jeweils einer Zeile für jeden Test 50 auf. Bei der erläuterten Ausführungsform, bei der die Testergebnis-Webseite 40 konsolidierte Testergebnisse für eine bestimmte Client- Plattform anbietet, könnte die Testergebnistabelle 48 eine Spalte für jede Server-Plattform 52 enthalten, für die Tests 50 durchgeführt werden. Die Schnittpunkte der Zeilen und Spalten der Testergebnistabelle 48 definieren Zellen, die jeweils einer bestimmten Kombination eines Tests 50 und einer Server-Plattform 52 entsprechen. Mit Hilfe von Farbgebung, Schattierung oder einer sonstigen Indexierung innerhalb einer Zelle können das entsprechende Testergebnis, das Alter des Testergebnisses, der Teststatus für den Test 50 (z. B. der Prozentsatz, zu dem der Testinstanz abgeschlossen ist) oder jede beliebige sonstige geeignete Information für die bestimmte Kombination aus Test 50 und Server- Plattform 52 angegeben werden. Lediglich als Beispiel und ohne einschränkende Wirkung könnte eine rote Einfärbung einer Zelle verwendet werden um anzuzeigen, dass bei dem zuletzt durchgeführten Instanz des Tests 50 ein Fehler aufgetreten ist. Eine dunkelgrüne Farbgebung könnte verwendet werden um anzuzeigen, dass der zuletzt durchgeführte Instanz des Tests 50 ohne Fehler abgelaufen ist, während zunehmend hellere Grüntöne verwendet werden könnten um anzuzeigen, dass der zuletzt durchgeführte Instanz des Tests 50 zwar ohne Fehler abgelaufen ist, die Testergebnisse aber bereits ein gewisses Alter erreicht haben. Eine gelbe Farbgebung könnte verwendet werden um anzuzeigen, dass für den Test 50 keine Testinstanzen durchgeführt wurden. Bei einem anderen Beispiel könnte mit einem Sternchen oder einem anderer Indikator in einer Zelle angeben werden, dass eine bestimmte Anzahl von Tests 50 auf der zugehörigen Server-Plattform 52 in einem vorgegebenen Zeitraum durchgeführt worden sind. Wie oben beschrieben, kann bei einer Ausführungsform die Testergebnis-Webseite 40 den Benutzer in die Lage versetzen, eine bestimmte Zelle auszuwählen, um auf diese Weise eine oder mehrere Instanzen des zugehörigen Tests 50 zur Durchführung auf der entsprechenden Server-Plattform 52 einzureichen.
- Die Testergebnistabelle 48 kann zusammengefasste Informationen über die Tests 50 enthalten. Beispielsweise können in der Testergebnistabelle 48 die Gesamtzahl der fehlerlosen Testdurchläufe 54 für jede Server-Plattform 52, die Gesamtzahl der fehlerbehafteten Testdurchläufe 56 für jede Server-Plattform 52, die Anzahl der Tests 50, deren Testergebnisse 58 nicht vorliegen, für jede Server-Plattform 52, die Gesamtzahl der durchgeführten Testinstanzen 60 für jede Server-Plattform 52, ein Erfolgsprozentsatz 62 für jede Server-Plattform 52, ein Abdeckungsprozentsatz 64 für jede Server-Plattform 52 oder jede beliebige sonstige geeignete zusammengefasste Information angeboten werden. Der Erfolgsprozentsatz 62 kann den Prozentsatz der durchgeführten fehlerlosen Testinstanzen für eine Server-Plattform 52 angeben und zur Berechnung kann die Anzahl von fehlerlosen Testdurchläufen 54 durch die Gesamtzahl der durchgeführten Testinstanzen 60 geteilt und der auf diese Weise erhaltene Quotient mit 100 multipliziert werden. Der Abdeckungsprozentsatz 64 kann die Anzahl der durchgeführten Testinstanzen als Prozentanteil der Gesamtzahl der durchzuführenden Testinstanzen angeben. Die Testergebnis-Webseite 40 könnte einen oder mehrere Buttons 66 oder andere Eingabemechanismen enthalten, die dem Benutzer zusätzliche Funktionen zur Verfügung stellen. In der erläuterten Ausführungsform handelt es sich bei den Beispiel-Buttons 66 um die Funktionen "Ausgewählte Tests durchführen", "Alle auswählen", "Nur Fehlerfrei", "Nur Fehlerhaft", "Nur unzutreffende", "Fehlerfrei zufügen", "Unzutreffende zufügen" und "Alle abwählen".
- In der Fig. 3 wird eine Beispielverfahren für eine dezentralisierte automatische Software- GUI-Testung erläutert. In Schritt 100 reichen ein oder mehrere Benutzer Software-GUI- Testinstanzen ein, indem sie sich einer oder mehrerer Testergebnis-Webseiten 40 bedienen, auf die sie mit Hilfe der verbundenen Client-Computer 38 und dem Web-Server 26 Zugriff nehmen. In Schritt 102 übermittelt der Web-Server 26 die eingereichten Testinstanzen an die Test-Server-Engine 24. Die Test-Server-Engine 24 platziert die Testinstanzen in Schritt 104 in die Warteschlange 28. Wie bereits in Verbindung mit Fig. 1 beschrieben, kann diese Assoziation auf einer vorgegebenen Priorität, Firstin/First-out oder jedem beliebigen geeigneten Satz von Regeln basieren. In Schritt 106 ruft der Client-Controller 36 eines verfügbaren Client-Systems 32 bei der Test-Server-Engine 24 einen Software-GUI-Testinstanz ab, nachdem ein vorhergehender Testinstanz abgeschlossen wurde. Als Antwort auf die Anforderung von Client-System 32 ermittelt die Test-Server-Engine 24 in Schritt 108, ob die Test-Warteschlange 28 einen oder mehrere verfügbare Testinstanzen enthält. Falls die Warteschlange 28 leer ist, kann die Test-Server- Engine 24 in Schritt 110 dem Client-Controller 36 mitteilen, dass keine Testinstanzen zur Testdurchführung verfügbar sind. Falls ein Testinstanz in der Test-Warteschlange 28verfügbar ist, ruft die Test-Server-Engine 24 in Schritt 112 den nächsten Testinstanz aus der Test-Warteschlange 28 ab und übermittelt in Schritt 114 den abgefragten Testinstanz zur Testdurchführung an das Client-System 32, das die Anforderung eingeleitet hat.
- In Schritt 116 benutzt das Client-System 32 die Software WINRUNNER zur Testdurchführung, doch kann, wie bereits ausgeführt wurde, jede beliebige automatische Testsoftware verwendet werden. Sobald das Client-System 32 die Durchführung des Testinstanz abgeschlossen hat, meldet der Client-Controller 36 in Schritt 118 der Test- Server-Engine 24 die Testergebnisse für den Testinstanz. In Schritt 120 kehrt das Verfahren im wesentlichen simultan zu oder im wesentlichen sofort nach dem Schritt 118 wieder zu Schritt 106 zurück und der Client-Controller 36 fordert von der Test-Server- Engine 24 einen neuen Testinstanz an. Die Test-Server-Engine 24 speichert in Schritt 122 die erhaltenen Testergebnisse in der Testergebnis-Datenbank 30. In Schritt 124 löst die Test-Server-Engine 24 ein Skript zur Erstellung einer aktualisierten Testergebnis- Webseite 40 aus, die die neuen Testergebnisse wiedergibt und in Schritt 126 einem oder mehreren Benutzern auf jede beliebige geeignete Weise zugänglich gemacht wird. Vorzugsweise laufen diese Schritte im Verlauf des Testzyklus parallel und im wesentlichen kontinuierlich auf allen Client-Systemen 32 ab, um einen oder mehrere der oben beschriebenen fachlichen Vorzüge zu bieten.
- Zwar wurde die vorliegende Erfindung anhand von mehreren Ausführungsformen beschrieben, doch sind für den Fachmann auf diesem Gebiet verschiedene Änderungen, Substitutionen, Variationen, Veränderungen und Modifikationen leicht ersichtlich, und diese Änderungen, Substitutionen, Variationen, Veränderungen und Modifikationen, soweit sie dem Geist und dem Gültigkeitsbereich der im Anhang beigefügten Ansprüche entsprechen, werden hiermit ebenfalls beansprucht.
Claims (48)
1. System für dezentralisierte, automatische Testung von grafischen
Benutzerschnittstellen (GUI) von Software aufweisend:
eine zentralisierte Test-Warteschlange, welche in der Lage ist eine Vielzahl von Software-GUI-Testinstanzen zu speichern, die von einer Vielzahl von dezentralisierten Testdurchführung-Computern durchzuführen sind, wobei jeder dezentralisierte Testdurchführung-Computer eine Client-Plattform aufweist und jeweils mit einer oder mehreren Server-Plattformen verbunden ist, wobei die Client- Plattformen und die Server-Plattformen zusammen eine Vielzahl von Client-Server- Kombinationen bieten, für die die Software-GUI-Testinstanzen durchgeführt werden können; und
einer Test-Server-Engine, welche für jeden dezentralisierten Testdurchführung- Computer in der Lage ist zum
Erhalten einer Anforderung für einen Software-GUI-Testinstanz von einem bestimmten dezentralisierten Testdurchführung-Computer als Antwort auf den Abschluss einer vorhergehenden Software-GUI-Testinstanz durch den bestimmten dezentralisierten Testdurchführung-Computer,
Abfragen einer Software-GUI-Testinstanz aus der Warteschlange,
Übermitteln der abgefragten Software-GUI-Testinstanz an den bestimmten dezentralisierten Testdurchführung-Computer zur Durchführung für eine bestimmte Client-Server-Kombination unter Verwendung einer Testkomponente, die von dem bestimmten dezentralisierten Testdurchführung-Computer unterstützt wird, wobei die Testkomponente in der Lage ist, automatische Software-GUI- Tests durchzuführen und für diese Tests Testergebnisse zur Kommunikation an die Test-Server-Engine zu produzieren,
Erhalten eines Testergebnisses für die Software-GUI-Testinstanz von dem bestimmten dezentralisierten Testdurchführung-Computer als Antwort auf die Durchführung der Software-GUI-Testinstanz, und
Speichern des erhaltenen Testergebnisses zum Zwecke der Berichterstattung an einen oder mehrere Benutzer.
eine zentralisierte Test-Warteschlange, welche in der Lage ist eine Vielzahl von Software-GUI-Testinstanzen zu speichern, die von einer Vielzahl von dezentralisierten Testdurchführung-Computern durchzuführen sind, wobei jeder dezentralisierte Testdurchführung-Computer eine Client-Plattform aufweist und jeweils mit einer oder mehreren Server-Plattformen verbunden ist, wobei die Client- Plattformen und die Server-Plattformen zusammen eine Vielzahl von Client-Server- Kombinationen bieten, für die die Software-GUI-Testinstanzen durchgeführt werden können; und
einer Test-Server-Engine, welche für jeden dezentralisierten Testdurchführung- Computer in der Lage ist zum
Erhalten einer Anforderung für einen Software-GUI-Testinstanz von einem bestimmten dezentralisierten Testdurchführung-Computer als Antwort auf den Abschluss einer vorhergehenden Software-GUI-Testinstanz durch den bestimmten dezentralisierten Testdurchführung-Computer,
Abfragen einer Software-GUI-Testinstanz aus der Warteschlange,
Übermitteln der abgefragten Software-GUI-Testinstanz an den bestimmten dezentralisierten Testdurchführung-Computer zur Durchführung für eine bestimmte Client-Server-Kombination unter Verwendung einer Testkomponente, die von dem bestimmten dezentralisierten Testdurchführung-Computer unterstützt wird, wobei die Testkomponente in der Lage ist, automatische Software-GUI- Tests durchzuführen und für diese Tests Testergebnisse zur Kommunikation an die Test-Server-Engine zu produzieren,
Erhalten eines Testergebnisses für die Software-GUI-Testinstanz von dem bestimmten dezentralisierten Testdurchführung-Computer als Antwort auf die Durchführung der Software-GUI-Testinstanz, und
Speichern des erhaltenen Testergebnisses zum Zwecke der Berichterstattung an einen oder mehrere Benutzer.
2. Das System nach Anspruch 1, wobei mindestens ein dezentralisierter
Testdurchführung-Computer an einem anderen geografischen Ort betrieben wird als
die anderen dezentralisierten Testdurchführung-Computer und der Test-Server.
3. Das System nach Anspruch 1, wobei die Testkomponente ein handelsübliches
Standard-Produkt darstellt.
4. Das System nach Anspruch 1, wobei jede Software-GUI-Testinstanz einen Instanz
eines Software-GUI-Tests ist, der unter Verwendung einer Test Scripting Language
geschrieben ist, und mit jedem der dezentralisierten Testdurchführung-Computer
durchgeführt werden kann, wobei eine Software-GUI-Testinstanz von dem
bestimmten Testdurchführung-Computer durchgeführt wird, vom dem die
Anforderung zur Abfrage des Software-GUI-Tests aus der Test-Warteschlange
erhalten wurde.
5. Das System nach Anspruch 1, wobei:
die Test-Server-Engine weiterhin in der Lage ist, um eine Testergebnis-Webseite aufweisend Testergebnissen für eine Vielzahl von Software-GUI-Testinstanzen, einschließlich des Testergebnisses der zuletzt durchgeführten Software-GUI- Testinstanz, im wesentlichen unverzüglich nach dem Erhalt des Testergebnisses von dem bestimmten dezentralisierten Testdurchführung-Computer, auf dem die zuletzt durchgeführte Software-GUI-Testinstanz durchgeführt wurde, zu erstellen, und
das System weiterhin einen Web-Server aufweist, der in der Lage ist, um die Testergebnis-Webseite zur Anzeige auf einem Benutzersystem zu übermitteln, um eine im wesentlichen in Echtzeit erfolgende Testergebnisse-Berichterstattung bereitzustellen.
die Test-Server-Engine weiterhin in der Lage ist, um eine Testergebnis-Webseite aufweisend Testergebnissen für eine Vielzahl von Software-GUI-Testinstanzen, einschließlich des Testergebnisses der zuletzt durchgeführten Software-GUI- Testinstanz, im wesentlichen unverzüglich nach dem Erhalt des Testergebnisses von dem bestimmten dezentralisierten Testdurchführung-Computer, auf dem die zuletzt durchgeführte Software-GUI-Testinstanz durchgeführt wurde, zu erstellen, und
das System weiterhin einen Web-Server aufweist, der in der Lage ist, um die Testergebnis-Webseite zur Anzeige auf einem Benutzersystem zu übermitteln, um eine im wesentlichen in Echtzeit erfolgende Testergebnisse-Berichterstattung bereitzustellen.
6. Das System nach Anspruch 5, wobei:
jede Software-GUI-Testinstanz eine Instanz eines Software-GUI-Tests ist, und die Testergebnis-Webseite konsolidierten Testergebnissen für eine bestimmte Client-Plattform aufweist, wobei die konsolidierten Testergebnisse Testergebnisse für jeden Software-GUI-Test für jede Client-Server-Kombinationen angeben, die die bestimmte Client-Plattform betreffen.
jede Software-GUI-Testinstanz eine Instanz eines Software-GUI-Tests ist, und die Testergebnis-Webseite konsolidierten Testergebnissen für eine bestimmte Client-Plattform aufweist, wobei die konsolidierten Testergebnisse Testergebnisse für jeden Software-GUI-Test für jede Client-Server-Kombinationen angeben, die die bestimmte Client-Plattform betreffen.
7. Das System nach Anspruch 5, wobei die Test-Server-Engine außerdem in der Lage
ist, um eine Benutzeranforderung zur Durchführung einer Instanz eines bestimmten
Software-GUI-Tests zu erhalten und die angeforderte Saftware-GUI-Testinstanz
gemäß der Benutzeranforderung in die Test-Warteschlange einzufügen, wobei die
Benutzeranforderung Eingabe durch Auswählen des bestimmten Software-GUI-
Tests unter Verwendung der Testergebnisse-Webseite ist.
8. Das System nach Anspruch 1, wobei zumindest einige Software-GUI-
Testinstanzen in der Test-Warteschlange mit Prioritäten verbunden sind, wobei die
Test-Server-Engine in der Lage ist, um Software-GUI-Testinstanzen zur
Durchführung je nach Priorität aus der Test-Warteschlange abzufragen.
9. Das System nach Anspruch 1, wobei die Test-Warteschlange eine erste
Warteschlange, beinhaltend Software-GUI-Testinstanzen mit einer höheren
Priorität, und eine zweite Warteschlange, beinhaltend Software-GUI-Testinstanzen
mit einer niedrigeren Priorität, aufweist, wobei die Test-Server-Engine in der Lage
ist, um Software-GUI-Testinstanzen aus der ersten Warteschlange zur Ausführung
während eines ersten Teils einer Testdauer abzufragen und Software-GUI-
Testinstanzen mit einer niedrigeren Priorität zur Testdurchführung aus der zweiten
Warteschlange zur Ausführung während eines zweiten Teils der Testdauer
abzufragen.
10. Das System nach Anspruch 1, wobei die Test-Server-Engine in der Lage ist, um
Instanzen eines Software-GUI-Tests entsprechend einer Regel zur Durchführung
für alle Client-Server-Kombinationen zurück zu übermitteln als Antwort auf den
Erhalt eines oder mehrerer Testergebnisse für den Software-GUI-Test, welche
Fehler anzeigen.
11. Das System nach Anspruch 1, wobei die Test-Server-Engine in der Lage ist zu
erkennen, wenn die Anzahl der Software-GUI-Testinstanzen in der Warteschlange
unter einem vorgegebenen Schwellenwert ist, und als Antwort automatisch Software-
GUI-Testinstanzen zu der Warteschlange hinzufügt.
12. Das System nach Anspruch 1, weiterhin aufweisend einem Client-Controller fur
jeden dezentralisierten Testdurchführung-Computer, der in der Lage ist, auf jedem
dezentralisierten Testdurchführung-Computer zu einem oder mehreren geeigneten
Zeitpunkten im Verlauf einer Testdauer automatisch eine aktuelle GUI-
Softwareversion zu installieren.
13. Das System nach Anspruch 1, weiterhin aufweisend einem Client-Controller, welcher
mit jedem dezentralisierten Testdurchführung-Computer verbunden und der in der
Lage ist, einem vorgegebenen Zeitplan folgend jeden dezentralisierten
Testdurchführung-Computer automatisch neu hochzufahren.
14. Das System nach Anspruch 1, weiterhin aufweisend einem Client-Controller, welcher
mit jeden dezentralisierten Testdurchführung-Computer verbunden und der in der
Lage ist, beim Hochfahren des dezentralisierten Testdurchführung-Computers eine
Kommunikation mit der Test-Server-Engine aufzubauen.
15. Das System nach Anspruch 1, wobei jeder Testdurchführung-Computer im
wesentlichen als ein automatischer Testdurchführungsroboter arbeitet, der
automatisch und ohne menschlichen Eingriff über einen ausgedehnten Zeitraum
hinweg wiederholt anfordert, empfängt und ausführt und die Testergebnisse für
Software-GUI-Testinstanzen zurückmeldet.
16. Das System nach Anspruch 1, weiterhin aufweisend den dezentralisierten
Testdurchführung-Computer.
17. Verfahren für die dezentralisierte, automatische Testung von grafischen
Benutzerschnittstellen (GUI) von Software, wobei das Verfahren aufweist:
pflegen einer zentralisierten Test-Warteschlange, welche in der Lage ist eine Vielzahl von Software-GUI-Testinstanzen zu speichern, die von einer Vielzahl von dezentralisierten Testdurchführung-Computern durchzuführen sind, wobei jeder dezentralisierte Testdurchführung-Computer eine Client-Plattform aufweist und jeweils mit einer oder mehreren Server-Plattformen verbunden ist, wobei die Client- Plattformen und die Server-Plattformen zusammen eine Vielzahl von Client-Server- Kombinationen bieten, für die die Software-GUI-Testinstanzen durchgeführt werden können; und
erhalten einer Anforderung für einen Software-GUI-Testinstanz für jeden dezentralisierten Testdurchführung-Computer von einem bestimmten dezentralisierten Testdurchführung-Computer als Antwort auf den Abschluss eines vorhergehenden Software-GUI-Testinstanz durch den bestimmten dezentralisierten Testdurchführung-Computer,
abfragen einer Software-GUI-Testinstanz aus der Warteschlange für jeden dezentralisierten Testdurchführung-Computer,
übermitteln der abgefragten Software-GUI-Testinstanz für jeden dezentralisierten Testdurchführung-Computer an den bestimmten dezentralisierten Testdurchführung- Computer zur Durchführung eines Tests für eine bestimmte Client-Server- Kombination unter Verwendung einer Testkomponente, die von dem bestimmten dezentralisierten Testdurchführung-Computer unterstützt wird, wobei die Testkomponente in der Lage ist, automatische Software-GUI-Tests durchzuführen und für diese Tests Testergebnisse zu produzieren,
erhalten eines Testergebnisses für den Software-GUI-Testinstanz für jeden dezentralisierten Testdurchführung-Computer von dem bestimmten dezentralisierten Testdurchführung-Computer als Antwort auf die Durchführung des Software-GUI- Testinstanz, und
speichern des erhaltenen Testergebnisses für jeden dezentralisierten Testdurchführung-Computer zum Zwecke der Berichterstattung an einen oder mehrere Benutzer.
pflegen einer zentralisierten Test-Warteschlange, welche in der Lage ist eine Vielzahl von Software-GUI-Testinstanzen zu speichern, die von einer Vielzahl von dezentralisierten Testdurchführung-Computern durchzuführen sind, wobei jeder dezentralisierte Testdurchführung-Computer eine Client-Plattform aufweist und jeweils mit einer oder mehreren Server-Plattformen verbunden ist, wobei die Client- Plattformen und die Server-Plattformen zusammen eine Vielzahl von Client-Server- Kombinationen bieten, für die die Software-GUI-Testinstanzen durchgeführt werden können; und
erhalten einer Anforderung für einen Software-GUI-Testinstanz für jeden dezentralisierten Testdurchführung-Computer von einem bestimmten dezentralisierten Testdurchführung-Computer als Antwort auf den Abschluss eines vorhergehenden Software-GUI-Testinstanz durch den bestimmten dezentralisierten Testdurchführung-Computer,
abfragen einer Software-GUI-Testinstanz aus der Warteschlange für jeden dezentralisierten Testdurchführung-Computer,
übermitteln der abgefragten Software-GUI-Testinstanz für jeden dezentralisierten Testdurchführung-Computer an den bestimmten dezentralisierten Testdurchführung- Computer zur Durchführung eines Tests für eine bestimmte Client-Server- Kombination unter Verwendung einer Testkomponente, die von dem bestimmten dezentralisierten Testdurchführung-Computer unterstützt wird, wobei die Testkomponente in der Lage ist, automatische Software-GUI-Tests durchzuführen und für diese Tests Testergebnisse zu produzieren,
erhalten eines Testergebnisses für den Software-GUI-Testinstanz für jeden dezentralisierten Testdurchführung-Computer von dem bestimmten dezentralisierten Testdurchführung-Computer als Antwort auf die Durchführung des Software-GUI- Testinstanz, und
speichern des erhaltenen Testergebnisses für jeden dezentralisierten Testdurchführung-Computer zum Zwecke der Berichterstattung an einen oder mehrere Benutzer.
18. Das Verfahren nach Anspruch 17, wobei mindestens ein dezentralisierter
Testdurchführung-Computer an einem geografisch entfernten Ort betrieben wird als
die anderen dezentralisierten Testdurchführung-Computern und ein
Computersystem, auf dem das Verfahren ausgeführt wird.
19. Das Verfahren nach Anspruch 17, wobei die Testkomponente ein handelsübliches
Standard-Produkt ist.
20. Das Verfahren nach Anspruch 17, wobei jede Software-GUI-Testinstanz eine Instanz
eines Software-GUI-Tests ist, der unter Verwendung einer Test Scripting Language
geschrieben ist, und mit jedem der dezentralisierten Testdurchführung-Computer
durchgeführt werden kann, wobei eine Software-GUI-Testinstanz von dem
bestimmten Testdurchführung-Computer durchgeführt wird, vom dem die
Anforderung zur Abfrage des Software-GUI-Tests aus der Test-Warteschlange
erhalten wurde.
21. Das Verfahren nach Anspruch 17, weiterhin aufweisend:
Erstellen einer Testergebnis-Webseite aufweisend Testergebnissen für eine Vielzahl von Software-GUI-Testinstanzen, einschließlich des Testergebnisses der zuletzt durchgeführten Software-GUI-Testinstanz, im wesentlichen unverzüglich nach dem Erhalt des Testergebnisses von dem bestimmten dezentralisierten Testdurchführung-Computer, auf dem die zuletzt durchgeführte Software-GUI- Testinstanz durchgeführt wurde, und
Übermitteln der Testergebnisse-Webseite zur Anzeige auf einem Benutzersystem, um eine im wesentlichen in Echtzeit erfolgenden Testergebnisse-Berichterstattung bereitzustellen.
Erstellen einer Testergebnis-Webseite aufweisend Testergebnissen für eine Vielzahl von Software-GUI-Testinstanzen, einschließlich des Testergebnisses der zuletzt durchgeführten Software-GUI-Testinstanz, im wesentlichen unverzüglich nach dem Erhalt des Testergebnisses von dem bestimmten dezentralisierten Testdurchführung-Computer, auf dem die zuletzt durchgeführte Software-GUI- Testinstanz durchgeführt wurde, und
Übermitteln der Testergebnisse-Webseite zur Anzeige auf einem Benutzersystem, um eine im wesentlichen in Echtzeit erfolgenden Testergebnisse-Berichterstattung bereitzustellen.
22. Das Verfahren nach Anspruch 21, weiterhin aufweisend:
jede Software-GUI-Testinstanz ein Instanz eines Software-GUI-Tests ist, und erstellen einer Testergebnis-Webseite konsolidierte Testergebnisse für eine bestimmte Client-Plattform aufweist, wobei die konsolidierten Testergebnisse Testergebnisse für jeden Software-GUI-Test für jede Client-Server- Kombinationen angeben, die die bestimmte Client-Plattform betreffen.
jede Software-GUI-Testinstanz ein Instanz eines Software-GUI-Tests ist, und erstellen einer Testergebnis-Webseite konsolidierte Testergebnisse für eine bestimmte Client-Plattform aufweist, wobei die konsolidierten Testergebnisse Testergebnisse für jeden Software-GUI-Test für jede Client-Server- Kombinationen angeben, die die bestimmte Client-Plattform betreffen.
23. Das Verfahren nach Anspruch 21, weiterhin aufweisend erhalten einer
Benutzeranforderung zur Durchführung einer Instanz eines bestimmten Software-
GUI-Tests und einfügen der angeforderten Software-GUI-Testinstanz gemäß der
Benutzeranforderung in die Test-Warteschlange, wobei die Benutzeranforderung
Eingabe durch Auswählen des bestimmten Software-GUI-Tests unter Verwendung
der Testergebnis-Webseite ist.
24. Das Verfahren nach Anspruch 17, wobei zumindest einige Software-GUI-
Testinstanzen in der Test-Warteschlange mit Prioritäten verbunden sind, wobei das
Verfahren weiterhin aufweist abfragen der Software-GUI-Testinstanzen aus der
Test-Warteschlange zur Durchführung je nach der zugehörigen Priorität.
25. Das Verfahren nach Anspruch 17, weiterhin aufweisend:
pflegen einer ersten Warteschlange, beinhaltend Software-GUI-Testinstanzen mit einer höheren Priorität, und einer zweiten Warteschlange, beinhaltend Software- GUI-Testinstanzen mit einer niedrigeren Priorität,
abfragen von Software-GUI-Testinstanzen mit einer höheren Priorität aus der ersten Warteschlange zur Testdurchführung in einem ersten Teil einer Testdauer, und abfragen von Software-GUI-Testinstanzen mit einer niedrigeren Priorität aus der zweiten Warteschlange zur Testdurchführung in einem zweiten Teil der Testdauer.
pflegen einer ersten Warteschlange, beinhaltend Software-GUI-Testinstanzen mit einer höheren Priorität, und einer zweiten Warteschlange, beinhaltend Software- GUI-Testinstanzen mit einer niedrigeren Priorität,
abfragen von Software-GUI-Testinstanzen mit einer höheren Priorität aus der ersten Warteschlange zur Testdurchführung in einem ersten Teil einer Testdauer, und abfragen von Software-GUI-Testinstanzen mit einer niedrigeren Priorität aus der zweiten Warteschlange zur Testdurchführung in einem zweiten Teil der Testdauer.
26. Das Verfahren nach Anspruch 17, weiterhin aufweisend zurück übermitteln von
Instanzen eines Software-GUI-Tests entsprechend einer Regel zur Durchführung
für alle Client-Server-Kombinationen als Antwort auf den Erhalt eines oder
mehrerer Testergebnisse für den Software-GUI-Test, welche Fehler anzeigen.
27. Das Verfahren nach Anspruch 17, weiterhin aufweisend erkennen, wenn die Anzahl der
Software-GUI-Testinstanzen in der Warteschlange unter einem vorgegebenen
Schwellenwert ist, und als Antwort automatisch Software-GUI-Testinstanzen zu
der Warteschlange einfügt.
28. Das Verfahren nach Anspruch 17, weiterhin aufweisend automatisches installieren
einer aktuelle GUI-Softwareversion auf jedem dezentralisierten Testdurchführung-
Computer zu einem oder mehreren geeigneten Zeitpunkten im Verlauf einer
Testdauer.
29. Das Verfahren nach Anspruch 17, weiterhin aufweisend automatisches neu hochfahren
jedes dezentralisierten Testdurchführung-Computers gemäß eines vorgegebenen
Zeitplans.
30. Das Verfahren nach Anspruch 17, weiterhin aufweisend automatisches aufbauen einer
Kommunikation zwischen dem dezentralisierten Testdurchführung-Computer und
einer Test-Server-Engine, wenn der dezentralisierten Testdurchführung-Computer
hochgefahren wird.
31. Das Verfahren nach Anspruch 17, wobei jeder Testdurchführung-Computer im
wesentlichen als ein automatischer Testdurchführungsroboter arbeitet, der
automatisch und ohne menschlichen Eingriff über einen ausgedehnten Zeitraum
hinweg wiederholt anfordert, empfangt und durchführt und die Testergebnisse für
Software-GUI-Testinstanzen zurückmeldet.
32. Software zur Durchführung einer dezentralisierten, automatischen Testung grafischer
Benutzerschnittstellen (GUI) von Software, wobei die Software auf einem
Computerlesbaren Medium verkörpert und bei Ausführung in der Lage ist:
zur Pflege einer zentralisierten Test-Warteschlange, welche in der Lage ist eine Vielzahl von Software-GUI-Testinstanzen zu speichern, die von einer Vielzahl von dezentralisierten Testdurchführung-Computern durchzuführen sind, wobei jeder dezentralisierte Testdurchführung-Computer eine Client-Plattform aufweist und jeweils mit einer oder mehreren Server-Plattformen verbunden ist, wobei die Client- Plattformen und die Server-Plattformen zusammen eine Vielzahl von Client-Server- Kombinationen bieten, für die die Software-GUI-Testinstanzen durchgeführt
werden können; und zum Erhalten einer Anforderung für einen Software-GUI-Testinstanz für jeden dezentralisierten Testdurchführung-Computer von einem bestimmten dezentralisierten Testdurchführung-Computer als Antwort auf den Abschluss eines vorhergehende Software-GUI-Testinstanz durch den bestimmten dezentralisierten Testdurchführung-Computer,
zum Abfragen einer Software-GUI-Testinstanz für jeden dezentralisierten Testdurchführung-Computer aus der Warteschlange,
zum Übermitteln der abgefragten Software-GUI-Testinstanz für jeden dezentralisierten Testdurchführung-Computer an den bestimmten dezentralisierten Testdurchführung-Computer zur Durchführung eines Tests für eine bestimmte Client-Server-Kombination unter Verwendung einer Testkomponente, die von dem bestimmten dezentralisierten Testdurchführung-Computer unterstützt wird, wobei die Testkomponente in der Lage ist, automatische Software-GUI-Tests durchzuführen und für solche Testungen Testergebnisse zu produzieren,
zum Erhalt eines Testergebnisses für die Software-GUI-Testinstanz für jeden dezentralisierten Testdurchführung-Computer von dem bestimmten dezentralisierten Testdurchführung-Computer als Antwort auf die Durchführung der Software-GUI- Testinstanz, und
zur Speicherung des erhaltenen Testergebnisses für jeden dezentralisierten Testdurchführung-Computer zur Berichterstattung an einen oder mehrere Benutzer.
zur Pflege einer zentralisierten Test-Warteschlange, welche in der Lage ist eine Vielzahl von Software-GUI-Testinstanzen zu speichern, die von einer Vielzahl von dezentralisierten Testdurchführung-Computern durchzuführen sind, wobei jeder dezentralisierte Testdurchführung-Computer eine Client-Plattform aufweist und jeweils mit einer oder mehreren Server-Plattformen verbunden ist, wobei die Client- Plattformen und die Server-Plattformen zusammen eine Vielzahl von Client-Server- Kombinationen bieten, für die die Software-GUI-Testinstanzen durchgeführt
werden können; und zum Erhalten einer Anforderung für einen Software-GUI-Testinstanz für jeden dezentralisierten Testdurchführung-Computer von einem bestimmten dezentralisierten Testdurchführung-Computer als Antwort auf den Abschluss eines vorhergehende Software-GUI-Testinstanz durch den bestimmten dezentralisierten Testdurchführung-Computer,
zum Abfragen einer Software-GUI-Testinstanz für jeden dezentralisierten Testdurchführung-Computer aus der Warteschlange,
zum Übermitteln der abgefragten Software-GUI-Testinstanz für jeden dezentralisierten Testdurchführung-Computer an den bestimmten dezentralisierten Testdurchführung-Computer zur Durchführung eines Tests für eine bestimmte Client-Server-Kombination unter Verwendung einer Testkomponente, die von dem bestimmten dezentralisierten Testdurchführung-Computer unterstützt wird, wobei die Testkomponente in der Lage ist, automatische Software-GUI-Tests durchzuführen und für solche Testungen Testergebnisse zu produzieren,
zum Erhalt eines Testergebnisses für die Software-GUI-Testinstanz für jeden dezentralisierten Testdurchführung-Computer von dem bestimmten dezentralisierten Testdurchführung-Computer als Antwort auf die Durchführung der Software-GUI- Testinstanz, und
zur Speicherung des erhaltenen Testergebnisses für jeden dezentralisierten Testdurchführung-Computer zur Berichterstattung an einen oder mehrere Benutzer.
33. Die Software nach Anspruch 32, wobei mindestens ein dezentralisierter
Testdurchführung-Computer an einem geografischen entfernten Ort betrieben wird
als die anderen dezentralisierten Testdurchführung-Computern und die Software.
34. Die Software nach Anspruch 32, wobei die Testkomponente ein handelsübliches
Standard-Produkt ist.
35. Die Software nach Anspruch 32, wobei jeder Software-GUI-Testinstanz einen
Instanz eines Software-GUI-Tests ist, die unter Verwendung einer Test Scripting
Language geschrieben ist, und mit jedem der dezentralisierten Testdurchführung-
Computer durchgeführt werden kann, wobei eine Software-GUI-Testinstanz von
dem bestimmten Testdurchführung-Computer durchgeführt wird, vom dem die
Anforderung zum Abfrage des Software-GUI-Tests aus der Test-Warteschlange
erhalten wurde.
36. Die Software nach Anspruch 32, weiterhin in der Lage ist, zur:
Erstellung einer Testergebnis-Webseite aufweisend Testergebnisse für eine Vielzahl von Software-GUI-Testinstanzen, einschließlich des Testergebnisses der zuletzt durchgeführten Software-GUI-Testinstanz, im wesentlichen unverzüglich nach dem Erhalt des Testergebnisses von dem bestimmten dezentralisierten Testdurchführung-Computer, auf dem die zuletzt durchgeführte Software-GUI- Testinstanz durchgeführt wurde, und
Übermittlung der Testergebnis-Webseite zur Anzeige auf einem Benutzersystem, um eine im wesentlichen in Echtzeit erfolgende Berichterstattung der Testergebnisse bereitzustellen.
Erstellung einer Testergebnis-Webseite aufweisend Testergebnisse für eine Vielzahl von Software-GUI-Testinstanzen, einschließlich des Testergebnisses der zuletzt durchgeführten Software-GUI-Testinstanz, im wesentlichen unverzüglich nach dem Erhalt des Testergebnisses von dem bestimmten dezentralisierten Testdurchführung-Computer, auf dem die zuletzt durchgeführte Software-GUI- Testinstanz durchgeführt wurde, und
Übermittlung der Testergebnis-Webseite zur Anzeige auf einem Benutzersystem, um eine im wesentlichen in Echtzeit erfolgende Berichterstattung der Testergebnisse bereitzustellen.
37. Die Software nach Anspruch 36, wobei:
jeder Software-GUI-Testinstanz eine Instanz eines Software-GUI-Tests ist, und weiterhin in der Lage ist eine Testergebnisse-Webseite zu erstellen, welche aufweist konsolidierte Testergebnisse für eine bestimmte Client-Plattform, wobei konsolidierten Testergebnisse Testergebnisse für jeden Software-GUI-Tests für jede Client-Server-Kombinationen angeben, die die bestimmte Client-Plattform betreffen.
jeder Software-GUI-Testinstanz eine Instanz eines Software-GUI-Tests ist, und weiterhin in der Lage ist eine Testergebnisse-Webseite zu erstellen, welche aufweist konsolidierte Testergebnisse für eine bestimmte Client-Plattform, wobei konsolidierten Testergebnisse Testergebnisse für jeden Software-GUI-Tests für jede Client-Server-Kombinationen angeben, die die bestimmte Client-Plattform betreffen.
38. Die Software nach Anspruch 36, weiterhin in der Lage ist zum Erhalt einer
Benutzeranforderung zur Durchführung einer Instanz eines bestimmten Software-
GUI-Tests und zum Einfügen der angeforderten Software-GUI-Testinstanz gemäß
der Benutzeranforderung in die Test-Warteschlange, wobei die Benutzeranforderung
Eingabe durch Auswählen des bestimmten Software-GUI-Tests unter Verwendung
der Testergebnis-Webseite ist.
39. Die Software nach Anspruch 32, wobei zumindest einige Software-GUI-
Testinstanzen in der Test-Warteschlange mit Prioritäten verbunden sind, wobei die
Software weiterhin in der Lage ist zum Abfragen der Software-GUI-Testinstanzen
aus der Test-Warteschlange zur Durchführung je nach der zugehörigen Priorität.
40. Die Software nach Anspruch 32, wobei die Test-Warteschlange eine ersten
Warteschlange, beinhaltend Software-GUI-Testinstanzen mit einer höheren
Priorität, und eine zweite Warteschlange, beinhaltend Software-GUI-Testinstanzen
mit einer niedrigeren Priorität, aufweist, wobei die Software weiterhin in der Lage ist
zum Abfragen von Software-GUI-Testinstanzen mit einer höheren Priorität aus der
ersten Warteschlange zur Durchführung in einem ersten Teil einer Testdauer und zum
Abfragen von Software-GUI-Testinstanzen mit einer niedrigeren Priorität aus der
zweiten Warteschlange zur Durchführung in einem zweiten Teil der Testdauer.
41. Die Software nach Anspruch 32, weiterhin in der Lage ist zur Zurück-Übermittlung
von Instanzen eines Software-GUI-Tests entsprechend einer Regel zur
Durchführung für alle Client-Server-Kombinationen als Antwort auf den Erhalt
eines oder mehrerer Testergebnisse für den Software-GUI-Test, welche Fehler
anzeigen.
42. Die Software nach Anspruch 32, weiterhin in der Lage ist zur Erkennung, wenn die
Anzahl der Software-GUI-Testinstanzen in der Warteschlange unter einem
vorgegebenen Schwellenwert ist, und als Antwort automatisch Software-GUI-
Testinstanzen zu der Warteschlange hinzufügt.
43. Die Software nach Anspruch 32, weiterhin aufweisend Software, die mit jedem
dezentralisierten Testdurchführung-Computer verbunden und die in der Lage ist, auf
jedem dezentralisierten Testdurchführung-Computer zu einem oder mehreren
geeigneten Zeitpunkten im Verlauf einer Testdauer automatisch eine aktuelle GUI-
Softwareversion zu installieren.
44. Die Software nach Anspruch 32, weiterhin aufweisend Software, die mit jedem
dezentralisierten Testdurchführung-Computer verbunden und die in der Lage ist,
einem vorgegebenen Zeitplan folgend jeden dezentralisierten Testdurchführung-
Computer automatisch neu hochzufahren.
45. Die Software nach Anspruch 32, weiterhin aufweisend Software, die mit jedem
dezentralisierten Testdurchführung-Computer verbunden und die in der Lage ist,
beim Hochfahren des dezentralisierten Testdurchführung-Computers automatisch
eine Kommunikation mit der Test-Server-Engine aufzubauen, die erforderlich ist,
damit der dezentralisierte Testdurchführung-Computer Software-GUI-
Testinstanzen zur Testdurchführung erhalten kann.
46. Die Software nach Anspruch 32, wobei jeder Testdurchführung-Computer im
wesentlichen als ein automatischer Testdurchführungsroboter arbeitet, der über einen
ausgedehnten Zeitraum hinweg automatisch und ohne menschlichen Eingriff
wiederholt anfordert, empfängt und durchführt und die Testergebnisse für Software-
GUI-Testinstanzen zurückmeldet.
47. Ein System für die dezentralisierte, automatische GUI-Testung von Software,
aufweisend:
Mittel zur Pflege einer zentralisierten Test-Warteschlange, in der eine Vielzahl von Software-GUI-Testinstanzen gespeichert sind, die von einer Vielzahl von dezentralisierten Testdurchführung-Computern durchzuführen sind, wobei jeder dezentralisierten Testdurchführung-Computer eine Client-Plattform aufweist und jeweils mit einer oder mehreren Server-Plattformen verbunden sind, wobei die Client- Plattformen und die Server-Plattformen zusammen eine Vielzahl von Client-Server- Kombinationen bieten, für die die Software-GUI-Testinstanzen durchgeführt werden können; und
Mittel zum Erhalt einer Anforderung für einen Software-GUI-Testinstanz von jedem bestimmten dezentralisierten Testdurchführung-Computer als Antwort auf den Abschluss eines vorhergehenden Software-GUI-Testinstanz durch den dezentralisierten Testdurchführung-Computer,
Mittel für die Abfrage einer Software-GUI-Testinstanz aus der Warteschlange als Antwort auf die Anforderung durch den bestimmten dezentralisierten Testdurchführung-Computer,
Mittel zur Übermittlung der abgefragten Software-GUI-Testinstanz an den bestimmten dezentralisierten Testdurchführung-Computer zur Durchfiührung eines Tests für eine bestimmte Client-Server-Kombination unter Verwendung einer Testkomponente, die von dem bestimmten dezentralisierten Testdurchführung- Computer unterstützt wird, wobei die Testkomponente in der Lage ist, automatische Software-GUI-Tests durchzuführen und für solche Tests Testergebnisse zu produzieren,
Mittel zum Erhalt eines Testergebnisses für die Software-GUI-Testinstanz von dem bestimmten dezentralisierten Testdurchführung-Computer als Antwort auf die Durchführung der Software-GUI-Testinstanz, und
Mittel zur Speicherung des erhaltenen Testergebnisses zur Berichterstattung an einen oder mehrere Benutzer.
Mittel zur Pflege einer zentralisierten Test-Warteschlange, in der eine Vielzahl von Software-GUI-Testinstanzen gespeichert sind, die von einer Vielzahl von dezentralisierten Testdurchführung-Computern durchzuführen sind, wobei jeder dezentralisierten Testdurchführung-Computer eine Client-Plattform aufweist und jeweils mit einer oder mehreren Server-Plattformen verbunden sind, wobei die Client- Plattformen und die Server-Plattformen zusammen eine Vielzahl von Client-Server- Kombinationen bieten, für die die Software-GUI-Testinstanzen durchgeführt werden können; und
Mittel zum Erhalt einer Anforderung für einen Software-GUI-Testinstanz von jedem bestimmten dezentralisierten Testdurchführung-Computer als Antwort auf den Abschluss eines vorhergehenden Software-GUI-Testinstanz durch den dezentralisierten Testdurchführung-Computer,
Mittel für die Abfrage einer Software-GUI-Testinstanz aus der Warteschlange als Antwort auf die Anforderung durch den bestimmten dezentralisierten Testdurchführung-Computer,
Mittel zur Übermittlung der abgefragten Software-GUI-Testinstanz an den bestimmten dezentralisierten Testdurchführung-Computer zur Durchfiührung eines Tests für eine bestimmte Client-Server-Kombination unter Verwendung einer Testkomponente, die von dem bestimmten dezentralisierten Testdurchführung- Computer unterstützt wird, wobei die Testkomponente in der Lage ist, automatische Software-GUI-Tests durchzuführen und für solche Tests Testergebnisse zu produzieren,
Mittel zum Erhalt eines Testergebnisses für die Software-GUI-Testinstanz von dem bestimmten dezentralisierten Testdurchführung-Computer als Antwort auf die Durchführung der Software-GUI-Testinstanz, und
Mittel zur Speicherung des erhaltenen Testergebnisses zur Berichterstattung an einen oder mehrere Benutzer.
48. Ein System für die dezentralisierte, automatische Testung von grafischen
Benutzerschnittstellen (GUI) von Software, aufweisend:
eine zentralisierte Test-Warteschlange, in der eine Vielzahl von Software-GUI- Testinstanzen gespeichert sind, die von einer Vielzahl von dezentralisierten Testdurchführung-Computern durchzuführen sind, wobei jeder dezentralisierten Testdurchführung-Computer eine Client-Plattform aufweist und jeweils mit einer oder mehreren Server-Plattformen verbunden ist, wobei die Client-Plattformen und die Server-Plattformen zusammen eine Vielzahl von Client-Server-Kombinationen bieten, für die die Software-GUI-Testinstanzen durchgeführt werden können, wobei jeder Software-GUI-Testinstanz ein Instanz eines Software-GUI-Tests ist, der unter Verwendung einer Text Scripting Language geschrieben und unter Verwendung jedes der dezentralisierten Testdurchführung-Computers ausführbar ist; und
einer Test-Server-Engine welche in der Lage ist für jeden dezentralisierten Testdurchführung-Computer:
erhalten einer Anforderung für einen Software-GUI-Testinstanz von einem bestimmten dezentralisierten Testdurchführung-Computer als Antwort auf den Abschluss eines vorhergehenden Software-GUI-Testinstanz durch den bestimmten dezentralisierten Testdurchführung-Computer,
abfragen einer Software-GUI-Testinstanz aus der Warteschlange,
übermitteln der abgefragten Software-GUI-Testinstanz an den bestimmten dezentralisierten Testdurchführung-Computer zur Durchführung eines Tests für eine bestimmte Client-Server-Kombination unter Verwendung einer Testkomponente, die von dem bestimmten dezentralisierten Testdurchführung- Computer unterstützt wird und in der Lage ist, automatische Software-GUI-Tests durchzuführen und für solche Tests Testergebnisse zur Übermittlung an die Test- Server-Engine zu produzieren, wobei der Software-GUI-Test auf dem bestimmten dezentralisierten Testdurchführung-Computer durchgeführt wird, von dem die Anforderung zum Abfrage des Software-GUI-Tests aus der Test- Warteschlange erhalten wurde,
erhalten eines Testergebnisses für die Software-GUI-Testinstanz von dem bestimmten dezentralisierten Testdurchführung-Computer als Antwort auf die Durchführung der Software-GUI-Testinstanz, und
speichern des erhaltenen Testergebnisses in einer Testergebnis-Datenbank zur Berichterstattung an einen oder mehrere Benutzer, und
erstellen einer Testergebnis-Webseite, welche aufweist die Testergebnissen für die Vielzahl von Software-GUI-Testinstanzen,
wobei jeder Testdurchführung-Computer im wesentlichen als ein automatischer Testdurchführungsroboter arbeitet, der über einen ausgedehnten Zeitraum hinweg automatisch und ohne menschlichen Eingriff wiederholt anfordert, empfängt und durchführt und die Testergebnisse für Software-GUI-Testinstanzen zurückmeldet, und
ein Web-Server, der in der Lage ist:
zum Zugreifen auf die Testergebnis-Datenbank zum Erhalt von Testergebnissen für eine Vielzahl von Software-GUI-Testinstanzen, und
zur Übermittlung der Testergebnisse-Webseite zur Anzeige auf einem Benutzersystem als Grundlage für eine im wesentlichen in Echtzeit erfolgende Testergebnisse-Berichterstattung.
eine zentralisierte Test-Warteschlange, in der eine Vielzahl von Software-GUI- Testinstanzen gespeichert sind, die von einer Vielzahl von dezentralisierten Testdurchführung-Computern durchzuführen sind, wobei jeder dezentralisierten Testdurchführung-Computer eine Client-Plattform aufweist und jeweils mit einer oder mehreren Server-Plattformen verbunden ist, wobei die Client-Plattformen und die Server-Plattformen zusammen eine Vielzahl von Client-Server-Kombinationen bieten, für die die Software-GUI-Testinstanzen durchgeführt werden können, wobei jeder Software-GUI-Testinstanz ein Instanz eines Software-GUI-Tests ist, der unter Verwendung einer Text Scripting Language geschrieben und unter Verwendung jedes der dezentralisierten Testdurchführung-Computers ausführbar ist; und
einer Test-Server-Engine welche in der Lage ist für jeden dezentralisierten Testdurchführung-Computer:
erhalten einer Anforderung für einen Software-GUI-Testinstanz von einem bestimmten dezentralisierten Testdurchführung-Computer als Antwort auf den Abschluss eines vorhergehenden Software-GUI-Testinstanz durch den bestimmten dezentralisierten Testdurchführung-Computer,
abfragen einer Software-GUI-Testinstanz aus der Warteschlange,
übermitteln der abgefragten Software-GUI-Testinstanz an den bestimmten dezentralisierten Testdurchführung-Computer zur Durchführung eines Tests für eine bestimmte Client-Server-Kombination unter Verwendung einer Testkomponente, die von dem bestimmten dezentralisierten Testdurchführung- Computer unterstützt wird und in der Lage ist, automatische Software-GUI-Tests durchzuführen und für solche Tests Testergebnisse zur Übermittlung an die Test- Server-Engine zu produzieren, wobei der Software-GUI-Test auf dem bestimmten dezentralisierten Testdurchführung-Computer durchgeführt wird, von dem die Anforderung zum Abfrage des Software-GUI-Tests aus der Test- Warteschlange erhalten wurde,
erhalten eines Testergebnisses für die Software-GUI-Testinstanz von dem bestimmten dezentralisierten Testdurchführung-Computer als Antwort auf die Durchführung der Software-GUI-Testinstanz, und
speichern des erhaltenen Testergebnisses in einer Testergebnis-Datenbank zur Berichterstattung an einen oder mehrere Benutzer, und
erstellen einer Testergebnis-Webseite, welche aufweist die Testergebnissen für die Vielzahl von Software-GUI-Testinstanzen,
wobei jeder Testdurchführung-Computer im wesentlichen als ein automatischer Testdurchführungsroboter arbeitet, der über einen ausgedehnten Zeitraum hinweg automatisch und ohne menschlichen Eingriff wiederholt anfordert, empfängt und durchführt und die Testergebnisse für Software-GUI-Testinstanzen zurückmeldet, und
ein Web-Server, der in der Lage ist:
zum Zugreifen auf die Testergebnis-Datenbank zum Erhalt von Testergebnissen für eine Vielzahl von Software-GUI-Testinstanzen, und
zur Übermittlung der Testergebnisse-Webseite zur Anzeige auf einem Benutzersystem als Grundlage für eine im wesentlichen in Echtzeit erfolgende Testergebnisse-Berichterstattung.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/998,363 US7055137B2 (en) | 2001-11-29 | 2001-11-29 | Distributed automated software graphical user interface (GUI) testing |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10255125A1 true DE10255125A1 (de) | 2003-07-31 |
Family
ID=25545108
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10255125A Withdrawn DE10255125A1 (de) | 2001-11-29 | 2002-11-26 | Dezentralisierte Automatische Testung von Grafischen Benutzerschnittstellen(GUI) von Software |
Country Status (3)
Country | Link |
---|---|
US (1) | US7055137B2 (de) |
DE (1) | DE10255125A1 (de) |
TW (1) | TWI238316B (de) |
Families Citing this family (108)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030131088A1 (en) * | 2002-01-10 | 2003-07-10 | Ibm Corporation | Method and system for automatic selection of a test system in a network environment |
US7050921B2 (en) * | 2002-04-23 | 2006-05-23 | Agilent Technologies, Inc. | Electronic test program with run selection |
US7165240B2 (en) * | 2002-06-20 | 2007-01-16 | International Business Machines Corporation | Topological best match naming convention apparatus and method for use in testing graphical user interfaces |
DE10260614B4 (de) * | 2002-12-23 | 2008-01-31 | Advanced Micro Devices, Inc., Sunnyvale | Plasmaparametersteuerung unter Verwendung von Lerndaten |
US20050114785A1 (en) * | 2003-01-07 | 2005-05-26 | Microsoft Corporation | Active content wizard execution with improved conspicuity |
US20040130572A1 (en) * | 2003-01-07 | 2004-07-08 | Aravind Bala | Active content wizard: execution of tasks and structured content |
US8261239B2 (en) * | 2003-03-25 | 2012-09-04 | International Business Machines Corporation | Locating a testable object in a functional testing tool |
US7451455B1 (en) * | 2003-05-02 | 2008-11-11 | Microsoft Corporation | Apparatus and method for automatically manipulating software products |
US7512039B1 (en) * | 2003-05-27 | 2009-03-31 | Oracle International Corporation | Method for enhancing functionality of an automated testing tool |
US7526410B2 (en) * | 2003-07-03 | 2009-04-28 | Microsoft Corporation | Remote computer graphics performance testing |
US7984427B2 (en) * | 2003-08-07 | 2011-07-19 | International Business Machines Corporation | System and methods for synchronizing software execution across data processing systems and platforms |
US7721289B2 (en) * | 2003-08-29 | 2010-05-18 | Microsoft Corporation | System and method for dynamic allocation of computers in response to requests |
US20050096864A1 (en) * | 2003-10-31 | 2005-05-05 | Bonilla Carlos A. | Method and system for managing a testing task |
US7386579B2 (en) * | 2003-11-12 | 2008-06-10 | Siemens Product Life Cycle Management Software Inc. | System, method, and computer program product for storing test results in a database |
US7720905B1 (en) * | 2003-12-23 | 2010-05-18 | Vignette Software Llc | Method and system for automated digital asset management on client-server computer network |
US20050234708A1 (en) * | 2004-04-19 | 2005-10-20 | Nuvotec, Inc. | Notation enabling all activity between a system and a user to be defined, and methods for using the same |
CN101421776B (zh) * | 2004-07-08 | 2012-03-21 | 微软公司 | 用于生成内容的自动图像捕捉 |
CN100399241C (zh) * | 2004-07-08 | 2008-07-02 | 微软公司 | 自动文本生成 |
US7574625B2 (en) * | 2004-09-14 | 2009-08-11 | Microsoft Corporation | Active content wizard testing |
US20060075391A1 (en) * | 2004-10-05 | 2006-04-06 | Esmonde Laurence G Jr | Distributed scenario generation |
US7602958B1 (en) * | 2004-10-18 | 2009-10-13 | Kla-Tencor Corporation | Mirror node process verification |
US8060864B1 (en) * | 2005-01-07 | 2011-11-15 | Interactive TKO, Inc. | System and method for live software object interaction |
US8117591B1 (en) | 2005-01-07 | 2012-02-14 | Interactive TKO, Inc. | Graphical model for test case viewing, editing, and reporting |
US7673179B2 (en) * | 2005-02-07 | 2010-03-02 | Lsi Corporation | Online testing unification system with remote test automation technology |
US20060184880A1 (en) * | 2005-02-17 | 2006-08-17 | Microsoft Corporation | Discoverability of tasks using active content wizards and help files - the what can I do now? feature |
US8583694B2 (en) | 2005-05-09 | 2013-11-12 | Atlas Development Corporation | Health-care related database middleware |
US7702958B2 (en) * | 2005-05-24 | 2010-04-20 | Alcatel-Lucent Usa Inc. | Auto-recording tool for developing test harness files |
US7996255B1 (en) * | 2005-09-29 | 2011-08-09 | The Mathworks, Inc. | System and method for providing sales leads based on-demand software trial usage |
US7502967B1 (en) | 2005-10-31 | 2009-03-10 | Hewlett-Packard Development Company, L.P. | Identifying an object in a data file that causes an error in an application |
US7730452B1 (en) | 2005-11-01 | 2010-06-01 | Hewlett-Packard Development Company, L.P. | Testing a component of a distributed system |
US8166458B2 (en) * | 2005-11-07 | 2012-04-24 | Red Hat, Inc. | Method and system for automated distributed software testing |
GB0522734D0 (en) * | 2005-11-08 | 2005-12-14 | Ibm | Method and system for simultaneous testing of applications |
CN1987819A (zh) * | 2005-12-21 | 2007-06-27 | 三星电子株式会社 | 选择性测试方法及其测试设备 |
US8060863B2 (en) * | 2006-05-19 | 2011-11-15 | Sap Ag | Conformance control module |
US7543184B2 (en) * | 2006-05-23 | 2009-06-02 | The Mathworks, Inc. | System and method for distributing system tests in parallel computing environments |
US7640470B2 (en) * | 2006-08-21 | 2009-12-29 | Microsoft Corporation | Meta-data driven test-data generation with controllable combinatorial coverage |
US7644315B2 (en) * | 2006-10-30 | 2010-01-05 | Google Inc. | Diagnostics and error reporting for common tagging issues |
US7823138B2 (en) * | 2006-11-14 | 2010-10-26 | Microsoft Corporation | Distributed testing for computing features |
US7913230B2 (en) * | 2007-01-31 | 2011-03-22 | Oracle International Corporation | Computer-implemented methods and systems for generating software testing documentation and test results management system using same |
US8201150B2 (en) * | 2007-03-20 | 2012-06-12 | International Business Machines Corporation | Evaluating software test coverage |
US7827273B2 (en) * | 2007-03-26 | 2010-11-02 | Microsoft Corporation | Machine cluster topology representation for automated testing |
US8020151B2 (en) * | 2007-07-31 | 2011-09-13 | International Business Machines Corporation | Techniques for determining a web browser state during web page testing |
US7831865B1 (en) * | 2007-09-26 | 2010-11-09 | Sprint Communications Company L.P. | Resource allocation for executing automation scripts |
US7856574B2 (en) * | 2007-09-27 | 2010-12-21 | Microsoft Corporation | Internet connectivity evaluation |
US8261238B2 (en) * | 2008-03-04 | 2012-09-04 | Microsoft Corporation | Shield for user interface testing |
US7536648B1 (en) * | 2008-03-31 | 2009-05-19 | International Business Machines Corporation | Method for automatically updating graphic user interface (GUI) objects |
US20090254329A1 (en) * | 2008-04-03 | 2009-10-08 | International Business Machines Corporation | Method for virtualization of input devices for parallel execution of test automation scripts |
US8645919B2 (en) * | 2008-04-16 | 2014-02-04 | Microsoft Corporation | Generic validation test framework for graphical user interfaces |
US8850458B1 (en) * | 2008-06-06 | 2014-09-30 | Amdocs Software Systems Limited | System, method, and computer program for combining results of event processing received from a plurality of servers |
CN101634860A (zh) * | 2008-07-21 | 2010-01-27 | 鸿富锦精密工业(深圳)有限公司 | 模拟控制设备及应用该模拟控制设备的测试系统及方法 |
US8185910B2 (en) * | 2008-08-27 | 2012-05-22 | Eric Sven-Johan Swildens | Method and system for testing interactions between web clients and networked servers |
US20100064282A1 (en) * | 2008-09-05 | 2010-03-11 | Microsoft Corporation | Declarative testing for user interfaces |
US9111019B2 (en) | 2008-09-30 | 2015-08-18 | Interactive TKO, Inc. | Modeling and testing interactions between components of a software system |
US20100131927A1 (en) * | 2008-11-24 | 2010-05-27 | Ibm Corporation | Automated gui testing |
US8850395B2 (en) * | 2009-12-03 | 2014-09-30 | International Business Machines Corporation | Managing graphical user interface (GUI) objects in a testing environment |
US9495282B2 (en) * | 2010-06-21 | 2016-11-15 | Salesforce.Com, Inc. | Method and systems for a dashboard testing framework in an online demand service environment |
US8667467B2 (en) * | 2010-07-26 | 2014-03-04 | Sap Aktiengesellschaft | Dynamic test scripts |
US9715483B2 (en) | 2010-09-16 | 2017-07-25 | International Business Machines Corporation | User interface for testing and asserting UI elements with natural language instructions |
US8904356B2 (en) | 2010-10-20 | 2014-12-02 | International Business Machines Corporation | Collaborative software debugging in a distributed system with multi-member variable expansion |
US8671393B2 (en) | 2010-10-21 | 2014-03-11 | International Business Machines Corporation | Collaborative software debugging in a distributed system with client-specific dynamic breakpoints |
US9009673B2 (en) | 2010-10-21 | 2015-04-14 | International Business Machines Corporation | Collaborative software debugging in a distributed system with collaborative step over operation |
US8972945B2 (en) | 2010-10-21 | 2015-03-03 | International Business Machines Corporation | Collaborative software debugging in a distributed system with client-specific access control |
US8984490B1 (en) | 2010-10-26 | 2015-03-17 | Interactive TKO, Inc. | Modeling and testing of interactions between components of a software system |
US20120102462A1 (en) * | 2010-10-26 | 2012-04-26 | Microsoft Corporation | Parallel test execution |
US8966454B1 (en) | 2010-10-26 | 2015-02-24 | Interactive TKO, Inc. | Modeling and testing of interactions between components of a software system |
US8990775B2 (en) | 2010-11-10 | 2015-03-24 | International Business Machines Corporation | Collaborative software debugging in a distributed system with dynamically displayed chat sessions |
US8850397B2 (en) | 2010-11-10 | 2014-09-30 | International Business Machines Corporation | Collaborative software debugging in a distributed system with client-specific display of local variables |
US9411709B2 (en) | 2010-11-10 | 2016-08-09 | International Business Machines Corporation | Collaborative software debugging in a distributed system with client-specific event alerts |
US9064054B2 (en) * | 2010-12-29 | 2015-06-23 | Red Hat, Inc. | Synchronizing execution of a testing application |
ES2707230T3 (es) * | 2011-01-31 | 2019-04-03 | Tata Consultancy Services Ltd | Prueba del ciclo de vida |
US8739127B2 (en) | 2011-04-20 | 2014-05-27 | International Business Machines Corporation | Collaborative software debugging in a distributed system with symbol locking |
US8656360B2 (en) * | 2011-04-20 | 2014-02-18 | International Business Machines Corporation | Collaborative software debugging in a distributed system with execution resumption on consensus |
US8806438B2 (en) | 2011-04-20 | 2014-08-12 | International Business Machines Corporation | Collaborative software debugging in a distributed system with variable-specific messages |
US8756577B2 (en) * | 2011-06-28 | 2014-06-17 | International Business Machines Corporation | Collaborative software debugging in a distributed system with private debug sessions |
US9405664B2 (en) * | 2011-08-31 | 2016-08-02 | Hewlett Packard Enterprise Development Lp | Automating software testing |
US8826084B1 (en) * | 2011-09-07 | 2014-09-02 | Innovative Defense Technologies, LLC | Method and system for implementing automated test and retest procedures |
AU2012340684A1 (en) | 2011-11-22 | 2014-07-17 | Solano Labs, Inc. | System of distributed software quality improvement |
US10169213B2 (en) * | 2011-11-29 | 2019-01-01 | Red Hat, Inc. | Processing of an application and a corresponding test file in a content repository |
CN103186459B (zh) * | 2011-12-30 | 2016-05-11 | 迈普通信技术股份有限公司 | 基于脚本的java图形用户界面自动测试方法 |
US9077646B2 (en) | 2012-02-13 | 2015-07-07 | Fluke Corporation | Method and apparatus for testing and displaying test results |
US8984341B1 (en) * | 2012-05-08 | 2015-03-17 | Amazon Technologies, Inc. | Scalable testing in a production system with autoscaling |
US9495281B2 (en) * | 2012-11-21 | 2016-11-15 | Hewlett Packard Enterprise Development Lp | User interface coverage |
CN103902446B (zh) * | 2012-12-27 | 2017-04-05 | 北京新媒传信科技有限公司 | 一种网络服务器自动化测试的方法和装置 |
US9104814B1 (en) * | 2013-05-03 | 2015-08-11 | Kabam, Inc. | System and method for integrated testing of a virtual space |
US9465726B2 (en) * | 2013-06-05 | 2016-10-11 | Vmware, Inc. | Abstract layer for automatic user interface testing |
CN103455425B (zh) * | 2013-09-25 | 2016-08-17 | 中国银行股份有限公司 | 一种分布式测试系统及方法 |
US20150128103A1 (en) * | 2013-11-07 | 2015-05-07 | Runscope, Inc. | System and method for automating application programming interface integration |
US10025839B2 (en) | 2013-11-29 | 2018-07-17 | Ca, Inc. | Database virtualization |
US9552459B2 (en) * | 2014-01-07 | 2017-01-24 | Mckesson Financial Holdings | Method and apparatus for implementing a task plan including transmission of one or more test messages |
US9727314B2 (en) | 2014-03-21 | 2017-08-08 | Ca, Inc. | Composite virtual services |
US9531609B2 (en) | 2014-03-23 | 2016-12-27 | Ca, Inc. | Virtual service automation |
US9811451B1 (en) * | 2015-09-17 | 2017-11-07 | Amazon Technologies, Inc. | Distributed software testing |
CN105281978B (zh) * | 2015-10-23 | 2019-02-19 | 小米科技有限责任公司 | 一种性能测试的方法、装置和系统 |
US9703683B2 (en) * | 2015-11-24 | 2017-07-11 | International Business Machines Corporation | Software testing coverage |
JP6641936B2 (ja) * | 2015-12-01 | 2020-02-05 | 富士通株式会社 | 情報処理装置、情報処理プログラム、及び情報処理方法 |
US10285084B2 (en) * | 2015-12-15 | 2019-05-07 | Dc Mobility Holdings, Llc | Apparatus, system and method for testing of communication networks with prescribed communication traffic |
US10114736B2 (en) | 2016-03-30 | 2018-10-30 | Ca, Inc. | Virtual service data set generation |
US9898390B2 (en) | 2016-03-30 | 2018-02-20 | Ca, Inc. | Virtual service localization |
US11392277B2 (en) * | 2017-10-13 | 2022-07-19 | Rainforest Qa, Inc. | Electronic product testing systems |
US10545553B2 (en) * | 2017-06-30 | 2020-01-28 | International Business Machines Corporation | Preventing unexpected power-up failures of hardware components |
US10534698B2 (en) | 2017-08-24 | 2020-01-14 | Salesforce.Com, Inc. | Stateless self-sufficient test agents |
CN107748717A (zh) * | 2017-09-26 | 2018-03-02 | 深圳市牛鼎丰科技有限公司 | 接口自动化测试方法、装置、存储介质和计算机设备 |
US11379253B2 (en) | 2020-11-30 | 2022-07-05 | International Business Machines Corporation | Training chatbots for remote troubleshooting |
KR20220046697A (ko) * | 2021-02-26 | 2022-04-14 | 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. | 자동화 테스트 방법, 장치, 전자기기, 저장매체 및 컴퓨터 프로그램 |
US11593251B2 (en) * | 2021-03-03 | 2023-02-28 | Oracle International Corporation | Techniques for large-scale functional testing in cloud-computing environments |
CN114726577B (zh) * | 2022-03-02 | 2024-07-09 | 武汉天喻信息产业股份有限公司 | 一种供于测试的通信系统及数据篡改方法 |
US11860771B1 (en) * | 2022-09-26 | 2024-01-02 | Browserstack Limited | Multisession mode in remote device infrastructure |
TWI847587B (zh) * | 2023-03-10 | 2024-07-01 | 天鈺科技股份有限公司 | 測試程式開發方法、系統及電子設備 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5600789A (en) * | 1992-11-19 | 1997-02-04 | Segue Software, Inc. | Automated GUI interface testing |
US5371883A (en) | 1993-03-26 | 1994-12-06 | International Business Machines Corporation | Method of testing programs in a distributed environment |
US5909544A (en) * | 1995-08-23 | 1999-06-01 | Novell Inc. | Automated test harness |
US6067639A (en) | 1995-11-09 | 2000-05-23 | Microsoft Corporation | Method for integrating automated software testing with software development |
US6473707B1 (en) * | 1998-08-21 | 2002-10-29 | National Instruments Corporation | Test executive system and method including automatic result collection |
US6182245B1 (en) * | 1998-08-31 | 2001-01-30 | Lsi Logic Corporation | Software test case client/server system and method |
US6510402B1 (en) * | 1999-02-04 | 2003-01-21 | International Business Machines Corporation | Component testing with a client system in an integrated test environment network |
US6701514B1 (en) * | 2000-03-27 | 2004-03-02 | Accenture Llp | System, method, and article of manufacture for test maintenance in an automated scripting framework |
US6467537B1 (en) * | 2000-05-17 | 2002-10-22 | Carrier Corporation | Advanced starting control for multiple zone system |
US6804709B2 (en) * | 2001-02-20 | 2004-10-12 | Microsoft Corporation | System uses test controller to match different combination configuration capabilities of servers and clients and assign test cases for implementing distributed testing |
GB2391367A (en) * | 2001-04-24 | 2004-02-04 | Wvhtc Foundation | Software suitability testing system |
-
2001
- 2001-11-29 US US09/998,363 patent/US7055137B2/en not_active Expired - Fee Related
-
2002
- 2002-11-26 TW TW091134350A patent/TWI238316B/zh not_active IP Right Cessation
- 2002-11-26 DE DE10255125A patent/DE10255125A1/de not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
TW200300881A (en) | 2003-06-16 |
US7055137B2 (en) | 2006-05-30 |
TWI238316B (en) | 2005-08-21 |
US20030098879A1 (en) | 2003-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10255125A1 (de) | Dezentralisierte Automatische Testung von Grafischen Benutzerschnittstellen(GUI) von Software | |
DE69031538T2 (de) | System und Verfahren zur Sammlung von Softwareanwendungsereignissen | |
DE3752196T2 (de) | Vorrichtung für Datenverarbeitungsverteilung über eine Mehrzahl von Steuerungsorten | |
DE69128852T2 (de) | Automatisierte Aufnahme eines Rechnerssystems in einem Dienstnetzwerk von Rechnersystemen | |
DE60220287T2 (de) | System und verfahren zur überwachung von software-warteschlangenanwendungen | |
DE19607515B4 (de) | Computer mit Prozessverwalter | |
DE69712678T3 (de) | Verfahren zur Echtzeitüberwachung eines Rechnersystems zu seiner Verwaltung und Hilfe zu seiner Wartung während seiner Betriebsbereitschaft | |
DE69232255T2 (de) | Verfahren und System zum Steuern des Ablaufs eines Anwenderprogramms | |
DE69822935T2 (de) | Vorrichtung und Verfahren zur dynamischen Regelung der Betriebsmittelzuweisung in einem Computersystem | |
DE69205690T2 (de) | Verfahren und system zur herstellung und zum erhalt mehrerer dokumentversionen in einer datenverarbeitungsystembibliothek. | |
DE19861002C2 (de) | Computerprogramm zur Synchronisation von Leistungsdaten in verteilten Rechnerumgebungen | |
DE69202575T2 (de) | Verfahren und vorrichtung zur reduktion der datenmenge fuer die softwareinstallierung. | |
DE2244402A1 (de) | Datenverarbeitungsanlage | |
DE102004057021A1 (de) | Verfahren und System zum Testen eines Computersystems durch ein Anlegen einer Last | |
DE69937266T2 (de) | Anwenderschnittstelle für Datenverarbeitungssystem mit Jobüberwachung | |
DE60219821T2 (de) | Verfahren und gerät zum wiedergewinnen von zeitreihedaten, die mit einer aktivität in beziehung stehen | |
DE112011103443T5 (de) | Intelligente Schnittstelle für ein dezentrales Steuerungssystem | |
DE19617976A1 (de) | Kommunikationssystem mit Mitteln zum Austausch von Softwareprozessen | |
DE112013006588T5 (de) | Verwaltungssystem zum Verwalten eines Computersystems und Verwaltungsverfahren hierfür | |
DE69609887T2 (de) | Hypertextsystem und Anzeigeverfahren | |
DE202017106569U1 (de) | Analyse grossangelegter Datenverarbeitungsaufträge | |
EP1657670A1 (de) | System und Verfahren zur Status- und Fortschriftskontrolle eines technischen Prozesses oder eines technischen Projektes | |
DE102019005935A1 (de) | Numerische steuereinheit | |
EP0525214B1 (de) | Verfahren zum Betreiben eines Automatisierungsgeräts | |
EP3705993B1 (de) | System und verfahren zum auffinden und identifizieren von rechenknoten in einem netzwerk |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8139 | Disposal/non-payment of the annual fee |