Agilent Technologies is one of the leading manufacturers of test and measurement equipment. At the moment the High Speed Digital Test division is developing a new Pulse- and Pattern generator. In order to improve the quality of the firmware development process, the firmware should be automatically tested. This will help find errors faster and identify side effects of any changes in the source code.
For this, a test framework that can carry out these automatic tests was developed. The test cases are defined in XML to make the processing easy. The results are also saved to XML. This allows both human and machine readability and to transform the result to a HTML formatted report.
Inhaltsverzeichnis (Table of Contents)
- Introduction
- Agilent Technologies - Company Structure
- Project Environment
- Task Description
- Strategic Approach
- Structure of this Thesis
- Time Schedule
- Basic Concepts
- Test Devices
- GPIB
- Programming Language
- SCPI
- .NET Framework
- The Programming Language C#
- Driver Library
- XML
- Basic Components of an XML Document
- XML Schema
- XPath
- XML Transformation
- Gnuplot
- Implementation
- Input Formats
- The Test Suite XML File
- The Test XML File
- The “scpi” Element
- The “command” Element
- The “query” Element
- The “send” Element
- The “expectedResonse” Element
- The “resultlog” Element
- The “resultelement” Element
- The “sweep” Element
- The “stopwatch” Element
- The “comment” Element
- The “perlstatement” Element
- The “perlfile” Element
- Perl Component
- GetResourceString
- GetOutputDir
- GetTestSuiteName
- GetTestName
- SetParameter
- GetParameter
- Error
- WriteLink
- WriteText
- Log
- ShouldAbort
- Wait
- The Code
- Windows Application
- Class Library
- TestControlForm
- ButtonControl
- CommentControl
- DirSelectorControl
- StatusControl
- TabControl
- SearchVisaResourcesForm
- Actions
- XmlValidator
- XmlValidationErrorForm
- XmlExceptionEventArgs
- ProcessTestThread
- Node
- Rounding
- ID
- MessageEventArgs
- IntegerMessageEventArgs
- ParameterDictionaryException
- visa32
- Instrument
- Setup Project
- Creation of the HTML test report
- Input Formats
- Validation
- Usage of the GUI Tool
- Setup
- The GUI
- Demo Test Suite
- Future Prospects
Zielsetzung und Themenschwerpunkte (Objectives and Key Themes)
This thesis focuses on the design and implementation of a test framework for automatically testing the firmware of a new Pulse and Pattern generator. The framework aims to improve the quality of firmware development by enabling early error detection and identifying side effects of code changes.- Automated Firmware Testing: The primary goal is to automate the testing process to enhance efficiency and reliability.
- XML-based Test Definition: The framework utilizes XML to define and process test cases, promoting reusability and scalability.
- SCPI Communication: The framework communicates with instruments through SCPI commands, ensuring compatibility with a wide range of test equipment.
- Result Analysis and Reporting: Test results are stored in XML for easy processing and transformation into human-readable HTML reports.
- GUI Tool for Test Management: A comprehensive graphical user interface provides a user-friendly way to manage test suites, instrument mappings, and view test results.
Zusammenfassung der Kapitel (Chapter Summaries)
The first chapter introduces the company and its structure, particularly highlighting the High Speed Digital Test division developing the new Pulse and Pattern generator. It describes the project environment, its goals, and the strategic approach employed for its implementation. Finally, it outlines the organization of the thesis.
Chapter two provides a comprehensive overview of the basic concepts and technologies used in the project. This includes a discussion of the test devices, the GPIB interface, programming languages like C# and SCPI, the VISA library, and XML-related technologies. The chapter concludes with a brief description of Gnuplot, used for creating charts and graphs in the test reports.
Chapter three delves into the implementation details of the test framework. It explores the input formats used for defining test suites and test cases, including the XML structure and the use of variables. This chapter also elaborates on the Perl interface, which allows external scripts to interact with the framework, and provides a detailed overview of the code structure, focusing on the main GUI form and the class library. Finally, it discusses the process of creating the HTML test report using XML transformation.
Chapter four outlines the validation process of the framework, emphasizing the use of white-box testing and showcasing the framework's functionality with different instruments and bus systems.
Chapter five offers a practical guide to using the GUI tool for managing tests, defining instrument mappings, and viewing test results. It demonstrates the user-friendly interface and the features that enhance the usability of the test framework.
Schlüsselwörter (Keywords)
Automated Firmware Testing, Test Framework, XML, SCPI, VISA, C#, GUI, Test Reports, HTML, Gnuplot, Agilent Technologies, Pulse and Pattern Generator.- Quote paper
- Rüdiger Rowold (Author), 2006, Design and Implementation of a Test Framework, Munich, GRIN Verlag, https://www.grin.com/document/184854