94
_ RELEASE NOTES testIDEA 9.12.x 9.12.14 (28.3.2012) Qualified function names Function names can be specified with winIDEA syntax for qualified names, if multiple download files and file static functions are tested. Example: "calc.c"#add,,math.elf Setting for the type of breakpoints used during testing It is now possible to configure testIDEA to use hardware, software or mixed type of breakpoints. When mixed types of breakpoints is used, hardware breakpoints are used for target initialization, and software breakpoints are used for testing. This way we can perform target initialization also in cases when code verification is done on the target, but later use software breakpoints if there are more stubs than hardware breakpoints per test. The setting can be done in the Run | Configuration dialog: iSYSTEM, January 2016 1/94

9.12.14 (28.3.2012) - iSYSTEM Notes... · "calc.c"#add,,math.elf ... – Function names in drop down lists and completion proposals are always sorted ... in project properties (command

Embed Size (px)

Citation preview

_RELEASE NOTES

testIDEA 9.12.x

9.12.14 (28.3.2012)

Qualified function names

Function names can be specified with winIDEA syntax for qualified names, if multiple download files and file static functions are tested. Example:

"calc.c"#add,,math.elf

Setting for the type of breakpoints used during testing

It is now possible to configure testIDEA to use hardware, software or mixed type of breakpoints. When mixed types of breakpoints is used, hardware breakpoints are used for target initialization, and software breakpoints are used for testing. This way we can perform target initialization also in cases when code verification is done on the target, but later use software breakpoints if there are more stubs than hardware breakpoints per test.

The setting can be done in the Run | Configuration dialog:

iSYSTEM, January 2016 1/94

Additional verification of test specification

Warnings and errors are issued in editing time, if coverage recording is set, but function to be covered is not specified. For stubs a warning is issued, if the return value is not the last in the assignments list. The later is important for cases, when compiler reuse registers – at function start a register contains a parameter value, after return it contains a return value.

New format for test reports added

Saving of test reports is possible in CSV (Comma Separated Values), XLS (Excel before 2007) and XLSX (Excel 2007) formats. Test report in CSV format can be used for import to DOORS, for example. The new dialog:

(c) iSYSTEM, January 2016 2/94

Improved Export/Import dialogs.

When exporting test cases to CSV/XLS/XLSX file, the file can be automatically opened with the system default application for the given file type. Import dialog can copy settings from the export dialog, so that we don't have to copy the export file type and name.

(c) iSYSTEM, January 2016 3/94

9.12.22 (26.4.2012)

Analyzer can be run in Slow Run mode

New setting has been added to coverage, profiler and trace sections:

If the Use Slow Run setting is active, then the function is executed by stepping through the code. This is much slower than on-chip trace, but provides analyzer functionality on targets without the on-chip trace capability.

(c) iSYSTEM, January 2016 4/94

9.12.23 (6.5.2012)

Stubs can be deactivated

It is now possible to deactivate the stub, so that all stub settings are saved, but the stub is not used during the test.

(c) iSYSTEM, January 2016 5/94

9.12.24 (7.5.2012)

Content proposals are aware of complex types

Content proposals now contain only members of a complex type, when variable of such type is entered. Additionally, the table with expected results now also supports content proposals.

(c) iSYSTEM, January 2016 6/94

9.12.27 (21.5.2012)

Improved Tool-tips

Duration of tool tips has been increased from 5 to 15 seconds, so that the long tool tips are easier to read. Additionally, comments in tables are now also shown as tool tips when mouse moves over the table cell:

(c) iSYSTEM, January 2016 7/94

9.12.28 (23.5.2012)

Links to failed test cases in test reports

Transformation from XML to HTML now creates additional table with links to the reports of test cases which have failed:

Improved setting of names of stub parameters

A new button in the stubs section automatically inserts names of function parameters from debug information:

Misc

– Function names in drop down lists and completion proposals are always sorted now.

– Cancel button in test execution progress monitor can stop the target, so it is no longer necessary to stop the target in winIDEA, when the function under test cycles in an endless loop.

(c) iSYSTEM, January 2016 8/94

9.12.29 (04.06.2012)

Evaluator configuration can be specified in testIDEA

(Professional version)

Evaluator configuration defines how numbers are displayed in winIDEA watch windows, and also how testIDEA shows values of expressions after test. Evaluator can be configured in winIDEA, but sometimes we want to have output format defined by test specification, not current winIDEA settings. This can be done in a new testIDEA properties page:

