Test Fixture
Test Fixture
Test Fixture
Contents
[hide]
1Electronics
2Software
o 2.1Setup
o 2.2Advantages and disadvantages
o 2.3Practices to avoid
o 2.4Examples
3Physical testing
4See also
5References
6External links
Electronics[edit]
In testing electronic equipment such as circuit boards, electronic components, and chips, a test
fixture is a device or setup designed to hold the device under test in place and allow it to be
tested by being subjected to controlled electronic test signals.
A Functional Test Fixture is a complex device to interface the DUT to the automatic test equipment (ATE)
1. In-line setup creates the test fixture in the same method as the rest of the test. While in-
line setup is the simplest test fixture to create, it leads to duplication when multiple tests
require the same initial data.
2. Delegate setup places the test fixture in a separate standalone helper method that is
accessed by multiple test methods.
3. Implicit setup places the test fixture in a setup method which is used to set up multiple
test methods. This differs from delegate setup in that the overall setup of multiple tests is
in a single setup method where the test fixture gets created rather than each test method
having its own setup procedures and linking to an external test fixture.[3]
Advantages and disadvantages[edit]
The advantage of a test fixture is that it allows for tests to be repeatable since one is always
starting with the same setup every time. Test fixtures also ease test code design by allowing the
developer to separate methods into different functions and reuse each function for other tests. It
also preconfigures tests into a known state at start instead of working with whatever was left from
a previous test run. A disadvantage is that it could lead to duplication of test fixtures if using in-
line setup.[1][3]
Practices to avoid[edit]
It is considered bad practice when test fixtures are too general in implicit setup, or when the test
method sets up a test fixture and does not use it during the test. A more subtle issue is if the test
methods ignore certain fields within the test fixture. Another bad practice would be a test setup
that contains more steps than are needed for the test; this is a problem seen in in-line setup.[3]
A test case is considered unsafe when it modifies the fixtures during the setup phase. This is
more pronounced in the fixture setups other than the in-line setup. An unsafe test case is a
serious problem which could render subsequent tests useless by leaving the fixture in an
unexpected state. It also causes the order of tests to be important, so that you know whether a
fixture setup needs to be rerun or not. If a safe test is run after an unsafe test then the fixture
setup is rerun if the fixture is common for both but the same is not true for vice versa.[1]
Examples[edit]
Examples of fixtures include loading a database with a specific known set of data, erasing a hard
disk and installing a known clean operating system installation, copying a specific known set of
files or the preparation of input data and set-up/creation of mock objects.
Software which is used to run reproducible tests systematically on a piece of software under test
is known as a test harness; part of its job is to set up suitable test fixtures.
In generic xUnit, a test fixture is all the things that must be in place in order to run a test and
expect a particular outcome.[4]
Frequently fixtures are created by handling setUp() and tearDown() events of the unit testing
framework. In setUp() one would create the expected state for the test and in tearDown()it would
clean up what had been set up.
Four phases of a test:
1. Set-up
2. Exercise, interacting with the system under test
3. Verify, determining whether the expected outcome has been obtained
4. Tear down, to return to the original state
Physical testing[edit]
In physical testing, a fixture is a device or apparatus to hold or support the test specimen during
the test. The influence of test fixtures on test results is important and is an ongoing subject of
research.[5]
Many test methods detail the requirements of test fixtures in the text of the document.[6][7]
very compact wedge grip for temperature chambers providing extreme temperatures
Mechanical holding apparatuses provide the clamping force via arms, wedges or eccentric wheel
to the jaws. Additionally there are pneumatic and hydraulic fixtures for tensile testing that allow
very fast clamping procedures and very high clamping forces.
See also[edit]
Unit testing
References[edit]
1. ^ Jump up to:a b c d Pereira da Silva, Lucas (June 10, 2016). "Execution and code reuse between
test classes". SERA 2016.
2. Jump up^ "A Guide to Testing Rails Applications".
3. ^ Jump up to:a b c Greiler, Michaela; Zaidman, Andy; van Deursen, Arie; Storey, Margaret-Anne
(2013). Strategies for Avoiding Text Fixture Smells during Software Evolution (PDF). 10th IEEE
Working Conference on Mining Software Repositories (MSR). doi:10.1109/MSR.2013.6624053.
Retrieved 24 January 2014.
4. Jump up^ Meszaros, Gerard (2007). xUnit Test Patterns: Refactoring Test Code (PDF). Addison-
Wesley Professional. ISBN 0-13-149505-4. Archived from the original (PDF) on 23 September
2016.
5. Jump up^ Abadalah, MG; Gascoigne, HE (1989). The Influence of Test Fixture Design on the
Shear Test for Fiber Composite Materials. ASTM STP.
6. Jump up^ ASTM B829 Test for Determining the Formability of copper Strip
7. Jump up^ ASTM D6641 Compressive Properties of Polymer Matrix Using a Combined Loading
Compression Test Fixture
External links[edit]
This article's use of external links may not follow Wikipedia's policies
or guidelines. Please improve this article by
removing excessive or inappropriate external links, and converting useful
links where appropriate into footnote references. (May 2017) (Learn how and
when to remove this template message)