This topic explains how to suppress static analysis violations in SOAtest. In this section:

About Suppressions

Suppressions are special markers that enable you to run a test or follow a code analysis rule while ignoring specific occurrences of the reported tasks. Suppressing tasks related to functional testing can reduce the amount of noise tests generate during early-stage testing or for cases when then certain steps are expected to fail. Suppressing tasks removes failures from the Quality Tasks view, but will not result in passing tests, nor will failures be removed from reports.    

Suppressions for static analysis enables you to comply with programming guidelines by defining exceptions that do not impact the critical parts of the application. Multiple tasks may be reported for a single code analysis rule, but you can apply a suppression if the rule is not applicable for a particular case. 

When you apply a suppression, a parasoft.suppress file is created in the same location as the test file. The suppression file includes information, such as which file has a suppression, the suppression author, and the reason for the suppression (see Manually Defining Suppression Files). Suppressed tasks are also removed from the Quality Tasks view. 

Suppression settings are independent of Test Configurations. The Test Configuration defines the scope of the test execution, coverage settings, and other features, as well as the set of rules that are checked during static analysis. Suppressions define which tasks associated with a failing test or reported by static analysis results should be visible in Quality Tasks view and reports. 

Suppressing Tasks

  1. Right-click on a reported task in the Quality Tasks view and choose Suppress Task.  


    You can also right-click on a node containing task (rule category, specific rule, file, etc.) to suppress all children tasks.
     

  2. Choose where you want to store your suppression(s) when prompted. Storing suppressions on Team Server is deprecated and disabled by default and will be removed in future versions. See Enabling Team Server Suppressions (Deprecated) for instructions. 
  3. Enter your reason to for suppressing the task when prompted and click OK.

The task will then be suppressed and moved from the Quality Tasks view to a suppression file. The file will be created in the same directory as the test file. To review the suppression, open the file in the SOAtest editor or any plain text editor. See Manually Defining Suppression Files for additional information about the content of parasoft.suppress files.

Manually Defining Suppression Files

You can manually build the parasoft.suppress file by creating a text file in the same location as the test file and include suppression information in the following format:

suppression-begin
file: <FILE>
message: <TASK MESSAGE>
reason: <REASON FOR SUPPRESSION>
author: <SUPPRESSION AUTHOR>
suppression-end

SOAtest does not distinguish test cases by ID. All tasks from the same .tst file with the same message will suppressed. The following example shows a suppression file containing two functional test step suppressions:

suppression-begin
file: com.parabank.login.tests_testParabank_parasoft_com202007301253532.tst
message: The value of the property "balance" has changed from "5022.93" to "-2692".
reason: The return value does not need to be tested
author: user1
suppression-end

suppression-begin
file: com.parabank.login.tests_testParabank_parasoft_com202007301253532.tst
message: The value of the property "id" has changed from "13344" to "12345".
reason: The return value does not need to be tested
author: user1
suppression-end

Enabling Team Server Suppressions (Deprecated)

Storing suppressions on Team Server, as well as the Suppressions view, is deprecated starting with SOAtest 2020.2. You can enable Team Server suppressions and view suppressions created with an older version of SOAtest from the Suppressions (Deprecated) view:

  1. Choose Parasoft > Show View > Suppressions (deprecated) from the main menu.
  2. Choose Enable deprecated suppressions from the ellipses menu.
     

Removing Suppressions

You can delete suppressions from the parasoft.suppress file to un-suppress a task. Re-run the test or analysis and the task will reappear in the Quality Tasks view.

If suppressions are stored on Team Server, choose a suppression and click the delete (X) button in the Suppressions (Deprecated) view. 

  • No labels