(c) iSYSTEM, January 2016 9/94

9.12.33 (15.06.2012)

Automatic test ID assignment

(Professional version)

testIDEA can automatically assign testIDs to test specifications. Format of testIDs can be set in project properties (command File | Properties):

(c) iSYSTEM, January 2016 10/94

The format string can also be set using wizard:

Test IDs can be set by using command Tools | Set Test IDs, context menu command in test tree, or when creating new tests:

More information can be found in online help, section Task | Automatic test ID assignment.

(c) iSYSTEM, January 2016 11/94

9.12.34 (22.06.2012)

Target initialization sequence for each test case

To specify target initialization steps to be executed before each test case, run command File | Properties | Test Case Target Initialization:

(c) iSYSTEM, January 2016 12/94

9.12.35 (26.06.2012)

More flexible specification of stop address

Stop address in run configuration (see field Stop on function/expr. below) can now be any expression which evaluates to address, which means not only function names, but also labels and literal values are accepted.

(c) iSYSTEM, January 2016 13/94

9.12.38 (23.7.2012)

Text angle in Excel files

(Professional version)

When exporting test cases to Excel files, it is now possible to specify angle of text for identifier names.

9.12.40 (8.8.2012)

Improved dialog for ID generation

Format for automatic test ID generation can be set also in the updated Set test IDs dialog:

(c) iSYSTEM, January 2016 14/94

9.12.44 (31.8.2012)

Perl script generation

(Professional version)

testIDEA can generate Perl test scripts. Output script language can be selected in the Tools | Generate Test Script dialog. Perl SDK version 9.12.45 or later must be installed. Limitation: Perl scripts can not execute Python script extensions from test specifications.

(c) iSYSTEM, January 2016 15/94

9.12.46 (6.9.2012)

XML Schema for reports

XML Schema was added for testIDEA reports. Full reports and errors only reports are supported. XML file format for test reports has been simplified.

Schema files are distributed with all SDKs in folder itest.

(c) iSYSTEM, January 2016 16/94

9.12.47 (14.9.2012)

Most recently used files

The list of most recently used files (menu File | Open Recent) has been reversed, so that it matches convention used in most other applications.

Always open the most recently used test specification file

A new preference setting has been added, which instructs testIDEA to open the last opened test specification file, and ignore the one proposed by winIDEA, when it opens testIDEA. The setting is located in Tools | Preferences | testIDEA | User Interface.

(c) iSYSTEM, January 2016 17/94

Performance improvement

Test execution is about 25% faster in this release of testIDEA. The improvement is smaller if stubs or scripts are used.

Initialization of local variables

This setting is available in winIDEA, menu Test | isystem.test Options. If it is enabled, all local variables are initialized to 0 before test.

(c) iSYSTEM, January 2016 18/94

Meta page

To enable entering of extended multi-line test descriptions, several input fields have been moved from the Function section to the new Meta section. The test specification syntax has not changed.

(c) iSYSTEM, January 2016 19/94

9.12.48 (21.09.2012)

New run option 'Disable interrupts'

The Run Configuration dialog has new check box Disable interrupts. If checked, testIDEA configures winIDEA to disable all interrupts during testing. This way we can avoid test failures because of unexpected interrupts.

(c) iSYSTEM, January 2016 20/94

9.12.49 (28.09.2012)

Wizard for script extensions

(Professional version)

To simplify implementation of script extensions, a new wizard has been implemented. It configures testIDEA, and also creates an initial script file. It is accessible with menu command Tools | Script Extensions Wizard. See also online help, section Tasks | Writing script extensions.

(c) iSYSTEM, January 2016 21/94

9.12.50 (5.10.2012)

Import/export for CTE implemented

(Professional version)

TestIDEA can now export and import data in CTE format. The new export dialog and example test cases exported to CTE are shown below.

(c) iSYSTEM, January 2016 22/94

(c) iSYSTEM, January 2016 23/94

9.12.72 (4.1.2013)

Performance improvements

winIDEA refresh is disabled during test run, except when running tests in testIDEA debug mode. This speeds up test execution (exact numbers depend on target).

9.12.73 (9.1.2013)

Stub steps implemented

It is now possible to specify stub assignments for each call of the stubbed function. Stub return value, function parameters, and global values can be used in assignments. Parameters for script extension can also be specified for each call.

