-
Einige
Formen eines Schaltungstests liefern einem Ingenieur große Mengen
an Testergebnissen. Um den Ingenieur beim Verwalten und Bezug nehmen
auf diese Testergebnisse zu unterstützen, kann jedes Testergebnis
einer Testzahl zugeordnet sein.
-
Die
Patentanmeldung mit dem Titel „Verfahren
und Vorrichtung, die kontextabhängige
Testzahlfaktoren zum Zuweisen von Testzahlen verwenden", die am gleichen
Tag wie die vorliegende Anmeldung eingereicht wurde, offenbart ein
Verfahren zum Zuweisen von Testzahlen, wobei gegenwärtige bzw. momentane
Textflusskontextinformationen während der
Ausführung
eines Testflusses beibehalten werden. Wenn einer oder mehrere Testzahlfaktoren
für eine
oder mehrere Ebenen des gegenwärtigen
Testflusskontexts spezifiziert wurden, werden die Testzahlfaktoren
verwendet, um eine Basiszahl für
einen gegenwärtigen
Testzahlbereich zu bestimmen. Andernfalls wird die Basiszahl auf
eine Vorgabebasiszahl gesetzt. Auf die Ausführung eines Teiltests in dem
Testfluss hin wird dem Ergebnis des Teiltests dann eine nächste Testzahl
in dem gegenwärtigen Testzahlbereich
zugewiesen.
-
Es
ist die Aufgabe der vorliegenden Erfindung, ein Verfahren oder eine
Testzahlmaschine mit verbesserten Charakteristika zu schaffen.
-
Diese
Aufgabe wird durch ein Verfahren gemäß Anspruch 1 oder 7 oder eine
Testzahlmaschine gemäß Anspruch
16 gelöst.
-
Ein
Aspekt der Erfindung ist in einem ersten Verfahren zum Zuweisen
von Testzahlen ausgeführt. Gemäß dem Verfahren
werden gegenwärtige
Testflusskontextinformationen während
der Ausführung eines
Testflusses beibehalten. Wenn einer oder mehrere Testzahlfaktoren
für eine
oder mehrere Ebenen des gegenwärtigen
Testflusskontexts spezifiziert wurden, werden die Testzahlfaktoren
verwendet, um eine Basiszahl für
einen gegenwärtigen
Testzahlbereich zu bestimmen. Andernfalls wird die Basiszahl auf
eine Vorgabebasiszahl gesetzt. Auf die Ausführung eines Teiltests in dem
Testfluss hin wird einem Ergebnis des Teiltests eine nächste Testzahl
in dem gegenwärtigen
Testzahlbereich zugewiesen. Die folgenden Gegenstände werden
dann in einer Testzahldatenbank zugeordnet: 1) ein Identifizierer
des Teiltests, 2) die gegenwärtigen
Testflusskontextinformationen, 3) die Testzahl und 4) die Basiszahl.
Wenn die Basiszahl in der Datenbank gespeichert ist, dient dieselbe
als eine Spezifizierungszahl für
ihre entsprechende Testzahl.
-
Ein
weiterer Aspekt der Erfindung ist in einem zweiten Verfahren zum
Zuweisen von Testzahlen ausgeführt.
Gemäß dem Verfahren
werden gegenwärtige
Testflusskontextinformationen während der
Ausführung
eines Testflusses beibehalten. Wenn einer oder mehrere Testzahlfaktoren
für eine
oder mehrere Ebenen des gegenwärtigen
Testflusskontexts spezifiziert wurden, werden die Testzahlfaktoren
verwendet, um eine Basiszahl für
einen gegenwärtigen
Testzahlbereich zu bestimmen. Andernfalls wird die Basiszahl auf
eine Vorgabebasiszahl gesetzt. Auf die Ausführung eines Teiltests hin wird
eine Testzahldatenbank unter Verwendung von Indexinformationen indexiert,
die 1) einen Identifizierer des Teiltests und 2) die gegenwärtigen Testflusskontextinformationen
aufweisen. Wenn eine den Indexinformationen entsprechende Testzahl
in der Datenbank vorliegt, wird die Basiszahl mit einer Spezifizierungszahl
verglichen, die der Testzahl zugeordnet ist. Wenn die Basiszahl
und die Spezifizierungszahl zusammenpassen, wird die Testzahl einem
Ergebnis des Teiltests zugewiesen. Wenn keine den Indexinformationen
entsprechende Testzahl in der Datenbank vorliegt, oder wenn die
Basiszahl und die Spezifizierungszahl nicht zusammenpassen, wird
dem Ergebnis des Teiltests eine neue Testzahl zugewiesen.
-
Wiederum
ein anderer Aspekt der Erfindung ist in einer Testzahlmaschine ausgeführt. Die
Testzahlmaschine weist ein computerlesbares Medium und einen Programmcode,
der auf dem computerlesbaren Medium gespeichert ist, auf. Der Programmcode
weist einen Code zum, ansprechend auf eine Anforderung einer Testzahl,
Indexieren einer Abbildung bzw. Karte verbundener Datenknoten unter Verwendung
eines Schlüssels,
der aus 1) einem numerischen Identifizierer eines Teiltests und
2) einem Array eines oder mehrerer gegenwärtiger Testflusskontextwerte
gebildet ist, auf. Der Programmcode weist außerdem einen Code zum, auf
ein Indexieren eines einer Testzahl zugeordneten Datenknotens hin, Vergleichen
einer der Testzahl zugeordneten Spezifizierungszahl mit einer der
Anforderung zugeordneten Basiszahl auf. Der Programmcode weist ferner
einen Code zum Erfüllen
der Anforderung durch ein Zurückgeben
der Testzahl, wenn die Basiszahl und die Spezifizierungszahl zusammenpassen,
auf. Zusätzlich
weist der Programmcode einen Code zum, auf einen Fehlschlag beim
Indexieren der Abbildung hin oder auf ein Nichtübereinstimmen bzw. eine Fehlanpassung
zwischen Basis- und Spezifizierungszahl hin, Erzeugen einer neuen
Testzahl, zum Erfüllen
der Anforderung durch Zurückgeben
der neuen Testzahl und zum Zuordnen der neuen Testzahl zu einem
Datenknoten, der in der Tabelle verbunden ist, auf.
-
Andere
Ausführungsbeispiele
der Erfindung sind ebenso offenbart.
-
Bevorzugte
Ausführungsbeispiele
der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf
die beigefügten
Zeichnungen näher
erläutert.
Es zeigen:
-
1 ein
erstes exemplarisches Verfahren zum Zuweisen von Testzahlen;
-
2 einen
exemplarischen Testfluss;
-
3 eine
Progression von Testflusskontextinformationen für den Testfluss aus 2;
-
4 eine
exemplarische Datenbank von Testzahlbereichen;
-
5 ein
zweites exemplarisches Verfahren zum Zuweisen von Testzahlen;
-
6 eine
Datenbank von Testzahlen, die ansprechend auf eine Ausführung des
Testflusses aus 2 erzeugt werden können;
-
7 eine
Datenbank von Testergebnissen, die ansprechend auf eine Ausführung des
Testflusses aus 2 erzeugt werden können;
-
8 eine
Datenbank von Nachschlagtabellen zum Umwandeln von Zeichenfolgen
von Testflusskontextinformationen für den Testfluss aus 2 in
numerische Äquivalente;
-
9 einen
exemplarischen Schlüssel
zum Indexieren einer Abbildung verbundener Datenknoten;
-
10 eine
Nachschlagtabelle zum Umwandeln von Zeichenfolgen in dem Typ-Array
des Schlüssels
aus 9 in numerische Äquivalente;
-
11 ein
alternatives Ausführungsbeispiel des
Schlüssels
aus 9;
-
12 eine
exemplarische Testzahldatenbank, die durch den Schlüssel aus 11 indexiert werden
kann; und
-
13 eine
exemplarische Testzahlmaschine.
-
1 stellt
ein erstes exemplarisches Verfahren 100 zum Zuweisen von
Testzahlen dar. Gemäß dem Verfahren 100 werden
gegenwärtige
Testflusskontextinformationen während
einer Ausführung eines
Testflusses beibehalten 102.
-
Wie
der Ausdruck „Testfluss" hierin definiert ist,
bezeichnet er jeden Abschnitt eines Testprogramms, der zur Spezifizierung
von Typ, Zahl oder Ordnung von Tests, die während eines Schaltungstests
ausgeführt
werden können,
verwendet wird. Testflusskontextinformationen können alle Informationen aufweisen,
die eine Definition dessen, welcher Abschnitt eines Testprogramms
gerade ausgeführt wird,
unterstützen.
Beispielhaft können
Testflusskontextinformationen Informationen, wie zum Beispiel einen
Testfolgenbezeichner, einen Torbezeichner, ein Vektoretikett, einen
Vektorbezeichner oder einen Anschlussstiftbezeichner, aufweisen.
Testflusskontextinformationen können
außerdem
einen Schleifenbezeichner und/oder einen Schleifeniterationsbezeichner
für jede
einer Anzahl von Schleifenschichten (z. B. verschachtelte Schleifen)
aufweisen, die während der
Ausführung
eines Testflusses betreten wurden. Wie der Ausdruck „Bezeichner" hierin verwendet wird,
umfasst er eine Zeichenfolge, Zahl oder andere Einrichtung, die
verwendet werden kann, um eine Testfolge, Schleife oder einen anderen
Testflusskontext zu bezeichnen.
-
Wenn
einer oder mehrere Testzahlfaktoren für eine oder mehrere Ebenen
des gegenwärtigen Testflusskontexts
spezifiziert wurden, werden die Testzahlfaktoren durch das Verfahren 100 zur
Bestimmung einer Basiszahl (z. B. Anfangszahl oder Referenzzahl)
für einen
gegenwärtigen
Testzahlenbereich verwendet 104. Andernfalls wird die Basiszahl
auf eine Vorgabebasiszahl gesetzt.
-
Bei
einem Ausführungsbeispiel
des Verfahrens 100 wird die Basiszahl durch ein Vereinigen
(z. B. Summieren oder Multiplizieren) einer Mehrzahl von Testzahlfaktoren,
die für verschiedene
Ebenen des gegenwärtigen
Testflusskontexts spezifiziert wurden, kompiliert. Beispielhaft
könnten
die Testzahlfaktoren Inkremente oder Summanden aufweisen, die auf
einer bestimmten oder allen folgenden Ebene spezifiziert sind: einer
Schleifenebene, einer Testfolgenebene oder einer Teiltestebene.
-
Bei
einem anderen Ausführungsbeispiel
des Verfahrens 100 könnte
es einem Benutzer auch nur erlaubt sein, eine einzige Basiszahl
pro Testflusskontext zu spezifizieren. Bei diesem Ausführungsbeispiel wird
die Basiszahl für
den gegenwärtigen
Testzahlbereich durch ein bloßes
Setzen der Basiszahl gleich der benutzer-spezifizierten Basiszahl
bestimmt. Bei diesem Verfahren gibt es kein Vereinigen von Testzahlfaktoren.
Ein Benutzer könnte
jedoch dennoch Basiszahlen an verschiedenen Punkten in einem Testfluss
bereitstellen, wodurch bewirkt wird, dass bestimmte Testzahlen zum
Beispiel gruppiert werden. Ferner müssen, da die Basiszahlen kontextmäßig gesetzt
werden, Testzahlen, die für
eine spätere Testfolge
zugewiesen sind, nicht von den Testzahlen, die für eine frühere Testfolge zugewiesen sind,
fortfahren. Ferner wird, wenn eine Basiszahl für eine Testfolge spezifiziert
wird, dieselbe nicht automatisch zur Verwendung mit der nächsten Testfolge
bewahrt.
-
Auf
eine Ausführung
eines Teiltests in dem Testfluss hin wird das Ergebnis des Teiltests
einer nächsten
Testzahl in dem gegenwärtigen
Testzahlbereich zugewiesen 106. Ein „Teiltest", wie er hierin definiert ist, kann
ein Test sein, der mehrere Testergebnisse erzeugt, ist vorzugsweise
jedoch ein Test oder ein Abschnitt eines Tests, der nur ein einziges
Testergebnis erzeugt. Die folgenden Gegenstände werden dann in einer Testzahldatenbank
zugeordnet 108: 1) ein Identifizierer des Teiltests, 2)
die gegenwärtigen Testflusskontextinformationen,
3) die Testzahl und 4) die Basiszahl. Durch ein Umfassen der Basiszahl
in der Datenbank dient die Basiszahl als eine „Spezifizierungszahl" zum Bestimmen, ob
sich die einem gegenwärtigen
Testflusskontext zugeordneten Testzahlfaktoren verändert haben.
Dies bedeutet, dass, wenn die Testzahldatenbank unter Verwendung
eines Teiltestidentifizierers und gegenwärtiger Testflusskontextinformationen
indexiert wird, sowohl eine Testzahl als auch ihre Spezifizierungszahl
zurückgegeben
werden. Ein „Treffer" in der Datenbank
bedeutet, dass die zurückgegebene
Testzahl eindeutig ist. Wenn jedoch ein Benutzer einen Testfluss
oder die dafür
spezifizierten Testzahlfaktoren bearbeitet hat, entspricht die zurückgegebene
Testzahl unter Umständen
nicht mehr dem spezifizierten Bereich für einen gegenwärtigen Testflusskontext.
Durch ein Vergleichen einer gegenwärtig erzeugten Basiszahl mit der
zurückgegebenen
Spezifizierungszahl kann bestimmt werden, ob die Basiszahl, die
zuvor zur Berechnung der Testzahl verwendet wurde, der gegenwärtigen Basiszahl
entspricht, und die Testzahlneuerzeugung kann auf die Fälle eingeschränkt werden, in
denen dies zu einer neuen und unterschiedlichen Testzahl führen würde.
-
2 stellt
einen exemplarischen Testfluss 200 dar, für den Testflusskontextinformationen
beibehalten werden können.
Beispielhaft könnte
der Testfluss 200 ein Systemchip-Testfluss des Testgeräts der 93000
SOC-Serie von Agilent (hergestellt durch Agilent Technologies, Inc.,
in Paolo Alto, Kalifornien, USA) sein. Der Testfluss 200 weist
fünf Testfolgen 202, 204, 206, 208, 210 auf,
die AAA, BBB, CCC, DDD bzw. EEE heißen. Jede der Testfolgen 202–210 dient
zum Enthalten und/oder Spezifizieren einer Anzahl von Teiltests
und könnte
eine oder mehrere Teststeuerungen (z. B. Testverfahren, Testfunktionen oder
Benutzerprozeduren) umfassen. Der Testfluss 200 weist außerdem zwei
Schleifen 212, 214 auf, die Schleife_X bzw. Schleife_Y
heißen.
Beispielhaft spezifiziert jede Schleife 212, 214,
dass diese Schleife dreimal (d. h. 1, ...3) iterativ durchlaufen
werden soll.
-
3 stellt
eine Progression von Testflusskontextinformationen 300 dar,
die durch das Verfahren 100 während der Ausführung des
Testflusses 200 beibehalten werden könnten. Es wird angemerkt, dass
der anfängliche
Testflusskontext 302 lediglich „AAA" oder der Name der ersten angetroffenen
Testfolge ist. Nachdem die Testfolge AAA ausgeführt wurde, verändert sich
der Testflusskontext zu „L1", was die erste Iteration
der Schleife_X anzeigt.
-
Auf
einen Eintritt in die Testfolge BBB hin verändert sich der Testflusskontext
dann zu „BBB
: L1". Es wird angemerkt,
dass zur Erleichterung des Lesens die in 3 gezeigten
Testflusskontexte die Übereinkunft
annehmen, dass immer der Name bzw. die Bezeichnung der gegenwärtigen Testfolge
zu Beginn des Kontexts platziert wird. Dies ist jedoch für das Verfahren 100 nicht
erforderlich und muss nicht durchgeführt werden.
-
Auf
ein anfängliches
Eintreten in die Schleife_Y hin verändert sich der Testflusskontext
zu „L1
: L1". Die Identitäten von
Schleife_X und Schleife_Y werden deshalb aus der Zahl und der Ordnung
von Schleifeniterationen, die in dem Testflusskontext beibehalten
werden, gefolgert. Die Identitäten
der Schleifen könnten
jedoch auch mit Spezifität,
wie zum Beispiel durch Benennen des Kontexts als „X1 : Y1", ausgerufen werden.
-
Verschiedene
Kontexte des Testflusses 200 sind Testzahlfaktoren zugeordnet.
Dies bedeutet, dass die Schleife_X dem Summanden 10 000 zugeordnet
ist, die Testfolge BBB dem Summanden 200 zugeordnet ist,
die Testfolge CCC dem Summanden 220 zugeordnet ist, die
Schleife_Y dem Summanden 2000 zugeordnet ist und die Testfolge DDD
dem Inkrement 5 zugeordnet ist. Benachbart zu jedem Testflusskontext
stellt 3 die vereinigte Basiszahl für den Kontext dar. So beträgt die Basiszahl
für die
Testfolge BBB 10 200 (10 000 + 200); die Basiszahl für die Testfolge
CCC während
einer ersten Iteration der Schleife_X beträgt 10 220 (10 000+220); die
Basiszahl für
die Testfolge DDD während
einer ersten Iteration der Schleife_X und einer ersten Iteration
der Schleife_Y beträgt
12 000 (10 000+2 000); und die Basiszahl für die Testfolge EEE beträgt 1200.
Die Basiszahl für
die Testfolge AAA ist jedoch 1, was die Vorgabebasiszahl ist.
-
Wenn
ein Testzahlenfaktor auf einer Schleifenebene bereitgestellt wird
(z. B. der der Schleife_X zugeordnete Summand 10 000), kann der
Testzahlfaktor der Schleife wiederholt in eine Basiszahl faktorisiert
werden. Es wird zum Beispiel die Ausführung einer Testfolge DDD während der
zweiten Iteration der Schleife_X und der dritten Iteration der Schleife_Y
betrachtet. Die Basiszahl für
diesen Kontext kann als (10 000·2) + (2 000·3) oder
26 000 berechnet werden.
-
Es
wird nun angenommen, dass jede der Testfolgen 202–210 in 2 drei
Teiltests aufweist, die als Teiltest 1, Teiltest 2 und Teiltest
3 (Subtest 1, Subtest 2, Subtest 3) bezeichnet sind. Es wird angemerkt,
dass, obwohl Teiltests mit dem gleichen Namen in jeder der Testfolgen 502–510 erscheinen könnten, dieselben
nicht der gleiche Teiltest sein müssen (und dies wahrscheinlich
auch nicht sind). Während
der Ausführung
des Testflusses 200 wären die
der Testfolge AAA zugewiesenen Testzahlen 1, 2 und 3. Die Testzahlen,
die der Testfolge BBB während
einer erste Iteration der Schleife_X zugewiesen sind, wären 10 200,
10 201 und 10 202. Ähnlich
wären die
Testzahlen, die der Testfolge CCC während einer ersten Iteration
der Schleife_X zugewiesen sind, 10 220, 10 221 und 10 222. Die Testzahlen,
die der Testfolge DDD während
ersten Iterationen der Schleife_X und Schleife_Y zugewiesen sind,
wären 12
000, 12 005 und 12 010 (d. h. Zahlen um 5 inkrementiert). Schließlich würden die
der Testfolge EEE zugewiesenen Testzahlen die Ganzzahlen 1200, 1201
und 1202 umfassen.
-
Es
wird angemerkt, dass für
einige Textflüsse unterschiedliche
Kontexte des Testflusses unter Umständen beabsichtigt (oder unbeabsichtigt)
den gleichen Testzahlbereich gemeinschaftlich verwenden. Testzahlen
jedoch, die den beiden Testfolgen zugewiesen sind, kollidieren nicht,
da jeder Teiltest eine „nächste Zahl" aus dem Bereich
zieht, unabhängig davon,
ob andere Testfolgen bereits Zahlen aus dem Bereich gezogen haben.
-
Es
wird ebenso angemerkt, dass zwei oder mehr Testfolgen nicht nur
die gleiche Basiszahl aufweisen könnten, sondern auch Testzahlbereichen
zugeordnet sein könnten,
die sich überlagern
oder verschachtelt sind. Wenn zum Beispiel zwei Testfolgen den Basiszahlen
1200 bzw. 1201 zugewiesen wären, sowie
ein Inkrement fünf
betragen würde,
könnte eine
Testfolge den Testzahlen 1200, 1205 und 1210 zugeordnet sein, während die
andere Testfolge den Testzahlen 1201, 1206 und 1211 zugeordnet sein könnte. Eine Überlagerung
von Testzahlen könnte ähnlich aus
Testfolgen, die den Basiszahlen 1200 bzw. 1301 zugeordnet sind,
und einem Inkrement von Zwei resultieren.
-
Wenn
die Basiszahl, die für
den gegenwärtigen
Testzahlbereich kompiliert wird, neu ist, könnte die Basiszahl verwendet
werden, um einen neuen Testzahlbereich in einer Datenbank 400 von
Testzahlbereichen zu initialisieren. Dann könnten für jeden Testzahlbereich in
der Datenbank 400 die Testzahlen, die aus dem Testzahlenbereich
zugewiesen wurden, verfolgt werden. Eine Art und Weise, um dies
zu tun, besteht darin, jeden Bereich 402 gemeinsam mit
der maximalen Testzahl 404 zu speichern, die aus dem Bereich
zugewiesen wurde. Dann könnte
jedes Mal, wenn eine neue Testzahl aus einem Bereich zugewiesen
wird, die vorherige maximale Testzahl inkrementiert werden. Abhängig von
den Testfaktoren, die ein Benutzer einem Testfluss zugewiesen hat,
könnte
das Inkrement ein Vorgabeinkrement oder ein Inkrement sein, das
ein Benutzer für
eine bestimmte Ebene oder Ebenen des Testflusses spezifiziert hat
(z. B. ein Inkrement, das einer Ebene eines gegenwärtigen Testflusskontexts
zugeordnet ist).
-
Bei
einem Ausführungsbeispiel
kann das Verfahren 100 mit dem Verfahren zum Zuweisen von Testzahlen
kombiniert wer den, das in der Patentanmeldung mit dem Titel „Verfahren
und Vorrichtung zum Zuweisen von Testzahlen" offenbart ist. Gemäß dieser Kombination stellt 5 ein
zweites exemplarisches Verfahren 500 zum Zuweisen von Testzahlen dar.
In dem Verfahren 500 werden gegenwärtige Testflusskontextinformationen
während
der Ausführung
eines Testflusses beibehalten 502. Wenn einer oder mehrere
Testzahlfaktoren für
eine oder mehrere Ebenen des gegenwärtigen Testflusskontexts spezifiziert
wurden, verwendet 504 das Verfahren 500 die Testzahlfaktoren
zur Bestimmung einer Basiszahl für einen
gegenwärtigen
Testzahlbereich. Andernfalls wird die Basiszahl auf eine Vorgabebasiszahl
gesetzt.
-
Auf
die Ausführung
eines Teiltests in dem Testfluss hin wird eine Datenbank von Testzahlen
unter Verwendung von Indexinformationen indexiert 506,
die 1) einen Identifizierer des Teiltests und 2) die gegenwärtigen Testflusskontextinformationen
aufweisen. Jede Testzahl in der Datenbank wird einer „Spezifizierungszahl" zugeordnet, die,
wie zuvor beschrieben wurde, die „Basiszahl" anzeigt, die zur anfänglichen
Bestimmung der Testzahl verwendet wurde. Wenn eine den Indexinformationen
entsprechende Testzahl in der Datenbank vorliegt, wird die zuvor bestimmte
Basiszahl mit der „Spezifizierungszahl" der Testzahl verglichen 508.
Wenn die Basiszahl und die Spezifizierungszahl zusammenpassen, wird
die Testzahl einem Ergebnis des Teiltests zugewiesen 510.
Wenn keine den Indexinformationen entsprechende Testzahl in der
Datenbank vorliegt, oder wenn die Basiszahl und die Spezifizierungszahl
nicht zusammenpassen, wird eine neue Testzahl dem Ergebnis des Teiltests
zugewiesen 512. Die neue Testzahl kann durch ein Setzen derselben
gleich einer nächsten
Testzahl in dem gegenwärtigen
Testzahlbereich zugewiesen werden.
-
Wieder
Bezug nehmend auf den exemplarischen Testfluss 200 werden
auf eine Ausführung
des ersten Teiltests in dem Testfluss 200 hin Indexinformationen,
die einen Identifizierer des Teiltests (Teiltestl) und die gegenwärtigen Testflusskontextinformationen
(AAA) aufweisen, zum Indexieren einer Datenbank von Testzahlen verwendet.
Wenn dies die erste Ausführung
des Testflusses 200 ist, ist die Datenbank leer und eine
neue Testzahl (z. B. 1) wird dem Ergebnis des Teiltests 1 zugewiesen.
Die neue Testzahl (1) und die Indexinformationen (AAA: Teiltestl)
werden ebenso in der Datenbank zugeordnet. Während der ersten Ausführung des
Testflusses 200 fahren diese Schritte fort, wobei die Verwendung
jedes aufeinander folgenden Index zu einem Datenbank-„Fehlschlag" führt, wodurch
bewirkt wird, dass eine neue Testzahl und ihre zugeordneten Indexinformationen
zu der Datenbank hinzugefügt
werden. So könnte
nach einer ersten Ausführung
des Testflusses 200 die Datenbank von Testzahlen 600,
die in 6 gezeigt ist, erzeugt worden sein. Gleichzeitig
wird jede neu erzeugte Testzahl einem Testergebnis seines entsprechenden
Teiltests zugewiesen, wodurch die Datenbank von Testergebnisse 700,
die in 7 gezeigt ist, resultiert. Obwohl die in 7 gezeigten Testergebnisse
alle in Bezug auf „erfolgreich" (pass) oder „fehlgeschlagen" (fail) vorgelegt
werden, könnten
die Testergebnisse eines tatsächlichen
Testlaufs auch oder alternativ Spannungsablesewerte, Stromablesewerte,
Impedanzmessungen und andere Arten von Testergebnissen aufweisen.
-
Zusätzlich dazu,
dass jede Testzahl 602 in der Datenbank 600 ihren
Indexinformationen 604 zugeordnet ist, könnte dieselbe
auch der Basiszahl 606 zugewiesen sein, von der dieselbe
hergeleitet wurde.
-
Es
wird nun angenommen, dass ein Benutzer den Testfluss 200 editiert,
um die Testfaktorzahl, die einer Testfolge EEE zugeordnet ist, auf „+3000" zu verändern. Während einer
zweiten Ausführung des
Testflusses 200 (nach der Editierung) werden nahezu alle
Testzahlen, die den Ergebnissen des Testflusses zugewiesen sind,
aus der Datenbank 600 gezogen sein. Auf das Eintreten in
die Testfolge EEE hin jedoch ist die neue Basiszahl für den Teiltest
der Folge „3000". So passt, wenn
die Datenbank 600 indexiert ist, um Testzahlen für Ergebnisse
der Testfolge EEE wiederzugewinnen, die Basiszahl „3000" nicht mit der Spezifizierungszahl „1200" zusammen. Diese
Fehlanpassung löst
dann die Erzeugung einer neuen Testzahl aus, die nicht nur einem
Ergebnis eines der Teiltests der Testfolge EEE zugewiesen sein kann,
sondern auch verwendet werden kann, um die „1200 Serie"-Testzahl in der Datenbank 600 zu
ersetzen. Ähnlich
könnte
die der neuen Testzahl zugeordnete Spezifizierungszahl durch die
Basiszahl „3000" ersetzt werden.
-
Wahlweise
kann eines der in den 1 und 5 gezeigten
Verfahren mit den Verfahren und Vorrichtungen kombiniert werden,
die in der Patentanmeldung mit dem Titel „Verfahren, Vorrichtung und
Datenbank, die eine Karte verbundener Datenknoten zur Speicherung
von Testzahlen verwenden" offenbart
sind. Gemäß dieser
Kombination können die
in den Testflusskontextinformationen 300 enthaltenen Zeichenfolgen
in Kontextwerte umgewandelt werden, die in einem Array von Kontextwerten
gespeichert sind. So wird jedes Mal, wenn neue Testflusskontextinformationen
durch die Verfahren 100, 500 beibehalten werden
müssen,
bestimmt, ob die Informationen eine Zeichenfolge sind, und, falls
dies der Fall ist, wird ein numerisches Äquivalent der Zeichenfolge
nachgeschlagen.
-
8 zeigt
eine Datenbank von Nachschlagtabellen 800, wobei numerische Äquivalente für Testflusskontextinformationen
der Typen [Testfolgebezeichnungen], [Teiltestbezeichnungen], [Vektorbezeichnungen]
und [Anschlussstiftbezeichnungen] vorgesehen sind. Es wird angemerkt,
dass der exemplarische Testfluss 200 und die Testflusskontextinformationen 300 keine
Vektorbezeichnungen oder Anschlussstiftbezeichnungen bereitstellen
und so die Datenbank 800 keine Einträge in diesen Tabellen zeigt.
Vorzugsweise sind die Nachschlagtabellen 800 adaptiv, was
bedeutet, dass einer Zeichenfolge, die noch nicht in einer entsprechenden
Nachschlagtabelle erschienen ist, ein numerisches Äquivalent zugewiesen
wird, das dann zu ihrer entsprechenden Nachschlagtabelle hinzugefügt wird.
-
Auf
ein Umwandeln von Testflusskontextzeichenfolgen in ihre numerischen Äquivalente
hin könnte
einer der „Schlüssel", die durch das Verfahren 100 oder 500 erzeugt
werden, erscheinen, wie in 9 gezeigt
ist. Es wird angemerkt, dass das Indexarray 902 des Schlüssels 900 durch
ein Hinzufügen eines
numerischen Identifizierers des Teiltests mit der Bezeichnung „Teiltestl" (d. h. 0) zu dem
Array von Kontextwerten, die den Testflusskontext „BBB: L1" darstellen, gebildet
wird. Das Indexarray 902 ist so als [1, 1, 0] gezeigt.
-
Der
Schlüssel 900 ist
ebenso gezeigt, um ein Array 904 von Kontexttypen (d. h.
[Testfolge, Schleife, Teiltest]) aufzuweisen, wobei jeder Kontexttyp eine
Eins-zu-Eins-Entsprechung zu einem Kontextwert in dem Indexarray 902 aufweist.
Obwohl Kontexttypen alternativ aus der Anzahl und Positionen von
Werten in dem Indexarray 902 hergeleitet werden könnten, kann
das Array 904 von Kontexttypen nützlich beim Indexieren einer
Abbildung bzw. Karte verbundener Datenknoten sein (wie später in dieser Beschreibung
detaillierter beschrieben ist).
-
Wahlweise
könnten
Zeichenfolgen in dem Typarray 904 des Schlüssels 900 in
ihre numerischen Äquivalente
umgewandelt werden, ähnlich
wie Testflusskontextzeichenfolgen in ihre numerischen Äquivalente
umgewandelt werden. 10 liefert deshalb eine Kontexttyp-Nachschlagtabelle 1000 zur
Durchführung
dieser Umwandlungen. Es wird angemerkt, dass die Tabelle 1000 eine
alleinstehende Tabelle sein kann oder an die Datenbank der Nachschlagtabellen 800 angehängt sein
kann. Unter Verwendung der Tabelle 1000 könnte der
Schlüssel 900a,
der ein Array 1100 von „Kontexttyp"-Werten (d. h. [0,
1, 2]) aufweist, hergeleitet werden.
-
Die
Beibehaltung gegenwärtiger
Testflusskontextinformationen durch das Verfahren 100, 500 kann
ferner die Beibehaltung einer Tiefenzahl aufweisen. Eine derartige
Tiefenzahl 906 ist in den Schlüsseln 900, 900a der 9 und 11 gezeigt.
Die Tiefenzahl 906 (d. h. Zahlschichten = 3) ist gleich
der Anzahl von Werten, die in dem Index- und dem Typarray 902, 904 beibehalten
werden, und kann verwendet werden, um sicherzustellen, dass der
Schlüssel 900 zur Überquerung
von nur einer festen Anzahl von Datenknoten in einer Abbildung hiervon
verwendet wird. Eine weitere Erklärung des Zwecks und der Verwendung
einer Tiefenzahl 906 ist später in dieser Beschreibung
zu finden.
-
12 stellt
eine exemplarische Testzahldatenbank 1200 dar, die durch
den Schlüssel 900a indexiert
werden kann. Beispielhaft weist die Datenbank 1200 eine
Abbildung verbundener Datenknoten (z. B. Knoten 1202, 1204, 1206, 1208, 1210, 1212, 1214)
auf, wobei zumindest einer derselben ein Testfolgeknoten 1202 ist,
der auf zumindest einen anderen Datenknoten 1204 bis 1208 zeigt,
und zumindest einer derselben ein Testzahlknoten 1212 ist,
auf den durch einen anderen Datenknoten 1210 gezeigt wird. Jede
der einen oder mehreren Testzahlen 1216, 1218 ist
einem der Testzahlknoten 1212, 1214 zugeordnet.
-
Vorzugsweise
weisen die Datenknoten 1202 bis 1214 der Datenbank 1200 eine
homogene Struktur auf. Beispielhaft kann die homogene Struktur ein Knotentypfeld 1220 und
ein Array 1222 von Tochterknotenindizes aufweisen. Das
Knotentypfeld 1220 kann einen der in der Tabelle 1000 (10)
zu findenden Kontexttypen spezifizieren. Das Array 1222 von
Tochterknotenindizes kann auf Tochterdatenknoten 1204 bis 1208 zeigen,
mit denen ein Mutterdatenknoten 1202 verbunden ist.
-
Falls
dies nützlich
ist, kann jeder Datenknoten (z. B. 1202) ein Feld 1224 aufweisen,
das spezifiziert, wie viele Tochterknoten (z. B. 1204 bis 1208) dem
Datenknoten zugeteilt wurden. Jeder Datenknoten 1202 bis 1214 kann
außerdem ein
Testzahlfeld 1226 und ein Spezifizierungszahlfeld 1228 aufweisen.
Zumindest die Testzahldatenknoten 1212, 1214 weisen
jedoch ein derartiges Feld auf.
-
Das
Indexarray 902 des Schlüssels 900a kann
verwendet werden, um eine Anzahl von Knoten 1202, 1208, 1210, 1212 der
Abbildung 1200 zu überqueren.
Wenn die Abbildung bereits unter Verwendung des Schlüssels 900a überquert
wurde, indexiert der Schlüssel 900a schließlich einen
Testzahldatenknoten 1212. Die Spezifizierungszahl 1230,
die dem Knoten 1212 zugeordnet ist, kann wiedergewonnen und
mit einer Basiszahl des gegenwärtigen
Testflusskontexts verglichen werden. Wenn die beiden Zahlen zusammenpassen,
kann die Testzahl 1216 des Datenknotens 1212 dem
Ergebnis eines entsprechenden Teiltests in einem Testfluss zugeordnet
werden. Andernfalls könnte
eine neue Testzahl erzeugt werden und die Test- und die Spezifizierungszahl
des Datenknotens 1212 könnten
aktualisiert werden.
-
Das
Typarray 1100 und die Tiefenzahl 906 des Schlüssels 900a können in
einem Zusammenhang als Konsistenzprüfungen verwendet werden, um
sicherzustellen, dass der korrekte Typ und die korrekte Anzahl von
Knoten überquert
werden. Zusätzlich
könnten,
wenn der Schlüssel 900a die Durchquerung
eines ungültigen
Knotens spezifiziert (z. B. eine Knotens, der noch nicht erzeugt,
zugeteilt oder gefüllt
wurde), das Typarray 1100 und die Tiefenzahl 906 in
Kombination mit dem Indexarray 902 verwendet werden, um
den ungültigen
Knoten zu validieren (z. B. Erzeugen, Zuteilen oder Füllen des
Datenknotens).
-
7 stellt
eine exemplarische Datenbank von Testergebnissen 700 dar,
wobei jedes Testergebnis in der Datenbank einer Testzahl zugeordnet
ist, die mittels des Verfahrens 100 oder 500 und
der Testzahldatenbank 1200 erhalten wird.
-
Während der
ersten Ausführung
eines Testflusses (z. B. Testfluss 200 (2))
kann ein Großteil von,
wenn nicht alles der Datenbank 1200 und der Nachschlagtabellen 800, 1000 erzeugt
werden. Die Datenbank 1200 und die Tabellen 800, 1000 können dann
derart gespeichert werden, dass, auf eine nachfolgende Ausführung des
gleichen oder eines ähnlichen
Testflusses hin (z. B. eine editierte Version des Testflusses 200),
die Datenbank 1200 und die Tabellen 800, 1000 verwendet
werden können,
um eine Testzahlerzeugung zu rationalisieren und können hinzugefügt werden,
wie dies die Identifizierung neuer Teiltests erforderlich macht.
-
Vorzugsweise
wird jedem der Teiltests innerhalb einer Testfolge ein eindeutiger
Teiltestname verliehen und ausreichend Testflusskontextinformationen
sind enthalten, um sicherzustellen, dass jeder Index in eine Datenbank
von Testzahlen 600 einen eindeutigen Teiltestidentifizierer
bildet. Es wird ebenso bevorzugt, dass jede neue in die Datenbank 600 eingegebene
Testzahl gegenüber
allen anderen Testzahlen in der Datenbank eindeutig ist. Die Verfahren 100, 500 können jedoch
oftmals selbst dann nützliche
Testzahlen liefern, wenn die obigen Steuerungen nicht beibehalten
werden.
-
13 stellt
eine Testzahlmaschine 1300 dar. Die Testzahlmaschine 1300 ist
in einem Programmcode ausgeführt,
der auf einem computerlesbaren Medium (z. B. einer magnetischen
oder optischen Platte, einer festen oder austauschbaren Platte oder
einem Direktzugriffs- oder Nur-Lese-Speicher (RAM oder ROM)) gespeichert
ist. Bei einigen Ausführungsbeispielen
kann der Programmcode der Testzahlmaschine 1300 unter verschiedenen
computerlesbaren Medien, die einem oder einer Mehrzahl von Computersystemen
zugeordnet sind, verteilt sein.
-
Wie
gezeigt ist, kann die Testzahlmaschine 1300 einen Code 1302 zum,
ansprechend auf eine Anforderung einer Testzahl, Indexieren einer
Abbildung verbundener Datenknoten 1304 unter Verwendung
eines Schlüssels,
der aus 1) einem numerischen Identifizierer eines Teiltests und
2) einem Array eines oder mehrerer gegenwärtiger Testflusskontextwerte
ge bildet ist, auf. Der Programmcode weist außerdem einen Code 1306 zum,
auf ein Indexieren eines einer Testzahl zugeordneten Datenknotens
hin, Vergleichen einer der Testzahl zugeordneten Spezifizierungszahl
mit einer der Anforderung zugeordneten Basiszahl auf. Der Programmcode
weist ferner einen Code 1308 zum, wenn die Basiszahl und
die Spezifizierungszahl zusammenpassen, Erfüllen der Anforderung durch
ein Zurückgeben
der Testzahl auf. Zusätzlich
weist der Programmcode einen Code 1310 zum, auf einen Fehlschlag
beim Indexieren der Karte hin oder auf eine Fehlanpassung zwischen
der Basis- und der Spezifizierungszahl hin, Erzeugen einer neuen
Testzahl, zum Erfüllen
der Anforderung durch Zurückgeben
der neuen Testzahl und zum Zuordnen der neuen Testzahl zu einem
Datenknoten, der in der Abbildung verbunden ist, auf.
-
Die
Testzahlmaschine kann ferner einen Code 1312 zum, auf eine
Fehlanpassung zwischen der Basis- und der Spezifizierungszahl hin,
Verwenden des Arrays eines oder mehrerer gegenwärtiger Testflusskontextwerte
zur automatischen Neuerzeugung einer Gruppe von Testzahlen, die
mit einem gemeinsamen Datenknoten der Karte verbunden sind (z. B.
die Datenknoten 1212, 1214, die mit dem Datenknoten 1210 in
der Abbildung 1200 verbunden sind) aufweisen.
-
Wahlweise
könnte
die Testzahlmaschine 1300 auch einen Code 1314 zum
Beibehalten des Arrays gegenwärtiger
Testflusskontextwerte aufweisen. Als Teil des Beibehaltens des Arrays
kann der Code 1314 empfangene Testflusskontextzeichenfolgen zum
Nachschlagen numerischer Äquivalente
der Zeichenfolgen verwenden.
-
Während darstellende
und gegenwärtig
bevorzugte Ausführungsbeispiele
der Erfindung hierin detailliert beschrieben wurden, wird darauf
verwiesen, dass die erfindungsgemäßen Konzepte anderweitig verschiedentlich
ausgeführt
und eingesetzt werden können,
und dass die beigefügten
Ansprüche aufgefasst
werden sollen, um derartige Variationen, mit Ausnahme davon, wie
dies durch den Stand der Technik eingeschränkt ist, zu umfassen.