Training Parameters: Difference between revisions

From STRIDE Wiki
Jump to navigation Jump to search
(Created page with '= Objectives = This Training Module is focused on '''Parameter passing''' in the context of the Test Unit. The module focuses on the following: * [[Parameterized_Test_Units | Pa…')
 
No edit summary
Line 5: Line 5:




There are two test files used -- '''TestParam.cpp & TestParam.h''' -- that contains one Test Unit:
There are two test files used -- '''TestParam.cpp & TestParam.h'''. These implement one Test Unit:
* '''TestParam'''
* '''TestParam'''




The Test Unit has test cases already implemented (used for reference) and has one test method that you are required to implement (called '''Exercise''').  Currently this method is empty and using an ''NOT IN USE'' status.
The Test Unit has test cases already implemented (used for reference) and has one test method that you are required to implement (called '''Exercise''').  Currently this method is empty and returns a ''NOT IN USE'' status.


= Instructions =
= Instructions =
Line 17: Line 17:
* Build TestApp using SDK makefile
* Build TestApp using SDK makefile
* Startup TestApp
* Startup TestApp
* Create an [[Stride_Runner#Options | option file]] (myoptions.txt) using the following content (Windows example)
* If not already done, create an [[Stride_Runner#Options | option file]] (myoptions.txt) using the following content (Windows example)
    
    
   ##### Command Line Options ######
   ##### Command Line Options ######
Line 25: Line 25:
   --log_level all
   --log_level all


* Execute ''Test Param'' Test Unit only  
* Execute ''Test Param'' Test Unit only
: Note that parameters are passed to the test unit from the host command line.


   > stride -O myoptions.txt --run TestParam(9,4,\"STRING1\")
   > stride -O myoptions.txt --run TestParam(9,4,\"STRING1\")
Line 44: Line 45:
== Implement Exercise ==
== Implement Exercise ==


* Add a ''NOTE'' capturing the ''integer parameters'' passed via command line
* Add a ''NOTE'' that will display the ''integer parameters'' passed via command line
* Add Assert macro guarding against no parameters being passed (i.e. 0 received)
* Add an Assert macro guarding against no parameters being passed (i.e. default value of 0 received)
* Call ''sut_add()'' with parameters and validate it returns expected value
* Call ''sut_add()'' with parameters and validate that it returns the expected value
* Call ''sut_mult()'' with parameters and validate it returns expected value
* Call ''sut_mult()'' with parameters and validate that it returns the expected value
   
   


* Execute only ''TestParam'' '''without''' parameters  
* Execute only ''TestParam'' '''without''' parameters  


   > stride -O myoptions.txt --run TestParam(9,4,\"STRING1\")
   > stride -O myoptions.txt --run TestParam


   Loading database...
   Loading database...
Line 82: Line 83:
== Run and Publish Results ==
== Run and Publish Results ==


When you have completed the Exercise(s) publish your results to Test Space. To make it easier for now we recommend that you update your existing option file (myoptions.txt) with the following:  
When you have completed the Exercise(s) publish your results to Test Space. To make it easier for now we recommend that you update your existing option file (myoptions.txt) with the following if not already done:  


   #### Test Space options (partial) #####
   #### Test Space options (partial) #####
   #### Note - make sure to change username, etc. ####
   #### Note - make sure to change username, etc. ####
   --testspace https://username:password@yourcompany.stridetestspace.com
   --testspace <nowiki>https://username:password@yourcompany.stridetestspace.com</nowiki>
   --project Training
   --project Training
   --name YOURNAME
   --name YOURNAME

Revision as of 23:12, 26 August 2011

Objectives

This Training Module is focused on Parameter passing in the context of the Test Unit. The module focuses on the following:


There are two test files used -- TestParam.cpp & TestParam.h. These implement one Test Unit:

  • TestParam


The Test Unit has test cases already implemented (used for reference) and has one test method that you are required to implement (called Exercise). Currently this method is empty and returns a NOT IN USE status.

Instructions

Build and Run TestApp

  • Build TestApp using SDK makefile
  • Startup TestApp
  • If not already done, create an option file (myoptions.txt) using the following content (Windows example)
 ##### Command Line Options ######
 --device "TCP:localhost:8000"
 --database %STRIDE_DIR%\SDK\Windows\out\TestApp.sidb
 --output %STRIDE_DIR%\SDK\Windows\sample_src\TestApp.xml
 --log_level all
  • Execute Test Param Test Unit only
Note that parameters are passed to the test unit from the host command line.
 > stride -O myoptions.txt --run TestParam(9,4,\"STRING1\")
 Loading database...
 Connecting to device...
 Executing...
   test unit "TestParam"
     > 1 passed, 0 failed, 0 in progress, 1 not in use.
   --------------------------------------------------------------
   Summary: 1 passed, 0 failed, 0 in progress, 1 not in use.

 Disconnecting from device...
 Saving result file...
  • Review the details of the test results using a Browser. Open TestApp.xml which can be found in the sample_src directory (based on the output option). By opening the xml file in a web browser the xsl is automatically applied to create html.

Implement Exercise

  • Add a NOTE that will display the integer parameters passed via command line
  • Add an Assert macro guarding against no parameters being passed (i.e. default value of 0 received)
  • Call sut_add() with parameters and validate that it returns the expected value
  • Call sut_mult() with parameters and validate that it returns the expected value


  • Execute only TestParam without parameters
 > stride -O myoptions.txt --run TestParam
 Loading database...
 Connecting to device...
 Executing...
   test unit "TestParam"
     > 0 passed, 2 failed, 0 in progress, 0 not in use.
   --------------------------------------------------------------
   Summary: 0 passed, 2 failed, 0 in progress, 0 not in use.
  
 Disconnecting from device...
 Saving result file...


  • Execute only TestParam with parameters
 > stride -O myoptions.txt --run TestParam(9,4,\"STRING1\")
 Loading database...
 Connecting to device...
 Executing...
   test unit "TestParam"
     > 2 passed, 0 failed, 0 in progress, 0 not in use.
   --------------------------------------------------------------
   Summary: 2 passed, 0 failed, 0 in progress, 0 not in use.
  
 Disconnecting from device...
 Saving result file...

Run and Publish Results

When you have completed the Exercise(s) publish your results to Test Space. To make it easier for now we recommend that you update your existing option file (myoptions.txt) with the following if not already done:

 #### Test Space options (partial) #####
 #### Note - make sure to change username, etc. ####
 --testspace https://username:password@yourcompany.stridetestspace.com
 --project Training
 --name YOURNAME
  > stride -O myoptions.txt --run TestParam((9,4,\"STRING1\") --space TestParam --upload

Note: This space has been set up with a Baseline of expected test results that you can use to validate your results.

Reference

The following reference information is related to passing parameters to Test Units.

Wiki

  • Parameterized Test Units - Describes how to supply parameters to your Test Units
  • STRIDE Runner - Information on command line options
    • Refer to "Test Unit Specification Examples" - specifically examples using parameters
    • Review run[--r] arg option

Samples