(c) iSYSTEM, January 2016 24/94

Explicit inheritance for stubs

Derived test cases inherited settings from base test case automatically, if the derived section is empty. This may be inconvenient, when we want to have empty section in derived test case. To enable explicit usage of inheritance, there is a new flag in the stubs section:

The default setting implies inheritance of the section with existing rules – when it is defined in base test case but not in derived test case.

This feature will be added to other test sections in the next releases of testIDEA.

(c) iSYSTEM, January 2016 25/94

9.12.78 (25.1.2013)

User Stubs

(Professional version)

User stubs are stubs implemented as replacement functions on the target. These functions will not be used during normal execution, but can be used during testing. User stub in testIDEA means replacing an original function with a call to another function on target. This way we get real-time test execution speed, but the code on the target has to be extended with additional functions.

(c) iSYSTEM, January 2016 26/94

9.12.81 (29.01.2013)

New data added to export files

(Professional version)

The following data is now also exported:

– Meta section (test ID, description, and tags)

– Coverage run mode and rangeset

(c) iSYSTEM, January 2016 27/94

9.12.82 (6.2.2013)

Drag and drop improved

It is now possible to drag and drop:

– test cases between two instances of testIDEA

– file from Windows Explorer to testIDEA tree view

Coverage statistics was extended

(Professional version)

The following changes were implemented in coverage statistics section:

– source line statistics was added, but the data is not yet available from winIDEA, so this setting can not be used at the moment.

– branches were renamed to conditions

(c) iSYSTEM, January 2016 28/94

Ids of base tests added to test report

It is now possible to see which base test cases the test case in test report derives from. Base test cases are specified in field Base tests as path, where items are separated by '/'.

We can see, that this test case is derived from test case with ID test-26.

(c) iSYSTEM, January 2016 29/94

9.12.83 (7.2.2013)

Skip stubs

(Professional version)

User stub have another type of stubs called skip stubs. For skip stubs testIDEA puts return instruction at the beginning of stubbed function. This kind of stubs can generally be applied only to void functions, because return value and output parameters are undefined when skip stubs are used.

(c) iSYSTEM, January 2016 30/94

9.12.84 (11.2.2013)

Look and feel for Excel exports

(Professional version)

Export dialog now contains additional controls for L&Fconfiguration when exporting data to Excel tables:

(c) iSYSTEM, January 2016 31/94

(c) iSYSTEM, January 2016 32/94

9.12.108 (6.6.2013)

Coverage Export

(Professional version)

Export of coverage data can be more fine tuned now, see Export configuration on the image below:

(c) iSYSTEM, January 2016 33/94

Test Points

(Professional version)

It is now possible to measure and inspect target state inside functions during unit tests. Global variables, local variables, registers, … can be inspected at any point inside function, where breakpoint can be set. This mechanism can also be used for fault injection.

The setting on image below sets test-point on source code line with comment text TID: testPoint-1. When the test-point is hit, it logs value of variable loopCounter, verifies value of variable inputA, and sets it to value 357. Then the test execution continues.

(c) iSYSTEM, January 2016 34/94

9.12.109 (14.6.2013)

Stack Usage

(Professional version)

testIDEA can now measure how much stack has been used during tests, and compare that value to the specified maximum value. If more stack was used than allowed, test fails.

(c) iSYSTEM, January 2016 35/94

9.12.116 (16.7.2013)

Stubs section with logging and expressions

Test specification for stubs now supports logging of variables and expressions for state verification, similar to test points. This way we can log values of variables when stub is hit and store them to test reports for future reference.

If we expect some conditions to be met when stub is hit, for example value of variable to have specific value, we can define expression which should evaluate to true for test to pass.

(c) iSYSTEM, January 2016 36/94

9.12.123 (3.9.2013)

System tests

(Professional version)

The isystem.test technology has been expanded to support also system tests. With unit tests the execution always starts at function entry and stops at exit of the same function. System tests do not have such limitation. Test start and end can be defined with breakpoint, timeout, or real-time expression. All unit test functionality (stubs, analyzers, test points, …) is supported.

(c) iSYSTEM, January 2016 37/94

9.12.124 (10.09.2013)

New status icon for defined but inactive sections

