 |
.NET Static Analysis, Code Review, Unit Testing
|
  |
Current version: 5.0.4.9 (July 12, 2009)
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
|
|
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 analysis | Facilitates 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 analysis | Detects complex runtime errors related to resource leaks, NullReferenceExceptions, SQL injections, and other security vulnerabilities without requiring test cases or application execution. |
| Metrics analysis | Identifies complex code, which is historically more error-prone and difficult to maintain. |
| Peer code review process automation | Automates 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 execution | Enables 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 testing | Generates and executes regression test cases to detect if incremental code changes break existing functionality or impact application behavior. |
| Coverage analysis | Assesses 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 workflow | Establishes 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 distribution | Facilitates 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 reporting | Ensures 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.
|
 |
| 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 |
|
|
For a Printable Version, Click Here (542 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 processwhere all new code gets reviewed and all identified issues are resolved.
Automate Unit and Component Testing for Instant Verification and Regression Testing
.TESTs automated testing capabilities significantly reduce the work required to develop and maintain an effective test suite. .TESTs 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 applicationwithout 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 testsfrom .TEST-based unit testing to manual application testingand 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.
Automate .NET Compact Framework Testing
Developers of .NET Compact Framework applications are often forced to run their tests against the
.NET Framework (non-compact version) on their PC machines. As a result, their tests are not
realistic and test maintenance is difficult. This is because many parts of the API are different
than their counterparts in the standard framework. Moreover, the .NET Compact Framework has
different functionality for various devices—complicating the developing of portable
applications and requiring much manual testing.
Addressing these challenges, Parasoft allows you to run unit and application tests for the .NET
Compact Framework directly on target decides or emulators. This enables you to:
- Write very realistic unit tests since code runs against the .NET CF, which accurately represents
realistic application behavior.
- Automatically check your code against any device or emulator that supports Active Sync
communication.
- Track the line coverage of the code under test.
- More easily test code that interacts with system elements which are difficult to drive during
automated testing.
- Access an API, such as native API, which is available for a particular device only.
Support is available for NET Compact Framework 2.0, NET Compact Framework 3.5, Windows Mobile 5,
Windows Mobile 6, and Windows CE.
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. .TESTs support for team deployment standardizes testing team-wide and provides a sustainable workflow for integrating best practices into the team's existing processeswith 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 7, 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
|
".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 |

|
"Parasofts .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
|
.TEST is available in the following editions:
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.
|
OS
- Windows 7, 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
|
|
|