Regressor.NET is an add-in for ASP.NET applications that collects information about site crashes, and provides functionality to automatically resend the exact HTTP Request that caused any one of those crashes. For this reason, it is quite useful for Regression Testing, as it can be run in a batch mode to recreate every bad HTTP Request in the history of a Web Application.
Regressor.NET includes a graphical reporting console that can be used to view crash details and history reports, and to run Regression Tests individually and in batches. From this reporting console, it is possible to configure pattern matching settings to ensure that duplicate crashes are grouped together properly.
Automated Error Collection and Crash Reporting
Regressor.NET will automatically capture any page crashes on the target web site and store relevant information about the Exception and the HttpRequest that triggered it. This data is stored in a SQL Server database for use in Reporting and Regression Testing.
Automated Regression Testing
Regressor.NET collects information about site crashes, and provides functionality to automatically resend the exact Http Request that caused those crashes. It can be run for a single site crash, or in a batch mode that will re-run every Http Request that has ever crashed the website, essentially regression testing for every site crash in its stored history.
Integration with the NAnt build system
In addition to the Reporting Console and Command Line options, Regressor.NET can be run as an NAnt Custom Task, allowing it to perform regression testing as part of any NAnt-based build. For other build environments, a full-featured command line interface is provided.
Integration with the NUnit Unit Testing system
Regression tests can be exported as NUnit test cases, either via the GUI or automatically through the command line interface. An NUnit wrapper is provided to allow complete access to the Regression testing engine.
Implementation Details
Regressor.NET can be integrated into existing applications in two basic ways, either via a custom Base Page or through direct API calls from the Web Application. Regressor.NET provides a custom Page object, derived from System.Web.Page, that can be used as the base for any application pages, and will automatically detect and log unhandled exceptions. Alternately, Regressor.NET exposes a number of public methods that can be called to log exceptions manually.
Regression Testing is performed either through the graphical tools, via command line instructions, via automatically (or hand) generated NUnit unit tests, or as part of an NAnt custom task. Individual Crash Reports can be flagged as inactive for regression testing, for reasons such as long execution times, possible data corruption, etc.
August 3, 2010
by
Jason Kester