If section contains data, but it is not used during test, it has a special icon now, seethe Test Points section below. This icon can appear for sections Stubs, User Stubs, andTest Points if all stubs or test points in a section are inactive. It can also appear for sections Coverage, Profiler, and Trace, if analyzer is not started (run mode is set to Off).

New editor page created for expected expr. and stack usage value

The new section has been created so that the table with expected expressions is larger, and expressions and stack measurements can be used also with system tests.

(c) iSYSTEM, January 2016 38/94

Selection of test scope added to the 'New test' dialog

Test scope (unit or system test) can now be defined when creating a new test.

(c) iSYSTEM, January 2016 39/94

9.12.126 (17.9.2013)

Inheritance control added to all sections

In previous versions of testIDEA test case sections were automatically inherited from base test case, if derived test section was empty. This was inconvenient, when the derived test section should be empty. Now all test sections have a tri-state check-box to indicate inheritance. By default the behavior is the same as in previous versions of testIDEA, but by clicking the new check-box, inheritance status can be changed. Inheritance control is now also more fine grained.

(c) iSYSTEM, January 2016 40/94

9.12.127 (24.9.2013)

Resume button was removed from Coverage section

It was replaced by combination of Start run mode and Append open mode. This removes redundant combinations of coverage run and open modes.

(c) iSYSTEM, January 2016 41/94

9.12.130 (27.9.2013)

Macros are shown in content proposals

Macros are available in content proposal when entering function parameters, initializing test local variables, and writing expected expressions.

9.12.137 (12.11.2013)

Stack usage is measured even if limit is not specified.

If stack usage measurement is configured in project properties, then the amount of stack used during test is available in Expected section if the limit is not specified.

(c) iSYSTEM, January 2016 42/94

9.12.141 (11.12.2013)

Analyzer can perform trace, coverage and profiler analysis in the same run

(Professional version)

In previous versions one had to run the same test twice to get coverage and profiler measurements. Now both data is available with single test run, including trace recording.

Because of the new underlying data structures, the analyzer section in testIDEA has also been redesigned. Settings common to trace, coverage, and profiler are now available in new Analyzer section (document name, trigger name, ...). This section now contains Trace, Coverage, and Profiler as subsections.

The existing test specification files are automatically converted to new format.

(c) iSYSTEM, January 2016 43/94

Profiler section expanded with all times available in profiler statistics

(Professional version)

Profiler statistics information has been expanded in winIDEA recently. To reflect these improvements in testIDEA, all available information is now visible in profiler statistics section and expected limits can specified for each measurement.

(c) iSYSTEM, January 2016 44/94

Export / Import to Excel was redesigned

(Professional version)

Until this version of testIDEA only tests sections which were most convenient for table editing were exported to XLS and XLSX files. This approach avoided redundant columns in Excel table, but some sections needed by advanced users were missing. To overcome this problem, export/import has been redesigned. Header in Excel table is different now, and users can select which sections to export and also set colors for sections Excel table. Please note that sections which are not empty are exported regardless of user settings to avoid information loss during export/import process. With this version of testIDEA you can not import Excel files exported with older versions of testIDEA.

(c) iSYSTEM, January 2016 45/94

9.12.144 (20.12.2013)

Quoting of expressions with symbols is no longer required in testIDEA

testIDEA uses YAML format for test specification files, where some symbols have special meaning and have to be quoted. So far testIDEA automatically added quotes in such cases and quotes were shown in input controls. Now quotes are still automatically added by testIDEA, but they are no longer shown in input controls, and they should also not be added manually.

For example, list of function parameters:

*x, &p

now appears without quotes in testIDEA.

In some cases quoting in YAML files had to be modified. This conversion is done automatically by testIDEA.

(c) iSYSTEM, January 2016 46/94

9.12.145 (14.1.2014)

On connect command, new dialog presents user all running winIDEA instances

Previous versions of testIDEA, which were not started from winIDEA, always connected to the most recently used winIDEA. Since this is not always what the user wants, testIDEA now opens a dialog with all running instances of winIDEA, and also provides button to start a new instance. If running instance of winIDEA with matching workspace and version is found, and there is only one such instance, connection is made automatically. When the dialog should be shown regardless of running instances, press and hold down SHIFT key when clicking the Connect toolbar button.

(c) iSYSTEM, January 2016 47/94

Verification of target state before test run can be disabled

When target initialization in dialog File | Properties | Run Configuration specifies stop function, testIDEA checks target before running tests, if it is really stopped on that function. If not, it pop-s up a dialog, where user can initialize the target. While this functionality is useful for unit tests, it may not be wanted for system tests. The configuration page and the pop-up dialog now contain check box for disabling/enabling the state verification:

(c) iSYSTEM, January 2016 48/94

Persistent variables

(Professional version)

In testIDEA it is possible to define test local variables, which can be used as function parameters. However, these variables exist only for the lifetime of one test case. When we want to use result or side effect of one test case for the next test case, more permanent storage is needed. Now it is available in testIDEA as persistent variables. As the name implies, persistent variables are not cleared after test case end, so they can be used as data storage between test cases. Since they are not deleted automatically, we have to specify when they are no longer needed and may be deleted.

Declarations and removals of persistent variables are specified in new testIDEA editor section:

Initialization of persistent variables can be done in Variables section.

(c) iSYSTEM, January 2016 49/94

9.12.158 (11.3.2014)

Multi-core tests

(Professional version)

When target has multiple cores, we can specify for each test case on which core it has to be executed. testIDEA connects to all configured cores and runs tests on designated cores. This setting is not used only for execution, but also for lists of global symbols used by content assist.

Configuration of core IDs, which are then used in test cases is done in project properties dialog (File | Properties). The first name in comma separated list is used as ID for core with index 0 (primary core), the second one for core with index 1, ...

(c) iSYSTEM, January 2016 50/94

Each test case now also contains core ID. If it is empty, primary core is used as default.

(c) iSYSTEM, January 2016 51/94

More flexible init sequence

With more than one core in a target, initialization sequence becomes more complex. To match these demands, it is now specified as sequence of actions.

As we can see, the number of steps in initialization sequence is not predefined, and each action has core ID specified. If there is no core ID specified, action is executed on primary core. Table tooltip contains description of all available actions and their parameters.

(c) iSYSTEM, January 2016 52/94

Stack usage configuration

(Professional version)

Configuration for stack usage measurement can be specified for all cores.

Test results are shown immediately during testing

Test results in Status view are now visible for each test immediately when it completes. This way we can spot failed tests immediately and interrupt testing to fix the problem.

(c) iSYSTEM, January 2016 53/94

Numeric results are shown in decimal and hexadecimal format

Values of variables in section Expected are shown in both formats. If format specifiers are used, behavior is unchanged – only the specified format is used.

(c) iSYSTEM, January 2016 54/94

Values of variables are shown also for expressions which evaluated to true

For complex expressions in the section Expected it is useful to see also values of variables used in expressions which evaluated to true, not only failed ones. testIDEA shows them now in the same way as for failed expressions.

(c) iSYSTEM, January 2016 55/94

Test sections for system tests were renamed

System tests have two additional sections called Begin stop condition and End stop condition for initializing the target and stopping it to end the test. For improved clarity they were renamed to Init test and Stop test respectively.

Python extension script template was updated to Python 3.3 syntax

Python code generated by testIDEA can be used either by Python 2.7 or Python 3.3. We recommend Python 3.3 or later for all new projects.

(c) iSYSTEM, January 2016 56/94

Test report presents test status as Passed, Failed or Error

Tests can fail mainly for two possible reasons – either results do not match expected, or there were no results because test did not execute since there were other kinds of problems. The last two cases are now marked in test results as Fail and Error respectively.

(c) iSYSTEM, January 2016 57/94

9.12.168 (2.6.2014)

Eclipse plug-in

(Professional version)

With this release, testIDEA can also be used as Eclipse plug-in. This means that standalone testIDEA is still available, but if you are using Eclipse for development, you can develop and test within one application. Since Eclipse contains more features, which can be used by other plug-ins, testIDEA in Eclipse has some additional features not present in standalone testIDEA.

IMPORTANT: Users of previous versions of testIDEA may get changed UI layout when starting this release. One possible solution is to delete .metadata directory in workspace directory of testIDEA, or update to version 9.12.169 and select command iTools | Reset test view.

Plug-in specific features

testIDEA Perspective

testIDEA Eclipse plug-in defines testIDEA perspective, which offers layout very similar to standalone testIDEA. To open this perspective, run main menu command Window | Open Perspective | Other, and select testIDEA perspective:

Although editing can be done in all perspectives, the testIDEA perspective is recommended in most cases when dealing with tests, especially for running.

