Parasoft Logo
LanguageArrow
 
.NET testing tools: Static code analysis, code review, unit testing

.NET Static Analysis, Code Review, Unit Testing

ResourcesEvaluation
Customers
Animation Customers
Partners
Animation Partners
Awards
Awards animation

Parasoft® .TEST: .NET Testing, Static Analysis, Code Review

Parasoft® .TEST is an integrated solution for automating a broad range of best practices proven to improve software development team productivity and software quality. .TEST facilitates:

  • Static analysis–static code analysis, data flow static analysis, and metrics analysis
  • Peer code review process automation–preparation, notification, and tracking
  • Unit testing–unit test creation, execution, optimization, and maintenance
  • Plugin testing–sets up the actual application execution environment and launches tests from it

This provides teams a practical way to prevent, expose, and correct errors in order to ensure that their .NET code (including C#, VB.NET, ASP.NET and Managed C++ ) works as expected. To promote rapid remediation, each problem detected is prioritized based on configurable severity assignments, automatically assigned to the developer who wrote the related code, and distributed to his or her IDE with direct links to the problematic code and a description of how to fix it.

Parasoft's customers, including 58% of the Fortune 500, rely on .TEST for:

  • Preventing errors that compromise security, reliability, and performance
  • Complying with internal or regulatory quality initiatives
  • Ensuring consistency across large teams
  • Increasing productivity by automating tedious yet beneficial development practices
  • Successfully implementing popular development methods like TDD, Agile, and XP
Customers
Animation Customers
Partners
Animation Partners
Awards
Awards animation
Parasoft .NET Quality Solution provides a fully-integrated suite for automating a broad range of best practices proven to improve software development team productivity and software quality.
Static code analysisFacilitates regulatory compliance (FDA, PCI, etc.). Ensures that the code meets uniform expectations around security, reliability, performance, and maintainability. Eliminates entire classes of programming errors by establishing preventive coding conventions.
Data flow static analysisDetects complex runtime errors related to resource leaks, NullReferenceExceptions, SQL injections, and other security vulnerabilities without requiring test cases or application execution.
Metrics analysisIdentifies complex code, which is historically more error-prone and difficult to maintain.
Peer code review process automationAutomates and manages the peer code review workflow- including preparation, notification, and tracking- and reduces overhead by enabling remote code review on the desktop.
Unit test generation and executionEnables the team to start verifying reliability and functionality before the complete system is ready, reducing the length and cost of downstream processes such as debugging.
Automated regression testingGenerates and executes regression test cases to detect if incremental code changes break existing functionality or impact application behavior.
Coverage analysisAssesses test suite efficacy and completeness using a multi-metric test coverage analyzer. This helps demonstrate compliance with test and validation requirements such as FDA.
Team deployment and workflowEstablishes a sustainable process that ensures software verification tasks are ingrained into the team's existing workflow and automated so team members can focus on tasks that truly require human intelligence.
Error assignment and distributionFacilitates error review and correction. Each issue detected is prioritized, assigned to the developer who wrote the related code, and distributed to his or her IDE with direct links to the problematic code.
Centralized reportingEnsures real-time visibility into quality status and processes. This helps managers assess and document trends, as well as determine if additional actions are needed for regulatory compliance.

Evaluation downloads are available upon request.

Technologies
SOA / Web services
Java
C/C++
.NET languages (C#, VB.NET, ASP.NET, Managed C++)
XML
WSDL
SOAP
PoX (Plain XML)
REST
JSON
BPEL
Web Applications
RIA
AJAX
JSP
JavaScript
VBScript/ASP
HTML
CSS
Multiple Message Protocols
WS-* Standards
UDDI
WSIL
MTOM(XOP) / MIME / DIME Attachments
HTTP 1.0, 1.1
HTTPS
TCP/IP
SMTP
.NET WCF (TCP, HTTP, WS Transaction Flow)
JMS
IBM MQ
Sonic MQ
TIBCO Rendezvous
EJB
RMI
CORBA
Customers
Animation Customers
Partners
Animation Partners
Awards
Awards animation
For a Printable Version, Click Here (231 KB PDF).
 
.TEST Data Sheet: .NET Static Analysis, Code Review, Unit Testing, Security
 

Comprehensive Code Quality Tools for .NET Development

Parasoft® .TEST™ is an integrated solution for automating a broad range of best practices proven to increase software development team productivity and software quality. Parasoft .TEST ensures developers that their .NET code works as expected by enabling coding policy enforcement, static analysis, and unit testing. Parasoft .TEST also saves development teams time by providing a streamlined manual code review process. Parasoft .TEST can be used both on the desktop as a Microsoft Visual Studio plugin and in batch processes via command line interface for regression testing.

Parasoft .TEST works with programming languages that target the Microsoft .NET Framework, including C#, VB.NET, ASP.NET and MC++ (Managed C++). It can test any file or assembly that has been built to take advantage of the .NET CLR. Moreover, it can test Web Site projects that are hosted in the file system or at an HTTP server.

Identify Runtime Bugs without Executing Software

BugDetective uses data flow analysis to detect runtime errors without requiring the software to actually be executed. This enables early and effortless detection of critical runtime errors that might otherwise take weeks to find. Defects detected include NullReferenceExceptions, ArgumentNullExceptions, resource leaks, division by zero, dereferencing before checking for null, SQL injections, XSS, and other security vulnerabilities.

Such defects may also point to loopholes in the design of the code for the specific use cases corresponding to highlighted execution paths. Reviewing the violations reported by BugDetective often leads to good coding conventions that can prevent defects from recurring.

Automate Code Analysis for Compliance

A properly-implemented coding policy can eliminate entire classes of programming errors by establishing preventive coding conventions. .TEST statically analyzes code to check compliance with such a policy. To configure .TEST to enforce a coding standards policy specific to their group or organization, teams can define their own rule sets with built-in and custom rules. .TEST includes 400+ rules that cover Microsoft's .NET Framework Design Guidelines, CLS Compliance, Object Oriented Metrics, Security, and more.

In addition to rules that examine the IL code, .TEST also provides rules that examine the C# source code; this enables .TEST to check for many code issues that cannot be identified by IL-level analysis (for example, formatting issues, empty blocks, misuse of operators, etc.). Custom IL-level and C# rules, which are created with a graphical RuleWizard editor, can also enforce specific project and organizational requirements and prevent the recurrence of application-specific defects after a single instance has been found.

Enable Effective and Comprehensive Team Code Review

The innovative Code Review module, which automates preparation, notification, and tracking of peer code reviews, addresses the known shortcomings of this very powerful development practice. .TEST automatically identifies updated code, matches the code with designated reviewers, and tracks the progress of each review item until closure. With the Code Review module, teams can establish a bulletproof review process—where all new code gets reviewed and all identified issues are resolved.

Automate Unit and Component Testing for Instant Verification and Regression Testing

.TEST’s automated testing capabilities significantly reduce the work required to develop and maintain an effective test suite. .TEST’s automated testing capabilities are especially helpful for supporting continuous integration and agile/iterative development.

.TEST automatically generates complete NUnit tests for any .NET language file or assembly. By using corner case conditions, these automatically-generated test cases check function responses to unexpected inputs, exposing potential reliability problems. Moreover, the generated test suite instantly establishes a baseline for regression testing, and can easily be extended to verify specific functionality that you want to verify. Collectively, these test cases establish a safety net that alerts you when modifications impact application behavior.

.TEST provides numerous ground-breaking technologies to facilitate unit testing, including:

  • Test Case Tracer: Tracks and visualizes how designated classes/methods are used as a running application is exercised. You can select which calls you want included in test cases (and in what order), then click a button to generate flexible NUnit tests that capture the precise functionality you want to validate. This significantly reduces the time and effort required to develop realistic functional tests.
  • Application hosted testing: Allows you to launch unit tests from virtually any point within your application—without changing your application or writing additional code. This lets you create complex objects in their natural environment and facilitates test development/maintenance.
  • Extensive coverage analysis: Tracks coverage information for all tests—from .TEST-based unit testing to manual application testing—and can combine the coverage information from multiple test runs. This helps you accurately gauge test suite efficacy and completeness, as well as demonstrate compliance with test and validation requirements.
  • Flexible stub support: Allows classes to be tested in isolation. This addresses one of the greatest challenges in writing unit tests: getting complex objects in different states.

Establish a Uniform Process Across the Team with a User-Friendly Workflow

An easy-to-use workflow and a good deployment strategy are both essential for making the above features work in real world development processes. .TEST’s support for team deployment standardizes testing team-wide and provides a sustainable workflow for integrating best practices into the team's existing processes—with minimal disruption.

The architect defines the team's designated test configurations, then Parasoft Team Server automatically shares them across all team .TEST installations. Developers can test code directly from Visual Studio to find and fix problems before adding it to source control. Additionally, .TEST Server can test the entire project code base each evening, then email reports to the manager and responsible developers if any problems are detected. Developers can then import results into Visual Studio to review and repair the errors reported for code they authored.

.TEST also sends information from these tests to Parasoft Report Center, which provides interactive Web-based dashboards with drill-down capability, allowing teams to track project status and trends based on .TEST results and other key process metrics.

Benefits

  • Increase team development productivity — Apply a comprehensive set of best practices that reduce testing time, testing effort, and the number of defects that reach QA.
  • Achieve more with existing development resources — Automatically vet known coding issues so more time can be dedicated to tasks that require human intelligence.
  • Build on the code base with confidence — Efficiently construct, continuously execute, and maintain a comprehensive regression test suite that detects whether updates break existing functionality.
  • Gain instant visibility into code quality and readiness — Access on-demand objective code assessments and track progress towards quality and schedule targets.
  • Reduce support costs — Automate negative testing on a broad range of potential user paths to uncover problems that might otherwise surface only in “real-world” usage.

Features

  • Static analysis of code for compliance with user-selected coding standards
  • Graphical RuleWizard editor for creating custom coding rules
  • Static code path simulation for identifying potential runtime errors
  • Streamlined code review process with a graphical interface and progress tracking
  • Automated generation and execution of unit tests
  • Generates functional unit test cases that capture actual code behavior as the application is exercised
  • Launches tests from the actual execution environment
  • Flexible stub framework for use in unit tests
  • Full support for regression testing
  • Code coverage analysis for unit testing and beyond
  • Full team deployment infrastructure for desktop and command line usage
  • Seamless integration with Microsoft Visual Studio

System Requirements

  • Windows Vista, Windows XP or Windows 2003 Server
  • 1GB memory minimum, 2GB recommended
  • 1GHz or faster processor
  • Visual Studio 2008, Visual Studio 2005, or Visual Studio .NET 2003
Customers
Animation Customers
Partners
Animation Partners
Awards
Awards animation

".TEST is a great product! It snaps right into VS 2005 as though it were part of the product and it greatly reduces errors by enforcing all your favorite rules. We have stuck to the MS Guidelines and we had to do almost no work at all to have .TEST automate our code analysis and generate the grunt work part of the unit tests so that we could focus ur attention on real test-driven development."

Bruce Gruenbaum, Principal Software Engineer
Progress Software


"Parasoft’s .TEST is one such product with which developers can automatically test their applications during the development phase with a single click. As opposed to the Visual Studio debugger, Parasoft .TEST is a tool that enforces coding standards rules and helps in generating and executing unit tests."

Anand Narayanaswamy, Editor
asp.netPRO Magazine


“Parasoft provides a quality development solution that our entire team can grow with and experience continuous improvement. Parasoft's solution is teaching us all to be better programmers. It helps us find errors that we didn't even realize were errors. Parasoft's solution has saved the Global Modeling and Analysis team both time and resources that we would have otherwise spent finding and fixing defects. Instead, we get to spend that time adding new features and functionality.”

Jim Spielbauer, Development Engineer
Trane


"We have automated and standardized our best practices for providing customers the highest quality code. We have dramatically improved the productivity of our testing efforts and this helps strengthen our position as a global provider of IT solutions."

Vidya Kabra, Software Engineering Tools Group Head
Wipro


"[Parasoft C++test and .TEST] teach our development team better coding habits so that we can make our source code more fault-tolerant; more robust. I'm not talking about obvious bugs that software developers can find without automated testing tools; I'm talking about difficult-to-find logic issues that can take many hours of manual unit and integration testing to discover.… We are able to get our product to market approximately 6 months sooner with Parasoft solutions than we could have if we had gone back to the testing vendor.”

Gary Malfa, Software Engineer
Bovie Medical

Customers
Animation Customers
Partners
Animation Partners
Awards
Awards animation

.TEST is available in the following editions:

  • Professional Edition: A completely integrated tool suite that enables developers/testers to perform automated code analysis (with built-in coding standards/rules and any custom rules developed in the Architect Edition) and automated unit testing (with automatically-generated and user-defined test cases) from the desktop. Tests that scan multiple classes/files/directories can be performed directly from the development environment, with results immediately reported in the GUI for review/repair. Additionally, problems identified by Server Edition tests can be imported into the GUI for review/repair. The Professional edition is intended to be installed and licensed on every developer and tester desktop.
  • Architect Edition: Includes the Professional Edition functionality, and adds the RuleWizard module, which enables the creation of custom coding standards/rules using a graphical interface. The Architect Edition is intended for use by an architect or the individual responsible for establishing coding standards for the organization.
  • Server Edition: Includes the Architect Edition functionality, and adds support for performing automated code analysis and unit testing as batch or “server” processes. The provided command-line interface can test the complete project code base and be integrated into the automated build process. Results are written to customizable reports, which can be easily accessed by team members and automatically e-mailed to designated recipients. Additionally, developers and QA can import Server Edition test results into the desktop GUI for review/repair.

    The Server Edition also provides:

    • The Team Server module, which enables centralized administration and sharing of coding standards/rule sets, unit testing configurations, and test assets. Team Server is designed for development teams that want to ensure consistency in test practices across the team. When Team Server is implemented team-wide, the architect/lead developer can configure and upload standard team-wide test settings/configurations/files, then Team Server will automatically share them across all team .TEST installations. Team Server may be installed and run on any supported computer system (e.g., one of the developers' workstations, the server hosting a Parasoft Server Edition product, or an independent system).
    • The Code Review module, which automates preparation, notification, and tracking of peer code reviews, addresses the known shortcomings of this very powerful development practice. .TEST automatically identifies updated code by scanning the source control system, matches the code with designated reviewers, and tracks the progress of each review item until closure. With the Code Review module, teams can establish a bulletproof review process—where all new code gets reviewed and all identified issues are resolved.
    • BugDetective, a new type of static analysis technology that uses several analysis techniques, including simulation of application execution paths, to identify paths that could trigger runtime defects. Defects detected include NullReferenceExceptions, resource leaks, SQL injections, and other security vulnerabilities.

The following optional license is available:

  • Security: Adds a comprehensive knowledgebase of security issues and guidelines that .TEST can apply when scanning and analyzing source code. When applied, this module will search and identify a broad range of security vulnerabilities, including such issues as improper input handing, malicious code, concurrency issues, improper logging, command injections, improper error handling, string formatting issue, denial of service, authentication, and many more. This module provides the ability to define a security policy that will guide, direct, and enforce secure coding practices in application development.
Customers
Animation Customers
Partners
Animation Partners
Awards
Awards animation

OS

  • Windows Vista, Windows XP or Windows 2003 Server

IDEs

  • Visual Studio 2008, Visual Studio 2005, or Visual Studio .NET 2003

Source Control

  • AccuRev SCM
  • Borland StarTeam
  • CVS
  • IBM/Rational ClearCase
  • Microsoft Visual SourceSafe
  • Perforce SCM
  • Serena Dimensions
  • Subversion (SVN)
  • Telelogic Synergy
Copyright © 1996-2010 Parasoft   T: 888-305-0041   E: info@parasoft.com