Test Units Overview: Difference between revisions
Jump to navigation
Jump to search
(29 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
== What are STRIDE Test Units? == | == What are STRIDE Test Units? == | ||
'''STRIDE Test Units''' is a general term for [http://en.wikipedia.org/wiki/XUnit xUnit-style] test modules running within the STRIDE runtime framework. These tests--written in C and C++--are compiled and linked with your embedded software and run in-place on your target hardware. They are suitable for both developer unit testing as well as | '''STRIDE Test Units''' is a general term for [http://en.wikipedia.org/wiki/XUnit xUnit-style] test modules running within the STRIDE runtime framework. These tests--written in C and C++--are compiled and linked with your embedded software and run in-place on your target hardware. They are suitable for both developer unit testing as well as end-to-end integration testing. | ||
An external Test Runner is provided which controls the execution of the tests and publishes test results to the local | An external [[Stride Runner|Test Runner]] is provided which controls the execution of the tests and publishes test results to the local file system and optionally to S2's Internet [[STRIDE Test Space]]. | ||
== Test Unit Features == | == Test Unit Features == | ||
Line 9: | Line 9: | ||
* Specification of a test as a test method | * Specification of a test as a test method | ||
* Aggregation of individual tests into test suites which form execution and reporting units | * Aggregation of individual tests into test suites which form execution and reporting units | ||
* Specification of expected results within test methods (typically by using one or more [[ | * Specification of expected results within test methods (typically by using one or more [[Test Code Macros]]) | ||
* Test fixturing (optional setup and teardown) | * Test fixturing (optional setup and teardown) | ||
* Test parametrization (optional constructor/initialization parameters) | |||
* Automated execution | * Automated execution | ||
* Automated results report generation | * Automated results report generation | ||
=== Unique Test Unit Features === | === Unique STRIDE Test Unit Features === | ||
In addition, STRIDE Test Units offer these unique features: | In addition, STRIDE Test Units offer these unique features: | ||
; | ; On-Target Execution | ||
:Execution and reporting controlled from a remote host | : Tests execute on the target hardware in a true operational environment. Execution and reporting is controlled from a remote desktop (Windows, Linux or FreeBSD) host | ||
; Dynamic Test and Suite Generation | ; Dynamic Test and Suite Generation | ||
: Test cases and suites can be created and manipulated at runtime | : Test cases and suites can be created and manipulated at runtime | ||
; Test Doubles | ; [[Using Test Doubles|Test Doubles]] | ||
: Dynamic runtime function substitution to implement on-the-fly mocks, stubs, and doubles | : Dynamic runtime function substitution to implement on-the-fly mocks, stubs, and doubles | ||
; | ; [[Test Point Testing in C/C++|Behavior Testing]] (Test Points) | ||
: Support for testing of asynchronous activities occurring in multiple threads | : Support for testing of asynchronous activities occurring in multiple threads | ||
; Multiprocess Testing Framework | ; Multiprocess Testing Framework | ||
: Support for testing across multiple processes running simultaneously on the target | : Support for testing across multiple processes running simultaneously on the target | ||
; Automatic Timing Data Collection | ; Automatic Timing Data Collection | ||
: | : Duration are automatically measured for each test case. | ||
; Automatic Results Publishing to Local Disk and Internet | ; Automatic Results Publishing to Local Disk and Internet | ||
: Automatic publishing of test results to [[STRIDE Test Space]] | : Automatic publishing of test results to [[STRIDE Test Space]] | ||
[[Category:Test Units]] | [[Category:Test Units]] | ||
Latest revision as of 23:09, 25 September 2013
What are STRIDE Test Units?
STRIDE Test Units is a general term for xUnit-style test modules running within the STRIDE runtime framework. These tests--written in C and C++--are compiled and linked with your embedded software and run in-place on your target hardware. They are suitable for both developer unit testing as well as end-to-end integration testing.
An external Test Runner is provided which controls the execution of the tests and publishes test results to the local file system and optionally to S2's Internet STRIDE Test Space.
Test Unit Features
In all cases, STRIDE Test Units provide the following capabilities typical of all xUnit-style testing frameworks:
- Specification of a test as a test method
- Aggregation of individual tests into test suites which form execution and reporting units
- Specification of expected results within test methods (typically by using one or more Test Code Macros)
- Test fixturing (optional setup and teardown)
- Test parametrization (optional constructor/initialization parameters)
- Automated execution
- Automated results report generation
Unique STRIDE Test Unit Features
In addition, STRIDE Test Units offer these unique features:
- On-Target Execution
- Tests execute on the target hardware in a true operational environment. Execution and reporting is controlled from a remote desktop (Windows, Linux or FreeBSD) host
- Dynamic Test and Suite Generation
- Test cases and suites can be created and manipulated at runtime
- Test Doubles
- Dynamic runtime function substitution to implement on-the-fly mocks, stubs, and doubles
- Behavior Testing (Test Points)
- Support for testing of asynchronous activities occurring in multiple threads
- Multiprocess Testing Framework
- Support for testing across multiple processes running simultaneously on the target
- Automatic Timing Data Collection
- Duration are automatically measured for each test case.
- Automatic Results Publishing to Local Disk and Internet
- Automatic publishing of test results to STRIDE Test Space