(c) iSYSTEM, January 2016 58/94

Launch configurations

Eclipse launch configurations support execution of groups of testIDEA iyaml files. This way we can run tests from several files with a single action. These files do not need to be opened in Eclipse editors.

The first page contains list of files, which contain tests to be run:

The first column defines, how to initialize target before running tests from the selected file - init sequence can be taken from the file, it can be skipped, or init sequence specified in this launch configuration can be used.

(c) iSYSTEM, January 2016 59/94

The second page contains target init sequence for this launch configuration. It is used, when Launch configuration is selected as Test Init Source in the table above:

When tests are run with launch configurations, they are read from file, not editor. It is recommended to save all editors before running tests.

If report configuration in selected files is empty, then blue style-sheet is selected as default.

(c) iSYSTEM, January 2016 60/94

Common features

Multi-document interface

This version of testIDEA brings one major functionality and several changes in the UI.

New feature

Editing of several test files in one instance of testIDEA is possible now. Each file gets its tab in editor section of the window:

Changes

Due to integration with Eclipse, some minor changes in UI were necessary (see red numbers in the image below):

1. Color of test run icons was changed from green to blue, and small letter T was put into bottom left corner. This way these buttons are easy to distinguish from standard eclipse launch buttons. These buttons run tests in the selected test editor, and do not use launch configurations.

(c) iSYSTEM, January 2016 61/94

2. Menu Run was renamed to Test.

3. Menu Tools was renamed to iTools.

4. Commands File | New Test, File | New Derived test, and File | New test from template were moved from File menu to Test menu.

5. Command File | Save Test Report was moved from File menu to Test menu.

6. View Test Tree was renamed to Outline view.

7. Export and Import commands are now also available in toolbar of the Outline view. This is handy in Eclipse, where File | Export and Import command requires few more steps to select the right export wizard.

8. Since there can be more than on file opened at the same time, the File | Properties command shows properties of the currently selected editor.

IMPORTANT: Because types and names of views have changed significantly from the previous version, testIDEA may hide some views when trying to restore your previous layout. If this happens, please select main menu option iTest | Reset test view.

(c) iSYSTEM, January 2016 62/94

9.12.179 (1.8.2014)

Absolute paths to analyzer export files in test report

Links to analyzer export file can be made absolute. This way they are valid even if test report file is moved to other location on local host.

Class Monitor has got new method setTestInfo(self, **kwargs)

This class is used when running tests from Python. The method is called for each test case to be executed, with parameter named testCase, and value of type CTestSpecification.

This method is optional.

(c) iSYSTEM, January 2016 63/94

Existing configuration in analyzer file can be used in testIDEA

testIDEA normally configures analyzer according to areas defined in test case. With this option user can configure analyzer in winIDEA, and use this configuration when running tests in testIDEA.

Timeout for test execution

If test does not end before the given timeout, testIDEA stops execution and continues with the next test. Timeout can be specified for each test case individually, or global timeout can be set in project configuration.

(c) iSYSTEM, January 2016 64/94

Program exceptions can be tested

It is now possible to specify, that exception thrown on the target is an expected test result. Exception object is stored into testIDEA internal variable called isystem_test_exception, which can be evaluated to check expected values..

(c) iSYSTEM, January 2016 65/94

IMPORTANT: Because types and names of views have changed significantly from the previous version, testIDEA may hide some views when trying to restore your previous layout. If this happens, please select main menu option iTest | Reset test view.

(c) iSYSTEM, January 2016 66/94

9.12.190 (21.9.2014)

Logging

Target variables can now be logged before test starts and after test starts. These values are also written to test report.

(c) iSYSTEM, January 2016 67/94

Pre-Conditions

This section contains expressions, which should evaluate to true, before the test execution starts. It can be used to terminate test early, when target state is not valid for test run, for example when value on target input is not correct. Troubleshooting is also easier, if we know the primary reason for test failure.

(c) iSYSTEM, January 2016 68/94

Host-variables

testIDEA now provides variables, which are stored on host (PC). They can be defined with

${<varName>}

for example:

${myVar}

Variable type is always string. Assignments can be done in Variables section. Their scope are all derived tests cases, and test cases which have the same parent test case, and are executed after test case defining a host variable. They can be used to store information between tests, and to provide better configurability of tests.

See testIDEA online help, section Concepts | Host variables for more information.

Improved dialog for creation of new test case

