STRIDE Overview

From STRIDE Wiki
Revision as of 16:54, 11 June 2010 by Mikee (talk | contribs)
Jump to: navigation, search

STRIDE™ has been designed specifically for on-target white-box testing. STRIDE™ is a test system used for validating embedded software executing on-target. The STRIDE™ system consists of a Framework for testing and a hosted Web Application for storing and analyzing test results.

The Framework includes a cross-platform runtime source package that supports connectivity with the host system and provides services for testing and source instrumentation. The runtime enables testability to be compiled into the embedded software with minimal impact on performance or the size of the application. The Framework also contains a host-based runner for interactive and automated test execution and publishing to our hosted web application.


STRIDE 4.2.jpg

STRIDE's test system is designed to deliver a broad spectrum of testing capabilities that enable teams to test earlier and more effectively. Developers can implement API and unit tests in C/C++ that execute on On-Target and are controlled from the host. Unique features such as file fixturing and function doubling facilitate deeper coverage of your software components. Because the Framework is cross-platform, testing can also be executed using Off-Target environments such as Windows and Linux host machines. The Linux and Windows SDKs allow for a seamless transition between the real target and an off-target host environment.

Beyond traditional developer testing, STRIDE also provides behavior-based testing techniques. Behavior-based testing is different than unit testing or API testing in that it does not focus on calling functions and validating return values. Behavior testing, rather, validates the expected sequencing of the software executing under normal operating conditions. This can span threads and process boundaries, and even multiple targets, as the application(s) is running. Developers insert instrumentation macros to enable this approach, making it especially effective for testing legacy code. This kind of expectation-based testing can be used to validate broadly scoped scenarios that span system-wide, for example:

  • Complete data flow through system components
  • Communication between threads, processes, and targets
  • Behavior of stacks, state machines, and drivers
  • … and much more

Once tests have been implemented, they are executed using the runner and test reports can be automatically uploaded to our web application - STRIDE Test Space. This application allows all team members to track and collaborate on results. Failure resolution is optimized by centralizing results, providing specific source information related to failures, and automatic email notification for new results.


For more details refer to the following: