Testers, such as the 93000 System On Chip (SOC) tester from Agilent Technologies, Inc., allow for the execution of tests which implement custom data names to report test results of a test on a device under test (DUT).
Implementing a custom data name also requires the processors of the tester's output be able to properly read the custom data names in order to correctly process the test results. Failure to maintain the processors' logic in lockstep with the tester naming convention may result in processing errors or data omissions. Processor maintenance is further complicated by processors that receive the output from two or more testers, each utilizing different custom data names.
In one embodiment, a method of generating a formatted data set in accord with a number of formatting rules includes the steps of A) indexing, with a standard data name referenced by one of the formatting rules, a mapping set comprising a first number of mapping pairs, each mapping pair comprising 1) a custom data name and 2) a corresponding standard data name; B) if a custom data name corresponding to the standard data name referenced by the formatting rule is found in the mapping set, C) accessing test data associated with a tester performing tests on a number of devices under test; D) identifying a data item in the test data that is associated with the custom data name corresponding to the standard data name referenced by the formatting rule; and E) then, formatting the data item associated with the custom data name in accord with the formatting rule referencing the standard data name.
In another embodiment, a method of generating a formatted data set in accord with a number of formatting rules includes the steps of A) accessing test data associated with a tester performing tests on a number of devices under test, the test data comprising a number of data items, at least one of which is associated with a custom data name; B) accessing a mapping set comprising a first number of mapping pairs, each mapping pair comprising 1) a custom data name and 2) a corresponding standard data name; C) substituting, in the test data, the at least one custom data name with the corresponding standard data name; and D) after the substitutions, generating the formatted data set using the test data.
In another embodiment, a system includes A) a processor; and B) a number of formatters, each generating a formatted data set in accord with a number of formatting rules and each causing the processor to, i) index, with a standard data name referenced by one of the formatting rules, a mapping set comprising a first number of mapping pairs, each mapping pair comprising 1) a custom data name and 2) a corresponding standard data name; ii) upon a custom data name corresponding to the standard data name being found in the mapping set, iii) access test data associated with a tester performing tests on a number of devices under test; iv) identify a data item in the test data that is associated with the custom data name; and v) then, format the data item associated with the custom data name in accord with the formatting rule referencing the standard data name.
In another embodiment, a system for standardizing test data associated with a tester performing tests on a number of devices under test, the test data comprising a number of data items, at least one of which is associated with a custom data name, includes A) an interface, operable to, i) access the test data; and ii) access a mapping set comprising a number of mapping pairs, each mapping pair comprising 1) a custom data name and 2) a corresponding standard data name; and B) a processor, operable to, upon locating a custom data name in the test data corresponding to the custom data name of one of the mapping pairs, replacing the custom data name in the test data with the corresponding standard data name.
In another embodiment, one or more machine-readable mediums having stored thereon sequences of instructions, which, when executed by a machine, cause the machine to perform the actions of A) indexing, with a standard data name referenced by one of the formatting rules, a mapping set comprising a first number of mapping pairs, each mapping pair comprising 1) a custom data name and 2) a corresponding standard data name; B) if a custom data name corresponding to the standard data name referenced by the formatting rule is found in the mapping set, 1) accessing test data associated with a tester performing tests on a number of devices under test; 2) identifying a data item in the test data that is associated with the custom data name corresponding to the standard data name referenced by the formatting rule; and 3) then, formatting the data item associated with the custom data name in accord with the formatting rule referencing the standard data name.
And, in yet another embodiment, one or more machine-readable mediums having stored thereon sequences of instructions, which, when executed by a machine, cause the machine to perform the actions of A) accessing test data associated with a tester performing tests on a number of devices under test, the test data comprising a number of data items, at least one of which is associated with a custom data name; B) accessing a mapping set comprising a first number of mapping pairs, each mapping pair comprising 1) a custom data name and 2) a corresponding standard data name; and C) substituting, in the test data, the at least one custom data name with the corresponding standard data name.
Other embodiments are also disclosed.
Illustrative embodiments of the invention are illustrated in the drawings, in which:
As a preliminary manner, it is noted that, in the following description, like reference numbers appearing in different drawing figures refer to like elements/features. Often, therefore, like elements/features that appear in different drawing figures will not be described in detail with respect to each of the drawing figures.
Testers perform tests on devices under test (DUTs) and output test data. The test data may be individual measurements, events, or more complex structures. The test data may be generated in a format that is in conformity with a standard naming convention, such as one in compliance with the STDF (Standard Test Data Format, occasionally also known as the Standard Teradyne Data Format), XML (extensible Markup Language), HTML (HyperText Markup Language), or other target format. Test data may also be customized and be associated with, for example, custom data names. A formatter then reads the test data, applies formatting rules, and produces formatted test data. If the data produced is in conformity with one formatter, it may still appear “custom” to other formatters expecting a different format.
If test developers and operators needed to only follow one naming convention, and that one naming convention fulfilled all of their data acquisition and reporting requirements and never changed, then tests would only need to generate test data compliant with the one naming convention. However, this is counter productive in many test environments. A single naming convention would restrict changes, such as changes used to accommodate new technology, new reporting standards, systems optimization and customization, and users' changes (e.g., debugging and experimentation).
Test data is generally raw data (e.g., a series of individual measurements) and needs to be formatted to be usable by human and/or computerized test analyzers. Raw test data is generally optimized for rapid output and, therefore, may comprise a minimal amount of data and implement symbols (e.g., enumerations) in place of more verbose descriptors. By formatting test data, the minimal data output is converted to a more usable format. For example, test data may contain enumerations (e.g., “7”=Error). A formatter may then translate such enumerations into more verbose data as well as incorporate the context of the measurement (e.g., “Ground pin 14 not at chassis potential”).
Formatters read test data, apply formatting rules, and produce formatted test data compliant with either a standard format type (e.g., STDF, XML, HTML, et cetera) or custom format types (e.g., DUT-specific, company, lab, engineer, and/or ad hoc). A formatter may be programmed to read test data that is compliant with one or more format types, however, programming and maintaining each formatter to read the various format types, or format type versions, is burdensome and error prone.
The ability to produce test data with custom data names allows greater flexibility in producing test data. By equating custom data names to standard data names, the formatters need only be able to process standard data names and thereby reduce maintenance and potential errors.
Mapping sets (see, mapping set 224 in
Programming of the formatters with each potential custom name results in populating the formatters with a cumbersome collection of formatting instructions, many of which will have a limited lifespan but remain in the formatter. Programming is further complicated when a formatter is utilized to format test data generated with different custom names. Programming a formatter to map the custom name “3” for volts, for example, results in erroneous results if the formatter is then used to format data that uses the custom name “3” as milliampere. Programmatically accounting for similar custom names adds to the clutter of the formatter's logic. However, providing a formatter with a mapping set, prior to accessing test data containing custom data names mapped by the mapping set, allows the test data to be correctly associated with a standard name without reprogramming the formatter.
In one embodiment, indexing 102 further comprises indexing a second number of mapping pairs. In a further embodiment, if one of the first number of mapping pairs comprises a standard data name equivalent to the standard data name of one of the second number of mapping pairs, priority is given to the one of the second number of mapping pairs. By implementing such an embodiment, many potential conflicts are resolved. For example, a test may be programmed to produce an output consistent with a company naming convention, that is, in association with a first number of mapping pairs (e.g., custom name is “c” and the standard name is “current”). A user wanting to implement a change causes the test data to be customized a second time, such as by utilizing a second number of mapping pairs (e.g., the custom name is “c” and the standard name is “count”). Selecting the second mapping pair (e.g., instances of “c” are formatted according to the rules for “count”) resolves the conflict.
In another embodiment, at least one mapping pair is created in response to a user's input. In a further embodiment, an interface (e.g., graphical user interface) receives the user's input and, in yet another further embodiment, the interface presents custom data names and/or standard data names to aide the user's selection. In a still further embodiment, the test data is parsed by a program in order to derive custom data names for presentation to the user.
After indexing mapping set 224 with the standard data name 228, and upon custom data name 226 corresponding to standard data name 228 being found in mapping set 224, processor 220 accesses test data 222. Test data 222 may be the direct, buffered, and/or stored output of one or more tester performing tests on a number of DUTs. Processor 220 identifies data item 223 in test data 222 as being associated with custom data name 226. Processor 220 then formats data item 223 in accord with the formatting rules 214, 216, 218 referencing standard data name 228.
In one embodiment, rules 214 are stored on magnetic and/or optical media. In other embodiments, rules 214 are in stored in memory and/or microcode. In further embodiments, rules 214 are distinct from the formatters 1, 2, n (208, 210, 212), as illustrated, or integrated into the logic of formatters 1, 2, n (208, 210, 212). In other embodiments, formatters 1, 2, n, (208, 210, 212) may be distinct from processor 220, as illustrated, or may be integrated into or executed by processor 220. Furthermore, processor 220 may be one or more processing components, devices and/or systems.
In another embodiment, mapping set 224 comprises at least two mapping pairs having equivalent custom data names 230, 232 and different standard data names 234, 236. At least two formatters 1, 2, n (208, 210, 212) cause processor 220 to index different ones of the at least two mapping pairs, via their different standard data names 234, 236. Data item 229, associated with the equivalent custom names 230, 232, is then formatted in accord with the respective formatting rules 214, 216, 218 of the at least two data formatters 208, 210, 212 referencing the respective standard data name 234, 236 of the different ones of the at least two mapping pairs.
As an example, test data 222 contains data item 229. Data item 229 is to be formatted in accord with one mapping pair but a conflict exists as two equivalent custom names 230, 232 (“c”) are within mapping set 224. Formatter 1 (202) formats with standard name 234 (“current”) and formatter 2 (204) formats with standard name 236 (“count”), as determined by formatting rules 1, 2 (214, 216), respectively.
In another embodiment, two or more formatters 1, 2, n (202, 204, 206), for example, formatter 1 (202) and formatter 2 (204), cause processor 220 to index mapping pairs with equivalent standard name 240, 242 (“counter”), each with different custom names 246, 248 (“i”,“iteration”). Based on an attribute, such as attribute 250, formatter 1 (202) selects custom name 246 (“i”) in accord with attribute value 252 (“Tester #1”) and formatter 2 (204) selects custom name 248 (“iteration”) in accord with attribute value 254 (“Tester #2”). Attribute 250 is variously embodied and, in addition to indicators of origination, may include priority, target formatter, time/date, purpose, and/or an identifier associated with a superset of the mapping pairs (e.g., file name, database table name), wherein equivalent standard name 240, 242 are each located in different superset of mapping pairs. Attribute 250 may be integrated with mapping set 224 or determined from attributes or calculations external to mapping set 224.
In one embodiment, accessing 304 further comprises accessing a second number of mapping pairs. In a further embodiment, if one of the first number of mapping pairs comprises a standard data name equivalent to the standard data name of one of the second number of mapping pairs, giving priority to the one of the second number of mapping pairs. By implementing such an embodiment, conflicts are resolved by giving priority to the second number of mapping pairs.
In another embodiment, at least one mapping pair is created in response to a user's input. In a further embodiment, an interface receives the user's input and, in yet another further embodiment, the interface presents custom data names and/or standard data names to aide the user's selection. In a still further embodiment, the test data is parsed in order to derive custom data names for presentation to the user.