The dialog now supports entering of expected function return value without expression. Expression is automatically generated for default return value variable name.

(c) iSYSTEM, January 2016 69/94

9.12.201 (14.11.2014)

Overloaded functions

To specify which of overloaded functions has to be tested, add list of parameter types to function name, and put everything inside double quotes. For example:

"Vehicle.cpp"#"testOverloads(long,long)"

testIDEA offers content proposals with parameters for overloaded functions.

decltype_ref

When we want to create a variable of the same type as function parameter, which is of type C++ reference, we can use the new declaration decltype_ref. See testIDEA online help, section Concepts | Test Case Editor | Variables for more details.

(c) iSYSTEM, January 2016 70/94

9.12.202 (19.11.2014)

Test Case ID added to file name in CTE export

When exporting test case to CTE file, test case ID is automatically prepended to export file name. This way it is easier to follow which export/import file belongs to which test case, because CTE supports only one classification tree per file.

Content proposals modified

When typing function or variable name in testIDEA, it usually opens window with proposals. The list of proposals now includes all names which contain the typed string, not only start with it. Proposals, which start with the typed string are put on the top of the list. For example, if we've typed string str, content proposals may now look like:

strcpystrcmpstrtokdelstrsplitstr

Only the first three items were shown by the old content proposals algorithm.

(c) iSYSTEM, January 2016 71/94

Test case generator

testIDEA's Test Case Generator can be used to quickly generate set of test vectors with different inputs. Set of inputs is specified with a wizard, which is started with command iTools | Generate Test Cases … See testIDEA help section Tasks.

Test case generator may help with test case creation, but it should not be used blindly. Test designer should understand the function under test and make sure that relevant test cases are present. Machine can help humans with test design, but can not replace them!

(c) iSYSTEM, January 2016 72/94

Dry runThis functionality can be used to record behavior of existing and tested target code before we modify it. With test case generator we create a set of test cases, then we use dry run to record state of target. testIDEA remembers this state (for example function return value and values of variables) by modifying test cases so that this information is stored and can be used in next runs.

See testIDEA help section Tasks | Using test Case Generator and Dry Run for details.

(c) iSYSTEM, January 2016 73/94

9.12.208 (8.12.2014)

Coverage based test vector optimization

When coverage is the main test requirement, we can use testIDEA command Tools | Optimize Test Vectors to select test cases, which did not increase coverage. Then we can decide whether to delete them or to move them under some other base test case, which is executed less frequently.

The recommended way to use this feature:

1. Select a base test case, which has derived test cases for the same function and with coverage section defined.

2. Select command Test | Run Selected And Derived to execute test cases.

3. After tests finish execution, and still with the base test selected, execute command iTools | Optimize Test Vectors.

4. Decide what to do with the selected test cases.

(c) iSYSTEM, January 2016 74/94

9.12.211 (8.12.2014)

Test-point script extensions can be generated with Script Extensions Wizard

A new wizard page for test points has been added:

Improved import from Testona

Testona import now supports comments from Testona file. It is also possible to define user classifications in Testona, however user classifications are skipped on import, so they are not preserved on export.

(c) iSYSTEM, January 2016 75/94

9.12.212 (18.12.2014)

Tables for expressions and pre-conditions were replaced with more user friendly tables.

Buttons Add, Delete, Up, and Down were replaced with in-table icons, comment icons are located in the cell now.

+ 22.12.2014 Triggering of content proposals are now configurable, default proposal can be configured as empty.

testIDEA

Description: Two new entries are added to User Interface preferences page. Content proposals can be triggered on Ctrl-Space or any alpha character (old behavior).

(c) iSYSTEM, January 2016 76/94

Test points can also be set at address.

This feature may be used to set test points when sources are not available.

(c) iSYSTEM, January 2016 77/94

9.12.218 (20.1.2015)

Diagrams section added

testIDEA can now draw sequence diagram, call graph, flow chart, and custom diagrams. Diagrams can also be included in test reports. See testIDEA online help for more information.

Working directory for test reports has changed

Test reports are now saved relative to directory of iyaml file, if relative report file path is specified. It used to be saved relative to directory of testIDEA executable.

(c) iSYSTEM, January 2016 78/94

9.12.223 (12.2.2015)

Menu command to disable analyzer added.

