Development Testing Platform

This release of DTP provides enhancements in several areas with a continued focus on managing the risk introduced due to changes in the code base:

  • Addition of Static Analysis results in the Change Explorer
  • Support for rule customization in the Test Configuration interface (i.e., Rule Maps)
  • Enhancements to management of results and coverage data for different testing techniques
  • Usability enhancements to DTP dashboards and administration interface
  • Combined PIE and Policy Center into a single DTP Enterprise Pack for scalable deployment intelligent analytics.
  • Introduction of new REST APIs for managing Filters and defining Resource Groups

Understanding the Context of Changes with the Change Explorer

The Change Explorer view (introduced in 5.3.1) enables developers to quickly review changes in the code base directly in DTP and independent of the source control system. In contrast to traditional peer-review systems, the Change Explorer provides greater insights about the evolution of your code by using additional data aggregated by DTP to provide context around change. The Change Explorer now overlays static analysis violations so you can quickly see violations in the context of the code changes. This enables you to pinpoint the introduction of new violations, identify when violations were fixed, or verify that there has been no change with regard to static analysis violations violations.

Flexible Rule Customization

Deploying static analysis to achieve compliance with internal or industry specific standards (e.g. MISRA C 2012) often requires reported violations to be mapped and categorized according to the appropriate standard. Rule maps enable you to change the properties of static analysis rules executed by DTP Engines, such as severity and category, and associate them with test configurations. The Test Configurations interface has been extended to support multiple rule maps, which provide a simple way to implement policies that are important to your organization. Additionally, the rule map configuration interface has been enhanced to make customizing static analysis reporting more intuitive. See Rule Maps for details.

Managing and Merging Test Results and Coverage

Merging and correlating coverage and test data across testing techniques is a key DTP capability. Merged correlated coverage provides a complete view of testing coverage, regardless of how the test was performed.

DTP uses the concept of "coverage images" to identify the coverage data associated with a test run. Coverage images are linked to a filter so that the coverage data can be viewed in a dashboard. DTP 5.3.2 enables you to associate multiple coverage images with a filter, giving greater flexibility to define the aggregation and segmentation of coverage data in different ways. For example, you can associate coverage from unit, functional, and regression tests with separate images within a filter and view the breakdown of the coverage in a single widget. See Associating Coverage Images with Filters for details.

In addition to supporting multiple coverage images, DTP include more granular test result categorization capabilities. The Test Explorer and each of the Test widgets can now differentiate unit, function, manual, and other testing types, as well as aggregate them into a single data set.

DTP Dashboard and Administration Enhancements

  • Updated layout for the “MISRA C 2012” dashboard template
  • New ‘MISRA Compliance Reports’ available in the Parasoft Marketplace as part of the MISRA C 2012 qualification kit.
  • DTP Dashboard URLs have been updated to enable easier sharing and reuse--allowing you to set a filter selection directly with s query string (e.g., http://<dtp_server>/grs/dtp/dashboards/1006?filterId=78).
  • The Report Center Administration interface has a new interface for managing and creating filters.

DTP Enterprise Pack (formerly PIE + Policy Center)*

DTP Enterprise Pack combines the Process Intelligence Engine (PIE), Policy Center, and custom DTP Workflows into a single framework. At the core of the Enterprise Pack is the Extension Designer (formerly PIE Slice Designer)), which provides a consolidated interface for creating and managing PIE Slices, DTP Workflows, and Policy Center Practices.

See DTP Enterprise Pack for details.


SDLC Analytics with Extension Designer

Extension Designer provides an interface for creating and managing standalone snippets of data processing logic, called “workflows” or “slices”, that provide visibility into potential problem areas within the code, as well as potential problematic processes. 

Extension Designer 5.3.2 leverages the latest Development Testing Platform APIs, as well as APIs from third-party systems (e.g., JIRA), to query data for processing and generate reports.

This release also features a consolidated interface for Enterprise Pack extensions (PIE Slices, DTP Workflows, and Policy Center practices) and simpler integration with Policy Center and DTP.

See Extension Designer for additional information.

New and Updated Extensions

This release includes updates to the following artifacts:

PIE Slices

  • Change Based Testing: Enables organizations to efficiently reduce risk by focusing on the tests that need to be re-executed due to changes in the code base, rather than the whole test suite.
  • Risky Code Changes: When code changes it represents risk, this slice analyzes the changes in the code by looking at how maintainable the code is versus how well it is tested. The slice then assigns a risk level and shows the end-user how much "quality debt" exists.
  • Modified Coverage: Getting 100% coverage on the entire code base is impossible when you have a large legacy code base. But it is the new or modified code that represents the risk. By focusing on the changing code, this slice enables you to efficiently eliminate the risk associated with change.
  • Test Stability Index: Test stability is an ongoing issue for many organizations. Developers and tester know that unstable tests are going to fail from time to time, so they are ignored. But when there are thousands of tests, determining a failure associated with a legitimate problem is difficult. This slice helps remove the noise by scoring each test to categorize it’s stability. This allows teams to focus in two ways:
    1. Fix the "real failures" now, because this usually indicates you have an immediate problem/regression.
    2. Quantify which tests need to be stabilized.
  • Key Performance Indicator: The volume of static analysis violations is not always the best indicator of team performance. The KPI slice enables you to define multiple custom profiles that weight static analysis rules differently and calculate an overall score for that KPI.

DTP Workflows

  • Traceability Report: Provides a customizable Test Traceability widget and Requirement Traceability widget. Each widget drills down into interactive reports that help you understand how well requirements are being implemented and tested.
  • Static Analysis Violation Reporter for Atlassian JIRA: Provides an example of how to use the Atlassian JIRA importer to create and manage JIRA bugs and/or tasks for problems (e.g., static analysis violations or unit test failures) found during test and analysis.
  • Test Failures by Build: Creates a widget that lists DTP build IDs with dynamic analysis test failures.
  • DTP Build Review Workflow: Provides an example of how to automate the creation of Change Reviews (see Change Explorer for more details), as well as specify a user who will receive automated email notifications about the reviews created.
  • Export DTP Explorer Data to CSV: This workflow accepts any parameter URL from DTP's Test Explorer and Violations Explorer and generate a CSV output.
  • DTP File Based Licensing Report: If you are using a file-based DTP license, this workflow provides detailed information about your Parasoft DTP license consumption/usage.

Policy Center Practices

  • Code Coverage: Defines expectations around code coverage and ensures that an acceptable level of coverage is achieved.
  • Defects for JIRA: Defines expectations around the number of Bugs present in a JIRA project to ensure that large numbers of bugs are not left unattended.
  • Metrics: Allows you to monitor various code metric values by defining thresholds and aggregators.
  • Regression Test: Ensures that the number of acceptable regression test failures is within the specified threshold for the project.
  • Static Analysis: Ensures that static analysis violations that are considered high severity are remediated within an acceptable period of time.

See Extensions for DTP Enterprise Pack for additional information.

Enterprise Pack Node Changes

Upgrading from PIE 1.x to newer versions of Extension Designer requires a manual migration for its database and flows.

Endpoint Node

The Endpoint Node is new in this release. It exposes a service endpoint that encapsulates all the functionality necessary to create a full-stack web component. The node acts as an "http in" node, but the actual endpoint is abstracted from the user in place of a UUID. Instead the user focuses on choosing, or creating, the front end UI component that should be tied to the endpoint, as well as implementing the flow that will generate the data to drive the component. This abstracts the integration details away from the user and allows them to focus solely on the business logic.

Capability:

  • DTP Custom Widget: The node is used in this widget to automatically deploy to the DTP dashboard.
  • DTP Custom Report: The node is used in custom widgets that drill down into a DTP report or custom report. See Risky Code Changes for an example.
  • Policy Center Practice: The node is used to enable Policy Center practices.
  • General: The node can be used as a general REST API endpoint for third-party integration, CLI calls to export data, etc.

PIE Event In

Replaced by the Event In node in this release.

PIE Event Out

Replace by the Event Out node in this release.

DTP MQTT

Replaced by the Event In and Event Out nodes in this release.

Event In

