US 20050246390 A1
Test data model and test data structure creation improvements are disclosed for enterprise test data management systems in the test, measurement and automation environment. In part, an enterprise test data management system is disclosed that utilizes a test data structure creation tool configured to operate on one or more server systems to automatically generate test data structures for the database. In addition, the test data management system can utilize a run-time tool that is configured to analyze test data received from a test system, to determine if fields for the data exist in the database, and if not, to automatically generate the fields for the data in the database. The test data management system can also utilize a data import tool that is configured to analyze historical test data files, to map data within the historical data files to fields within the database, and to automatically generate new fields for the data in the database. Related systems and methods are also disclosed.
1. An enterprise test data management system utilizing test data structures, comprising:
a plurality of test systems configured to operate test software to conduct at least one test on a device and to operate a data management software component, at least two of the test systems being directed to different test operations;
a database configured to store test data related to the plurality of test systems;
one or more server systems coupled to the database and configured to communicate with the plurality of test systems to receive the test data through operation of the data management software components on the plurality of test systems and to manage and store data; and
a test data structure creation tool configured to operate on the one or more server systems to automatically generate test data structures for the database.
2. The enterprise test data management system of
3. The enterprise test data management system of
4. The enterprise test data management system of
5. The enterprise test data management system of
6. The enterprise test data management system of
7. The enterprise test data management system of
8. The enterprise test data management system of
9. The enterprise test data management system of
10. The enterprise test data management system of
11. The enterprise test data management system of
12. The enterprise test data management system of
13. The enterprise test data management system of
14. The enterprise test data management system of
15. A method for managing enterprise test data using a hierarchical test data model, comprising:
operating a data management software component on a plurality of enterprise test systems, each test system being configured to operate test software to conduct at least one test on a device and to produce test data, and at least two of the test systems being directed to different test operations;
utilizing one or more server systems to communicate with the plurality of test systems to receive the test data from the test systems through operation of the data management software components on the plurality of test systems;
automatically generating test data structures for the database; and
storing the test data from the test systems in fields in a database.
16. The method of
17. The method of
18. The method of
19. The method of
20. The method of
21. The method of
22. The method of
23. The method of
24. The method of
25. The method of
26. The method of
This application is a continuation-in-part application of the following application: application Ser. No. 11/012,772 filed Dec. 15, 2004, which is entitled “TEST CONFIGURATION AND DATA MANAGEMENT SYSTEM AND ASSOCIATED METHOD FOR ENTERPRISE TEST OPERATIONS,” which in turn is a continuation of application Ser. No. 10/225,825 filed on Aug. 22, 2002, which is entitled “TEST CONFIGURATION AND DATA MANAGEMENT SYSTEM AND ASSOCIATED METHOD FOR ENTERPRISE TEST OPERATIONS,” which in turn claimed priority to Provisional Application Ser. No. 60/314,922 entitled “TEST CONFIGURATION AND DATA MANAGEMENT SYSTEM AND ASSOCIATED METHOD FOR ENTERPRISE TEST OPERATIONS,” which was filed on Aug. 24, 2001, each of which is hereby incorporated by reference in its entirety. This application also claims priority to the following provisional application: Provisional Application Ser. No. 60/314,922 filed May 14, 2004, which is entitled “TEST CONFIGURATION AND DATA MANAGEMENT SYSTEM AND ASSOCIATED METHOD FOR ENTERPRISE TEST OPERATIONS,” which is hereby incorporated by reference in its entirety. This application is also related to concurrently filed Application SN______ entitled “ENTERPRISE TEST DATA MANAGEMENT SYSTEM UTILIZING HIERARCHICAL TEST DATA MODELS AND RELATED METHODS.”
This invention relates to configuration and management techniques for device and product test operations in test, measurement and automation environments.
Many companies, and specifically electronic and semiconductor device companies, produce products that must be tested to meet various specifications before the products can be shipped to customers. These test operations often include a variety of different test activities in a variety of different environments. The need exists, therefore, for efficient test configuration and data management among these disparate test operations, particularly on an enterprise-wide scale.
With respect to connectivity, test stations or automated test equipment devices (ATEs) have often been located on test floors that do not have network connections or that are configured in such a way as to make network connections to the ATEs rather difficult or impossible. In addition, many ATEs are designed to conduct specific tests that may be unrelated and unlinked to other device tests or manufacturing activities. Thus, test monitoring has previously focused on the individual test systems and has not adequately addressed enterprise level test monitoring and management. In addition, disparate tests and test stations typically do not have common data formats, but instead are often custom designed software packages that are interested in nothing but the operations of the particular test being run. Thus, if data is stored, it is often stored simply as a text file or in a proprietary format specific to the designer of the system. Although such raw test data has been stored centrally so that it can be retrieved at a later time for historical analysis, this raw test data is typically not formatted in any standard manner or managed such that it can be used as testing is in progress.
Tools have been previously developed to help connect test applications to other computers through a network, such as the LABVIEW enterprise connectivity toolset available from National Instruments. These tools allow connectivity to a database. However, these tools require the user to define the databases, communicate with them (usually through SQL commands) and program all the details about communication, database design and anything related to the database operations. As such, these tools do not provide an efficient and easily managed solution for configuring and managing enterprise test operations.
This need for systems to provide efficient test configuration and data management for test operations is distinct from a need for systems to monitor and manage manufacturing operations. Manufacturing execution systems (MES) have been developed that focus on controlling the execution of a manufacturing process including actions such as keeping track of materials, products, work in progress, etc. However, these MES systems are not directed to test operations. Example MES products are those that are sold under the trade names QFS available from Automation Programming, Inc. (API) and Xfactory available from USDATA. Such systems allow for the management of information about the manufacturing of the products. They are directed to a manufacturing point of view and are not directed to a testing point of view. Thus, such systems fall short on managing the test data and test results thereby making difficult the task of finding specific data about a test, and do not provide mechanisms to maintain configuration information about each test station or any tests run on each test station. In addition, such existing systems do not provide capabilities to monitor the test stations (or ATEs) and the data related to the ATEs. Without a direct connection between the ATEs and a server system, it is extremely difficult and complex to attempt to create software code that allows such capabilities.
The present invention provides test data model and test data structure creation improvements for enterprise test data management systems in the test, measurement and automation environment.
In one embodiment, the present invention is an enterprise test data management system utilizing test data structures including a plurality of test systems configured to operate test software to conduct at least one test on a device and to operate a data management software component where at least two of the test systems being directed to different test operations, a database configured to store test data related to the plurality of test systems, one or more server systems coupled to the database and configured to communicate with the plurality of test systems to receive the enterprise test data through operation of the data management software components on the plurality of test systems and to manage and store data, and a test data structure creation tool configured to operate on the one or more server systems to automatically generate test data structures for the database. In further embodiments, the test data structure creation tool includes a run-time tool configured to analyze test data received from a test system, to determine if fields for the data exist in the database, and if not, to automatically generate the fields for the data in the database. In addition, test data structure creation tool can include a data import tool configured to analyze historical test data files, to map data within the historical data files to fields within the database, and to automatically generate new fields for the data in the database. As described below, other features and variations can be implemented, if desired, and related methods can be utilized, as well.
In another embodiment, the present invention is a method for managing enterprise test data using a hierarchical test data model including operating a data management software component on a plurality of enterprise test systems where each test system is configured to operate test software to conduct at least one test on a device and to produce test data where at least two of the test systems being directed to different test operations, utilizing one or more server systems to communicate with the plurality of test systems to receive the enterprise test data from the test systems through operation of the data management software components on the plurality of test systems, automatically generating test data structures for the database, and storing the enterprise test data from the test systems in fields in a database. In further embodiments, the method includes operating a run-time tool to analyze test received data from a test system, to determine if fields for the data exist in the database, and if not, to automatically generate the fields for the data in the database. Still further, the method can include operating a data import tool configured to analyze historical test data files, to map data within the historical data files to fields within the database, and to automatically generate new fields for the data in the database. In addition, the method can include operating an automated import tool to import data files as the data files become available, to identify where within a file system it will look for available files, and to identify how often the tool will look for new files. As described below, other features and variations can be implemented, if desired, and related systems can be utilized, as well.
It is noted that the appended drawings illustrate only exemplary embodiments of the invention and are, therefore, not to be considered limiting of its scope, for the invention may admit to other equally effective embodiments.
The present invention relates to efficient test configuration and data management among disparate test operations, particularly on an enterprise-wide scale. An example for an enterprise test configuration and data management (ETCM) system is described in co-pending and co-owned application Ser. No. 10/225,825 which is entitled “TEST CONFIGURATION AND DATA MANAGEMENT SYSTEM AND ASSOCIATED METHOD FOR ENTERPRISE TEST OPERATIONS,” the entire text and contents for which is hereby incorporated by reference in its entirety (“the '825 application”). The ETCM system described therein allows an entity to manage its test operations and related test stations (or ATEs) on an enterprise level through an interface that can access a centralized database of test related information, including test input parameters, test input data, test result data, test system information, test configuration information, data management information or any other desired test operations related information. Through this interface, which may be Internet-based access through a web browser and a graphical user interface (GUI), a user can log into the enterprise test configuration and data management (ETCM) system to configure, manage and monitor enterprise-wide test operations. Test data from disparate test operations and test stations can be stored in the remotely accessible database, and the data formats can be standardized or controlled to provide efficient and enhanced data storage and to allow efficient access, configuration and management through the centralized database.
With respect FIGS. 1A-B, 2A-C, 3A-C, 4A-D, 5 and 6A-B, the ETCM system of '825 application is described. With respect to FIGS. 7A-C, 8, 9, 10, 11A-E and 12, additional advantageous features for such an ETCM system are described. Example embodiments are described below in more detail with respect to the drawings.
The ETCM component operates to provide test configuration and data management functionality for the test system and communicates with ETCM system and database 100 through connection 118A. The ETCM component 108A can also communicate with a raw data archival system 102 through connection 122A, if desired. Similarly, the ETCM components in the other test systems 106B . . . 106C also communicate with the ETCM system and database 100 through connections 118B . . . 118C, respectively, and also communicate with the raw data archival system 102 through connections 122B . . . 122C, respectively. To provide remote configuration, management and monitoring of test operations, the ETCM system and database 100 also communicates with ETCM clients 124A, 124B . . . 124C through connections 126A, 126B . . . 126C, respectively. It is noted that the connections 118A, 118B . . . 118C and 126A, 126B . . . 126C can be, for example, any desired communication media, including but not limited to intranet networks, wireless networks, the Internet, or any other device or system that allows systems to communicate with each other. The test systems 106A, 106B . . . 106C can be any desired test device or system utilized in a test, measurement and automation environment.
The ETCM system and database 100 can communicate with a number of different test sites and a number of different test lines at a given test site. Considering local test systems 106A, 106B . . . 106C as a number of different test systems located at a particular test site, the collective communication connections 118A, 118B . . . 118C from this site can be designated as connection 115A. Considering that an enterprise can include a number of different test sites, the connections 115B, 115C . . . 115D represent these additional test sites. Thus, the ETCM system and database 100 can be in communication with a large variety of different test sites and lines and the organization of this information and test operation structure can be configured by the user, if desired.
The collective ETCM components 106 and the ETCM system and database 100 together allow for a wide range of test configuration and data management functionality to be provided to ETCM clients 124. In short, the present invention links together, formats and standardizes the flow of control and test data among disparate test sites and associated test lines and test systems using a centralized ETCM system and database 100 and an ETCM component 108 operating with respect to the individual test stations. The present invention thereby provides for a wide variety of useful functions, including management, monitoring, alarm notification and reporting of enterprise test activity.
As further described below, the ETCM system and database 100 allows users to manage test stations, test data, results and any other desired information for a group of test stations connected together through any of a variety of different media. The test stations do not need to be limited to certain type of testable devices (UUT) nor to how many devices can be tested in any period of time. The ETCM system enables users and other software programs to manage test stations from any remote location through a centralized data system. The ETCM system also allows the test station terminals to register and communicate with a centralized repository, thereby facilitating the transfer of test related information such as test data results, configuration, serial numbers, etc. The ETCM system and its components further provides programming interfaces to allow other devices and systems to connect and communicate with the ETCM system and its components. The ETCM system also provides graphical user interfaces (GUI) for operation and manipulation of the test information, test configuration and data management details, as well as any other desired test operation parameter.
It is further noted that the number of test stations can be divided and organized in different categories, which are fully configurable to the user's needs, and that the ETCM system can allow for the remote management of these test stations. In addition, these test stations can be distributed on a network inside a single building or can be distributed in any number of different locations around the world. The ETCM system of the present invention is not a factory execution system. Rather, it is a system that enables the management of test stations and related information as well as the management of test data. The stations can be distributed anywhere in the world and can be accessed through a computer terminal from anywhere where access to the central repository or database systems is available.
Management of test stations and test related information can include a variety of different capabilities to provide users and organizations with desirable and advantageous functionality. For example, test stations (or ATEs) may be organized in a logical way according to a customer's specific needs, independent of the physical location of the test stations. In addition, test station information, such as serial number, vendor, network settings, building location, department responsibility, etc., can be saved, retrieved and administered, either remotely or locally, as desired. Information can be set up to track test stations programmatically or through a graphical user interface. Changes to test station information can be scheduled so that these changes are made at a latter specific time and date. Changes can also be made to a single test station or to groups of test stations, depending upon customer needs or the manner in which the user chooses to configure test operations. Software versions and updates can also be monitored, controlled and remotely downloaded to test stations depending upon configurations or user input. Specific test configuration information can be retrieved and administered through the ETCM system, as well. This configuration information can include, for example, test plan configuration information (test plan name, author, last modified, available test stations, etc.), test step configuration information (name, properties, execution properties, etc.) and execution specific configuration information (start time, end time, calibration at execution, etc.). Test operations may also be configured to allow tracking of test related activities such as the test plan, test steps, and test execution, either programmatically or through a graphical user interface. Further, the test results can be collected, organized and analyzed. For example, what test data to collect can be configured based upon a selection of the test procedures and results to include. In addition, events can be configured, enabled and disabled so that if a particular event occurs, the system will execute a specific action, such as a notification to a responsible engineer when a test parameter meets some defined condition, such as the test parameter being equal to a selected value, the parameter being over or under a certain range, etc.
Looking now to
The status monitoring module 204 operates on ETCM server systems that are part of the ETCM system and database 100 and can provide a variety of monitoring features that are accessible to the ETCM clients, including enabling a user to remotely monitor ATEs connected to the ETCM system, for example, by providing a remotely accessible hierarchical view of all the ATEs connected into the ETCM system and by providing the user access to more details about particular test stations or ATES.
The report tools 206 operate on ETCM server systems that are part of the ETCM system and database 100 and provide a variety of reporting features that are accessible to the ETCM clients. For example, the report tools 206 can provide pre-configured reports to display to the user. It can also provide mechanisms for users to configure and create their own reports. These pre-configured and user configured reports can be generated from the information contained on the database server about the ETCM system in general or, more particularly, from information on the database server about specific test stations, devices, UUTs, etc. These reports can be generated and viewed as desired by the user.
The administration and configuration utilities 208 operate on ETCM server systems that are part of the ETCM system and database 100 and provide a variety of test and data administration and configuration features that are accessible to the ETCM clients. For example, the user can remotely create and modify configuration models and information about the ATEs. These accesses can also be done for individual ATEs or for groups of ATEs, as desired.
The data analysis tools 210 operate on ETCM server systems that are part of the ETCM system and database 100 and provide a variety of data analysis tools that are accessible to the ETCM clients. For example, data analysis tools can provide mechanisms to analyze the data gathered on the test stations. One such mechanism is to allow a user to view the trend in a particular value of all the units tested on selected test stations.
The event configuration and processing module 212 operates on ETCM server systems that are part of the ETCM system and database 100 and provides a variety of testing event notification features that are accessible to the ETCM clients. For example, this module 212 can allow the user to configure an event that gets triggered when a configured condition is met. For example, a user might want to be notified by email when more than a specified number of units (such as five units) have failed on a test station during a period of time. In this case, the user can configure the event through access to this module and the system will provide the corresponding notification.
The database server 230 provides the core database functions and can be, for example, a ORACLE database system available from Oracle, a DB2 database system available from IBM or an SQL SERVER database system available from Microsoft. For example, the database server 230 can be a centralized repository of information for the ETCM system. Stored information held by the database server 230 can include any desired information, such as information about each test station, about each test related to each test station, about the devices or units under test. As indicated above, reports generated through the ETCM system can be created as a result of querying the database server 230 for desired information. In short, the database server 230 stores the data utilized for the operation of the ETCM system and enables the efficient retrieval of this data when desired.
The main module provides an interface to the database server and thereby allows for relatively transparent database access by devices desiring to store or retrieve information from the database server 230. For example, the main module 232 can provide mechanisms to access the information contained in the database server and can allow a developer of the ATE to utilize the database without the overhead of learning and using SQL and database access techniques. The communication system 234 provides a connection for systems and modules communicating with the main module and may include various security measures, as desired.
Looking back to decision block 302, if the answer is “no” and data is not currently available for transmission, the ETCM module data flow transmission process proceeds to decision block 308 to determine if data can be transmitted. If the answer is “no,” control proceeds on to decision block 315. If “yes,” flow proceeds on to block 304 to determine whether there is data in the remote interface buffer 358A that is ready for transmission. If “yes,” flow proceeds to block 310. If “no,” flow proceeds to decision block 312 where the ETCM module data flow transmission process determines whether there is data stored in the local ETCM data storage 322A. If “yes,” data is moved from the local ETCM data storage 322A to the remote transmission interface buffer 358A in block 314, and flow proceeds back to decision block 304. If “no,” flow proceeds back to decision block 302.
For each such test station 408A (STATION A), additional information may be provided, such as hardware resources 410A, software resources 410B and test links 410C to tests 412A (TEST A), 412B, 412C . . . , which may in turn represent, for example, tests that can be run or are running on the test stations, such as test station 408A (STATION A). For each test, such as test 412A (TEST A), additional test related information can be provided. This information can include items such as general test properties 414A, test execution properties 414B, and test steps 414C that links to individual test steps 416A (STEP A), 416B, 416C, . . . for the test. Each test step, such as test step 416A (STEP A) can have still additional information linked to it such as test result definition 418A with parameters such as date/time 420A, pressure 420B and temperature 420C; properties 418B with parameters such as maximum temperature 422A and maximum pressure 422B; and execution properties 418C such as start time 424A. In addition to the example control, configuration and management information provided in
This control architecture 400 and associated interface allows users, if desired, to monitor, configure and manage enterprise test facilities from a single point as those operations are occurring. Information may be viewed and modified to generate any desired view of the test facilities and operations for the company. In addition, tests on particular test stations can be monitored, manipulated, configured, etc. as desired through the user interface. For each of the items in
Thus, from one interface, a user may determine the current status of enterprise-wide test operations and view these operations on increasing or decreasing levels of detail, as desired, through the tree-like interface structure. In addition, an indication at each level may be provided for status events, such as “green” for operations within desired parameters, “yellow” for operations within concern levels and “red” for operations that have either stopped or are threatening production or product yield. In this way, an engineer or test operations manager can quickly monitor, configure and manage test operations through a remotely accessible ETCM system and database. This feature provides a way to evaluate the current status of the test operations from one point, thereby providing the ability to make better decisions. In other words, the person reviewing or managing the test operations does not need to be at the same facility to view the ETCM information. In addition, because this access can be accomplished remotely, companies that have a distributed manufacturing environment, for example, different steps of the production line are located at different locations, can use this interface tool to enable personnel to access, monitor and evaluate production line operations as a whole from one point.
The switch 620A, the switch 621A and the ETCM enable module 622A may be any desired technique for selectively enabling processing by an ETCM component of a test station. For example, the ETCM component 108A may be software-based processing that is installed as part of the test software. The ETCM enable module 622A and the switches 620A and 621A may essentially be a software switch that is set through the interface 320A. This software switch may determine whether or not the ETCM component installed on the test station 106A operates. In addition, the ETCM enable module 622A and switch 620A could be implemented through a software patch that is installed and executed on the test station 106A at a later date.
Advantageously, the ability to selectively enable the ETCM component 108A provides significant flexibility in test installations and operations. For example, if a company does not have the connectivity infrastructure to effect the transmission of information from a test floor where the test stations are located, the company can still include the ETCM component 108A in a software installation on the local test station 106A. In this way, when the connectivity infrastructure is constructed in the future, the ETCM component 108A can be enabled with little additional effort. Other advantageous uses of this selectivity are also situations where the connectivity infrastructure is in place, but the company nevertheless chooses not to utilize the ETCM control. In addition, even if the connectivity infrastructure is not in place, the ETCM control may be enabled, leading to data storage in the ETCM data storage 322A, as discussed with respect to
Further additional advantageous features for an ETCM system are now described. And examples embodiments are shown with respect to FIGS. 7A-C, 8, 9, 10, 11A-E and 12.
ETCM Test Data Model
In a testing environment, it is often the case that each product has to undergo several tests during production and development. Each test usually consists of several test steps. And each test step can generate a result or a set of raw data that could be used to determine the final result. Generating a model generic enough to be able to model all the different permutations and combinations of test data required by multiple products and tests is very difficult, particularly if this model is to be configurable so that it can be effective for a plurality of enterprises.
The test data model of the present invention solves this problem by providing a method of hierarchically modeling test structures and test data. The test data model described herein includes in part product test objects (PTO), test procedure objects (TPO) and result table objects (RTO). Each PTO can include one or many TPOs and one or many RTOs; each TPO can contain one or many TPOs and one or many RTOs, and each RTO can contain one or many RTOs. The resulting model is extremely flexible and can model practically any test and test data. The TPOs and the PTOs have the capability to store a set of default properties and any number of custom properties. These properties can be used to store the data generated by the TPOs and PTOs in the test system, and they could be used to store any type of data generated by the test system (for example Integers, Floating points, Strings, Doubles, etc.).
In addition to the test data model, the ETCM system of the present invention allows the creation of custom objects (CO) that allow users to define and store useful data for test operations and such data can be linked for use throughout the test data model. For example, the configuration data used by the test during execution can be defined in one or more COs. This configuration data can be used by the test to determine the result of the tests being executed on the UUT. The advantage of storing configuration information in the ETCM database is that it provides a central location that permits a single point of change and control. This makes it simple to change the test specifications and immediately have these changes become effective on the test system. In addition to configuration data, other types of useful or custom data information can be stored in COs, as desired. For example, data for temperature translations or thermodynamic ratios can be stored in COs for use during test operations. Still further, test request information could be stored in a CO that keeps track of who requested a test to be run. In short, COs provide a useful data object within which to store a wide variety of user-defined data for test operations. And as discussed below, these COs can be linked to any other data object within the test data model, including PTOs, TPOs, RTOs, TSOs and other COs.
The ETCM test data model also defines how the data will be stored in the ETCM database. Test data is typically generated every time a unit of a product is tested on a test system. All test data related to a unit of product can be referred to as a test instance or a test execution. In the ETCM system, this data is treated as an instance of an execution of the PTO. Each execution of the PTO on any unit under test (UUT) is treated as a discrete set of data that can be individually identified and queried for reporting. Each set of the above data is called an “Execution Instance.” During the execution of any PTO, any of the objects underneath it in the data model can be executed multiple times. For example, if a PTO A has two TPOs B and C underneath it, for a single execution, A, B and C could have had multiple iterations which are also stored as discretely identifiable instances. These are called “Iterations” and there can be multiple Iterations of any object within a single Execution Instance.
In addition to being able to model the test data and configuration information, the test data model can also store information about the test stations themselves as test station objects (TSOs). These TSOs can be used to store static and dynamic information about the test stations. Information such as last calibration date, location, authorized operator's etc. can be stored using the test data model. This information can be accessed by the test software using the ETCM client software and used to make control decisions on the test execution.
Thus, as shown in
The hierarchical test data model of the present invention, which includes a number of different data objects, provides a widely flexible system for structuring test operations related data, including test procedure data and test results data. According to the embodiments depicted, the test data model, for example, can be structured to include a PTO associated with each product test operation within an enterprise. Each PTO can then be configured to include data concerning the nature of that product test operation. The PTO could then be structured to have TPOs and RTOs hierarchically positioned underneath it. The TPOs can include data related to the operation of the test, while the RTO can include result data for the test. TSOs are then used to store data concerning the test stations themselves. And COs are used to stored configuration data, look-up table data, requestor data, or any desired custom data information that is used for the test operations. As discussed herein, these different data objects can be structured and linked, as desired, to form a test data model that accurately and efficiently represents the test activities and operations of an enterprise, and the flexibility of the hierarchical test data model of the present invention provides a highly configurable and efficient system for creating and configuring this test data model.
Object Data Linking and Data Propagation for the Test Data Model
Previously, a uniquely programmed test program would require a user to discretely enter all test data for each execution of a test. With respect to data object linking, the test data model utilizes links between data objects so that data in one data object can be automatically used by another linked data object for test operations. These data object links can be provided between any desired data objects within the test data model, including PTOs, TPOs, RTOs, TSOs and COs. With object data propagation, the test data model utilizes links between data within data objects so that data from one data object can be automatically propagated to data fields in a linked data object. These links, therefore, can be used to propagate data up or down the hierarchical chain whenever required, or they can be used to propagate data horizontally to different data objects within the test data model that are not hierarchically related. Thus, data propagation links can be provided between any desired data objects within the test data model, including PTOs, TPOs, RTOs, TSOs and COs. It is also noted that the data need not always be propagated, as the user still has the option of entering the data discretely.
Object data linking and propagation according to the present invention makes development of the test station software easier by freeing the developer from having to manually create all the links required between all the related objects in the test system. This also helps improve the performance of the test station software as it allows the software to populate a number of auto propagation data fields by specifying the value of any one of fields. The test software is also more robust because it does not have to maintain the links between all the objects used by the test system. Without the ETCM system maintaining the links between all the related objects, the test system developer would be forced to do so. This prior requirement makes development of the test software much more complicated and, therefore, much more expensive.
The test data model can also link objects that are not hierarchically related. This ability, for example, makes it possible to create a link between a TSO and a PTO that are not hierarchically related. Using a link like the one described above, for example, enables the test station software developer to use a data field such as the last calibration date of the TSO to determine if it is acceptable for the test software to execute the test. This data linking capability also allows the test data model to create a link between PTOs and COs and between TPOs and COs. This additional capability allows a single CO to be used by multiple PTOs and TPOs to access configuration information.
One example for data that can be propagated using the hierarchical propagation links described above is the part number of a product test. Through the use of hierarchical links, the part number can be propagated to all test procedures for that part. Using object data linking, information such as a test station's instrument calibration date can be linked to each product test that uses the station. In addition, as stated above, objects can be linked to multiple other objects, for example, a custom object can be linked to multiple test objects.
Automatic Creation of Default Data Properties for the Test Data Model
The ETCM can provide, if desired, automatic creation of default data properties for the test data model. More particularly, the ETCM includes a feature that allows the user to configure the default properties that are created every time a TPO or a PTO is created. The user can also configure the linking and propagation associations of the default properties. The properties that are created by default are not required to have any data associated with them when they are created, and the default properties can be modified or populated by the user, as required. This default properties feature of the present invention advantageously allows the user to customize the test data model for specific requirements of the enterprise that is using the test data model.
Data Entry Graphical User Interface Creation
Another feature provided by the test data model is that it allows for the effortless creation of data entry graphical user interfaces (GUIs). The feature is very useful to users who do not wish to, or do not have the capability to develop a program to transfer data from the test infrastructure into the ETCM database. This feature provides a “no effort” way to create a custom GUI to enter test data into the ETCM database. This feature is made available to users for them to enter data into any test available in the ETCM system whether modeled using the ETCM administration utility or dynamically generated by the ETCM system.
The user selects an available PTO in the ETCM database and brings up the data entry GUI by clicking on the appropriate menu item. Clicking on the CREATE NEW EX button in the Data Entry GUI creates a new execution instance. The GUI allows the user to enter data into all the defined object properties. The GUI is split into two frames, one displays the tree view of the hierarchical test data model, and the other frame displays all the properties that are available in the node selected on the tree view. A table provides the ability to enter data into the RTOs. After all the data has been entered into the GUI, the user can press the Save Data button, and the program will collect all the data and save it into the ETCM database. To enter another set of values into the database, the user can then create another execution instance of the PTO by clicking on the CREATE NEW EX button.
The present invention provides several mechanisms for automatic creation of data structures. The first mechanism described below provides a run-time mechanism for dynamically creating data structures in the ETCM database for test result data as it is generated during product testing. The second mechanism described below provides a data file mechanism for automatically creating data structures in the ETCM database for test result data based upon an automatic analysis of test data result files.
Dynamic Test Data Structure Creation at Run-Time
The test data model of the present invention allows the user to choose to have the system automatically configure the database structure at run-time to add a column or property field to the PTO, TPO or RTO. This happens when the test software sends data to the server that needs to be stored in a location that has not been configured prior to run-time by using the either the ETCM administration utility or a field that was dynamically added prior to the current test run. This preference can also restrict the type of data configuration that can be done at run-time. The restriction can be placed on the type of data and on the type of data objects. This feature is extremely useful in an intelligent test station that could determine at run-time if additional data fields need to be stored for any test. If such a determination is made, then the data is sent to the ETCM server in a manner similar to the data for any pre-configured data field. And the ETCM system will modify the database to allow the data to be stored. This dynamic test data structure creation capability is also useful in other situations, such as where the test designer adds a new data field to the test results and then runs the test software. When the test results are uploaded to the ETCM database, the system determines that a new data field has been added to the results and appropriately modifies the database structure to facilitate the storage of the new data.
Without the dynamic test data structure creation of the present invention, the test system developer would be forced to first modify the fields or object in the test data model before any new type of data could be stored in the ETCM database. And if this manual creation were not done before the test were run, the database would refuse to store the data, as it would not know where and how to store the data. As such, the dynamic test data structure creation is very advantageous to the test software developer as it enables adding new fields to the database and the test data model without having to manually add/modify the existing data model. This feature, therefore, enables the development of new types of intelligent test station software that can determine at run-time if new data needs to be acquired and stored in the database even if the database has not already been configured to store the data.
As discussed above, for example with respect to
Automatic Test Data Structure Creation from Existing Files
To add further functionality and ease to the creation of data structures within the test data model and the ETCM database, the ETCM system allows for the automatic creation of data structures from an automatic analysis of existing files. More particularly, the system can automatically generate suitable test data structures by reading pre-existing test data files, source code of program execution files and configuration files. This feature of the ETCM system enables easy transition of legacy test systems to a database driven system like ETCM test data management system. One of the major tasks in transitioning an existing test system and saving data to files to the ETCM system is creating the appropriate data structures within the ETCM test data model, such that data generated by the test system can be stored appropriately. An automated data structure creation system reduces the time required to create the test data models. When the model has been created, the user can use the automatic code generation system described below to generate code that can be included in the test system software and that will operate to upload new test data directly into the ETCM system. Advantages of this automated system include its generic structure and its ability to create the data model from any type of source file. This generic importing mechanism of the present invention, for example, allows for test data generated by Test System A to be used to generate the data model for a data file for Test System B. Thus, this generic test data structure creation system provides significant advantages for enterprise wide deployments in companies with large test infrastructures that include legacy test systems. Once this ETCM system feature has been used to create a Test Data Structure using a data file, the ETCM system can use the capability described below with respect to the Automatic Configurable Test Data Import Utility to read in large numbers of previously stored data files into the ETCM database.
The following provide some example file formats from which data structures for the ETCM database can be automatically generated.
The methods for Flat File Formats (1), Text Based Files (5), and Test Program Configuration Files (6) can be implemented wizard-based systems that will scan the given file and display a wizard to the user to enable them to select which fields will be created in the ETCM model. Methods for Standard Data File Formats (2), Test Sequence Files (3), Graphical Files (4), and ETCM Variables (7) require little or no understanding of the test application to automatically create the test data structure. As indicated above, FIGS. 11A-E provide example block diagrams for automatic test data structure creation.
Looking first to
Automatic Configurable Test Data Import Utility for the Test Data Model
The ETCM includes an import utility that allows test data to be automatically imported. This feature allows the user to easily migrate from file based test systems to the ETCM based test system architecture. A major challenge in moving from a file-based system to a database driven system, such as the ETCM system, is the transfer of all the historical data stored in files. The ETCM configurable data import utility is a program that can be configured to import data from files without any external assistance for each file.
To configure the program the user first loads in a sample data file. The program then identifies all the header or file identification information in the file and displays it to the user. The user can then map this header information to the properties of any data object in the ETCM test data model, including PTOs, TPOs and/or RTOs. The program then finds and displays all of the data in the file, including, but not limited to, test result data, pass/fail data or any other data stored within the file. This data information can be mapped to any object in the ETCM test data model, including PTOs, TPOs and/or RTOs. For example, the user can then map each data table in the file to a corresponding RTO in the ETCM test data model. When this process is completed, the program stores all this mapping information in a named configuration file. After one or more configuration files have been created, the user can start the ETCM data import service by selecting one or more configuration files to be used and pointing the utility to one or more directories that hold the test data files. The data import service then loads each test data file, parses the data file using the information stored in the appropriate configuration file, extracts all the information out of the data file, and uploads the data into the database. This process will be continued until all the data files have been processed and loaded into the database. This feature can also be used in conjunction with the Automatic Test Data Structure Creation feature described above to both create the Test Data Model in the ETCM database and also transfer the data in the files into the database.
It is further noted that this feature can also be implemented as a background process so that as future data is created by the test system, the process will periodically look for data that is created and then import the data as the test station creates the data. This background process can run on the test station or on another computer, or on the server. When this import module runs on a computer other than the test station or on the server, the import module can operate to fully manage the transfer of data to the database, if desired. In addition, a user can configure the location or locations to look for the files to be converted, identify a different mapping for each type of file, and configure the frequency that the process looks to see if new data is available. Thus, the automated import tool can be configured to operate to import data files as the data files become available, can be configured to operate to identify where within a file system it will look for available files, and can be configured to identify how often the tool will look for new files. And these import tool capabilities can be operated such that operator intervention is not required.
Existing generic programs for importing data into a database typically do not have the capability to import data from many different types of data files. These tools are often specific to the type of file involved and do not work on different files. The ETCM data import utility is a generic import program and has the ability to store the information about the different types of files that the tool has been configured to import. This gives the user the capability to import data from all the different test stations in the company and also to be able to use the existing test station software without modification and still have the data stored in the ETCM database. This feature is very important since some companies have test stations with software that cannot be modified or with software that has been written in a language that does not permit directly interfacing with enterprise test data management system, such as the ETCM system. Data file formats from which data can be imported may include, for example, XML data files, ASCII data files, spreadsheet data files, binary data file, etc. It is further noted that there are many data file formats that are derived from the ones mentioned. For example, ATML format is XML-based; comma-delimited and tab-delimited formats are ASCII-based; STDF format is binary-based, etc. In short, any desired data format can be utilized with respect to this aspect of the present invention.
Automatic Code Generation
The ETCM has the capability to automatically generate the programming code required to write data into the ETCM system database easily from several different programming languages including text based and graphical programming languages like Visual Basic, LabVIEW, Visual C++ and Visual Basic.NET. The user first creates the hierarchical model of the test data structure and then uses the ETCM Administration Utility to generate the programming code for the whole PTO and everything inside its hierarchy. This includes all the TPOs and all RTOs.
This code enables the user to quickly add the capability of transferring the test results generated by the test system to the ETCM system database. The code generated abstracts the details of the test data model system implementation into a simple object oriented interface making it easier for the user to add the test results into the database.
The ETCM system can also include additional communication techniques that facilitate the transfer of data through the ETCM system and its databases. An intelligent communication method is first described below, and a data staging method is then discussed.
Intelligent Communication Selection
The ETCM system transfers data from the test system to the database server using the ETCM client software. The ETCM client software can use multiple methods of communication with the server. The selection of the method can be performed automatically depending upon consideration such as the level of reliability required and the size and type of the data being transferred. This selection can also be made specifically by the user of the test station. Without the intelligent communication method of the present invention, a test system developer would have to learn about the different transfer methods, choose which was best for the current situation, and write the software to use that method. If the environment changed and a different method was needed, the developer would need to re-develop the application to use the new method. With the intelligent communication method, not only does the developer not need to know which method is best, but the ETCM system can automatically change the communication method if the system requirements change with requiring any changes to the test program.
If configured for automatic selection, the client software determines the method transparently to the user. These methods may include a variety of techniques, including, for example, the following:
Message Queuing: This is a method of communication between a client and a server machine. The client that wishes to send data to the server packages the data in a specific format and transfers it to a message queue. Once the data package is in the message queue, the message queue server picks it up and then proceeds to transfer it to the destination computer. The message queue server does not need to reside on either the computer from which the data originates or the destination computer. The message queue system can be setup such that once the data package is assigned to the queue system, then the delivery of the message is guaranteed. The queue system includes the capability to store and buffer the messages on any number of computers in the path intermediate to the final destination computer. There are several commercial implementations of message queue systems in the marketplace that can be used to provide these message communications. The drawback of this system is that the client will typically not be able to deterministically state when the data will be written to the database.
Interim Data Files: When the ETCM system is configured to use this method data files are first written on the test system computer when the test software passes test data to the ETCM client. Once the data is saved to the hard disk of the test station computer, the ETCM client starts trying to save the data to the ETCM database. When the data has been successfully saved to the database, the ETCM client will delete the interim data file that was stored on the hard disk. This method is relatively slower because the ETCM client first saves the data to the hard disk, then determines that the data is successfully saved to the database and then deletes the file from the disk. This method is slow but guarantees that the data is kept in local files till it is successfully written to the database.
Direct Transfer of Data: This method is used when it is critical to immediately write the data to the database. When the test station software transfers the data to the ETCM client for storing into the database, the client software immediately opens a connection and sends data to the database. This is the fastest method of communication but has the disadvantage that if a network failure occurs when the data is being transmitted some loss of data could occur.
Web Services Based Data Transfer: When the test station is at a location that does not have a direct internal network link with the ETCM database, the test data can be transmitted through the public Internet systems. To facilitate the transfer of data in a safe and secure manner, a web service can be used. The ETCM client hands over the test data to web service which packages it in a form that makes it easy to securely transfer over the public Internet. The time taken for transfer of data from the client to the database will not be deterministic due to the nature of the Internet. The advantage of using this method is that a dedicated connection need not be established between the test station and the ETCM client, thereby, reducing the amount of work required by the network administrators in configuring a firewall and other network infrastructure.
Data Communication—Data Staging
In an enterprise wide installation of the ETCM system, it is useful to have a staging system with local or departmental databases. A staging system allows users to edit, verify or confirm the data before it is uploaded into the enterprise database. This staging is very useful in the instances where all the tests need to be examined for errors before the data is loaded into the main database for enterprise wide availability. This process helps to keep erroneous results from being saved into the enterprise wide databases. In a simple staging system, the test data is stored on the test system in a local staging area. Once the data is reviewed using the management tool, it is then moved to the enterprise database. In a more advanced system, all the data from the test systems in a single department upload their test results into their departmental database configured by the ETCM system. After the test results are stored in the departmental server, the ETCM administrator can use the management tool to review all the test results. At this time, the administrator can mark some of the results for deletion. When all the test results have been reviewed, the administrator can choose to update the enterprise database with all the new test results in the departmental database. When this update is initiated, the ETCM software will only update the test results that have not been marked for deletion.
Further modifications and alternative embodiments of this invention will be apparent to those skilled in the art in view of this description. It will be recognized, therefore, that the present invention is not limited by these example arrangements. Accordingly, this description is to be construed as illustrative only and is for the purpose of teaching those skilled in the art the manner of carrying out the invention. It is to be understood that the forms of the invention herein shown and described are to be taken as the presently preferred embodiments. Various changes may be made in the shape, size and arrangement of parts. For example, equivalent elements may be substituted for those illustrated and described herein, and certain features of the invention may be utilized independently of the use of other features, all as would be apparent to one skilled in the art after having the benefit of this description of the invention.