If analyzer can be run in slow run mode only, then creation and debugging of tests (parameters, stubs, expressions, ...) without analyzer is much faster. This option can be used to temporarily disable analyzer in such cases.

(c) iSYSTEM, January 2016 79/94

9.12.225 (20.2.2015)

Improved flow chart

Nodes are colored, shapes reflect op code type, addresses of jumps and calls provide more information.

(c) iSYSTEM, January 2016 80/94

9.12.232 (27.3.2015)

The order of setting of breakpoints for stubs and test-points can be controlled by user script

Tests for targets with less HW breakpoints than needed by test, can now use script to remove breakpoint for the previous stub or test-point, and set one for the next stub or test-point.

See testIDEA online help Concepts | Test Case Editor | Stubs for detailed description of this feature and an example.

(c) iSYSTEM, January 2016 81/94

9.12.225 (10.04.2015)

Test result comment for each test case

After test run and before saving the report, we can enter special comment related to this specific run. It is saved to test report, but not to iyaml file.

Script Extensions wizard has better error reporting, it also sets script timeout

If script file name is invalid or class name is missing, error message is printed.

Timeout in script preferences is set to default value of 10 seconds if current value is 0.

(c) iSYSTEM, January 2016 82/94

9.12.234.0 (20.04.2015)

Wizard for assignment of analyzer file names

Command iTools | Set Analyzer file Names opens the following dialog:

(c) iSYSTEM, January 2016 83/94

9.12.239 (13.05.2015)

Dialog for of test case filtering now produces results on the fly

Test cases to be executed or merged are shown in the right pane immediately when user modifies filter parameters.

Filtering algorithm has also changed – included functions are no longer an exception, but they are used for further filtering:

(c) iSYSTEM, January 2016 84/94

9.12.240 (19.05.2015)

Coverage merging implemented

In the Coverage section we can now specify test cases with coverage files we want to merge. It is no longer required to use append mode for coverage.

(c) iSYSTEM, January 2016 85/94

9.12.251 (10.08.2015)

Support for test results in JUnit format for Jenkins server

When generating test script (menu iTools | Generate Test Script …) it is possible to select saving of report from script in JUnit format from testIDEA dialog. This format is recognized by Jenkins server, which can then include testIDEA test results to its reports.

(c) iSYSTEM, January 2016 86/94

9.12.253 (28.08.2015)

Verification of test cases before run

testIDEA can verify if symbols used in test cases (functions, global variables, types) match those from the download files. This verification can be triggered by selecting menu command iTools | Verify Symbols, but in this release of testIDEA you can configure testIDEA to verify symbols always before test execution:

If symbols don't match, a pop-up dialog is shown.

(c) iSYSTEM, January 2016 87/94

Improved generation of test Ids

When copy-pasting test cases, test ID was preserved, so duplicate test IDs appeared in the file. Now you can configure testIDEA to generate new test ID on paste:

(c) iSYSTEM, January 2016 88/94

9.12.254 (3.09.2015)

Gross time was removed from Profiler Data section

It is equal to Net time and therefore provided no new information.

Section Variables was redesigned

Declarations and initializations were separated to two tables, editing in tables has been improved by providing content proposals also for test local variables.

(c) iSYSTEM, January 2016 89/94

9.12.255 (14.09.2015)

Wizard for adding complex types to Variables initialization section

If you have to initialize a variable of complex type in test case, then you can use the new wizard to get tree with check-boxes for all type members. Use the new button in Variables section to open the wizard.

(c) iSYSTEM, January 2016 90/94

(c) iSYSTEM, January 2016 91/94

9.12.257 (22.09.2015)Option Ignore unreachable code added to coverage section.

If checked, then the code inside the function which is not reachable by sequential or (conditional) direct branch flow is not considered for coverage statistics.

9.12.259 (14.10.2015)testIDEA support for S12 with IAR compiler V4.10.1.354 added.

(c) iSYSTEM, January 2016 92/94

9.12.268 (17.12.2015)

Image and customizable header implemented for test reports

User can specify path to image, for example company logo, to be shown in test report header. Text in report header can also be specified.

(c) iSYSTEM, January 2016 93/94

Test Environment specified for test report is more customizable

The dialog for saving test reports now contains table for setting custom attributes. Default values, for example current date and time can be specified by using variables ${_date} and ${_time}. Variable ${_user} contains user-name taken from operating system.

(c) iSYSTEM, January 2016 94/94