The Event In/Out nodes are new in this release. They connect to Extension Designer’s own MQTT Event Broker and manage events between services or external components. It also subscribes to DTP’s event broker at startup, so you don’t need a separate DTP connection for subscribing to a DTP Event.

With architectural changes, internal PIE events are all replaced with custom events in the Extension Designer Event Broker.

Any DTP events can be used with the “DTP” group. Please refer to node info documentation for more information.

See Subscribing To DTP Events for details about DTP events.

Built-in PIE Events are no longer available. New and fixed violation event are deployable from the Extension Designer menu by choosing Import> Library> Common> Violation Events. Starting with DTP 5.3.0, the recurring violation event is no longer supported as a result of updates to the API.

Event Out

See Event In.

PC REST API (New)

This node is new in this release. It is used by Policy Center Practices (such as Policy Center Practice - Code Coverage) to enable interaction with Policy Center via the Policy Center REST API.

Model Settings

Replaced by the Profile Search node in this release.

Profile Search

The Profile Search node replaces Model Settings node. The properties did not change, but importing old flows from PIE Slice Designer (version 1.x) will cause an error.

Re-configure any flows that use the Model Settings node to use the Profile Search node.

Project Filter

Removed in this release. Use the lodash library in the function node to filter payloads. See The Function Node for additional information about the lodash library. See How to Update Violations Metadata for an example of lodash usage.

Violation Filter

Removed in this release. See Project Filter for additional information.

Violation Grouper

Removed in this release. See Project Filter for additional information.

Prioritization View

Removed in this release. This node is only compatible with the DTP REST API version 1.2 or older.

See the REST API documentation for additional information.

For additional information on how to set metadata, choose Import> Library> Examples> Static Analysis Prioritization and view the documentation.

Test Case Metadata

Removed in this release. This node is only compatible with the DTP REST API version 1.2 or older.

See the REST API documentation for additional information.

For additional information on how to set metadata, choose Import> Library> Examples> Dynamic Analysis Metadata and view the documentation.

PIE Mail

Replaced by the Mail node in this release.

Mail

Replaces PIE Mail node.

Additional Updates for Enterprise Pack

  • Creating Custom Widgets for DTPThe ready-to-deploy custom widgets shipped with PIE Slice Designer 1.3.x have been replaced in Extension Designer 5.3.2 with building blocks for creating your own custom widgets. See Creating Custom DTP Widgets Using Extension Designer for additional information.
  • Policy Center Practice deployment is integrated with Extension Designer, providing a single framework to manage all DTP extensions (Policy Center Practices, DTP Workflows, and PIE Slices).
  • Consolidated configuration UI for Policy Center and Extension Designer--no need to edit separate properties file to setup Policy Center
  • Unified startup script for the embedded database, Policy Center, and Extension Designer.
  • Extension Designer is now integrated into the common DTP UI framework, enabling easy access to the application from the DTP settings menu.
  • Extension Designer now allows you to manage multiple instances of “services” (see Important Concepts and Terminology).
  • New Event Broker to manage more robust events with multiple service instances. 

  • Enhanced Artifact Manager (see Downloading and Installing Artifacts). Installing an artifact automatically runs the  install-addon command when DTP is installed on the same machine as the same user.
  • New Endpoint, Components, Parameters node allow flows to provide custom widget and reports directly to DTP without copying files to DTP. 
  • Upgraded Infrastructure: 
    • Updated Node.js to 6.10.0
    • Updated MongoDB to 3.4.2
    • Updated Node-Red to 0.16.2

Updates to the REST API

The following updates were made to the REST API (see the changlog for details):

  • grs/api/v1.4/filters: A new set of APIs for creating and managing DTP filters.
  • grs/api/v1.4/filters/{id}/resourceGroups (BETA): New APIs for configuring resource groups on a filter. A resource group is a collection of resources (i.e. files and/or folders) defined by a set of one or more ANT file patterns. Resource groups are introduced in beta for 5.3.2 and will be GA in 5.3.3 with new widgets for static analysis results and enhancements to the Violations Explorer.

Resolved Issues

IDDescription
122043Confirmation dialog needed when uploading rulemap.xml


*  An Enterprise license is required.

  • No labels