DE60010420T2 - Automatisches Regressionstesten von Arbeitsplatz-Software - Google Patents

Automatisches Regressionstesten von Arbeitsplatz-Software Download PDF

Info

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
Application number
DE60010420T
Other languages
English (en)
Other versions
DE60010420D1 (de
Inventor
III William Murray Menomonee Falls Stoval
David P. Highland Edwards
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GE Medical Systems Global Technology Co LLC
Original Assignee
GE Medical Systems Global Technology Co LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by GE Medical Systems Global Technology Co LLC filed Critical GE Medical Systems Global Technology Co LLC
Publication of DE60010420D1 publication Critical patent/DE60010420D1/de
Application granted granted Critical
Publication of DE60010420T2 publication Critical patent/DE60010420T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99956File 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 Minitower 10, der einen Prozessor und zugeordnete Schaltungsanordnungen, Speicher und periphere Interfaceschaltungen unterbringt. Eine der peripheren Vorrichtungen ist ein kommerziell verfügbarer CRT Monitor 12, der mit einer Grafikschaltung verbunden ist, die in dem Minitower 10 untergebracht ist, und eine weitere periphere Vorrichtung ist eine Tastatur und eine Maus 14, die einen PCI-basierten Controller in dem Minitower 10 verbindet. Eine Bedienungsperson kann Eingangsdaten durch die Tastatur eingeben und die Position von einem Cursor auf dem Monitor-Display 12 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 Prozessor 20 enthält, der in einem Speicher 22 gespeicherte Befehle ausführt. Der Prozessor 20 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 Bus 24 bildet. Er enthält auch eine integrale Speichermanagementschaltung zum Handhaben aller externer Speicher 22.
  • Der PCI Bus 24 ist ein Industriestandard-Bus, der 32-Datenbits bei 33 MHz zwischen dem Prozessor 20 und einer Anzahl peripherer Steuerkarten überträgt. Diese umfassen eine PCI EIDE Steuerung 26, die für eine Hochgeschwindigkeits-Datenübertragung zu und von einem CD ROM-Treiber 28 und einen Scheibentreiber 30 sorgt. Eine Ethernet-Steuerung 32 unterstützt eine Datenübertragung mit einer Anzahl peripherer Vorrichtungen, einschließlich der Eingabe von der Tastatur und der Maus 14 und die Kommunikation mit Ehternet-Ports auf einem medizinischen Bildgebungsgerät. Und schließlich verbindet eine Grafik-Steuerung 34 den PCI Bus 24 mit dem CRT Monitor 12 über eine Standard VGA Verbindung 36.
  • Es wird nun insbesondere auf 3 Bezug genommen, wonach eine Anzahl von Programmen und Datenstrukturen in dem Scheibentreiber 30 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 Benutzer 50 in 3 gezeigt ist, dass aber viele Benutzer, die jeweils eine getrennte Programmeditor-Software 52 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-Bibliothek 54 gespeichert. Weiterhin wird in dem Speicher ein Quellcode-Verzeichnisbaum 56 gespeichert, der Information über jede Quellcode-Programmdatei in der Bibliothek 54 enthält. Der Quellcode-Verzeichnisbaum 56 identifiziert, welche Quellcodedateien in der Bibliothek 54 ein bestimmtes Programm bilden, und zeigt an, wie diese Programmdateien miteinander verbunden sind. Diese Information wird von einem Compiler-Programm 58 benutzt, um die richtigen Quellcodedateien aus der Bibliothek 54 zu laden, sie in ausführbaren Programmcode zu kompilieren und den Programmcode richtig miteinander zu verbinden, um ausführbaren Code 60 zu bilden.
  • Der Benutzer 50 kann anweisen, dass ein Satz von Regressionstests mit dem ausführbaren Code 60 ausgeführt wird. um zu ermitteln, ob er richtig arbeitet. Dies wird durch ein Programm erreicht, das eine Regressionstestengine 62 genannt wird und das immer dann laufen gelassen wird, wenn ein neuer Quellcode kompiliert ist. In dem bevorzugten Ausführungsbeispiel wird die Regressionstestengine 62 jeden Abend laufen gelassen, und die Ergebnisse werden als ein Report 64 erzeugt, der am nächsten Morgen zur Verfügung steht.
  • Die Regressionstestengine 62 greift auf gespeicherte Regressionstestscripts 66 zu und verwendet diese Testscripts 66 um zu verifizieren, dass der ausführbare Code 60 wie erwartet arbeitet. Bekanntlich weisen die Regressionstestscripts 66 die Regressionstestengine 62 an, mit dem ausführbaren Code 60 zu arbeiten und Eingangsdaten zu liefern, um den Betrieb zu testen. Die Ergebnisse, die von dem ausführbaren Code 60 erzeugt werden, werden mit den Ergebnissen verglichen, die von dem Regressionstestscript 66 erwartet werden, und auf dem Report 64 wird eine Durchlauf- oder Fehler-Anzeige erzeugt. Der Report 64 ist somit eine Liste der Tests, die mit dem ausführbaren Code 60 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-Testengine 62 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 Testverzeichnisbaum 68, der eine Datenstruktur ist, die während des Kompilierungsverfahrens des Programmes gewartet wird. Sie „spiegelt" den Quellcode-Verzeichnisbaum 56 und sie zeigt der Rückfall-Testengine 62 an, welche Testscripts in der Bibliothek 66 verwendet werden sollen, um den ausführbaren Code 60 zu testen.
  • Es wird nun auf 4 Bezug genommen; wenn ein Quell- bzw. Sourcecode in dem Verzeichnis 54 kompiliert werden soll, wird ein Programm laufen gelassen, wie es an dem Prozessblock 100 angegeben ist. Der Quellcode-Verzeichnisbaum 56 wird verwendet, um jede der Quellcodedateien zu identifizieren, die kompiliert und verbunden werden müssen. Wie in 5 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 Code 60.
  • Der Testverzeichnisbaum 68 wird dann geprüft, wie es an dem Entscheidungsblock 102 angegeben ist. Dies wird dadurch erreicht, dass der Testverzeichnisbaum 68 nach „test"-Kopfdateien durchsucht wird, die denjenigen in dem kompilierten Quellverzeichnisbaum entsprechen. Wie in 6 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 Prozessblock 104 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 bei 106 angegeben ist, zu dem Rückfall-Testscript-Verzeichnis 66 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 Entscheidungsblock 108 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 Testverzeichnisbaum 68 gelesen wird und nach ihrer entsprechenden Datei in dem Sourceverzeichnisbaum 56 gesucht wird. Wenn eine Waise gefunden wird, wird eine Fehlernachricht erzeugt, wie es an dem Prozessblock 110 angegeben ist, und der Benutzer 50 kann entweder die Waisen-Testkopfdatei weglassen oder sie umbenennen, wie es am Prozessblock 112 angegeben ist. In jedem Fall ist das Ergebnis ein Testverzeichnisbaum 68, der als ein Spiegelbild von dem Sourceverzeichnisbaum 56 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 Regressionstestengine 62 verwendet um zu ermitteln, welche Regressionstestscripts in der Bibliothek 66 beim Testen des neu kompilierten ausführbaren Codes 60 verwendet werden sollen. Sie wird dadurch gebildet, dass die Testkopfdateien aus dem Testverzeichnisbaum 68 gelistet werden, die den Sourcedateien aus dem Sourcecode-Verzeichnisbaum 56 entsprechen, der zum Kompilieren des Programms verwendet wird. In dem in den 5 und 6 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)

  1. 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.
  2. 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.
  3. 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.
  4. Workstation nach Anspruch 3, wobei das neue Rückfall-Testscript ein Standard-Testscript ist.
  5. Workstation nach Anspruch 3, wobei der neue Testdateiname eine Textzeichenfolge aufweist, die dem Dateinamen in dem Quellcode-Verzeichnisbaum (56) entspricht.
  6. 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.
  7. 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.
  8. 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).
  9. Workstation nach Anspruch 7, die ferner Mittel (112) enthält zum Ändern des Namens von verwaisten Testdateien in dem Testbaumverzeichnis (68).
  10. 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,
DE60010420T 1999-12-28 2000-12-21 Automatisches Regressionstesten von Arbeitsplatz-Software Expired - Fee Related DE60010420T2 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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