DE60010420T2 - Automatisches Regressionstesten von Arbeitsplatz-Software - Google Patents
Automatisches Regressionstesten von Arbeitsplatz-Software Download PDFInfo
- Publication number
- DE60010420T2 DE60010420T2 DE60010420T DE60010420T DE60010420T2 DE 60010420 T2 DE60010420 T2 DE 60010420T2 DE 60010420 T DE60010420 T DE 60010420T DE 60010420 T DE60010420 T DE 60010420T DE 60010420 T2 DE60010420 T2 DE 60010420T2
- Authority
- DE
- Germany
- Prior art keywords
- test
- tree
- source code
- directory
- file
- 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.)
- Expired - Fee Related
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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99956—File allocation
Description
- Die Erfindung bezieht sich auf das Testen von Workstation-Hardware und -Software unter Verwendung von Rückfall- bzw. Regressions-Testtechniken.
- Es existieren Computer-Programme, die zum Testen von Software-Anwendungen verwendet werden und die Eingangsdaten empfangen können, wie beispielsweise Tastenanschläge, die durch die Software-Anwendung erkannt werden können. Bei Empfang der Eingangsdaten haben diese Computer-Programme die Fähigkeit, die Eingangsdaten zu speichern (in Dateien, die Testscripts genannt werden) und diese dann erneut abzuspielen, so dass die Software-Anwendung funktioniert, als ob ein Benutzer tatsächlich die Eingangsdaten in die Software-Anwendung tippen würde. Auf diese Weise können Eingangsdaten wiederholt in die Software-Anwendung eingegeben werden, wobei ein Benutzer ein Testscript erzeugt, indem er die Eingangsdaten nur einmal eingibt.
- Durch Verwendung eines derartigen Computer-Programms kann eine Software-Anwendung ausgeführt werden, indem ein vorbereitetes Testscript verwendet wird, um so zu verifizieren, dass die Software-Anwendung wie erwartet arbeitet. Dies kann erreicht werden, indem zuvor gespeicherte Ergebnisse mit Ergebnissen verglichen werden, die anschließend gewonnen wurden, indem das Testscript durch die Software-Anwendung erneut abgespielt wird. Die Tatsache, dass die Software-Anwendung wie erwartet arbeitet, kann auch als eine Anzeige verwendet werden, dass die Hardware, auf der die Software-Anwendung läuft, wie erwartet arbeitet.
- Regressions- bzw. Rückfall-Testen beinhaltet, dass ein Programm mit vielen unterschiedlichen Tests bereitgestellt wird. Die Tests versorgen das Programm mit unterschiedlichen Eingaben. Diese Tests üben die speziellen Funktionen, Datenstrukturen und Merkmale des Programms. Um Regressionstesten auszuführen, führt ein Computer das Programm mehrere Male aus. Jede Ausführung verwendet einen anderen der Regressionstests in dem Script als Eingabe. Die Resultate der Regressionstests zeigen an, welcher der Tests bestanden wurde und welcher versagte.
- Unterschiedliche Programmierer modifizieren unterschiedliche Teile von dem Source- bzw. Quellcode während der Entwicklung des Anwendungsprogramms. Üblicherweise kompiliert der Programmierer das Programm mit eben seinen/ihren Änderungen. Bevor der Programmierer die Änderungen freigibt, führt der Programmierer eine Anzahl von Tests mit den Änderungen aus. (Der Programmierer „gibt frei bzw. releases" Änderungen, indem er anderen in dem Entwicklungsteam gestattet, den geänderten Sourcecode zu benutzen.) Idealerweise enthält das Testen, dass die Regressionstests auf dem neu kompilierten Programm laufen. Das Regressionstesten zeigt, ob die Programmänderungen bewirken, dass einige der Regressionstests versagen.
- Ein Problem mit dem Erfordernis, dass ein Programmierer die Regressionstests laufen lässt, wenn eine Änderung gemacht ist, besteht darin, dass das Regressionstesten Stunden oder sogar Tage beanspruchen kann. Regressionstest-Scriptbibliotheken können über Monate oder Jahre aufgebaut werden. Die Information über das, was von ihnen getestet worden ist, kann verloren gehen oder wird möglicherweise nicht aktualisiert. Zusätzlich macht das Volumen von Tests die Kenntnis, welche Tests gemacht worden sind, Anweisungen sehr schwierig. Die Tests können unsortiert oder unklassifiziert sein, welchen Teil des Programms sie testen. Selbst Tests, die verstanden sind, testen üblicherweise andere Teil von dem Programm als den Zielbereich. Deshalb ist es für einen Programmierer sehr schwierig zu wissen, welcher der Regressionstests einen bestimmten Teil des Programms testet.
- Während der Entwicklung von einem Computersystem werden viele Anwendungsprogramme durch einen oder mehrere Programmierer über eine längere Zeitperiode üblicherweise erzeugt und modifiziert. Nachdem das Produkt freigegeben ist, werden Wartungsaktivitäten ein wichtiger Faktor während der Lebensdauer des Produktes. Studien haben herausgefunden, dass mehr als 50% der Entwicklungsbemühungen in dem Lebenszyklus von einem Softwaresystem in Wartung verbraucht wird und davon ein großer Prozentsatz aufgrund von Testen. Abgesehen von dem seltenen Ereignis einer größeren Umschreibung sind Änderungen an einem System in der Wartungsphase gewöhnlich klein und werden gemacht, um Probleme zu korrigieren oder die Funktionsfähigkeit schrittweise zu verbessern. Deshalb können Techniken für ein selektives Software-Neutesten helfen, die Entwicklungszeit und Wartungszeit zu verkürzen.
- Eine Testscriptbibliothek, die verwendet wird, um ein Softwaresystem zu testen, besteht üblicherweise aus vielen Testscripts, die jeweils einen gewissen Untersatz von den Einheiten des unter Prüfung befindlichen Systems üben oder überdecken. Ein Testscript muss erneut taufen gelassen werden, wenn und nur wenn irgendeine der Programmeinheiten, die es überdeckt, geändert worden ist. Information über die Testscripts für die verschiedenen Softwareeinheiten in dem Computersystem erleichtert stark das Regressionstesten. Diese Information während der aktiven Entwicklungsperiode und der ausgedehnten Wartungsperiode des Produktes aktualisiert zu halten, ist sehr schwierig.
- Das Dokument
US-A-5,694,540 beschreibt eine Anordnung zum Ausführen von Regressionstesten auf einem rekompilierten Hauptsoftwareprogramm durch einen begrenzten Regressionstest, der auf Modifikationsanforderungen basiert, die mit einer früheren Modifikation verbunden sind, die an einem Software-Modul gemacht ist. - Das Dokument
US-A-5,778,169 beschreibt ein Verfahren zum Testen einer modifizierten Version von einem Computer-Programm unter Verwendung von Regressionstesten, indem ein Überdeckungspunkt in den Sourcecode eingeführt wird, damit er einer Anweisung in dem Sourcecode entspricht, wodurch mehrere Tests an dem Sourcecode ausgeführt werden, um ein Ergebnis zu erzeugen, wobei das Ergebnis verwendet wird, um einen Untersatz von den mehreren Tests zu erzeugen, die den Überdeckungspunkt ausführten und die Anweisung getestet haben. - Die vorliegende Erfindung, die in den beigefügten unabhängigen Ansprüchen 1 und 10 im Detail definiert ist, ist ein Verfahren und eine Einrichtung zur Wartung einer Bibliothek von Testscripts zur Verwendung beim Regressionstesten von Anwendungsprogrammen. Genauer gesagt, es wird ein Testverzeichnisbaum gewartet, der ein Spiegelbild von einem Sourceverzeichnisbaum ist, der verwendet wird, um den ausführbaren Code für das Anwendungsprogramm zu kompilieren. Der Testverzeichnisbaum zeigt die Testscripts an, welche beim Regressionstesten eines ausführbaren Codes zu verwenden sind, der aus entsprechenden Einheiten in den glei chen Verzeichnisbäumen kompiliert ist. Wenn kein Spiegeleintrag in dem Testverzeichnisbaum existiert, wird einer automatisch erzeugt und es wird ein entsprechendes Standardtestscript erzeugt und in der Bibliothek gespeichert.
- Es wird nun ein Ausführungsbeispiel der Erfindung als Beispiel unter Bezugnahme auf die beigefügten Zeichnungen beschrieben, in denen:
-
1 eine perspektivische Ansicht von einer Workstation ist, die modifiziert worden ist, um das bevorzugte Ausführungsbeispiel der Erfindung zu praktizieren; -
2 ein elektrisches Blockdiagramm von der Workstation gemäß1 ist; -
3 ein Blockdiagramm ist, das die Software- und Datenstrukturen in der Workstation gemäß1 darstellt, die verwendet werden, um Anwendungsprogramme zur Verwendung auf der Workstation zu erzeugen und zu testen; -
4 ein Fließbild von den Schritten ist, die gemäß dem bevorzugten Ausführungsbeispiel der Erfindung ausgeführt werden, um ein Anwendungsprogramm zur Verwendung auf der Workstation zu kompilieren und zu testen; -
5 ein Fließbild von den Schritten zum Kompilieren eines Sourcecodes mit zwei verbundenen Sourcecodedateien ist und -
6 ein Fließbild von einem Baum zum Verbinden des Sourcecodes mit einer Kopfdatei ist. - Das bevorzugte Ausführungsbeispiel der Erfindung wird in einer Workstation (Arbeitsplatz) verwendet. Wie in
1 gezeigt ist, enthält die Workstation einen Minitower10 , der einen Prozessor und zugeordnete Schaltungsanordnungen, Speicher und periphere Interfaceschaltungen unterbringt. Eine der peripheren Vorrichtungen ist ein kommerziell verfügbarer CRT Monitor12 , der mit einer Grafikschaltung verbunden ist, die in dem Minitower10 untergebracht ist, und eine weitere periphere Vorrichtung ist eine Tastatur und eine Maus14 , die einen PCI-basierten Controller in dem Minitower10 verbindet. Eine Bedienungsperson kann Eingangsdaten durch die Tastatur eingeben und die Position von einem Cursor auf dem Monitor-Display12 steuern, wobei die Maus verwendet wird. Die Workstation kann als ein allein stehendes Grafik-Displaysystem arbeiten oder sie kann verbunden sein, um digitalisierte Bilddaten direkt von einem medizinischen Bildgebungssystem zu empfangen, wie beispielsweise einem Röntgensystem, einem Röntgen-CT-System, einem MRI-System, einem PET-Scannersystem oder einem nuklearen Medizinsystem. Die Work station enthält üblicherweise Anwendungsprogramme, die Bildverarbeitungsfunktionen ausführen, wie beispielsweise Filtern der medizinischen Bilder, Transformieren der Größe und Orientierung der medizinischen Bilder und Hinzufügen von Texturinformation zu den medizinischen Bildern. - Es wird nun insbesondere auf
2 Bezug genommen, wonach die Workstation einen Prozessor20 enthält, der in einem Speicher22 gespeicherte Befehle ausführt. Der Prozessor20 ist eine im Handel erhältliche Vorrichtung, die von Sun Microsystems, Inc. unter der Marke UItraSPARC-IIi verkauft wird. Er enthält einen auf dem Chip befindlichen Speicher und eine I/O Steuerung, um die Systemintegration zu erleichtern. Er ist ein superskalarer Prozessor, der die SPARC-V9 64-bit RISC Architektur implementiert und den Befehlssatz ausführt, der im Handel unter Marke „VIS" vertrieben wird. Er enthält auch einen integralen PCI Bus-Treiber, der ein direktes Interface mit einem 32-bit PCI Bus24 bildet. Er enthält auch eine integrale Speichermanagementschaltung zum Handhaben aller externer Speicher22 . - Der PCI Bus
24 ist ein Industriestandard-Bus, der 32-Datenbits bei 33 MHz zwischen dem Prozessor20 und einer Anzahl peripherer Steuerkarten überträgt. Diese umfassen eine PCI EIDE Steuerung26 , die für eine Hochgeschwindigkeits-Datenübertragung zu und von einem CD ROM-Treiber28 und einen Scheibentreiber30 sorgt. Eine Ethernet-Steuerung32 unterstützt eine Datenübertragung mit einer Anzahl peripherer Vorrichtungen, einschließlich der Eingabe von der Tastatur und der Maus14 und die Kommunikation mit Ehternet-Ports auf einem medizinischen Bildgebungsgerät. Und schließlich verbindet eine Grafik-Steuerung34 den PCI Bus24 mit dem CRT Monitor12 über eine Standard VGA Verbindung36 . - Es wird nun insbesondere auf
3 Bezug genommen, wonach eine Anzahl von Programmen und Datenstrukturen in dem Scheibentreiber30 gespeichert sind und verwendet werden, um Anwendungsprogramme zur Verwendung auf der Workstation zu erzeugen, zu modifizieren und zu testen. Ein derartiges Anwendungsprogramm könnte beispielsweise ein Programm zum Laden eines medizinischen Bildes und zum Filtern des medizinischen Bildes sein, um Artefakte zu beseitigen, die durch Patientenbewegung oder ähnliches hervorgerufen werden. Es wird deutlich, dass zwar nur ein einziger Benutzer50 in3 gezeigt ist, dass aber viele Benutzer, die jeweils eine getrennte Programmeditor-Software52 bearbeiten, Anwendungsprogramme für die Workstation entwickeln können. - Der Source- bzw. Quellcode für Anwendungsprogramme, die mit dem Editor
52 entwickelt werden, werden in einem Speicher als Teil von einer Quellcode-Bibliothek54 gespeichert. Weiterhin wird in dem Speicher ein Quellcode-Verzeichnisbaum56 gespeichert, der Information über jede Quellcode-Programmdatei in der Bibliothek54 enthält. Der Quellcode-Verzeichnisbaum56 identifiziert, welche Quellcodedateien in der Bibliothek54 ein bestimmtes Programm bilden, und zeigt an, wie diese Programmdateien miteinander verbunden sind. Diese Information wird von einem Compiler-Programm58 benutzt, um die richtigen Quellcodedateien aus der Bibliothek54 zu laden, sie in ausführbaren Programmcode zu kompilieren und den Programmcode richtig miteinander zu verbinden, um ausführbaren Code60 zu bilden. - Der Benutzer
50 kann anweisen, dass ein Satz von Regressionstests mit dem ausführbaren Code60 ausgeführt wird. um zu ermitteln, ob er richtig arbeitet. Dies wird durch ein Programm erreicht, das eine Regressionstestengine62 genannt wird und das immer dann laufen gelassen wird, wenn ein neuer Quellcode kompiliert ist. In dem bevorzugten Ausführungsbeispiel wird die Regressionstestengine62 jeden Abend laufen gelassen, und die Ergebnisse werden als ein Report64 erzeugt, der am nächsten Morgen zur Verfügung steht. - Die Regressionstestengine
62 greift auf gespeicherte Regressionstestscripts66 zu und verwendet diese Testscripts66 um zu verifizieren, dass der ausführbare Code60 wie erwartet arbeitet. Bekanntlich weisen die Regressionstestscripts66 die Regressionstestengine62 an, mit dem ausführbaren Code60 zu arbeiten und Eingangsdaten zu liefern, um den Betrieb zu testen. Die Ergebnisse, die von dem ausführbaren Code60 erzeugt werden, werden mit den Ergebnissen verglichen, die von dem Regressionstestscript66 erwartet werden, und auf dem Report64 wird eine Durchlauf- oder Fehler-Anzeige erzeugt. Der Report64 ist somit eine Liste der Tests, die mit dem ausführbaren Code60 ausgeführt wurden, und ein Anzeige, ob jeder Test durchgelaufen oder fehlerhaft war. - Das Management von dem Regressions- bzw. Rückfall-Testscript-Verzeichnis
66 und die richtige Auswahl der Rückfall-Testscripts darin zur Verwendung mit der Rückfall-Testengine62 ist das Problem, auf das die vorliegende Erfindung gerichtet ist. Wie nachfolgend mit weiteren Einzelheiten beschrieben wird, verwendet die Lösung für dieses Problem einen Testverzeichnisbaum68 , der eine Datenstruktur ist, die während des Kompilierungsverfahrens des Programmes gewartet wird. Sie „spiegelt" den Quellcode-Verzeichnisbaum56 und sie zeigt der Rückfall-Testengine62 an, welche Testscripts in der Bibliothek66 verwendet werden sollen, um den ausführbaren Code60 zu testen. - Es wird nun auf
4 Bezug genommen; wenn ein Quell- bzw. Sourcecode in dem Verzeichnis54 kompiliert werden soll, wird ein Programm laufen gelassen, wie es an dem Prozessblock100 angegeben ist. Der Quellcode-Verzeichnisbaum56 wird verwendet, um jede der Quellcodedateien zu identifizieren, die kompiliert und verbunden werden müssen. Wie in5 dargestellt ist, wird beispielsweise eine Quellcodedatei „gvtk" zusammen mit zwei verbundenen Quellcodedateien „display" und „graphic" kompiliert. Wie oben erläutert ist, erzeugt dieser Kompilierungs- und Verbindungsprozess ausführbaren Code60 . - Der Testverzeichnisbaum
68 wird dann geprüft, wie es an dem Entscheidungsblock102 angegeben ist. Dies wird dadurch erreicht, dass der Testverzeichnisbaum68 nach „test"-Kopfdateien durchsucht wird, die denjenigen in dem kompilierten Quellverzeichnisbaum entsprechen. Wie in6 dargestellt ist, hat beispielsweise ein vollständiger Testbaum die Kopfdateien „gvtktest", „displaytest" und "graphictest". Wenn irgendeine der entsprechenden Testkopfdateien nicht gefunden wird, wird eine neue Testkopfdatei erzeugt, wie es an dem Prozessblock104 angegeben ist. Dieser Testkopfdatei wird der gleiche Name gegeben wie ihre entsprechende Sourcecodedatei mit dem angehängten Textstring „test". Ein Standard-Testscript für diesen neuen Testkopf wird dann, wie es bei106 angegeben ist, zu dem Rückfall-Testscript-Verzeichnis66 hinzugefügt. Der Standard-Script wird von einem „Testlauf"-Abschnitt, der ein standardisiertes Script für alle Programme ist, und einen „Testreport"-Abschnitt gebildet, der angibt, ob der Test implementiert worden ist oder nicht und, wenn dies der Fall ist, ob der Test durchlaufen wurde oder fehlerhaft war. - Für automatisch generierte Testdateien werden diese Tests nicht ausgeführt und zeigen „nicht implementiert" auf dem Testergebnisreport
64 an. - Um den Testverzeichnisbaum
68 zu warten, wird eine Prüfung am Entscheidungsblock108 gemacht um zu ermitteln, ob irgendeine der Testkopfdateien darin verwaist ist. Eine „verwaiste" Datei ist eine Testdatei, deren entsprechende Quellcodedatei entfernt worden ist. Dies geschieht dadurch, dass jede Testkopfdatei in dem Testverzeichnisbaum68 gelesen wird und nach ihrer entsprechenden Datei in dem Sourceverzeichnisbaum56 gesucht wird. Wenn eine Waise gefunden wird, wird eine Fehlernachricht erzeugt, wie es an dem Prozessblock110 angegeben ist, und der Benutzer50 kann entweder die Waisen-Testkopfdatei weglassen oder sie umbenennen, wie es am Prozessblock112 angegeben ist. In jedem Fall ist das Ergebnis ein Testverzeichnisbaum68 , der als ein Spiegelbild von dem Sourceverzeichnisbaum56 beibehalten wird. - Der letzte Schritt in dem Kompilierungsprozess ist die Erzeugung einer „TESTE-ALLE"-Datei, wie es durch einen Prozessblock
114 angegeben ist. Diese Teste-alle-Datei wird von der Regressionstestengine62 verwendet um zu ermitteln, welche Regressionstestscripts in der Bibliothek66 beim Testen des neu kompilierten ausführbaren Codes60 verwendet werden sollen. Sie wird dadurch gebildet, dass die Testkopfdateien aus dem Testverzeichnisbaum68 gelistet werden, die den Sourcedateien aus dem Sourcecode-Verzeichnisbaum56 entsprechen, der zum Kompilieren des Programms verwendet wird. In dem in den5 und6 gezeigten Beispiel ist die Teste-alle-Datei eine Liste der Dateinamen „gvtktest; displaytest und graphictest". - Die automatische Wartung bzw. Aufrechterhaltung des Testbaumverzeichnisses stellt sicher, dass die Testscripts für alle Sourcecodedateien erzeugt werden, die in dem Sourcecode-Verzeichnisbaum
56 gelistet sind. Unbenutzte oder verwaiste Testscripts werden identifiziert, und der Benutzer kann sie weglassen oder umbenennen. Wenn ein Regressions- bzw. Rückfalltesten auf einer periodischen Basis ausgeführt wird und eine Anzahl von Kompilierungen zwischen den Tests ausgeführt wird, sammelt die Teste-alle-Datei die Testscripts, die für alle Kompilierungen ausgeführt werden müssen. Doppelte Einträge in der Teste-alle-Datei werden weggelassen um zu vermeiden, dass Testscripts mehr als einmal laufen.
Claims (10)
- Workstation, die zum Entwickeln von Anwendungs-Programmen verwendet ist, enthaltend: einen Programm-Editor (
52 ), der einem Benutzer ermöglicht, ein Anwendungs-Programm zu erstellen, eine Quellcode-Bibliothek (54 ) zum Speichern des Anwendungs-Programms, einen Quellcode-Verzeichnisbaum (56 ) zum Speichern von Namen von Dateien, die den Quellcode speichern, die gemeinsam das Anwendungs-Programm bilden, ein Testbaum-Verzeichnis (68 ), das die Namen von Testdateien speichert, die den Quellcode-Dateien entsprechen, die in dem Quellcode-Verzeichnisbaum (56 ) mit Namen genannt sind, ein Regressions- bzw. Rückfall-Testscript-Verzeichnis (66 ) zum Speichern von Testscripts, die den in dem Testbaum-Verzeichnis (68 ) genannten Testdateien entsprechen, und ein Regressions- bzw. Rückfall-Testprogramm (62 ), das auf Testscripts anspricht, die unter Verwendung des Testbaum-Verzeichnis ausgewählt sind, um ein Rückfall-Prüfen eines ausführbaren Codes (60 ) auszuführen, der aus Quellcode erzeugt ist, der unter Verwendung des Quellcode-Verzeichnisbaums (56 ) ausgewählt ist. - Workstation nach Anspruch 1, die ferner enthält: Mittel zum Prüfen der Dateinamen in dem Quellcode-Verzeichnisbaum (
56 ) und der Testdateinamen in dem Testbaum-Verzeichnis (68 ) um zu ermitteln, ob es eine Testdatei gibt, die in dem Testbaumverzeichnis (68 ) entsprechend jeder Datei benannt ist, die in dem Quellcode-Verzeichnisbaum (56 ) genannt ist. - Workstation nach Anspruch 2, die ferner enthält: Mittel zum Erstellen eines neuen Rückfall-Testscript zum Speichern in dem Rückfall-Testscript-Verzeichnis (
66 ) für jede Datei in dem Quellcode-Verzeichnisbaum (56 ), der keine entsprechende Testdatei hat, die in dem Testverzeichnisbaum (68 ) benannt ist, und Mittel (104 ,20 ) zum Erstellen eines neuen Testdateinamens in dem Testverzeichnisbaum (68 ), der dem neuen Rückfall-Testscript entspricht. - Workstation nach Anspruch 3, wobei das neue Rückfall-Testscript ein Standard-Testscript ist.
- Workstation nach Anspruch 3, wobei der neue Testdateiname eine Textzeichenfolge aufweist, die dem Dateinamen in dem Quellcode-Verzeichnisbaum (
56 ) entspricht. - Workstation nach Anspruch 1, die ferner enthält: Mittel (
108 ,20 ) zum Prüfen von Testdateinamen in dem Testverzeichnisbaum (68 ), um Waisen-Testdateien zu identifizieren, die keine entsprechenden Dateinamen in dem Quellcode-Verzeichnisbaum (56 ) haben. - Workstation nach Anspruch 6, die ferner Mittel (
110 ) enthält zum Anzeigen für einen Benutzer, daß eine Waisen-Testdatei in dem Testverzeichnisbaum (68 ) gefunden worden ist. - Workstation nach Anspruch 7, die ferner Mittel (
112 ) enthält zum Löschen von Waisen-Testdateien aus dem Testverzeichnisbaum (68 ) und der entsprechenden Testscripts aus der Rückfall-Testscript-Bibliothek (66 ). - Workstation nach Anspruch 7, die ferner Mittel (
112 ) enthält zum Ändern des Namens von verwaisten Testdateien in dem Testbaumverzeichnis (68 ). - Verfahren zum Erzeugen und Testen von Programmen auf einem programmierbaren System, wobei das Verfahren die folgenden Schritte enthält: a) Erstellen von Quellcode-Programmen unter Verwendung eines Editors (
52 ), b) Speichern der Quellcode-Programme in einer Quellcode-Bibliothek, c) Speichern von Quellcode-Dateinamen in einem Quellcode-Verzeichnisbaum (56 ), die Quellcode-Programmen in der Quellcode-Bibliothek (54 ) entsprechen,
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US473869 | 1999-12-28 | ||
US09/473,869 US6694509B1 (en) | 1999-12-28 | 1999-12-28 | Automated regression testing of workstation software |
Publications (2)
Publication Number | Publication Date |
---|---|
DE60010420D1 DE60010420D1 (de) | 2004-06-09 |
DE60010420T2 true DE60010420T2 (de) | 2005-05-19 |
Family
ID=23881350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE60010420T Expired - Fee Related DE60010420T2 (de) | 1999-12-28 | 2000-12-21 | Automatisches Regressionstesten von Arbeitsplatz-Software |
Country Status (5)
Country | Link |
---|---|
US (1) | US6694509B1 (de) |
EP (1) | EP1113367B1 (de) |
JP (1) | JP2001236246A (de) |
DE (1) | DE60010420T2 (de) |
IL (1) | IL140456A (de) |
Families Citing this family (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6167534A (en) * | 1995-11-24 | 2000-12-26 | Rational Software Corporation | Load test system and method |
US20020016718A1 (en) * | 2000-06-22 | 2002-02-07 | Rothschild Peter A. | Medical image management system and method |
US20030188298A1 (en) * | 2002-03-29 | 2003-10-02 | Sun Microsystems, Inc., A Delaware Corporation | Test coverage framework |
US6889337B1 (en) * | 2002-06-03 | 2005-05-03 | Oracle International Corporation | Method and system for screen reader regression testing |
US20040003383A1 (en) * | 2002-06-28 | 2004-01-01 | Microsoft Corporation | Stripping of unnecessary information from source code |
US8261239B2 (en) * | 2003-03-25 | 2012-09-04 | International Business Machines Corporation | Locating a testable object in a functional testing tool |
JP2004341728A (ja) * | 2003-05-14 | 2004-12-02 | Canon Inc | 印刷装置、印刷システム及びキャンセル方法 |
EP1665479A4 (de) | 2003-08-21 | 2008-01-23 | Hill Rom Services Inc | Stecker und aufnahme mit verdrahteter und drahtloser kopplung |
US7287242B2 (en) * | 2003-09-02 | 2007-10-23 | Hewlett-Packard Development Company, L.P. | Efficient re-validation of modified software |
US7454660B1 (en) * | 2003-10-13 | 2008-11-18 | Sap Ag | System and method for testing applications at the business layer |
WO2005045673A2 (en) * | 2003-11-04 | 2005-05-19 | Kimberly-Clark Worldwide, Inc. | Testing tool for complex component based software systems |
US7319386B2 (en) | 2004-08-02 | 2008-01-15 | Hill-Rom Services, Inc. | Configurable system for alerting caregivers |
US7852208B2 (en) | 2004-08-02 | 2010-12-14 | Hill-Rom Services, Inc. | Wireless bed connectivity |
US7444397B2 (en) * | 2004-12-21 | 2008-10-28 | International Business Machines Corporation | Method of executing test scripts against multiple systems |
US7614042B1 (en) * | 2005-01-21 | 2009-11-03 | Microsoft Corporation | System and method for selecting applicable tests in an automation testing system |
US7568183B1 (en) | 2005-01-21 | 2009-07-28 | Microsoft Corporation | System and method for automation testing and validation |
US7539977B1 (en) * | 2005-01-21 | 2009-05-26 | Xilinx, Inc. | Automatic bug isolation in computer programming languages |
US7627859B2 (en) * | 2005-04-04 | 2009-12-01 | Hewlett-Packard Development Company, L.P. | Method for configuring non-script language library files to be run as scripts |
GB0516400D0 (en) * | 2005-08-10 | 2005-09-14 | Ibm | A method and apparatus for testing software |
CN100346315C (zh) * | 2005-10-20 | 2007-10-31 | 北京航空航天大学 | 基于脚本的三维建模软件自动测试方法 |
US7873944B2 (en) * | 2006-02-22 | 2011-01-18 | International Business Machines Corporation | System and method for maintaining and testing a software application |
US8561036B1 (en) * | 2006-02-23 | 2013-10-15 | Google Inc. | Software test case management |
US7895565B1 (en) | 2006-03-15 | 2011-02-22 | Jp Morgan Chase Bank, N.A. | Integrated system and method for validating the functionality and performance of software applications |
US20080126867A1 (en) * | 2006-08-30 | 2008-05-29 | Vinod Pandarinathan | Method and system for selective regression testing |
CN100520732C (zh) * | 2006-12-26 | 2009-07-29 | 中国电信股份有限公司 | 性能测试脚本生成方法 |
US9645915B2 (en) | 2006-12-27 | 2017-05-09 | The Mathworks, Inc. | Continuous evaluation of program code and saving state information associated with program code |
US9015671B2 (en) * | 2006-12-27 | 2015-04-21 | The Mathworks, Inc. | Integrating program construction |
US8689187B2 (en) * | 2007-05-07 | 2014-04-01 | Cadence Design Systems, Inc. | Predictive run testing |
US8461968B2 (en) * | 2007-08-29 | 2013-06-11 | Hill-Rom Services, Inc. | Mattress for a hospital bed for use in a healthcare facility and management of same |
US7868740B2 (en) | 2007-08-29 | 2011-01-11 | Hill-Rom Services, Inc. | Association of support surfaces and beds |
US8082160B2 (en) | 2007-10-26 | 2011-12-20 | Hill-Rom Services, Inc. | System and method for collection and communication of data from multiple patient care devices |
US20090169008A1 (en) * | 2007-12-26 | 2009-07-02 | Gonzales Jesus Orlando Ii | System and method for tracking testing of software modification projects from a wireless mobile device |
US8359580B2 (en) * | 2007-12-26 | 2013-01-22 | Visa U.S.A. Inc. | System and method for tracking testing of software modification projects |
US8598995B2 (en) | 2008-02-22 | 2013-12-03 | Hill-Rom Services, Inc. | Distributed healthcare communication system |
US8347147B2 (en) * | 2009-03-09 | 2013-01-01 | Wipro Limited | Lifecycle management of automated testing |
US9575878B2 (en) * | 2009-03-16 | 2017-02-21 | International Business Machines Corporation | Data-driven testing without data configuration |
US8779924B2 (en) * | 2010-02-19 | 2014-07-15 | Hill-Rom Services, Inc. | Nurse call system with additional status board |
CN102184137A (zh) * | 2011-05-16 | 2011-09-14 | 浪潮集团山东通用软件有限公司 | 一种无人值守的智能的自动化回归测试方法 |
US9411934B2 (en) | 2012-05-08 | 2016-08-09 | Hill-Rom Services, Inc. | In-room alarm configuration of nurse call system |
WO2014047386A1 (en) * | 2012-09-21 | 2014-03-27 | Life Technologies Corporation | Systems and methods for versioning hosted software |
US9314159B2 (en) | 2012-09-24 | 2016-04-19 | Physio-Control, Inc. | Patient monitoring device with remote alert |
CN104123221A (zh) * | 2013-04-28 | 2014-10-29 | 腾讯科技(深圳)有限公司 | 响应时间的测试方法及装置 |
US9830424B2 (en) | 2013-09-18 | 2017-11-28 | Hill-Rom Services, Inc. | Bed/room/patient association systems and methods |
US9053228B1 (en) | 2013-10-22 | 2015-06-09 | The Mathworks, Inc. | Determining when to evaluate program code and provide results in a live evaluation programming environment |
CN104536895B (zh) * | 2015-01-12 | 2017-06-09 | 牟永敏 | 一种面向Java函数调用路径的测试过程跟踪方法及系统 |
US9880924B2 (en) * | 2015-02-24 | 2018-01-30 | Red Hat, Inc. | Source code unit testing using an indexing tool |
US10146673B2 (en) * | 2015-11-04 | 2018-12-04 | Sap Portals Israel Ltd. | Source code change resolver |
US9606900B1 (en) * | 2016-03-24 | 2017-03-28 | Fmr Llc | Intelligent automation of computer software test scripts and code requirements |
US10503630B2 (en) * | 2016-08-31 | 2019-12-10 | Vmware, Inc. | Method and system for test-execution optimization in an automated application-release-management system during source-code check-in |
US11123014B2 (en) | 2017-03-21 | 2021-09-21 | Stryker Corporation | Systems and methods for ambient energy powered physiological parameter monitoring |
US10162740B1 (en) | 2017-11-07 | 2018-12-25 | Fmr Llc | Automated intelligent execution of computer software test cases |
US10310967B1 (en) * | 2017-11-17 | 2019-06-04 | International Business Machines Corporation | Regression testing of new software version and deployment |
US11911325B2 (en) | 2019-02-26 | 2024-02-27 | Hill-Rom Services, Inc. | Bed interface for manual location |
US11036613B1 (en) | 2020-03-30 | 2021-06-15 | Bank Of America Corporation | Regression analysis for software development and management using machine learning |
US11144435B1 (en) | 2020-03-30 | 2021-10-12 | Bank Of America Corporation | Test case generation for software development using machine learning |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IE60444B1 (en) | 1988-03-30 | 1994-07-13 | Elverex Ltd | A software verification apparatus |
US5218605A (en) | 1990-01-31 | 1993-06-08 | Hewlett-Packard Company | Software modules for testing computer hardware and software |
CA2147036A1 (en) | 1994-05-16 | 1995-11-17 | Yih-Farn Robin Chen | System and method for selective regression testing |
US5694540A (en) | 1994-12-15 | 1997-12-02 | Lucent Technologies Inc. | Automated software regression test and compilation system |
US5634098A (en) * | 1995-02-01 | 1997-05-27 | Sun Microsystems, Inc. | Method and apparatus for environment-variable driven software testing |
US5634002A (en) | 1995-05-31 | 1997-05-27 | Sun Microsystems, Inc. | Method and system for testing graphical user interface programs |
US5778169A (en) | 1995-08-07 | 1998-07-07 | Synopsys, Inc. | Computer system having improved regression testing |
US5761408A (en) * | 1996-01-16 | 1998-06-02 | Parasoft Corporation | Method and system for generating a computer program test suite using dynamic symbolic execution |
US5784553A (en) * | 1996-01-16 | 1998-07-21 | Parasoft Corporation | Method and system for generating a computer program test suite using dynamic symbolic execution of JAVA programs |
US6279124B1 (en) * | 1996-06-17 | 2001-08-21 | Qwest Communications International Inc. | Method and system for testing hardware and/or software applications |
US6513154B1 (en) * | 1996-10-21 | 2003-01-28 | John R. Porterfield | System and method for testing of computer programs in programming effort |
WO1998025195A2 (en) * | 1996-12-03 | 1998-06-11 | Ergolight Ltd. | Computerized apparatus and methods for identifying usability problems of a computerized system |
EP1071991A4 (de) * | 1997-12-11 | 2002-03-13 | Digits Corp | Objektkodeanalyse und verbesserungsystem und verfahren |
US6259911B1 (en) * | 1998-01-06 | 2001-07-10 | Wireless Access | Network operations center hardware and software design |
US6536036B1 (en) * | 1998-08-20 | 2003-03-18 | International Business Machines Corporation | Method and apparatus for managing code test coverage data |
US6349393B1 (en) * | 1999-01-29 | 2002-02-19 | International Business Machines Corporation | Method and apparatus for training an automated software test |
US6415396B1 (en) * | 1999-03-26 | 2002-07-02 | Lucent Technologies Inc. | Automatic generation and maintenance of regression test cases from requirements |
US6523027B1 (en) * | 1999-07-30 | 2003-02-18 | Accenture Llp | Interfacing servers in a Java based e-commerce architecture |
-
1999
- 1999-12-28 US US09/473,869 patent/US6694509B1/en not_active Expired - Lifetime
-
2000
- 2000-12-21 EP EP00311555A patent/EP1113367B1/de not_active Expired - Lifetime
- 2000-12-21 DE DE60010420T patent/DE60010420T2/de not_active Expired - Fee Related
- 2000-12-21 IL IL14045600A patent/IL140456A/xx not_active IP Right Cessation
- 2000-12-27 JP JP2000396390A patent/JP2001236246A/ja not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
DE60010420D1 (de) | 2004-06-09 |
EP1113367B1 (de) | 2004-05-06 |
JP2001236246A (ja) | 2001-08-31 |
EP1113367A1 (de) | 2001-07-04 |
IL140456A (en) | 2005-09-25 |
US6694509B1 (en) | 2004-02-17 |
IL140456A0 (en) | 2002-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE60010420T2 (de) | Automatisches Regressionstesten von Arbeitsplatz-Software | |
DE69932371T2 (de) | Verschiebbare Instrumentationskennzeichen für die Prüfung und die Fehlerbeseitigung eines Computerprogramms | |
DE69720821T2 (de) | Fehlersuchsystem für Programme mit einer graphischen Benutzerschnittstelle | |
DE69831732T2 (de) | Verfahren und gerät zum korrigieren von fehlern in einem rechnersystem | |
DE60130840T2 (de) | Vorrichtung und Verfahren zur Katalogisierung von symbolischen Daten zur Verwendung bei der Leistungsanalyse von Computerprogrammen | |
DE60021066T2 (de) | Prüfung eines Softwarepakets | |
DE69909945T2 (de) | Verfahren und Anordnung zur Korrelation von Profildaten dynamisch erzeugt durch ein optimiertes ausführbares Programm mit Quellcodeanweisungen | |
DE69724322T2 (de) | Verfahren und Anordnung zum frühzeitigen Einfügen von Assemblercode zwecks Optimierung | |
DE102008012337A1 (de) | Programmcode-Trace-Signatur | |
DE19836333A1 (de) | Software Installation und Testen für ein gemäß einer Bestellung gebautes Computersystem | |
DE102020115253A1 (de) | Verfahren und einrichtung zum ausführen eines applets | |
DE112018002316T5 (de) | Codeabdeckungsverfolgung für ein mikrocontroller-programm | |
DE102006040794A1 (de) | Softwareprogramm mit alternativen Funktionsbibliotheken | |
DE2654389B2 (de) | ||
DE102018127317B3 (de) | Verfahren und vorrichtungen zur computerimplementierten erzeugung eines ausführbaren programmcodes und zur ausführung eines ausführbaren programmcodes | |
DE10393511T5 (de) | Programmentwicklungsunterstützungsvorrichtung, Programmausführungsvorrichtung, Kompilierverfahren und Diagnoseverfahren | |
DE60213786T2 (de) | System und verfahren zur automatischen erfassung von aussagen in einer java-kompatibilitätsprüfumgebung | |
DE2622140C3 (de) | Einrichtung zur Steuerung manueller Operationen | |
EP0708941B1 (de) | Verfahren zum test eines objektorientierten programms | |
EP0662226B1 (de) | Verfahren zur bearbeitung eines anwenderprogramms auf einem parallelrechnersystem | |
DE102009038177B4 (de) | Ablaufverfolgung in einem laufenden Computersystem | |
DE102017212612A1 (de) | Verfahren zum automatischen Erzeugen von Tests für die Software eines Fahrzeugs | |
DE10300541A1 (de) | Erzeugen einer ausführbaren Datei | |
EP0560342B1 (de) | Verfahren zum Untersuchen des Ablaufs eines in einer Hardware-Beschreibungssprache geschriebenen Programms | |
DE60030189T2 (de) | Befehlsübersetzungsverfahren |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8328 | Change in the person/name/address of the agent |
Representative=s name: ROEGER UND KOLLEGEN, 73728 ESSLINGEN |
|
8339 | Ceased/non-payment of the annual fee |