Test has undergone a fundamental shift in the last two decades. In the 1980’s, the main concerns in Test were:
1) Meeting quality levels
2) Meeting throughput requirements
However, the increase in design and development software in a new global marketplace significantly lowered the barrier for competition and innovation. This is forcing down costs, compressing development cycles and breaking the traditional approach to Test. Now, the concerns in Test also include:
1) Shortening test development times
2) Overlapping the product development and test development cycles
3) Planning for new product introductions
4) Planning for new product functionalities
5) Planning for convergence in technologies (RF, audio, video, digital…)
These new concerns are forcing Test to take a strategic approach to test system development.
It all begins with a four layer software architecture consisting of hardware drivers, a hardware abstraction layer, test modules, and test management software. This layered architecture is critical in meeting today’s Test concerns. The three most important pieces of this puzzle are as follows.
The hardware abstraction layer is a layer of software that provides a common interface to all your test modules and software, regardless of the instrument or its driver. This layer essentially protects your hardware investment and your software development investment. As hardware becomes obsolete and new instruments inserted or as new drivers are introduced, the investment in test modules and your test software are protected. As lower level changes are made, the hardware abstraction layer keeps the interface to these lower level instruments and software constant. This allows for code reuse and protection against obsolescence.
The test modules are where most of the development time should be spent. The goal at this level is to create modular, reusable pieces of test code which can operate independently of other test modules or the main test software. Once the test modules are created, you can easily insert and reuse them in your test sequences.
Your test management software is probably the most important layer as it brings this architecture together. The test management software provides a framework allowing for the insertion and sequencing of independent test modules. The framework provides the inter-module communication and integrates all tests with enterprise systems and software.
It is by pulling and pushing data to each of the test modules that the test management software can provide a common interface for reporting, database logging, and the user interface as well as integrating the test software with the management execution system, resource planners, and requirements management tools. The test management software also handles switching, unit under test tracking, reporting and all tasks common to each test, unit under test as well as all products under test. Ideally, the test management software allows these tasks to be modified, augmented or replaced by changing the utility’s connection to the test management software.
Essentially, by communicating with each code module independently, the test management software links each module to all of the other systems. This removes much of the complexity, of the entire test system, from the test modules making them much simpler to develop. Development of a code module can focus on the test to be performed.
Figure 1: Four Layer Architecture for Test Systems
Thus, the importance of using a test software architecture featuring test management software is that it will help alleviate the main concerns of Test engineers by offering the flexibility, reusability and rapid system development needed to meet the challenges of an increasingly competitive landscape.
Back to What is TestStand? »
Why Choose TestStand? »