Hausarbeiten logo
Shop
Shop
Tutorials
De En
Shop
Tutorials
  • How to find your topic
  • How to research effectively
  • How to structure an academic paper
  • How to cite correctly
  • How to format in Word
Trends
FAQ
Zur Shop-Startseite › BWL - Informationswissenschaften, Informationsmanagement

Design and Implementation of a Test Framework

An XML based Framework for testing the firmware of a Pulse- and Pattern generator

Titel: Design and Implementation of a Test Framework

Diplomarbeit , 2006 , 87 Seiten , Note: 1,4

Autor:in: Rüdiger Rowold (Autor:in)

BWL - Informationswissenschaften, Informationsmanagement

Leseprobe & Details   Blick ins Buch
Zusammenfassung Leseprobe Details

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.

Leseprobe


Table of Contents

1 Introduction

1.1 Agilent Technologies - Company Structure

1.2 Project Environment

1.3 Task Description

1.4 Strategic Approach

1.5 Structure of this Thesis

1.6 Time Schedule

2 Basic Concepts

2.1 Test Devices

2.2 GPIB

2.3 Programming Language

2.3.1 SCPI

2.3.2 .NET Framework

2.3.3 The Programming Language C#

2.4 Driver Library

2.5 XML

2.5.1 Basic Components of an XML Document

2.5.2 XML Schema

2.5.3 XPath

2.5.4 XML Transformation

2.6 Gnuplot

3 Implementation

3.1 Input Formats

3.1.1 The Test Suite XML File

3.1.2 The Test XML File

3.2 Perl Component

3.2.1 GetResourceString

3.2.2 GetOutputDir

3.2.3 GetTestSuiteName

3.2.4 GetTestName

3.2.5 SetParameter

3.2.6 GetParameter

3.2.7 Error

3.2.8 WriteLink

3.2.9 WriteText

3.2.10 Log

3.2.11 ShouldAbort

3.2.12 Wait

3.3 The Code

3.3.1 Windows Application

3.3.2 Class Library

3.3.3 Setup Project

3.4 Creation of the HTML test report

4 Validation

5 Usage of the GUI Tool

5.1 Setup

5.2 The GUI

5.3 Demo Test Suite

6 Future Prospects

Objectives and Research Focus

The primary objective of this thesis is to design and implement an automated test framework for the firmware of a Pulse Generator, enhancing development quality and reducing error-detection time. The framework aims to be reusable by decoupling test definitions from the core software through XML-based test cases, thereby eliminating the need for code adjustments for future products.

  • Automated firmware testing for the Pulse Generator using SCPI commands.
  • Development of a reusable, XML-driven test framework for modular test definition.
  • Integration of a graphical user interface (GUI) using C# and the .NET framework.
  • Implementation of multi-interface test execution (LAN, USB, GPIB) with result logging in XML and HTML reports.
  • Demonstration of test automation with a functional GUI-based tool.

Excerpt from the Book

3.1.2 The Test XML File

The test file contains the actual definition of a test; mainly these are the commands that will be sent to the instrument. The structure of a test file is defined by an XML schema called “input.xsd” which is also located in the installation directory. The root element of a test file is the “test” element. It must contain a “title” and a “description” element. Both elements contain a string and are used to identify the test. The title and description will also be displayed in the GUI when a test suite is loaded. After the “title” and “description” the “test” element can contain an arbitrary number of any of the following elements, which are described in detail below:

• scpi

• sweep

• stopwatch

• resultlog

• perlstatement

• perlfile

• comment

In the input file variables in the form of “$variable$” can be used. Some elements like the “send” and “stopwatch” can define these variables and other elements can use them. These variables can also be accessed within a Perl script.

Chapter Summary

1 Introduction: Provides an overview of the Agilent environment, the project scope, and the development schedule.

2 Basic Concepts: Covers the foundational technologies including SCPI, .NET, C#, VISA library, and XML structures used in the framework.

3 Implementation: Describes the design of the test framework, detailing XML input formats, the Perl component for scripting, and the internal .NET architecture.

4 Validation: Summarizes the testing and verification process for the developed framework.

5 Usage of the GUI Tool: Offers instructions on setting up and operating the graphical user interface for test execution.

6 Future Prospects: Identifies potential enhancements, such as adding a graphical editor and support for additional command sets.

Keywords

Test Framework, Firmware Testing, Agilent Technologies, XML, C#, .NET Framework, SCPI, VISA, Pulse Generator, Automated Testing, GUI, Perl, Software Engineering, Validation, XML Transformation.

Frequently Asked Questions

What is the core focus of this thesis?

This work focuses on designing and implementing an automated test framework for the firmware of a new Pulse Generator at Agilent Technologies, facilitating more efficient testing through XML-based definitions.

Which primary technologies are utilized in this implementation?

The framework utilizes C# and the .NET framework for logic and GUI development, uses SCPI for instrument communication via VISA, and employs XML for test definition and report generation.

What is the main goal of the project?

The objective is to enable software engineers to automatically test complex firmware, identify bugs earlier in the development lifecycle, and allow for easy reusability of tests across different products.

How are tests defined within the framework?

Tests are defined in external XML files, which include commands and queries for the instruments, eliminating the need to modify the compiled application code when creating new test cases.

What is the role of the Perl component?

The Perl component serves as an auxiliary tool that allows developers to execute custom code for tests that cannot be handled by standard elements within the XML framework.

What are the key technical features of the test report?

The test results are saved in XML and transformed into a human-readable HTML document, which includes summary tables and dynamic content toggling for improved navigation and analysis.

How does the system handle parameter sweeps?

The "sweep" element in the XML configuration allows for recursive, loop-like parameter testing, supporting both linear and logarithmic modes to determine valid value ranges.

What mechanism ensures that the test framework is safe to abort?

The framework uses an "EndLoop" property and clean-up functions within the "ProcessTestThread" class to ensure that even when an abort is requested, the system terminates gracefully and preserves valid XML output.

Ende der Leseprobe aus 87 Seiten  - nach oben

Details

Titel
Design and Implementation of a Test Framework
Untertitel
An XML based Framework for testing the firmware of a Pulse- and Pattern generator
Hochschule
Duale Hochschule Baden-Württemberg, Stuttgart, früher: Berufsakademie Stuttgart
Note
1,4
Autor
Rüdiger Rowold (Autor:in)
Erscheinungsjahr
2006
Seiten
87
Katalognummer
V184854
ISBN (eBook)
9783656097280
ISBN (Buch)
9783656097457
Sprache
Englisch
Schlagworte
XML Pulsgenerator Testframework
Produktsicherheit
GRIN Publishing GmbH
Arbeit zitieren
Rüdiger Rowold (Autor:in), 2006, Design and Implementation of a Test Framework, München, GRIN Verlag, https://www.hausarbeiten.de/document/184854
Blick ins Buch
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
Leseprobe aus  87  Seiten
Hausarbeiten logo
  • Facebook
  • Instagram
  • TikTok
  • Shop
  • Tutorials
  • FAQ
  • Zahlung & Versand
  • Über uns
  • Contact
  • Datenschutz
  • AGB
  • Impressum