DE102006032108A1 - System und Verfahren für eine Mehr-Ort-Testausführung - Google Patents
System und Verfahren für eine Mehr-Ort-Testausführung Download PDFInfo
- Publication number
- DE102006032108A1 DE102006032108A1 DE102006032108A DE102006032108A DE102006032108A1 DE 102006032108 A1 DE102006032108 A1 DE 102006032108A1 DE 102006032108 A DE102006032108 A DE 102006032108A DE 102006032108 A DE102006032108 A DE 102006032108A DE 102006032108 A1 DE102006032108 A1 DE 102006032108A1
- Authority
- DE
- Germany
- Prior art keywords
- flow
- test
- flows
- dynamic data
- sync
- 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.)
- Granted
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
Abstract
Description
- Querverweis auf verwandte Anmeldungen
- Diese Anmeldung ist eine Teilfortsetzung von und beansprucht den Vorteil von der Priorität an der U.S.-Patentanmeldung Serien-Nr. 11/195,978, eingereicht am 03. August 2005 mit dem Titel „Multisided Synchronization of Execution in a Wireless Test Environment" (Mehrseitige Synchronisation einer Ausführung in einer drahtlosen Testumgebung), und Serien-Nr. 11/195,979, eingereicht am 03. August 2005 unter dem Titel "Multisided Sharing of Dynamic Data in a Wireless Test Environment" (Mehrseitiges, gemeinschaftliches Verwenden von dynamischen Daten in einer drahtlosen Testumgebung), deren Inhalte hierin durch Bezugnahme aufgenommen sind.
- Beschreibung
- Die vorliegende Erfindung bezieht sich auf ein Verfahren, ein System und ein Computerprogrammprodukt für ein komponentenbezogenes Mehr-Ort-Softwaretesten, und insbesondere auf eine Vorrichtung, ein System und ein Verfahren zum Synchronisieren und Verwalten dynamischer Daten zwischen mehrseitigen Testflüssen von Komponenten an entfernten Orten, die üblicherweise separate Teilnehmer oder Klienten in einer Transaktion, einer Konversation oder einer gemeinsamen Sitzung darstellen, die durch einen Kommunikationsdienst angeboten wird.
- Der Ausdruck „Testsoftware" wird verwendet, um ein Softwareprodukt zu beschreiben, dessen primäre Funktion es ist, zu untersuchen, wie ein System funktioniert. Die Testsoftware sammelt ihre Eingabe von Agenten, die individuelle Bauglieder eines Systems sind, das getestet wird.
- Einige Beispiele, wo eine Testsoftware eingesetzt wird, umfassen mobile oder drahtlose Telefonnetzwerke und andere Typen von Telekommunikations-Netzwerken oder -Systemen, Flusswasserqualitätsüberwachungseinrichtungen und Automobilverhaltentestsysteme. Netzwerke oder Systeme sind häufig geographisch und/oder zeitlich verteilt. Die Testsoftware für solche Systeme muss Daten aus unterschiedlichen Orten oder zu unterschiedlichen Zeiten sammeln, um ein solches System zu testen.
- Trotz der vielen Fortschritte, die auf dem Gebiet des Testens drahtloser Netzwerke gemacht wurden, bestehen weiterhin bestimmte Probleme. Diese Probleme umfassen eine Unfähigkeit, die Ausführung von Testflüssen zwischen oder unter Flüssen oder Seiten auf offene Weise zu synchronisieren, die allgemeine Standards einsetzt, eine Unfähigkeit, eine Ausführung zwischen Flüssen zu synchronisieren (oder virtuellen Teilprozessen bzw. Threads einer Ausführung), außer wenn eine proprietäre Schnittstelle verwendet wird, und eine Unfähigkeit, drahtlose Dienste zu testen, die von Ausführungsreihenfolgen zwischen Flüssen abhängen, außer eine proprietäre Schnittstelle ist in der Systemarchitektur umfasst.
- Test- und Mess-Softwareprodukte, wie z. B. der OSS Wireless QOS Manager (WQM) von Agilent werden zum Testen drahtloser (mobil/zellulär/WiFi) Kommunikationsnetzwerke und die Anwendungen, die die Netzwerke den Benutzern solcher Netzwerke bieten, verwendet. Beispiele solcher Anwendungen sind: 1) Senden und Empfangen von Kurzmitteilungen (SMS), was einen Meldungs-„Sender" und einen Meldungs-„Empfänger" umfasst, die irgendwo in der Welt sein können; und 2) eine „Sprech"-Anwendung (Push-to-talk), die einen „Sender" umfasst (eine drahtlose Vorrichtung), die zum Senden einer Stimm-Meldung zu einer Gruppe von „Zuhörern" verwendet wird. Die Zuhörer sind eine Gruppe von drahtlosen Vorrichtungen, die registriert sind, um der Meldung zuzuhören, die die Meldung oder eine Benachrichtigung über die Meldung in einer Form empfangen (einer Kurzmitteilung oder einer E-Mail). Die nachfolgende Veröffentlichung und Patentanmeldung, die hierin jeweils durch Bezugnahme in ihrer entsprechenden Gesamtheit aufgenommen sind, umfassen verschiedene Lehren gemäß dem Stand der Technik im Hinblick auf WQMs:
Agilent Technologies, Inc., Information Sheet mit dem Titel „Agilent QSS QoS Manager", zu sehen unter http://we.home.agilent.com/cgi-bin/bvpub/agilent/Product/cp Product.jsp?OID=536882909&NAV ID=-536885380.536882909.00&LANGUAGE CODE=eng&COUNTRY CODE=ZZ&CT=PRODUCT&JPID=/comms/firehunter
U.S.-Patentanmeldung Seriennummer 10/736,835 mit dem Titel „Sequential Coordination of Test Execution and Dynamic Data" an Bingham. - Das Testen von heterogenen (Mehr-Netzwerk- und Mehr-Protokoll-) Anwendungen wird erreicht durch Ausführen vieler Testsoftwareprogramme, gleichzeitig, an entfernten Orten. Jedes der gleichzeitig ablaufenden Softwareprogramme testet einen Aspekt der drahtlosen Anwendung, die getestet wird. Zum Beispiel wird bei der „Push-to-Talk"-Anwendung, die oben beschrieben wurde, ein Softwaretestprogramm verwendet, um die Meldung zu senden und unterschiedliche Qualitätsaspekte der drahtlosen Anwendungen zu messen, die ersichtlich sind, wenn die Meldung gesendet wird. Auf der Empfängerseite werden viele Testprogramme, die an unterschiedlichen Orten angeordnet sind, eingesetzt, um die Meldung zu empfangen, und die Qualitätsaspekte des drahtlosen Netzwerks beim Empfangen der Meldung zu messen. Bezug nehmend auf
1 ermöglicht WQM die Erzeugung von Softwaretestprogrammen mit Komponenten, die in Sequenz laufen. Diese Sequenzen aus Softwaretestkomponenten können an jeglichem entfernten Ort unter Verwendung von Steuerprogrammen betrieben werden, die „Agenten" genannt werden. Früher haben Agenten keine Fähigkeit bereitgestellt, mehrere Sequen zen gleichzeitig zu betreiben, oder die Fähigkeit, solche Sequenzen zu synchronisieren. - Existierende Testsysteme, die in der Lage sind, solche Softwaretests gleichzeitig ablaufend zu betreiben, hängen von einer proprietären Software ab, die in einer speziell erzeugten Sprache geschrieben ist. Einige Systeme verwenden proprietäre Protokolle, die auf Offener-Standard-Protokollen aufgebaut sind. Solange die Implementierungsdetails (z. B. spezialisierte Software-„Bibliothek" für Gleichzeitigkeit und Synchronisation) solcher Protokolle nicht frei verfügbar sind, können solche Protokolle nicht als plattform-unabhängig oder als solche mit mehreren Teilprozessen betrachtet werden. Bei Systemen, die eine zentralisierte Implementierung aufweisen, kann ein einzelner Ausfallpunkt, d. h. Ausfall einer einzelnen Komponente, verursachen, dass das gesamte Testsystem zu funktionieren aufhört.
- Somit besteht ein Bedarf nach einem drahtlosen QOS-Testsystemverwalter, der nicht von proprietärer Hardware abhängig ist und Offene-Software-Protokolle verwendet, um eine Gleichzeitigkeit und Synchronisation zu erreichen.
- Wie Fachleute auf dem Gebiet erkennen werden, nachdem sie die nachfolgende, nicht einschränkende Beschreibung gelesen und verstanden haben, können zumindest einige der Systeme, Verfahren und Computerprogrammprodukte, die offenbart werden, vorteilhaft gemäß den Lehren der vorliegenden Erfindung modifiziert werden.
- Es ist die Aufgabe der vorliegenden Erfindung, ein Verfahren und ein System zum Ausführen eines Mehr-Positions-Testens und ein prozessorlesbares Computerprogrammprodukt mit verbesserten Charakteristika zu schaffen.
- Diese Aufgabe wird durch ein Verfahren gemäß Anspruch 1, ein System gemäß Anspruch 8 und ein prozessorlesbares Computerprogrammprodukt gemäß Anspruch 15 gelöst.
- Verfahren, Systeme und Computerprogrammprodukte, die eine Mehr-Ort-Ausführung von mehrseitigen Tests zwischen oder unter mehrseitigen Testkomponenten bilden, die in einer Kommunikations- oder Test-Umgebung testen, mit zumindest einem ersten Fluss an einem ersten entfernten Ort und einem zweiten Fluss an einem zweiten entfernten Ort, wie z. B. einer drahtlosen Telekommunikationsumgebung, sind offenbart. Die mehreren, entfernten Flüsse in einem System, wie z. B. einer drahtlosen Testkonfiguration, werden im Wesentlichen gleichzeitig initiiert. Eine graphische Darstellung wird von einem Mehr-Fluss-Test erzeugt, die die mehreren Flüsse zwischen Agenten an mehreren entfernten Orten synchronisiert, die dann in eine Text-Darstellung in einem Format eines offenen Kommunikationsstandards umgewandelt wird. Die Textdarstellung wird gelesen, um die Flüsse und ihre zugeordneten Orte, die Ressourcen, die zum Ausführen der Flüsse erforderlich sind, und die entfernten Orte der Agenten, die die Ressourcen steuern, die zum Ausführen der Flüsse erforderlich sind, zu identifizieren. Eine Teststeuerung sendet, zu Testsitzungsservern, die bei einem bevorzugten Ausführungsbeispiel Java-Servlets umfassen, an den entsprechenden Orten, Beschreibungen der Testsequenzen, die die entsprechenden Flüsse aufweisen, in einem Format eines offenen Kommunikationsstandards, und initiiert, synchronisiert und bringt Testergebnisse zurück, im Wesentlichen gleichzeitig, die aus der gleichzeitigen Ausführung der mehreren Flüsse hergeleitet sind.
- Bei einem Ausführungsbeispiel wird eine Synchronisation erreicht durch Senden von Steuermeldungen zwischen oder unter mehrseitigen Testkomponenten, die die Flüsse aufweisen, die erlauben, dass die Flüsse implizit Zeitgebungssynchronisationsinformationen und dynamisch erzeugte Daten austauschen. Zum Beispiel wird bei einem Verfahren die Ausführung bei zumindest einem der Flüsse unterbrochen. Von dem Fluss, der nicht unterbrochen ist, wird ein Synchronisationssignal zu einem Sync-Server in der Teststeuerung gesendet. Der un terbrochene Fluss fordert und erwartet eine Erlaubnis von dem Sync-Server, um den Fluss wieder aufzunehmen. Der unterbrochene Fluss wird nach dem Empfangen eines Synchronisationssignals von dem Sync-Server wieder aufgenommen.
- Bei einem anderen Ausführungsbeispiel werden dynamisch erzeugte Daten gemeinschaftlich verwendet oder übertragen zwischen oder unter Agenten, die Dynamischer-Dateninhalt-Server verwenden, die offene Kommunikationsstandards oder Protokolle einsetzen, wie z. B. HTTP oder HTTPS. Die vorliegende Erfindung umfasst innerhalb ihres Schutzbereichs die Verfahren zum gemeinschaftlichen Verwenden oder Übertragen dynamisch erzeugter Daten, die oben und unten beschrieben sind, sowie Systeme und Testagenten, die in der Lage sind, solche Verfahren auszuführen. Dynamische Daten werden gemeinschaftlich verwendet oder übertragen zwischen oder unter mehrseitigen Testkomponenten in einer drahtlosen Umgebung mit zumindest einem ersten Fluss auf einer ersten Seite und einem zweiten Fluss auf einer zweiten Seite. Das Verfahren weist das Erzeugen dynamischer Daten in zumindest entweder dem ersten Fluss oder dem zweiten Fluss; das Absenden der dynamischen Daten zu einem Dynamischer-Inhalt-Server, um abgeschickte dynamische Daten zu erzeugen, unter Verwendung von zumindest einem offenen, allgemeinen Kommunikationsstandard; das Anfordern der abgeschickten, dynamischen Daten von zumindest entweder dem ersten Fluss oder dem zweiten Fluss zu dem Dynamischer-Inhalt-Server; das Senden der abgeschickten, dynamischen Daten zu dem Fluss, der die abgeschickten, dynamischen Daten anfordert, von dem Dynamischer-Inhalt-Server, auf. Die abgeschickten, dynamischen Daten, die in dem Dynamischer-Inhalt-Server gespeichert sind, können „Enter"- (Eingabe-), „Get"- (Erhalten-), „Remove"- (Entfernen-) und/oder „Replace"- (Ersetzen-) Anweisungen unterzogen werden, die mit Hilfe des zuvor erwähnten, offenen, allgemeinen Kommunikationsstandards bewirkt werden.
- Bei einem bevorzugten Ausführungsbeispiel wird eine oder mehrere Verhaltensmaßnahmen eines zu testenden Dienstes aus den Mehr-Ort-Testergebnissen erzeugt.
- Verschiedene Ausführungsbeispiele der vorliegenden Erfindung können durch einen oder mehrere der nachfolgenden Aspekte gekennzeichnet sein:
- (a) Software, die ausführbar ist, um die Verfahren gemäß der Erfindung auszuführen, erfordert nicht das Zuordnen spezieller Hardware vor einer Testausführung, d. h. ist in der Lage, getrennt von der Schelf-Software zu laufen;
- (b) Eine solche Software ist locker gekoppelt, was bedeutet, dass jedes Teil des Softwaresystems von unterschiedlichen Softwaresystemen geliefert werden kann;
- (c) Systeme gemäß der Erfindung können in verschiedenen Sprachen geschrieben sein, auf offenen, allgemeinen Kommunikationsstandardprotokollen aufgebaut sein, wie z. B. HTTP, HTTPS, FTP und Webservern, um eine separate Testausführung und gemeinschaftliche Datenverwendung zwischen oder unter Flüssen (oder virtuellen Teilprozessen einer Ausführung) und/oder zwischen mehreren Drittparteianwendungen zu synchronisieren und können auf heterogenen Betriebssystemen laufen;
- (d) Softwareelemente der erfindungsgemäßen Systeme können irgendwo im Internet angeordnet sein und können ohne weiteres angepasst werden, um Sicherheit, Zuverlässigkeit und die Fähigkeit zum Skalieren zu liefern, um eine große Anzahl von gleichzeitig ablaufenden, synchronisierten Softwareprogrammen zu handhaben;
- (e) Ressourcen-Zuordnung kann vor dem Planen von Tests ausgeführt werden, ist aber optional;
- (f) Die Mehrfach-Teilprozess-Fähigkeiten von Hostbetriebssystemen werden verwendet, um eine dynamische, gemeinschaftliche Verwendung von Daten zwischen Testflüssen zu ermöglichen, sogar während eine Testfunktion möglicherweise blockiert ist, die andere Aufgaben ausführt oder auf diese Informationen wartet;
- (g) Eine Synchronisation oder ein Austausch dynamischer Daten zwischen oder unter mehreren Flüssen bei einem drahtlosen Diensttest ist zulässig, sogar wenn eine proprietäre Schnittstelle nicht in dem System eingesetzt wird, das getestet wird;
- (h) Dynamische Daten können sicher übertragen oder gemeinschaftlich verwendet werden, unter Verwendung eines HTTPS-Protokolls;
- (i) Zeitbegrenzungen können nach Bedarf konfiguriert sein;
- (j) Der Ort eines Sync-Servers kann verändert werden, was nützlich ist für Konfigurationen mit Firewalls;
- (k) Sync-Server können auf jeglichem Wireless-QOS-Agenten (wirelsess = drahtlos) oder auf jeglichem Web-Servern betrieben werden, der Server unterstützt;
- (l) Wenn ein Synchronisationsereignis über eine konfigurierbare Zeit hinaus gelebt hat, wird es automatisch gelöscht.
- (m) Zentralisieren von dynamischem Inhalt, was ermöglicht, dass alle Flüsse auf dynamische Daten zugreifen, immer wenn es von einem bestimmten Fluss gefordert wird;
- (n) Ändern des Orts von einem oder mehreren Dynamischer-Inhalt-Server, was besonders nützlich für Konfigurationen mit Firewalls ist;
- (o) Betreiben Dynamischer-Inhalt-Server auf jeglichem Wireless-QOS-Agenten oder auf jeglichem Web-Server;
- (p) automatisches Löschen abgeschickter, dynamischer Daten, die über eine konfigurierbare Zeit hinaus gelebt haben; und
- (q) Mehrere Tests, die auf spezifische, dynamische Daten gleichzeitig zugreifen, zeitbasiert auf einer eindeutigen Identifikation, die für jeden angeforderten Test bereitgestellt ist.
- Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:
-
1 eine graphische Darstellung von zwei Testsequenzen, die an entfernten Orten laufen, erzeugt durch ein existierendes WQM-System; -
2 ein Blockdiagramm eines Testsystems gemäß der vorliegenden Erfindung; -
3 ein Blockdiagramm, das eine herkömmliche Beziehung zwischen einem Klienten, einem Web-Server und einem Testsitzungsserver gemäß dem Stand der Technik darstellt; -
4 ein Flussdiagramm, das ein Ausführungsbeispiel eines Verfahrens zum Ausführen eines Mehr-Ort-Testens gemäß der vorliegenden Erfindung darstellt; -
5 eine graphische Darstellung eines Einzelsoftwaretests gemäß dem Stand der Technik; -
6 eine graphische Darstellung einer Sequenz aus Softwaretests gemäß dem Stand der Technik; -
7 eine graphische Darstellung einer Sequenz eines Mehr-Fluss-Tests gemäß einem Ausführungsbeispiel der vorliegenden Erfindung; -
8 eine andere graphische Darstellung eines zweiseitigen Mehr-Fluss-Tests gemäß einem Ausführungsbeispiel der vorliegenden Erfindung; -
9 eine graphische Darstellung eines Mehr-Fluss-Tests gemäß einem Ausführungsbeispiel der vorliegenden Erfindung, die eine Synchronisation zwischen Flüssen darstellt; -
10 ein Blockdiagramm, das einen Abschnitt eines Systems darstellt, das eine Synchronisation gemäß einem Ausführungsbeispiel der vorliegenden Erfindung ausführt; -
11 ein anderes Blockdiagramm, das einen Abschnitt eines Systems darstellt, das eine Synchronisation gemäß einem Ausführungsbeispiel der vorliegenden Erfindung ausführt; -
12 ein wiederum anderes Blockdiagramm, das einen Abschnitt eines Systems darstellt, das eine Synchronisation gemäß einem Ausführungsbeispiel der vorliegenden Erfindung ausführt; -
13 ein Blockdiagramm, das einen Abschnitt eines Systems darstellt, das einen Austausch dynamischer Daten gemäß einem Ausführungsbeispiel der vorliegenden Erfindung ausführt; -
14 ein anderes Blockdiagramm, das einen Abschnitt eines Systems darstellt, das einen Austausch dynamischer Daten gemäß einem Ausführungsbeispiel der vorliegenden Erfindung ausführt; und -
15 ein wiederum anderen Blockdiagramm, das einen Abschnitt eines Systems darstellt, das einen Austausch dynamischer Daten gemäß einem Ausführungsbeispiel der vorliegenden Erfindung ausführt. - Systemarchitektur
-
2 stellt ein verteiltes Mehr-Ort-Testsystem10 dar, das einem Systemadministrator erlaubt, von einem entfernten Browser12 , ein automatisiertes Mehr-Ort-Testen über eine aktive Teststeuerung14 an entfernten Computerprozessoren16 ,18 zu verwalten, die irgendwo im Internet angeordnet sind. Das System weist verteilte Softwarekomponenten auf, die unter Verwendung einer Mitteilungs-Übermittlung eines offenen Kommunikationsstandard-IPs (Internetprotokoll-) koordiniert werden, wie z. B. HTTP-Meldungen (HTTP = Hypertext Transport Protocol) (angezeigt durch durchgezogene und gestrichelte Zeigerlinien). Operationen des Mehr-Ort-Tests sind erkennbar und eingerichtet unter Verwendung des Web-Browsers, der bei einem Ausführungsbeispiel eine WQM-Anzeige aufweist. In den nachfolgenden Beschreibungen werden die Ausdrücke „Server" und „Servlet" austauschbar verwendet, eine solche Verwendung soll jedoch die Erfindung nicht auf Java-basierte Implementierungen einschränken, da der Ausdruck Servlet eine andere Bedeutung haben kann. Tatsächlich ist es ein Vorteil der vorliegenden Erfindung, dass sie in einer Vielzahl von Computersprachen implementiert sein kann. - Gemäß einer Implementierung umfasst das System
10 Softwarekomponenten, die an der aktiven Teststeuerung14 angeordnet sind, die den Mehr-Ort-Test (MLT; Multi-Location Test30 ) einen Dynamischer-Inhalt-Server (DCS; Dynamic Content Server28 ), der einen Datenaustauschserver und einen Sync-Server umfasst, und einen optionalen Ressourcen-Verwalter32 umfasst. Der DCS28 und ein optionaler Ressourcenverwal ter32 sind potentiell entfernt von dem MLT30 angeordnet. Das System10 umfasst ferner Softwarekomponenten, die auf entfernten Prozessoren16 ,18 laufen (die bei dem WQM-Beispiel aktive Testsonden darstellen), die DCS-Komponenten (nicht gezeigt in2 ) und Testsitzungsserver (TSS; Test Session Server20 ,22 ) umfassen, was bei einem bevorzugten Ausführungsbeispiel ein Java-Servlet ist. Bezug nehmend auf3 ist ein Testsitzungs-Servlet34 eine Spezialzweck-Softwareanwendung, die in einem Web-Server36 residiert (z. B. auf Testsonden16 ,18 läuft), die mit einem Klientenprogramm40 unter Verwendung des HTTP-Protokolls kommunizieren, und die Softwareprogramme betreiben können, wie z. B. Tests38 , in Folge. Zum Beispiel kann der Klient40 eine Liste der Testsoftwareprogramme zusammen mit den Parametern übermitteln, die erforderlich sind, um sie zu betreiben. Das Testsitzungs-Servlet bringt das Testergebnis zurück zu dem Klienten40 . - Eine Datenbank (nicht gezeigt) residiert an der aktiven Teststeuerung
14 , um die Testergebnisse zu speichern, die von den Test-Diensten empfangen werden. Mit einer ausreichenden Menge an Testergebnisdaten kann das System10 Änderungen und/oder Muster in der QOS eines zu testenden Dienstes (SUT; Service Under Test) präsentieren und die Stabilität eines bestimmten Systems überwachen. Die Tests selbst können solche historische Daten aus dem Speicher aufrufen. Zum Beispiel kann das System Charakteristika (z. B. Bewegungszeit einer SMS-Meldung) von historischen Testergebnissen mit neuen Testergebnissen vergleichen, um zu bestimmen, ob Nachfolgeaktionen notwendig sind (z. B. wiederholte oder zusätzliche Tests, Auslösen von Alarmen), wenn eine voreingestellte Abweichungsschwelle überschritten wird. - Bei einem Aspekt, der ohne weiteres für Fachleute auf dem Gebiet offensichtlich ist, liefert die vorliegende Erfindung ein Computerprogrammprodukt, das auf einer oder mehreren programmierbaren Speichervorrichtungen codiert ist. Das Computerprogrammprodukt ist durch den einen oder die mehre ren Prozessoren ausführbar, die oben beschrieben sind, um ein Mehr-Ort-Testen in dem System auszuführen. Jeder Prozessor und die Teststeuerung sind vorzugsweise Allzweckcomputer in der Form von herkömmlichen Personalcomputern, die konfiguriert sind, um als Server oder als Klienten zu arbeiten. Die Computer weisen vorzugsweise eines oder mehrere der nachfolgenden Leifwerke auf: ein Festplattenlaufwerktreiber zum Lesen aus und Schreiben auf eine Festplatte, ein Magnetplattenlaufwerktreiber zum Lesen aus oder Schreiben auf eine entfernbare Magnetplatte, und ein Optikplattenlaufwerk zum Lesen aus oder Schreiben auf eine entfernbare Optikplatte, wie z. B. eine CD-ROM. Die Laufwerke und ihre zugeordneten, computerlesbaren Medien liefern einen nichtflüchtigen Speicher für computerlesbare Anweisungen, Datenstrukturen, Programmmodule, Testergebnisse und andere Daten für die Prozessoren.
- Mehr-Ort-Testverfahren
- Bezug nehmend auf
4 kann ein Verfahren400 zum Verwenden des Testsystems10 , um ein automatisiertes Mehr-Ort-Testen auszuführen, einen Web-Browser verwenden, um im Wesentlichen gleichzeitig zumindest einen ersten Fluss A 24 und einen zweiten Fluss N 26 zu initiieren. Bei Schritten, die nachfolgend detaillierter beschrieben werden, wird eine graphische Beschreibung des Mehr-Ort-Tests erzeugt (Schritt410 ), dann liest der MLT die Beschreibung aller Testflüsse, die an unterschiedlichen Testorten ausgeführt werden sollen, und tätigt einen Ruf zu den TSSs an den entsprechenden Orten (Schritt420 ). Bei Schritt430 wird eine Synchronisation der Flüsse für eine gleichzeitig ablaufende Ausführung erreicht, zwischen und unter den entfernten Orten unter Verwendung von offenen Kommunikationsprotokollen. Es wird darauf hingewiesen, dass das System10 nicht notwendigerweise für eine „Master"- und „Slave"-Steuerung konfiguriert ist, was bedeutet, dass das DCS28 , nachdem es im Wesentlichen gleichzeitig die Flüsse initiiert, keine unidirektio nale Steuerung über die Flüsse besitzt. Dies ist eine wichtige Unterscheidung von herkömmlichen Systemen, bei denen ein einzelnes Programm das gesamte Mehr-Ort-Testen steuert. Bei Systemen gemäß der Erfindung existieren zwei Kategorien von Testkomponenten, nämlich funktionale Komponenten, die nützliche Informationen zu einem Benutzer liefern, und Infrastrukturkomponenten, die die Softwarekomponenten umfassen, die für eine Synchronisation und Datenaustausch verantwortlich sind. Die Unabhängigkeit der verteilten Komponenten ermöglicht eine effizientere Verwendung von Ressourcen durch Übermitteln von Mitteilungen zu einem Ressourcenmanager, dass die Verwendung einer Ressource von einem Fluss abgeschlossen ist, und der Ressourcenverwalter kann dann die Ressource zur Verwendung durch andere Flüsse freigeben, bevor der gesamte Test abgeschlossen ist. Abschließend werden bei Schritt440 Testergebnisse nach einer Beendigung der Flüsse berichtet. - Graphische Darstellung des Mehr-Ort-Tests
- Bei Schritt
410 arbeiten der MLT30 und der Browser12 , um zu ermöglichen, dass die Erzeugung einer graphischen Darstellung eines Mehr-Ort-Tests ausgeführt wird. Existierende, graphische Testbeschreibungstools, wie z. B. der Agilent WQM, liefern eine Möglichkeit, ein einzelnes, entferntes Softwareartefakt zu beschreiben. In der WQM-Terminologie wird dies als ein „Test" bezeichnet, da diese Software zum Testen eines Aspekts eines zu testenden Dienstes (SUT; Service Unter Test) verwendet wird.5 stellt eine bekannte, graphische Darstellung42 eines einzelnen Softwaretests dar, der eine spezifizierte Webseite liest und nützliche Informationen erzeugt, genannt „Messungen". Messtestergebniswerte ermöglichen die Quantisierung des Verhaltens eines zu testenden Webdienstes, wie durch einen Benutzer einer Webseite des Webdienstes erfahren werden würde, der versucht, zu der Webseite zu „surfen". Zum Bei spiel berichtet der Test eine „Gesamtantwortzeit" zum Herunterladen der Webseite. - Der WQM ermöglicht ferner das Platzieren solcher „Tests" auf entfernten Computerprozessoren (wie z. B. jenen der Testsonden
16 ,18 ) unter der Steuerung anderer Programme, genannt „Agenten", die Tests betreiben ähnlich zu jenen auf einem regelmäßigen Intervall, um „Verhaltensdiagramme" für jeden SUT zu erzeugen. Der WQM liefert ferner ein anderes graphisches Tool, um eine Anzahl solcher Tests in einer Sequenz auf jeglichem entfernten „Agenten" auszuführen.6 stellt eine hierarchische, graphische Darstellung44 einer Testsequenz dar, die in einer strikten, sequenziellen Weise ausgeführt werden soll. - Einer der Aspekte der Erfindung ist eine graphische Darstellung eines gleichzeitig ablaufenden, entfernten und synchronisierten Mehr-Ort-Tests als mehrere Testflüsse, unter der Steuerung des MLT
30 .7 stellt eine graphische Darstellung46 eines Mehr-Ort-Tests dar, die zwei entfernte, drahtlose Vorrichtungs- (z. B. Zellulartelefon-) Benutzer simuliert. Testfluss1 stellt das Senden einer Bildmitteilung von einer drahtlosen Vorrichtung (Telefon) dar. Testfluss2 stellt eine andere drahtlose Vorrichtung dar, die die Meldung empfängt. Die graphische Darstellung46 wurde erzeugt unter Verwendung existierender Tools in dem QOS-Verwalter. Es wird darauf hingewiesen, dass die Flüsse nun als Teile eines einzelnen „Tests" gezeigt sind, den der QOS-Verwalter an einem Agenten an einem entfernten Ort anwenden kann. Jeder Fluss ist jedoch eine selbsttragende Einheit unter dem Mehr-Fluss-Test. - Ausführung des Mehr-Ort-Tests
- Bezug nehmend wiederum auf das Verfahren, das in
4 dargestellt ist, und die Architektur, die in2 gezeigt ist, wandelt bei Schritt420 der MLT30 dann die grafische Darstellung des Mehr-Ort-Tests in eine Textdarstellung zur Übertragung zu dem entfernten Agenten um. Der Agilent WQM liefert eine solche Textdarstellung in einer Sprache, genannt „SmartFrog", die Erfindung soll jedoch in keinster Weise auf jegliches bestimmte Format beschränkt sein. Jegliches hierarchische Datendarstellungsformat des öffentlichen Bereichs, wie z. B. XML, kann auch verwendet werden, um die Testflüsse darzustellen, und zu dem Mehr-Ort-Test übertragen werden. Ein Beispiel einer graphischen Darstellung48 eines zweiseitigen Mehr-Fluss-Tests ist in8 gegeben, und eine entsprechende Textdarstellung ist in Beispiel 1 umfasst. - Beispiel 1
- Der MLT liest die Textdarstellung und identifiziert die Anzahl von Flüssen (z. B. Flüsse
24 ,26 ) in dem Test, der ausgeführt werden soll, jegliche Vorrichtungen (16 ,18 z. B.), an denen die Tests ausgeführt werden müssen, und die entfernten Orte der Agenten, die die Vorrichtungen steuern. Der MLT kontaktiert den TSS20 ,22 , der an jedem entfernten Ort läuft, der den Flüssen zugeordnet ist, und liefert die Beschreibung der Testsequenz, die ausgeführt werden soll. Wiederum verwenden die TSS ein standardmäßiges Hypertext Transfer Protocol (HTTP), ein offenes Netzwerkprotokoll, das für das World Wide Web verwendet wird. Der MLT kontaktiert den TSS an der Position jedes Flusses im Wesentlichen gleichzeitig, nach dem Identifizieren der Anzahl von Flüssen in dem Text, und übermittelt eine Anforderung zum Betreiben der Sequenztests gleichzeitig ablaufend unter jedem Fluss. - Synchronisierung und Dynamische-Daten-Austausch zwischen Testflüssen
- Bei Schritt
430 des Verfahrens, das in4 dargestellt ist, verwendet das drahtlose Testsystem10 den DCS28 , um eine Testausführung zu synchronisieren und einen Datenaustausch zwischen oder unter entfernten Tests zu steuern. Bei der WQM-Implementierung verwendet der DCS28 das HTTP-Protokoll und erfordert, dass Daten unter Verwendung von XML spezifiziert werden, einer Textmarkierungssprache wie HTML (Hyper Text Markup Language), die verwendet wird, um Webseiten zu erzeugen. Der DCS erfordert ferner, dass jede Dateneinheit unter Verwendung eines Eindeutiger-Identifizierer-Schlüssels identifiziert ist, so dass Datenelemente mit demselben Namen oder ältere Datenelemente aus einem früheren Durchlauf desselben Tests nicht mit neuen Datenelementen verwechselt werden. - Eine explizite Zeitsynchronisation wird durch Verwendung spezieller Tests erreicht, genannt „Sync-Send-" (Synch senden) und „Sync- Receive" (Synch empfangen) Tests, die spezielle Datenzeichenfolgen einsetzen, die einem Empfängertest erlauben oder ihn auffordern, auf einen Sendertest zu warten, um einen bestimmten Punkt in der Testausführung zu erreichen, bevor fortgefahren wird.
9 stellt eine graphische Darstellung50 dar, die einen Test „Send-Sync" (Sync senden) und einen Test „Await-Sync" (Sync abwarten) umfasst, die eine Zeitsynchronisation zwischen Testflüssen erreichen. Testfluss1 führt Test-1 und Test-2 aus, vor dem Senden eines Datenelements „Sync" zu dem DCS28 . Testfluss-2 führt den Test „Await-Sync" aus, der periodisch Daten aus dem DCS liest, um zu bestimmen, ob das Datenelement „Sync" von Testfluss-1 angekommen ist. Der Netto-Effekt ist, dass Test-1 und Test-2 von Testfluss-1 garantiert betrieben werden, bevor Test A von Testfluss B betrieben wird. - Gemäß einem alternativen Ausführungsbeispiel der Erfindung wird das XML-Datenformat, das durch den DCS
28 geliefert wird, ausgedehnt, um eine „Steuer"-Mitteilung zu spezifizieren. Eine Hinzufügung des Steuermitteilungsmodus über das vordefinierte Nur-Daten-Format hinaus ermöglicht, dass die Testflüsse implizit Zeitgebung und andere Informationen austauschen, ohne spezielle Testkomponenten einbringen zu müssen. Die „Steuermitteilungs-Übermittlungs"-Fähigkeit ermöglicht, dass die Testflüsse Notfall-Mitteilungen zu anderen Testflüssen rundsenden, um die Testausführung zu beenden und/oder Metadaten der Testausführung (z. B. Anzahl von durchgeführten Tests, Start- und End-Zeit für jeden Test in jedem Fluss und Ergebnis des Ausführens jedes Tests, etc.) zu der Entität zurückzubringen, die den MLT startet. - Testausführungsinformationen und Testdaten werden über das Internet über normale HTTP-Anforderungen ausgetauscht, so dass die Plattform eines Klienten oder Servers für die aktive Teststeuerung
14 unbekannt sein kann. Die Architektur ist unabhängig von den Tests, die gegen den SUT ausgeführt werden, da sie im Wesentlichen die Ausführung jeglicher Tests für jegliches Produkt ermöglicht. - Ausführungsbeispiel einer exemplarischen Synchronisationsarchitektur
-
10 zeigt einen Abschnitt10' einer Implementierung der vorliegenden Erfindung, wo Flüsse A und B in dem mehrseitigen Testsystem unter Verwendung von Sync-Servlets52 ,54 bzw.56 synchronisiert werden, die jeweils in der aktiven Testsonde58 , die Fluss A entspricht, der aktiven Teststeuerung60 bzw. der aktiven Testsonde62 , die Fluss B entspricht, angeordnet sind. - Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung ist jede der aktiven Testsonde
58 , der aktiven Teststeuerung62 und der aktiven Testsonde70 ein individueller Agent in dem System10' , obwohl andere Konfigurationen möglich sind und in den Schutzbereich der vorliegenden Erfindung fallen. Es wird darauf hingewiesen, dass Sync-Servlets52 und56 in10 nicht bei dem nachfolgend gegebenen Beispiel eingesetzt, aber bei anderen Konfigurationen oder Flüssen eingesetzt werden können, die hierin nicht ausdrücklich offenbart sind. Abhängig von der vorliegenden Systemkonfiguration kann der entsprechende Zielort für ein bestimmtes Signal oder eine Meldung, wie z. B. ein Signal „Await Sync" (Sync abwarten) oder „Send Sync" (Sync senden) spezifiziert werden müssen oder nicht, obwohl bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung ein solcher Zielort spezifiziert sein muss, wie bei dem Schema angezeigt ist, das nachfolgend ausgeführt wird. Zum Beispiel kann das „Send Sync"-Signal, das von Fluss B (Flow B) in10 ausgeht, derart spezifiziert sein, dass es einen letztendlichen Zielort in Fluss B hat, und dass „A wait Sync"-Signal, das aus Fluss A (Flow A) stammt, kann spezifiziert sein, dass es einen letztendlichen Zielort in dem Sync-Servlet54 hat. - In
10 ist Fluss A durch Testkomponente1 , Testkomponente2 („Await Sync") und Testkomponente3 in der aktiven Testsonde58 dargestellt. Fluss B ist dargestellt durch Testkomponente1 , Testkomponente2 („Send Sync") und Testkomponente3 in der aktiven Testsonde62 . Ein erster und zweiter Fluss A und B werden im Wesentlichen gleichzeitig initiiert. Die Ausführung von Fluss A wird unterbrochen, nachdem Fluss A zu der zweiten Testkomponente oder dem Ereignis „Await Sync" fortgeschritten ist. Eine Ausführung der Testkomponente „Await Sync" in Fluss A verursacht, dass eine Meldung oder Anweisung zu dem Sync-Servlet54 gesendet oder abgeschickt wird, die angibt, dass Fluss A auf den Empfang eines „Send Sync"-Signals oder einer -Meldung von Fluss B wartet. Der Zeitbetrag, den die Testkomponente „Await Sync" in Fluss A auf den Empfang eines „Send Sync"-Signals wartet, kann eine konfigurierbare Zeitbegrenzung sein. Wenn Fluss B zu der Testkomponente „Send Sync" fortgeschritten ist, wird ein „Send Sync"-Signal zu dem Sync-Servlet54 abgeschickt. Das nächste mal, wenn Fluss A eine Erlaubnis anfordert, die Ausführung wieder aufzunehmen (d. h. „Wurde ein „Send Sync"-Signal von Fluss B empfangen?"), wurde das „Send Sync"-Signal bereits von dem Sync-Servlet54 empfangen, und Fluss A empfängt eine Erlaubnis, die Ausführung durch Ausführen des nächsten Schrittes wieder aufzunehmen (d. h. jetzt tritt die Ausführung von Testkomponente3 auf). - Ausschließlich als darstellendes Beispiel und ohne Absicht, den Schutzbereich der vorliegenden Erfindung einzuschränken, kann FlowA:test1 (Flow = Fluss) in
10 ein Test sein, der zu einer Webseite navigiert und Authentifizierungsinformationen zum Einloggen in ein 802.11 wifi-Netzwerk anfordert und die Rechnungs- und Login-Informationen zu einem Zellulartelefonkonto senden lässt. F1owB:test1 empfängt dann die Bestätigungsmeldung auf dem Zellulartelefon mit dem Benutzernamen und Passwort. FlowA:test3 verwendet als Nächstes den Benutzernamen und das Passwort, um sich in dem wifi-Netzwerk zu registrieren. FlowA:test3 kann sich nicht einloggen (bzw. registrieren) bevor FlowB:test1 ordnungsgemäße Authentifizierungsinformationen empfangen hat. FlowA:await sync verursacht, dass eine Ausführung unterbrochen wird, bis FlowB:send sync gesendet wurde, wobei an diesem Punkt die Ausführung fortgesetzt wird. Wie nun erkannt wird, können send sync- und await sync-Funktionalitäten in mehreren Flüssen implementiert sein, um zu ermöglichen, dass kompliziertere, mehrseitige und Mehrfluss-Netzwerke oder -Systeme getestet werden. - Es wird darauf hingewiesen, dass das Ausführungsbeispiel der vorliegenden Erfindung, das in
10 gezeigt ist, speziell angepasst ist für eine Verwendung bei einer drahtlosen Diensttesteinstellung, wie z. B. einer wifi-Login-Anwendung bzw. -Registrier-Anwendung, obwohl zahlreiche andere Anwendungen denkbar sind und trotzdem in den Schutzbereich der vorliegenden Erfindung fallen. - Weiterhin Bezug nehmend auf
10 kann jedes der Sync-Servlets52 ,54 und56 ein Programm mit mehreren Teilprozessen sein, das auf jeglichem der Agenten58 ,60 und62 in dem System10' läuft. Jeder Agent sollte eine Sync-Servlet-Funktionalität besitzen, obwohl eine solche Funktionalität nicht im Hinblick auf ein gegebenes Servlet gemäß einer bestimmten Systemkonfiguration verwendet werden kann. Zum Beispiel kann eine solche Sync-Servlet-Funktionalität auf Agenten60 und62 und nicht58 ausgeübt werden, während weiterhin erlaubt wird, dass die oben beschriebenen Testprozeduren auftreten. Bei einer optimalen Systemkonfiguration jedoch besitzt jeder Agent eine Dynamischer-Inhalt-Servlet-Funktionalität. - Tests können durch einen Anrufer aufgerufen werden, der entfernt von jeglichem der Agenten des Systems
10' ist, wenn der Anrufer mit einem Netzwerk verbunden ist, mit dem solche Agenten verbunden sind, oder mit dem einer solcher Agenten verbunden ist. Ein solches Netzwerk kann jegliches Netzwerk sein, wie z. B. das Internet. Bei einem Ausführungsbeispiel der vorliegenden Erfindung können die Agenten58 ,60 und62 Computer und/oder Server sein. - Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung wird eine Dynamischer-Inhalt-Servlet-Funktionalität zu einem Syc-Servlet hinzugefügt. Während sich eine Dynamischer-Inhalt-Servlet-Funktionalität von der eines Sync-Servlets unterscheidet, kann eine Dynamischer-Inhalt-Servlet-Funktionalität allgemein auf ein Sync-Servlet im Huckepackverfahren aufgenommen sein, um das Betreiben mehrerer Servlets zu vermeiden, wie in
10 gezeigt ist. - Bei einem Ausführungsbeispiel der vorliegenden Erfindung können Testbeschreibungen oder Anforderungen zum Synchronisieren in ein vordefiniertes XML-Schema (oder sogar Klartext) entweder in einer HTTP-Post oder einer HTTPS-Post eingelagert sein. HTTP (Hyper Text Transfer Protocol) ist ein generischer Meldungstransportstandard oder eine standardisierte Weise, über das Internet zu kommunizieren. Ein HTTP-Get (Get = Erhalten), ist das, was ein Web-Browser ausführt; er empfängt Daten nur. Aber eine HTTP-Post (Post = abschicken) ermöglicht das Senden eines Datenkörpers und auch den Empfang einer Antwort.
- Der Datenkörper, der durch eine HTTP-Post gesendet wird, ist über das XML-Schema organisiert. XML (Extensible Markup Language; erweiterbare Markup-Sprache) ist eine standardisierte Möglichkeit zum Codieren von Daten, oder anders ausgedrückt zum Generisieren der Daten, Freigeben einer Definition, Übertragung, Validierung und Interpretation der Daten zwischen Anwendungen.
- Schnittstellenentwurfsdetails, die ein Ausführungsbeispiel der Erfindung implementiert, das in
10 dargestellt ist, werden nachfolgend in Beispiel 2 aufgeführt, wo Textdarstellungen eines Sync-Servlet-Eingangsschemas gezeigt sind. Während die Sync-Servlet-Implementierung, die hierin nachfolgend aufgeführt wird, in Java geschrieben ist, kann eine solche Funktionalität in jeder geeigneten Programmiersprache implementiert sein oder unter jeglichem Web-Server laufen, der Servlets unterstützt. Andere auf Standards basierende Server und Protokolle können ebenfalls verwendet werden, um Sync-Servlets zu implementieren. Sync-Servlets können HTTP-Posts mit einem definierten XML-codierten Körper akzeptieren, nur um Daten einzugeben oder zu erhalten. Durch Verwenden einer solchen Funktionalität kann ein Sync-Objekt, das in jedem Test enthalten ist, der in einem gegebenen Fluss läuft, dann Daten abschicken oder Daten von dem Sync-Servlet erhalten. Das Sync-Servlet kann abgeschickt werden, um HTTP oder HTTPS (secure socket layer; Sicherheitssockelschicht) zu verwenden, um eine Sicherheit zu gewährleisten. - Beispiel 1: Wqm-Sync-Servlet-Schnittstellenentwurf
- (A) Eingabe- und Ausgabe-Schnittstelle zu dem Sync-/Dynamischer-Inhalt-Servlet
- (1) Kurze Beschreibung
- Das Dynamische-Daten-Servlet läuft auf jeglichem QoSM-WQM-Agenten. Es liefert einen Datenspeicher für dynamische Daten zum Betreiben von Tests und verarbeitet Anforderungen zum „Hinzufügen (add)", „Entfernen (remove)" oder „Erhalten (get)" dynamischer Daten für eine spezifizierte Uniqueid (eindeutige ID), oder zum „Löschen (delete)" aller Daten für diese Uniqueid.
- (2) Vorraussetzungen, die sich auf einen Dynamische-Daten- Entwurf beziehen
-
- – Die nachfolgenden Attribute finden sich in dem Abschnitt Drahtlos (Wireless) von fh.conf. Sie können überschrieben werden durch verdeckte (Präfix fh) Attribute in dem Wireless Chain Text (Drahtlos-Kette-Test) selbst. • DcsLocation – (Zeichenfolge) Voreinstellung ist dieselbe wie das Attribut Host (ATC). • DcsPort – (ganze Zahl) Voreinstellung ist 16716 • DcsTimeout – (ganze Zahl) Voreinstellung 0 (einmal Nachsehen, kein Warten) • DcsLookup – (Boolscher Wert) Voreinstellung wahr (prüfe DCS, wenn nicht in lokalem Speicher)
- – Das Nachfolgende muss in den Flussebenendatenspeichern verfügbar sein: • DcsLocation • DcsPort • DcsTimeout • DcsLookup • ChaindId – (Zeichenfolge) eine eindeutige ID für diese Testausführung • FlowId – (Zeichenfolge) der Name des aktuellen Flusses
- – Eine DcsControl-Testkomponente ist verfügbar, um die Werte der Dcs*-Attribute zu ändern, die oben beschrieben sind.
- – Die DcsPurgeTime-Eingabe in den Drahtlos-Abschnitt von fh.conf definiert das Alter, bei dem alte Daten im DCS (in Stunden) abgeführt werden sollen.
- (3) Technische Anforderungen
-
- – Fähigkeit zum Betreiben eines Servlets auf dem QOSM-Agenten.
- – Definierte XML-Schnittstelle für die HTTP-Anforderungen und -Antwort.
- (4) Definition oder Entwurfsbeschreibung
-
- – Die Schnittstelle zum Servlet ist eine HTTP-Post.
- – Beispiel url! http://<DcsLocation>:<DcsPort>/DynamicContentServlet
- – Der Körper der Post ist XML. Die XML-Schnittstelle ist hierin definiert.
- – Das Verhalten des DCS imitiert eine Hash-Tabelle: • Es ist nicht legal, einen Null-Schlüssel oder -Wert zu speichern, eine NullPointerException (Null-Zeiger-Ausnahme) resultiert. • Ein „put" (Setzen) bringt den vorangehend gespeicherten Wert zurück (oder Null, wenn kein Wert gefunden wurde) • Ein „get" (Erhalten) bringt den gespeicherten Wert zurück (oder Null, wenn kein Wert gefunden wurde) • Ein „remove" (Entfernen) bringt den vorangehend gespeicherten Wert zurück (oder Null, wenn kein Wert gefunden wurde)
- – Ein „delete" (Löschen) entfernt alle Daten für einen eindeutige Id und bringt alle vorangehend gespeicherten Werte zurück.
- – Das DCS weist ein spezielles Verhalten auf, wenn ein „Sync"-Datum bzw. eine gegebene Größe gespeichert ist. • Der Name des Sync-Datums ist „dcs sync<fromFlow>: <toFlow>" • Der Wert, der für ein Sync-Typ-Datum gespeichert ist, ist eine ganze Zahl. • Wenn bereits ein Wert für dieses Datum existiert, wird er um ein weiteres „put" inkrementiert. • Der Wert für dieses Datum wird um ein „get" dekrementiert, wenn der resultierende Wert 0 ist, wird das Datum entfernt.
- – Das Abführen alter Daten, die nicht ordnungsgemäß am Ende einer Testausführung entfernt wurden, wird ausgeführt. • Der Wert DcsPurgeTime (DCS-Abführzeit), der in fh.conf enthalten ist, wird als das Alter verwendet, um alte Testdaten zu löschen, mit einer Voreinstellung von 24 Stunden. • Die Frequenz des Prüfens zum Abführen von alten Daten basiert auf dem Alterungswert (1/10tel des Werts).
- (5) SITE-Abhängigkeiten (Site = Ort)
-
- – TDL-Code, der dasaufrufen, auf die Antwort warten und die Ausgabe akzeptieren kann.
- (6) Erzeugen und Parsen der XML in Tcl und Java
-
- - Beschreibung: • Lernkurve beim Parsen von XML
- – Auflösung/Fortschritt: • Erlernen des Dokumentobjektmodells in jdk1.4.1 zum Parsen von XML • Verwenden von Prozeduren, die bereits in Tdl zum Handhaben von XML vorhanden sind.
- (7) Aufbauen der ausgehenden XML in Java
-
- – Beschreibung: • Lernkurve beim Parsen von XML
- – Auflösung/Fortschritt: • Erlernen des Dokumentobjektmodells in jdk1.4.l zum Parsen von XML
- Voraussetzungen
-
- – Die gesendete XML muss in der korrekten Form sein oder wird nicht validiert.
- Technische Anforderungen
-
- – Die Schnittstelle ist eine HTTP-Post, die einen XML-Körper als Eingabe zu dem Servlet enthält.
- – Die Ausgabe ist die Post-Antwort, ebenfalls im XML-Format.
- (B) Definition oder Entwurfsbeschreibung
- (1) „put"-Anforderungs-Syntax (Request Syntax) eingeben
-
- – <DcsRequest> • <UniqueId>chainId</UniqueId> • <Action>put</Action> • <DynamicData> (kann mehrere Datum-Etiketten enthalten) • <Datum> • <Name>datumName</Name> • <Type>datumType</Type> • <Value>datumValue</Value> • </Datum> • </DynamicData>
- – </DcsRequest>
- (2) „put"-Sync-Anforderungs-Syntax eingeben
-
- – <DcsRequest> • <UniqueId>chainId</UniqueId> • <Action>put</Action> • <DynamicData> • <Datum> • <Name>dcs sync:<fromFlow>:<toFlow></Name> • <Type>Integer</Type> • <Value>1</Value> • </Datum> • </DynamicData>
- – </DcsRequest>
- (3) „get"-Anforderungs-Syntax eingeben
-
- – <DcsRequest> • <UniqueId>chainId</UniqueId> • <Action> get </Action> • <Timeout> 60 </Timeout> • <DynamicData> (kann mehrere Datum-Etiketten enthalten) • <Datum> • <Name>datumName</Name> • </Datum> • </DynamicData>
- – </DcsRequest>
- (4) „get"-Sync-Anforderungs-Syntax eingeben
-
- – <DcsRequest> • <UniqueId>chainId</UniqueId> • <Action> get </Action> • </DynamicData> • </Datum> • <Name>dcs sync:<fromFlow>:<toFlow></Name> • </Datum> • </DynamicData>
- – </DcsRequest>
- (5) „remove"-Anforderungs-Syntax eingeben
-
- – <DcsRequest> • <UniqueId>chainId</UniqueId> • <Action> remove <Action> • <Timeout> 60 </Timeout> • <DynamicData> (kann mehrere Datum-Etiketten enthalten) • </Datum> • <Name>datumName</Name> • </Datum> • </DynamicData>
- – </DcsRequest>
- (6) „delete"-Anforderungs-Syntax eingeben – löscht alle Daten für eine bestimmte chain id (Ketten-ID)
-
- – <DcsRequest> • <UniqueId>chainId</UniqueId> • <Action> delete </Action>
- – </DcsRequest>
- (7) Antwort-Syntax ausgeben, wenn keine Ausnahme
-
- – </DcsResponse> • <UniqueId>chainId</UniqueId> • <Action> (Aktion von Anforderung) </Action> • <DynamicData> (kann mehrere Datum-Etiketten enthalten) • </Datum> • <Name>datumName</Name> • <Type>datumType</Type> • <Value>datumValue</Value> • </Datum> • </DynamicData>
- – </DcsResponse>
- (8) Antwort-Syntax ausgeben, wenn Ausnahme
-
- – <DcsResponse> • <UniqueID>chainID</UniqueID> • <Action> (Aktion von Anforderung) </Action> • <Exception> • <Type>exception type</Type> • <Message>exception message</Message> • <StackTrace>exception stack trace</Stack-Trace> • </Exception>
- – </DcsResponse>
- (9) SQM- (Firehunter-) Abhängigkeiten
-
- – Keine
- (10) SITE-Abhängigkeiten
-
- – Fähigkeit zum Ausführen einer HTTP-Post an dem Servlet mit dem korrekten XML-Körper.
- – Fähigkeit zum Empfangen der Post- Antwort-XML.
- (11) JUnit Teststrategie
-
- – Testen durch betreiben von Einheitstests an der tatsächlichen Schnittstelle.
- Die Sync-Servlet-Schemata, die oben ausgeführt und in den Figuren dargestellt sind, sind nur Beispiele. Die vorliegende Erfindung ist nicht auf solche Schemata beschränkt; Andere Schemata können verwendet werden und fallen trotzdem in den Schutzbereich der vorliegenden Erfindung; vorausgesetzt jedoch, dass entsprechende Änderungen an den Sync-Servlets und ihren entsprechenden Testkomponenten ausgeführt werden. Ferner sind Schemata der vorliegenden Erfindung nicht auf XML beschränkt; Andere Markup- („Etiket ten"-) Sprachen oder sogar Klartext und ihre entsprechenden Testkomponenten können ebenfalls eingesetzt werden.
-
11 zeigt ein anderes Ausführungsbeispiel der vorliegenden Erfindung, wo drei Flüsse A, B und C gleichzeitig ablaufend initiiert werden. Jeder Fluss betreibt seine erste Testkomponente. Wenn Fluss A die Testkomponente „Await Sync" betreibt, wird verursacht, dass Fluss A die Ausführung unterbricht, bis ein Signal oder eine Meldung „Send Sync" über das Sync-Servlet54 von Fluss B empfangen wird. Der Zeitbetrag, den die Testkomponente „Await Sync" in Fluss A auf einen Empfang des Signals „Send Sync" wartet, kann eine konfigurierbare Zeitbegrenzung sein. Wenn Fluss B zu der Testkomponente „Send Sync" fortgeschritten ist, wird ein Signal „Send Sync" zu dem Sync-Servlet54 abgeschickt. Das nächste Mal, wenn Fluss A eine Erlaubnis anfordert, die Ausführung wieder aufzunehmen (d. h. „Wurde ein Signal „Send Sync" von Fluss B empfangen?"), wurde das Signal „Send Sync" bereits von dem Sync-Servlet54 empfangen und Fluss A empfängt eine Erlaubnis, die Ausführung durch Betreiben des nächsten Schrittes wieder aufzunehmen (d. h. Ausführung von Testkomponente3 tritt nun auf). Wenn Fluss C seine Testkomponente „Send Sync" erreicht, wird ein Signal oder eine Meldung „Send Sync" zu Fluss B über das Sync-Servlet54 gesendet. Sobald das Signal oder die Meldung „Send Sync", die aus Fluss C stammt, von der Testkomponente „Await Sync" bei Fluss B empfangen wird, nimmt Fluss B die Ausführung zu der Testkomponente4 wieder auf. -
12 zeigt ein anderes Ausführungsbeispiel der vorliegenden Erfindung, wo die Firewall68 zwischen der aktiven Teststeuerung60 und Flüssen A, B und C angeordnet ist. Flüsse A, B und C werden gleichzeitig ablaufend initiiert. Jeder Fluss betreibt seine erste Testkomponente. Da die Firewall68 zwischen der aktiven Teststeuerung60 und den aktiven Testsonden58 ,62 und64 angeordnet ist, kann das Sync-Servlet54 vielleicht nicht verwendet werden. Trotzdem kann bei dem Ausführungsbeispiel der vorliegenden Erfindung, das in12 gezeigt ist, auf jegliches Sync-Servlet durch jegliche der aktiven Testsonden58 ,62 oder64 zugegriffen werden, wodurch das System10' betriebsfähig gemacht wird. In12 wird das Sync-Servlet52 der aktiven Testsonde58 eingesetzt, um eine solche Funktion zu erfüllen. - Wenn Fluss A zu der Testkomponente „Await Sync" fortgeschritten ist, wird die Ausführung von Fluss A unterbrochen, während auf den Empfang eines Signals oder einer Meldung „Send Sync" von Fluss B gewartet wird. Wenn Fluss B die zweite Testkomponente „Send Sync" zu einer späteren Zeit erreicht, wird ein Signal oder eine Meldung „Send Sync" zu dem Sync-Servlet
52 von Fluss B abgeschickt. Die Testkomponente „Await Sync" in Fluss A empfängt das Signal „Send Sync" von Fluss B über das Sync-Servlet52 , das die Wiederaufnahme von Fluss A auslöst. Fluss B setzt die Ausführung des Tests „Await Sync" fort und wird unterbrochen, während er auf einen Empfang eines Signals oder einer Meldung „Send Sync" von Fluss C wartet. Wenn Fluss C seine Testkomponente „Send Sync" erreicht, wird ein Signal oder eine Meldung „Send Sync" zu Fluss B über das Sync-Servlet52 gesendet. Sobald das Signal oder die Meldung „Send Sync", das aus Fluss C stammt, durch die Testkomponente „Await Sync" in Fluss B empfangen wird, nimmt Fluss B die Ausführung zu der Testkomponente4 wieder auf. - Verschiedene Protokolle sind hierin beschrieben, wie z. B. HTTP und HTTPS. Die vorliegende Erfindung ist nicht auf solche Protokolle beschränkt und erachtet explizit die Verwendung anderer Protokolle, wie z. B. FTP („File Transfer Protokoll"), SCP („Secure Copy Protocol") und SFTP („Secure File Transfer Protocol"). Auf ähnliche Weise werden hierin verschiedene Netzwerke beschrieben, wie z. B. ein LAN, ein drahtloses Netzwerk, ein Drahtleitungsnetzwerk und das Internet. Die vorliegende Erfindung ist nicht auf solche Netzwerke beschränkt; andere Netzwerke können eingesetzt werden, und fallen in den Schutzbereich der vorliegenden Erfindung.
- Die vorliegende Erfindung kann erfolgreich über einen breiten Bereich von drahtlosen Netzwerktypen und Standards eingesetzt werden, der folgendes umfasst, aber nicht beschränkt ist auf wifi 802.11a wifi 802.11b, wifi 802,11g wimax, GSM/GPRS und CDMA, sowie andere Standards, die noch erfunden oder implementiert werden. Ferner ist die vorliegende Erfindung in ihrem Schutzbereich nicht auf drahtlose Testanwendungen beschränkt und umfasst innerhalb ihres Schutzbereichs Drahtleitungstestanwendungen, wie z. B. Ethernet/LAN- und Einwahl-Netzwerke.
- Bei einem bevorzugten Ausführungsbeispiel werden die Synchronisationsverfahren der vorliegenden Erfindung ausgeführt unter Verwendung eines Agilent-WQM-Agenten, wobei viele Aspekte desselben beschrieben sind unter:
http://we.home.agilent.com/cgibin/bvpub/agilent/Product/cp Product.jsp?OID=536882909&NAV ID=-536885380.536882909.00&LANGUAGE CODE=eng&COUNTRY CODE=-ZZ&CT=PRODUCT&JPID=/comms/firehunter. - Exemplarisches Ausführungsbeispiel einer Dynamische-Daten-Austausch-Architektur
-
13 zeigt einen Abschnitt10'' eines Ausführungsbeispiels der vorliegenden Erfindung, wo ein erster und zweiter Fluss A und B in einem mehrseitigen Testsystem dynamisch erzeugte Daten gemeinschaftlich verwenden und/oder übertragen, mit Hilfe von offenen Kommunikationsstandards unter Verwendung von Sync-Servlets52 ,54 und56 , die jeweils in der aktiven Testsonde58 , die Fluss A entspricht, der aktiven Teststeuerung60 bzw. der aktiven Testsonde62 , die Fluss B entspricht, angeordnet sind. - Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung ist jede der aktiven Testsonde
58 , der aktiven Teststeuerung60 und der aktiven Testsonde62 ein individueller Agent in dem System10'' , obwohl andere Konfigurationen möglich sind und in den Schutzbereich der vorliegenden Erfindung fallen. Es wird darauf hingewiesen, dass Dynamischer-Inhalt-Servlets52 und56 in13 nicht bei dem nachfolgend gegebenen Beispiel eingesetzt werden, aber bei anderen Konfigurationen oder Flüssen eingesetzt werden können, die hierin nicht ausdrücklich offenbart sind. - In
13 ist Fluss A durch Testkomponente1 (Test Component; TC), Testkomponente2 und Testkomponente3 in der aktiven Testsonde58 dargestellt. Fluss B ist durch Testkomponente1 , Testkomponente2 und Testkomponente3 in der aktiven Testsonde62 dargestellt. Bei einem bevorzugten Ausführungsbeispiel der vorliegenden Erfindung sind Testkomponenten innerhalb jedem gegebenen Fluss in der Lage, dynamische Daten zwischen oder unter einander gemeinschaftlich zu verwenden. - Weiterhin Bezug nehmend auf
13 werden Flüsse A und B im Wesentlichen gleichzeitig initiiert. Die Ausführung der Testkomponente2 in Fluss A verursacht, dass Testkomponente2 in Fluss B dynamische Daten erzeugt, die erforderlich sind, damit Testkomponente3 in Fluss A erfolgreich ausgeführt wird. Sobald sie in Testkomponente2 von Fluss B erzeugt sind, werden solche dynamischen Daten von Fluss B zu dem Dynamische-Daten-Inhalt-Servlet54 abgeschickt. Wenn Fluss A zu Testkomponente3 fortgeschritten ist, wird der Dynamische-Daten-Inhalt, der auf dem Sync-Servlet54 vorliegt, durch Testkomponente3 wiedergewonnen. Flüsse A und B können nun fortschreiten, die Ausführung abzuschließen, wobei der notwendige Dynamische-Daten-Inhalt zwischen oder unter den Flüssen A und B gemeinschaftlich verwendet oder übertragen wurde. - Ausschließlich als darstellendes Beispiel und ohne Absicht, den Schutzbereich der vorliegenden Erfindung einzuschränken, kann FlowA:test2 (Flow = Fluss) in
13 ein Test sein, der zu einer Webseite navigiert und Authentifizierungsinformationen zum Einloggen in ein 802.11 wifi-Netzwerk anfordert und die Rechnungs- und Login-Informationen zu einem Zellulartelefonkonto senden lässt. FlowB:test2 empfängt dann die Bestätigungsmeldung auf den Zellulartelefon mit dem Benutzernamen und Passwort. FlowB:test2 schickt dann den Benutzernamen und Passwort zu dem Dynamischer-Inhalt-Servlet54 ab. FlowA:test3 erhält dann den Benutzernamen und das Passwort von dem Dynamischer-Inhalt-Servlet54 und verwendet den Benutzernamen und das Passwort zum Einloggen in das wifi-Netzwerk. - Es wird darauf hingewiesen, dass das Ausführungsbeispiel der vorliegenden Erfindung, das in
13 gezeigt ist, speziell angepasst ist für eine Verwendung bei einer drahtlosen Diensttesteinstellung, wie z. B. einer wifi-Login-Anwendung bzw. -Registrier-Anwendung, obwohl zahlreiche andere Anwendungen denkbar sind und trotzdem in den Schutzbereich der vorliegenden Erfindung fallen. - Weiterhin Bezug nehmend auf
13 kann jedes der Dynamische-Daten-Inhalt-Servlets52 ,54 und56 ein Programm mit mehreren Teilprozessen bzw. ein verkettetes Programm sein, das auf jeglichem der Agenten58 ,60 und62 in dem System10'' läuft. Jeder Agent kann ein Dynamische-Daten-Inhalt-Servlet betreiben, das in der Lage ist, mehrere Testsitzungen parallel zu verketten; nicht alle Agenten müssen eine Dynamische-Daten-Inhalt-Funktionalität aufweisen. Zum Beispiel kann die Dynamische-Daten-Inhalt-Servlet-Funktionalität den Agenten60 und62 und nicht58 gegeben sein, während weiterhin erlaubt ist, dass zumindest einige der Dynamische-Daten-Gemeinschaftsverwendungs-Prozeduren, die oben beschrieben sind, auftreten. Bei einer optimalen Systemkonfiguration besitzt jeder Agent jedoch eine Dynamischer-Inhalt-Servlet-Funktionalität. - Eine Dynamische-Daten-Gemeinschaftsverwendung kann durch einen Anrufer aufgerufen werden, der entfernt von jeglichem der Agenten des Systems
10'' ist, wenn der Anrufer mit einem Netzwerk verbunden ist, mit dem solche Agenten verbunden sind, oder mit dem einer solcher Agenten verbunden ist. Ein solches Netzwerk kann jegliches Netzwerk sein, wie z. B. das Internet. Bei einem Ausführungsbeispiel der vorliegenden Erfindung können die Agenten58 ,60 und62 Computer und/oder Server sein. - Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung wird eine Sync-Servlet-Funktionalität zu einem Dynamischer-Inhalt-Servlet hinzugefügt. Während sich eine Sync-Servlet-Funktionalität von der eines dynamischen Inhalts unterscheidet, kann eine Sync-Servlet-Funktionalität allgemein auf ein Dynamischer-Inhalt-Servlet im Huckepackverfahren aufgenommen sein, um das Betreiben mehrerer Servlets zu vermeiden, wie in
13 gezeigt ist. - Bei einem Ausführungsbeispiel der vorliegenden Erfindung können Anforderungen zum dynamischen, gemeinschaftlichen Verwenden von Daten oder andere verwandte Anweisungen in ein vordefiniertes XML-Schema entweder in eine HTTP-Post oder eine HTTPS-Post eingelagert sein. HTTP (Hyper Text Transfer Protocol) ist ein generischer Meldungstransportstandard oder eine standardisierte Weise, über das Internet zu kommunizieren. Ein HTTP-Get (Get = Erhalten), ist das, was ein Web-Browser ausführt; er empfängt Daten nur. Aber eine HTTP-Post (Post = abschicken) ermöglicht das Senden eines Datenkörpers und auch den Empfang einer Antwort.
- Der Datenkörper, der durch eine HTTP-Post gesendet wird, ist über das XML-Schema organisiert. XML (Extensible Markup Language; erweiterbare Markup-Sprache) ist eine standardisierte Möglichkeit zum Codieren von Daten, oder anders ausgedrückt zum Generisieren der Daten, Freigeben einer Definition, Übertragung, Validierung und Interpretation der Daten zwischen Anwendungen.
- Schnittstellenentwurfsdetails, die ein Ausführungsbeispiel der Erfindung implementiert, das in
13 dargestellt ist, sind oben in Beispiel 2 aufgeführt, wo Textdarstellungen eines Dynamische-Daten-Inhalt-Servlet-Eingangsschemas gezeigt sind. Während die Dynamische-Daten-Inhalt-Servlet-Implementierung, die hierin vorangehend ausgeführt ist, in Java geschrieben ist, kann eine solche Funktionalität in jeder geeigneten Programmiersprache implementiert sein oder unter jeglichem Web-Server laufen. Andere auf Standards basierende Server und Protokolle können ebenfalls verwendet werden, um Dynamische-Daten-Inhalt-Servlets zu implementieren. Dynamische-Daten-Inhalt-Servlets können HTTP-Posts mit einem definierten XML-codierten Körper akzeptieren, um Daten einzugeben, zu erhalten, zu entfernen oder zu ersetzen. Durch Verwenden einer solchen Funktionalität kann ein Dynamische-Daten-Inhalt-Objekt, das in jedem Test enthalten ist, der in einem gegebenen Fluss läuft, dann Daten abschicken an, Daten erhalten von, Daten modifizieren oder Daten entfernen aus dem Dynamische-Daten-Inhalt-Servlet. Das Dynamische-Daten-Inhalt-Servlet kann abgeschickt werden, um HTTP oder HTTPS (secure socket layer; Sicherheitssockelschicht) zu verwenden, um eine Sicherheit zu gewährleisten. -
14 zeigt einen anderen Abschnitt der vorliegenden Erfindung, wo drei Flüsse A, B und C gleichzeitig initiiert werden. Die Ausführung von Testkomponente2 in Fluss B verursacht, dass Fluss B dynamische Daten erzeugt, die erforderlich sind, damit Testkomponente2 in Fluss A erfolgreich ausgeführt wird. Sobald sie in Testkomponente2 von Fluss B erzeugt sind, werden solche dynamischen Daten von Fluss B zu dem Dynamische-Daten-Inhalt-Servlet54 abgeschickt. Wenn Fluss A zu der Testkomponente2 fortgeschritten ist, wird der dynamische Dateninhalt, der auf dem Sync-Servlet54 vorliegt, durch Testkomponente2 in Fluss A wiedergewonnen. Dynamische Daten, die in Testkomponente2 von Fluss C erzeugt werden, werden von Fluss C zu dem Dynamische-Daten-Inhalt-Servlet54 abgeschickt. Wenn Fluss B zu Testkomponente3 fortgeschritten ist, wird der dynamische Dateninhalt, der auf dem Sync-Servlet54 vorliegt, durch Testkomponente3 in Fluss B wiedergewonnen. Flüsse A, B und C können nun fortschreiten, die Ausführung abzuschließen, wobei der notwendige dynamische Dateninhalt zwischen oder unter den Flüssen A, B und C gemeinschaftlich verwendet oder übertragen wurde. -
15 zeigt einen anderen Abschnitt eines Ausführungsbeispiels der vorliegenden Erfindung, wo eine Firewall68 zwischen der aktiven Teststeuerung60 und den Flüssen A, B und C angeordnet ist. Flüsse A, B und C werden gleichzeitig ablaufend initiiert. Jeder Fluss betreibt seine erste Testkomponente. Da die Firewall68 zwischen der aktiven Teststeuerung60 und den aktiven Testsonden58 ,62 und64 angeordnet ist, kann jedoch das Dynamische-Daten-Inhalt-Servlet54 nicht verwendet werden. Trotzdem kann bei dem Ausführungsbeispiel der vorliegenden Erfindung, das in15 gezeigt ist, auf jegliches Dynamische-Daten-Inhalt-Servlet durch jegliche der aktiven Testsonden58 ,62 und64 zugegriffen werden, wodurch das System10'' wirksam gemacht wird. In15 wird das Dynamische-Daten-Inhalt-Servlet52 der aktiven Testsonde58 eingesetzt, um eine solche Funktion zu erfüllen. - In
15 verursacht die Ausführung der Testkomponente2 in Fluss B, dass Fluss B dynamische Daten erzeugt, die erforderlich sind, damit Testkomponente2 in Fluss A erfolgreich ausgeführt wird. Sobald sie in Testkomponente2 von Fluss B erzeugt sind, werden solche dynamischen Daten von Fluss B zu dem Dynamische-Daten-Inhalt-Servlet52 abgeschickt. Wenn Fluss A zu Testkomponente2 fortgeschritten ist, wird der dynamische Dateninhalt, der auf Sync-Servlet52 vorliegt, durch Fluss A wiedergewonnen: Die Ausführung von Testkomponente2 in Fluss C verursacht, dass Fluss C dynamische Daten erzeugt, die erforderlich sind, damit Testkomponente3 in Fluss B erfolgreich ausgeführt wird. Sobald sie in Testkomponente3 aus Fluss C erzeugt sind, werden solche dynamischen Daten von Fluss C zu dem Dynamische-Daten-Inhalt-Servlet52 abgeschickt. Wenn Fluss B zu Testkomponente3 fortgeschritten ist, wird der dynamische Dateninhalt, der auf Sync-Servlet52 vorliegt, durch Testkomponente3 in Fluss B wiedergewonnen. Flüsse A, B und C können nun mit dem Fertigstellen der Ausführung fortschreiten, wobei der notwendige dynamische Dateninhalt zwischen oder unter Flüssen A, B und C gemeinschaftlich verwendet oder übertragen wurde. - Schlussfolgerung
- Die verteilte und automatisierte Testverwaltungsarchitektur hat viele Vorteile. Das System wird nahtlos in graphische Umgebungen integriert, die die Fähigkeit liefern, Testsequenzen zu erzeugen, wie z. B. WQM. Fachkenntnis, die erforderlich ist, um Systeme basierend auf solchen Systemen zu installieren und beizubehalten, ist einfacher verfügbar als für proprietäre Systeme. Das System reduziert Installationszeit, da die Plattformen, auf denen Software läuft, wie z. B. Web-Server und Java-Servlet-Behälter, bereits in den drahtlosen Netzwerken der Anwendungsanbieter installiert sind. Das System kann ohne weiteres konfiguriert werden, um eine Ressourcenverwaltung auszuführen, unter Verwendung offener, standardisierter Protokolle für eine Kommunikation. Zum Beispiel können die separaten aber koordinierten Flüsse, die einen Test formulieren, zugeordnete und reservierbare Ressourcen erfordern, die ausschließlich Testausführungsläufen zugeordnet sein müssen. Beispiele solcher Ressourcen umfassen mobile Schnittstellen für eine drahtlose Kommunikation oder zweckgebundene, serielle Verknüpfungen. Die Zuordnung solcher Ressourcen wird vorzugsweise durch das erfindungsgemäße System vor einer Testausführung durch die zentralisierte, aktive Teststeuerung erreicht, auch durch standardmäßige, offene Protokolle. Dies gilt für eine Vorrichtungsverwaltung für Kommunikationszugriff, Benutzerprofilzuordnung oder jegliche andere Ressourcen, die erforderlich sein könnten. Wenn der Test, der ausgeführt wird, keine Ressourcenzuordnung erfordert, benötigt die Erfindung keine direkte Ressourcenverwaltung. Die Erfindung zieht ferner einen Vorteil aus einer Ausführung mit mehreren Teilprozessen und/oder Mehrfachprozessfähigkeiten der Host-Systeme, um einen Austausch dynamischer Daten zwischen Flüssen zu ermöglichen, während andere Testausführungsschritte stattfinden, die die Fähigkeit bieten, höher entwickelte Testszenarien auszuführen (oder dieselben einfacher auszuführen) als existierende Testsysteme.
- Obwohl die Erfindung Bezug nehmend auf verschiedene Ausführungsbeispiele beschrieben wurde, sollte darauf hingewiesen werden, dass diese Erfindung auch zu einer großen Vielzahl von weiteren und anderen Ausführungsbeispielen innerhalb des Schutzbereichs der Erfindung in der Lage ist.
Claims (20)
- Verfahren zum Ausführen eines Mehr-Ort-Testens in einem System (
10 ) mit einer Teststeuerung (14 ) und zumindest einem ersten Fluss (24 ) an einem ersten entfernten Ort und einem zweiten Fluss (26 ) an einem zweiten entfernten Ort, das folgende Schritte aufweist: Erzeugen einer graphischen Darstellung (44 ,46 ,48 ,50 ) eines Mehr-Fluss-Tests, der zumindest den ersten Fluss (24 ) und den zweiten Fluss (26 ) -zwischen Agenten (58 ,50 ,62 ) an mehreren entfernten Orten synchronisiert; Umwandeln der graphischen Darstellung (44 ,46 ,48 ,50 ) in eine Text-Darstellung in einem Format eines offenen Kommunikationsstandards; Lesen der Textdarstellung, um zumindest den ersten Fluss (24 ) und einen zugeordneten ersten entfernten Ort, den zweiten Fluss (26 ) und einen zugeordneten zweiten entfernten Ort, Ressourcen, die zum Ausführen der Flüsse erforderlich sind, und die entfernten Orte der Agenten (58 ,50 ,62 ), die die Ressourcen steuern, die zum Ausführen der Flüsse erforderlich sind, zu identifizieren; Senden von Beschreibungen der entsprechenden Testsequenzen, die den ersten Fluss (24 ) und den zweiten Fluss (26 ) in einem Format eines offenen Kommunikationsstandards aufweisen, zu zumindest einem ersten Testsitzungsserver (20 ) an dem ersten entfernten Ort und einem zweiten Testsitzungsserver (22 ) an dem zweiten entfernten Ort; im Wesentlichen gleichzeitiges Initiieren von zumindest dem ersten Fluss (24 ) und dem zweiten Fluss (26 ); Synchronisieren von zumindest dem ersten Fluss (24 ) und dem zweiten Fluss (26 ) für eine gleichzeitig ablaufende Ausführung; und Zurückbringen der Testergebnisse nach Fertigstellung von zumindest dem ersten Fluss (24 ) und dem zweiten Fluss (26 ). - Verfahren gemäß Anspruch 1, bei dem der Synchronisierschritt ferner das Senden von Steuermitteilungen zwischen oder unter mehrseitigen Testkomponenten aufweist, die zumindest den ersten Fluss (
24 ) bzw. den zweiten Fluss (26 ) aufweisen, wobei die Steuermitteilungen ermöglichen, dass die Flüsse implizit Zeitgebungssynchronisationsinformationen und dynamisch erzeugte Daten austauschen. - Verfahren gemäß Anspruch 1 oder 2, bei dem zumindest der erste Fluss (
24 ) und der zweite Fluss (26 ) unabhängig von einem Haupt-Fluss laufen. - Verfahren gemäß einem der Ansprüche 1 bis 3, bei dem der Synchronisierschritt ferner folgende Schritte aufweist: Unterbrechen der Ausführung bei zumindest entweder dem ersten Fluss (
24 ) oder dem zweiten Fluss (26 ); Senden eines Synchronisationssignals zu einem Sync-Server (54 ) von dem nichtunterbrochenen Fluss; Anfordern einer Erlaubnis zum Wiederaufnehmen der Ausführung von dem unterbrochenen Fluss zu dem Sync-Server; nach dem Empfang des Synchronisationssignals durch den Sync-Server (54 ), Gewähren der Erlaubnis für den unterbrochenen Fluss, die Ausführung wieder aufzunehmen; und Wiederaufnehmen der Ausführung des unterbrochenen Flusses. - Verfahren gemäß einem der Ansprüche 1 bis 4, bei dem das System keine proprietäre Schnittstelle umfasst.
- Verfahren gemäß einem der Ansprüche 1 bis 5, bei dem ein offener, allgemeiner Kommunikationsstandard für eine Datenübertragung zum Bewirken einer Synchronisation von Flüssen eingesetzt wird.
- Verfahren gemäß einem der Ansprüche 1 bis 6, bei dem der Synchronisierschritt ferner folgende Schritte aufweist: Erzeugen von dynamischen Daten bei zumindest entweder dem ersten Fluss (
24 ) oder dem zweiten Fluss (26 ); Abschicken der dynamischen Daten zu einem Dynamischer-Inhalt-Server (54 ), um abgeschickte, dynamische Daten zu erzeugen, unter Verwendung von zumindest einem offenen, allgemeinem Kommunikationsstandard; Anfordern der abgeschickten, dynamischen Daten von zumindest entweder dem ersten Fluss (24 ) oder dem zweiten Fluss (26 ) zu dem Dynamischer-Inhalt-Server (54 ); und Senden der abgeschickten, dynamischen Daten zu dem Fluss, der die abgeschickten, dynamischen Daten anfordert, von dem Dynamischer-Inhalt-Server (54 ). - System zum Ausführen eines Mehr-Ort-Testens, das zumindest einen ersten Fluss an einem ersten entfernten Ort und einen zweiten Fluss an einem zweiten entfernten Ort umfasst, das folgende Merkmale aufweist: eine Einrichtung zum Erzeugen einer graphischen Darstellung (
44 ,46 ,48 ,50 ) eines Mehr-Fluss-Tests, der zumindest den ersten Fluss (24 ) und den zweiten Fluss (26 ) zwischen Agenten (58 ,50 ,62 ) an mehreren entfernten Orten synchronisiert; eine Einrichtung zum Umwandeln der graphischen Darstellung (44 ,46 ,48 ,50 ) in eine Text-Darstellung in einem Format eines offenen Kommunikationsstandards; eine Einrichtung zum Lesen der Textdarstellung, um zumindest den ersten Fluss (24 ) und einen zugeordneten ersten entfernten Ort, den zweiten Fluss (26 ) und einen zugeordneten zweiten entfernten Ort, Ressourcen, die zum Ausführen der Flüsse erforderlich sind, und die entfernten Orte der Agenten (58 ,50 ,62 ), die die Ressourcen steuern, die zum Ausführen der Flüsse erforderlich sind, zu identifizieren; eine Einrichtung zum Senden von Beschreibungen der entsprechenden Testsequenzen, die den ersten Fluss (24 ) und den zweiten Fluss (26 ) in einem Format eines offenen Kommunikationsstandards aufweisen, zu zumindest einem ersten Testsitzungsserver (20 ) an dem ersten entfernten Ort und einem zweiten Testsitzungsserver (22 ) an dem zweiten entfernten Ort; eine Einrichtung für ein im Wesentlichen gleichzeitiges Initiieren von zumindest dem ersten Fluss (24 ) und dem zweiten Fluss (26 ); eine Einrichtung zum Synchronisieren von zumindest dem ersten Fluss (24 ) und dem zweiten Fluss (26 ) für eine gleichzeitig ablaufende Ausführung; und eine Einrichtung zum Zurückbringen der Testergebnisse nach Fertigstellung von zumindest dem ersten Fluss (24 ) und dem zweiten Fluss (26 ). - System gemäß Anspruch 8, bei dem die Synchronisiereinrichtung ferner eine Einrichtung aufweist zum Senden von Steuermeldungen zwischen oder unter mehrseitigen Testkomponenten, die zumindest den ersten Fluss (
24 ) bzw. den zweiten Fluss (26 ) aufweisen, wobei die Steuermeldungen ermöglichen, dass die Flüsse implizit Zeitgebungssynchronisationsinformationen und dynamisch erzeugte Daten austauschen. - System gemäß einem der Ansprüche 1 bis 9, bei dem zumindest der erste Fluss und der zweite Fluss unabhängig von einem Haupt-Fluss laufen.
- System gemäß einem der Ansprüche 8 bis 10, bei dem die Synchronisiereinrichtung ferner folgende Einrichtungen aufweist: eine Einrichtung zum Unterbrechen der Ausführung bei zumindest entweder dem ersten Fluss (
24 ) oder dem zweiten Fluss (26 ); eine Einrichtung zum Senden eines Synchronisationssignals zu einem Sync-Server (54 ) von dem Fluss, der nicht unterbrochen ist; eine Einrichtung zum Anfordern einer Erlaubnis, die Ausführung wieder aufzunehmen, von dem unterbrochenen Fluss zu dem Sync-Server (54 ); Gewähren der Erlaubnis für den unterbrochenen Fluss, die Ausführung wieder aufzunehmen, nach dem Empfang des Synchronisationssignals durch den Sync-Server (54 ); und eine Einrichtung zum Wiederaufnehmen der Ausführung des unterbrochenen Flusses. - System gemäß einem der Ansprüche 8 bis 11, wobei das System keine proprietäre Schnittstelle umfasst.
- System gemäß einem der Ansprüche 8 bis 12, bei dem ein offener, allgemeiner Kommunikationsstandard für eine Datenübertragung eingesetzt wird, um eine Synchronisation von Flüssen zu bewirken.
- System gemäß einem der Ansprüche 8 bis 13, bei dem die Synchronisiereinrichtung ferner folgend Einrichtungen aufweist: eine Einrichtung zum Erzeugen dynamischer Daten bei zumindest entweder dem ersten Fluss (
24 ) oder dem zweiten Fluss (26 ); eine Einrichtung zum Abschicken der dynamischen Daten zu einem Dynamischer-Inhalt-Server (54 ), um abgeschickte, dynamische Daten zu erzeugen, unter Verwendung von zumindest einem offenen, allgemeinen Kommunikationsstandard; eine Einrichtung zum Anfordern der abgeschickten, dynamischen Daten von zumindest entweder dem ersten Fluss (24 ) oder dem zweiten Fluss (26 ) zu dem Dynamischer-Inhalt-Server (54 ); und eine Einrichtung zum Senden der abgeschickten, dynamischen Daten zu dem Fluss, der die abgeschickten, dyna mischen Daten anfordert, von dem Dynamischer-Inhalt-Server (54 ). - Prozessorlesbares Computerprogrammprodukt, das auf einer oder mehreren programmierbaren Speichervorrichtungen codiert ist, wobei das Computerprogrammprodukt durch einen oder mehrere Prozessoren ausführbar ist, um Verfahrensschritte auszuführen zum Ausführen eines Mehr-Ort-Testens in einem System (
10 ) mit einer Teststeuerung (14 ) und zumindest einem ersten Fluss (24 ) an einem ersten entfernten Ort und einem zweiten Fluss (26 ) an einem zweiten entfernten Ort, das Anweisungen aufweist zum: Erzeugen einer graphischen Darstellung (44 ,46 ,48 ,50 ) eines Mehr-Fluss-Tests, der zumindest den ersten Fluss (24 ) und den zweiten Fluss (26 ) zwischen Agenten (58 ,50 ,62 ) an mehreren entfernten Orten synchronisiert; Umwandeln der graphischen Darstellung (44 ,46 ,48 ,50 ) in eine Text-Darstellung in einem Format eines offenen Kommunikationsstandards; Lesen der Textdarstellung, um zumindest den ersten Fluss (24 ) und einen zugeordneten ersten entfernten Ort, den zweiten Fluss (26 ) und einen zugeordneten zweiten entfernten Ort, Ressourcen, die zum Ausführen der Flüsse erforderlich sind, und die entfernten Orte der Agenten (58 ,50 ,62 ), die die Ressourcen steuern, die zum Ausführen der Flüsse erforderlich sind, zu identifizieren; Senden von Beschreibungen der entsprechenden Testsequenzen, die den ersten Fluss (24 ) und den zweiten Fluss (26 ) in einem Format eines offenen Kommunikationsstandards aufweisen, zu zumindest einem ersten Testsitzungsserver (20 ) an dem ersten entfernten Ort und einem zweiten Testsitzungsserver (22 ) an dem zweiten entfernten Ort; im Wesentlichen gleichzeitiges Initiieren von zumindest dem ersten Fluss (24 ) und dem zweiten Fluss (26 ); Synchronisieren von zumindest dem ersten Fluss (24 ) und dem zweiten Fluss (26 ) für eine gleichzeitig ablaufende Ausführung; und Zurückbringen der Testergebnisse nach Fertigstellung von zumindest dem ersten Fluss (24 ) und dem zweiten Fluss (26 ). - Computerprogrammprodukt gemäß Anspruch 15, bei dem die Anweisungen zum Ausführen des Synchronisierschritts ferner Anweisungen aufweisen zum Senden von Steuermeldungen zwischen oder unter mehrseitigen Testkomponenten, die zumindest den ersten Fluss (
24 ) bzw. den zweiten Fluss (26 ) aufweisen, wobei die Steuermeldungen ermöglichen, dass die Flüsse implizit Zeitgebungssynchronisationsinformationen und dynamisch erzeugte Daten austauschen. - Computerprogrammprodukt gemäß Anspruch 15 oder 16, bei dem zumindest der erste Fluss und der zweite Fluss unabhängig von einem Haupt-Fluss laufen.
- Computerprogrammprodukt gemäß einem der Ansprüche 15 bis 17, bei dem die Anweisungen zum Ausführen des Synchronisierschritts ferner Anweisungen aufweisen zum: Unterbrechen der Ausführung bei zumindest entweder dem ersten Fluss (
24 ) oder dem zweiten Fluss (26 ); Senden eines Synchronisationssignals zu einem Sync-Server (54 ) von dem Fluss, der nicht unterbrochen ist; Anfordern einer Erlaubnis, die Ausführung wieder aufzunehmen, von dem unterbrochenen Fluss zu dem Sync-Server (54 ); Gewähren der Erlaubnis für den unterbrochenen Fluss, die Ausführung wieder aufzunehmen, nach dem Empfang des Synchronisationssignals durch den Sync-Server (54 ); und Wiederaufnehmen der Ausführung des unterbrochenen Flusses. - Computerprogrammprodukt gemäß einem der Ansprüche 15 bis 18, wobei das System keine proprietäre Schnittstelle umfasst.
- Computerprogrammprodukt gemäß einem der Ansprüche 15 bis 19, bei dem die Anweisungen zum Ausführen des Synchronisierschrittes ferner Anweisungen aufweisen zum: Erzeugen dynamischer Daten bei zumindest entweder dem ersten Fluss (
24 ) oder dem zweiten Fluss (26 ); Abschicken der dynamischen Daten zu einem Dynamischer-Inhalt-Server (54 ), um abgeschickte, dynamische Daten zu erzeugen, unter Verwendung von zumindest einem offenen, allgemeinen Kommunikationsstandard; Anfordern der abgeschickten, dynamischen Daten von zumindest entweder dem ersten Fluss (24 ) oder dem zweiten Fluss (26 ) zu dem Dynamischer-Inhalt-Server (54 ); und Senden der abgeschickten, dynamischen Daten zu dem Fluss, der die abgeschickten, dynamischen Daten anfordert, von dem Dynamischer-Inhalt-Server (54 ).
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/195,978 | 2005-08-03 | ||
US11/195,979 US7203625B2 (en) | 2005-08-03 | 2005-08-03 | Multisided sharing of dynamic data in a wireless test environment |
US11/195,979 | 2005-08-03 | ||
US11/195,978 US7536280B2 (en) | 2005-08-03 | 2005-08-03 | Multisided synchronization of execution in a wireless test environment |
US11/264,896 US7437275B2 (en) | 2005-08-03 | 2005-11-01 | System for and method of multi-location test execution |
US11/264,896 | 2005-11-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102006032108A1 true DE102006032108A1 (de) | 2007-02-15 |
DE102006032108B4 DE102006032108B4 (de) | 2011-09-15 |
Family
ID=37681244
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102006032108A Active DE102006032108B4 (de) | 2005-08-03 | 2006-07-11 | System und Verfahren für eine Mehr-Ort-Testausführung |
Country Status (2)
Country | Link |
---|---|
US (1) | US7437275B2 (de) |
DE (1) | DE102006032108B4 (de) |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090235282A1 (en) * | 2008-03-12 | 2009-09-17 | Microsoft Corporation | Application remote control |
US20090287964A1 (en) * | 2008-05-17 | 2009-11-19 | Sunrise Telecom Incorporated | Internet accessible test system |
US9501302B1 (en) * | 2008-06-06 | 2016-11-22 | Amdocs Software Systems Limited | System, method, and computer program for combining results of event processing received from a plurality of virtual servers |
US9098635B2 (en) | 2008-06-20 | 2015-08-04 | Cadence Design Systems, Inc. | Method and system for testing and analyzing user interfaces |
CN101727389B (zh) * | 2009-11-23 | 2012-11-14 | 中兴通讯股份有限公司 | 一种分布式综合业务自动化测试系统及方法 |
US20110131451A1 (en) * | 2009-11-30 | 2011-06-02 | Ricardo Bosch | Methods and system for testing an enterprise system |
US8799867B1 (en) * | 2010-06-08 | 2014-08-05 | Cadence Design Systems, Inc. | Methods, systems, and articles of manufacture for synchronizing software verification flows |
US8904358B1 (en) * | 2010-06-08 | 2014-12-02 | Cadence Design Systems, Inc. | Methods, systems, and articles of manufacture for synchronizing software verification flows |
US8607203B1 (en) * | 2010-12-17 | 2013-12-10 | Amazon Technologies, Inc. | Test automation framework using dependency injection |
CN102200944B (zh) * | 2011-06-16 | 2014-12-03 | 中国联合网络通信集团有限公司 | Erp系统的测试环境克隆方法及系统 |
CN102857383A (zh) * | 2011-06-28 | 2013-01-02 | 鸿富锦精密工业(深圳)有限公司 | 同步测试控制方法及系统 |
JP5324638B2 (ja) * | 2011-11-24 | 2013-10-23 | 株式会社エヌ・ティ・ティ・ドコモ | 試験装置及び試験方法 |
US9043588B2 (en) * | 2012-05-08 | 2015-05-26 | Alcatel Lucent | Method and apparatus for accelerating connections in a cloud network |
DE102012211902B4 (de) * | 2012-07-09 | 2021-04-29 | Rohde & Schwarz GmbH & Co. Kommanditgesellschaft | Testgerät und Verfahren zum Protokoll-Testen mit einer Spielkartenmetapher |
US9612947B2 (en) * | 2012-12-03 | 2017-04-04 | Ca, Inc. | Code-free testing framework |
US9256519B2 (en) | 2013-02-26 | 2016-02-09 | International Business Machines Corporation | Using linked data to determine package quality |
CN105917314B (zh) * | 2014-01-14 | 2019-10-29 | Sk科技有限公司 | 用于云流服务的应用错误检测方法及其设备和系统 |
WO2015137604A1 (ko) * | 2014-03-10 | 2015-09-17 | 에스케이플래닛 주식회사 | 클라우드 스트리밍 서버 테스트 방법, 이를 위한 장치 및 시스템 |
DE102014116865B4 (de) * | 2014-11-18 | 2020-08-13 | Phoenix Contact Gmbh & Co. Kg | Analysevorrichtung zur Analyse und Manipulation einer Kommunikationssequenz |
FR3028633B1 (fr) * | 2014-11-18 | 2017-12-15 | Bull | Procede et ordonnanceur de detection de dysfonctionnement d'occurrence dans des grandes infrastructures informatiques |
US10594720B2 (en) * | 2017-11-03 | 2020-03-17 | International Business Machines Corporation | Exercising security control point (SCP) capabilities on live systems based on internal validation processing |
US11226978B2 (en) * | 2019-04-23 | 2022-01-18 | Servicenow, Inc. | Systems and methods for dynamic creation of schemas |
US11392469B2 (en) * | 2019-06-20 | 2022-07-19 | Microsoft Technology Licensing, Llc | Framework for testing machine learning workflows |
CN111338967B (zh) * | 2020-03-09 | 2023-12-05 | 京东科技控股股份有限公司 | 一种分流测试方法、装置、电子设备及存储介质 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6154128A (en) | 1997-05-21 | 2000-11-28 | Sun Microsystems, Inc. | Automatic building and distribution of alerts in a remote monitoring system |
US6351455B1 (en) | 1998-04-03 | 2002-02-26 | Qualcomm Incorporated | System test metacontroller |
US6467002B1 (en) | 1999-10-19 | 2002-10-15 | 3Com Corporation | Single cycle modified round-robin arbitration with embedded priority |
DE10047910A1 (de) * | 2000-09-27 | 2002-05-02 | Siemens Ag | Verfahren und Anordnung zur dezentralen Steuerung eines Prüfprozesses in einem Telekommunikationsnetz |
US6711607B1 (en) | 2000-02-04 | 2004-03-23 | Ensim Corporation | Dynamic scheduling of task streams in a multiple-resource system to ensure task stream quality of service |
US6973489B1 (en) | 2000-03-21 | 2005-12-06 | Mercury Interactive Corporation | Server monitoring virtual points of presence |
EP1182550A3 (de) | 2000-08-21 | 2006-08-30 | Texas Instruments France | Aufgabenbasierte Prioritätsarbitrierung |
US20020065911A1 (en) * | 2000-10-03 | 2002-05-30 | Von Klopp Ana H. | HTTP transaction monitor with edit and replay capacity |
US8244837B2 (en) | 2001-11-05 | 2012-08-14 | Accenture Global Services Limited | Central administration of one or more resources |
US7257613B2 (en) * | 2001-11-20 | 2007-08-14 | Sun Microsystems, Inc. | Methods to develop remote applications with built in feedback ability for use in a distributed test framework |
US20040033806A1 (en) | 2002-08-16 | 2004-02-19 | Cellglide Technologies Corp. | Packet data traffic management system for mobile data networks |
US20040103153A1 (en) | 2002-11-21 | 2004-05-27 | Chang Tsung-Yen Dean | Apparatus and method for providing smart network appliances |
EP1609062A4 (de) | 2003-03-31 | 2011-08-03 | Avaya Technology Corp | System und verfahren zur effizienten planung periodischer phänomene |
US20040226015A1 (en) | 2003-05-09 | 2004-11-11 | Leonard Ozgur C. | Multi-level computing resource scheduling control for operating system partitions |
US20050060360A1 (en) | 2003-09-15 | 2005-03-17 | International Business Machines Corporation | Method, system and program product for managing system resources |
US8544005B2 (en) | 2003-10-28 | 2013-09-24 | International Business Machines Corporation | Autonomic method, system and program product for managing processes |
US7243268B2 (en) * | 2003-12-17 | 2007-07-10 | Agilent Technologies, Inc. | Sequential coordination of test execution and dynamic data |
US7610584B2 (en) | 2004-01-02 | 2009-10-27 | International Business Machines Corporation | Method, system, and product for defining and managing provisioning states for resources in provisioning data processing systems |
US20050177600A1 (en) | 2004-02-11 | 2005-08-11 | International Business Machines Corporation | Provisioning of services based on declarative descriptions of a resource structure of a service |
US20050188089A1 (en) | 2004-02-24 | 2005-08-25 | Lichtenstein Walter D. | Managing reservations for resources |
US7203625B2 (en) * | 2005-08-03 | 2007-04-10 | Agilent Technologies, Inc. | Multisided sharing of dynamic data in a wireless test environment |
-
2005
- 2005-11-01 US US11/264,896 patent/US7437275B2/en not_active Expired - Fee Related
-
2006
- 2006-07-11 DE DE102006032108A patent/DE102006032108B4/de active Active
Also Published As
Publication number | Publication date |
---|---|
US20070033441A1 (en) | 2007-02-08 |
US7437275B2 (en) | 2008-10-14 |
DE102006032108B4 (de) | 2011-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102006032108B4 (de) | System und Verfahren für eine Mehr-Ort-Testausführung | |
DE102012213795B4 (de) | Durch einen Computer implementiertes Verfahren, das es einer Web-Anwendung ermöglicht, mindestens eine native Funktion einer mobilen Einheit aufzurufen | |
DE60118487T2 (de) | Kommunikationsystem auf Basis von WDSL Sprache | |
DE60218069T2 (de) | Bereitstellung von gekoppelten diensten in einer verteilten rechnerumgebung | |
DE60130633T2 (de) | Gesicherte Internet-Zwischenablage | |
DE602004004300T2 (de) | Verfahren, System und Computerprogramm für das Senden und Empfangen von Meldungen durch einen individuellen Kommunikationskanal | |
DE602005002679T2 (de) | WEB-Dienst-Anwendungsprotokoll und SOAP-Verarbeitungsmodell | |
DE60010011T2 (de) | Verfahren und Vorrichtung zur Prüfung eines Rechnersystems durch Software-Fehlerinjektion | |
DE102012218528B4 (de) | Verwendung von Push-Benachrichtigungen zur Verringerung offener Browser-Verbindungen | |
DE69838262T2 (de) | Allgemeine benutzer-authentifizierung für netz-rechner | |
DE60211254T2 (de) | Fernereignis Behandlung in ein Paketnetzwerk | |
DE102006028309B4 (de) | Mehrseitiges, gemeinschaftliches Verwenden von dynamischen Daten in einer drahtlosen Testumgebung | |
DE69734189T2 (de) | Verteiltes Netzwerkrechnersystem und Datenaustauschgerät | |
DE602004011455T2 (de) | Verfahren und System zur automatischen Erzeugung von Dienstschnittstellen für eine dienstorientierte Architektur | |
DE60203303T2 (de) | Migrationsstützmechanismus im offenen dienst und offene mobilarchitektur | |
DE69637142T2 (de) | Netzwerkverwaltung mit Erfassung von formatierten Abzugdaten aus einem Fernprozess | |
US20020049786A1 (en) | Collaboration framework | |
DE60035348T2 (de) | Verlängerbarer Bereitstellungsmechanismus für einen Diensten-gateway | |
DE602004010345T2 (de) | Verfahren und Einrichtung zur Migration zu einem alternativen Call Controller | |
DE602005005435T2 (de) | System und Verfahren zur Kommunikationsverwaltung von Komponentenanwendungen | |
DE102006028311B4 (de) | Mehrseitige Synchronisation einer Ausführung in einer drahtlosen Testumgebung | |
DE10352400A1 (de) | Netzwerkdienst-Abfangvorrichtung | |
DE10220556A1 (de) | Fernzusammensetzung von Nachrichten für verteilte Anwendungen | |
DE69824974T2 (de) | Benachrichtigungssystem in einer telekommunikationssteuereinrichtung | |
DE60218185T2 (de) | Verfahren und Vorrichtung zum Wiederauffinden von Informationen in einem Netzwerk |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8127 | New person/name/address of the applicant |
Owner name: AGILENT TECHNOLOGIES, INC. (N.D.GES.D. STAATES, US |
|
8128 | New person/name/address of the agent |
Representative=s name: BARTH, D., DIPL.-ING., PAT.-ANW., 71083 HERRENBERG |
|
R018 | Grant decision by examination section/examining division | ||
8127 | New person/name/address of the applicant |
Owner name: JDS UNIPHASE CORP. (N. D. GES. D. STAATES DELA, US |
|
R081 | Change of applicant/patentee |
Owner name: VIAVI SOLUTIONS INC. (N. D. GES. D. STAATES DE, US Free format text: FORMER OWNER: AGILENT TECHNOLOGIES, INC. (N.D.GES.D. STAATES DELAWARE), SANTA CLARA, CALIF., US Effective date: 20110301 Owner name: JDS UNIPHASE CORP. (N. D. GES. D. STAATES DELA, US Free format text: FORMER OWNER: AGILENT TECHNOLOGIES, INC. (N.D.GES.D. STAATES DELAWARE), SANTA CLARA, CALIF., US Effective date: 20110301 |
|
R020 | Patent grant now final |
Effective date: 20111216 |
|
R082 | Change of representative |
Representative=s name: MURGITROYD & COMPANY, DE |
|
R081 | Change of applicant/patentee |
Owner name: VIAVI SOLUTIONS INC. (N. D. GES. D. STAATES DE, US Free format text: FORMER OWNER: JDS UNIPHASE CORP. (N. D. GES. D. STAATES DELAWARE), MILPITAS, CALIF., US |
|
R082 | Change of representative |
Representative=s name: MURGITROYD & COMPANY, DE |
|
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: H04L0012260000 Ipc: H04L0043000000 |