The Internet has become the de facto standard means by which most people interact with a vast majority of software application. This move away from desktop computing to server-side computing with HTML as the front-end technology has created a whole new class of applications to be built and delivered to customers.
However, it has also created a new set of challenges in terms of developing and testing these applications. It is now assumed your customer may be sitting thousands of miles away and working in a language you are not familiar with.
A second aspect of modern software development methodology is to start testing the software early and often. Most software developers do not follow the cascading model of development whereby testing only starts after development ends. Further, developers are being increasingly encouraged to create vast arrays of unit tests to ensure quality.
All software is designed and developed to meet and satisfy certain "functional" needs. A functional need may be technical, business, or process. A key component of testing a software is to ensure that it functionally does what it is supposed to do. Functional Testing is the process by which expected behavior of an application is tested.
Most software undergo changes over a period of time. These changes may occur during initial development of the software, or after the release of the software. Any change to the software carries a potential of errors or bugs being introduced. Regression Testing is the process of frequently re-testing a software to ensure known existing behavior or functionality is not impacted. By impacted, we mean either modified or broken. If behavior is modified, the developer or tester must ensure that it is expected. Otherwise, it is called a "Regression".
As the size and complexity of applications have grown over the years, it has become increasingly difficult to ensure functional compliance and to ensure no regressions over time. Even a small size project can generate excessive permutations and combinations of test cases that are too great for a human to test consistently and continually. Hence, it is critical to find a testing system which can be automated.
The AppPerfect Web Test was created to assist users with such challenges. Since the mechanics of Functional Testing and Regression Testing are similar, they can be addressed with a single testing tool. AppPerfect Web Test provides support for "recording" a test once and then "replaying" it when desired without additional manual intervention in an automated manner.
AppPerfect Web Test is a comprehensive Web application testing solution that provides all the features you need, to ensure the reliability of your business-critical applications.
AppPerfect offers following products for complete and comprehensive solution for testing and monitoring the performance of your application. These products that are designed to help you test your application throughout the development life-cycle.
AppPerfect Java Unit Test is a feature-rich wrapper for the popular JUnit and HtmlUnit testing frameworks for non-web and web-based Java projects respectively. It provides the Java programmer with an easy to use and fully customizable unit-testing environment, which can be integrated with popular Java IDEs as well as the project's build process.
AppPerfect Java Code Test reads your software code and analyzes it for optimization, errors, coding conventions, complexity and style based on industry-standard rules. Over 750 pre-defined, high-value rules can be applied to your code. AppPerfect Java Code Test is an ideal tool to perform code reviews on an on-going basis to ensure high quality of code.
AppPerfect Java Profiler profiles a Java Virtual Machine to assist you in understanding the behavior of your application as it performs its functions. AppPerfect Java Profiler recognizes that your application does not operate in a vacuum and hence provides a unique blend of Java information combined with operating system information.
AppPerfect App Test performs regression and functional testing of your Windows/Desktop applications. Performing manual functional testing by having a person sit and manually click away at the application is extremely expensive and error-prone. AppPerfect App Test provides the means to perform such labor-intensive activity in an automated manner.
AppPerfect Web Test performs regression and functional testing of your Web applications. Performing manual functional testing by having a person sit and manually click away at the application is extremely expensive and error-prone. AppPerfect Web Test provides the means to perform such labor-intensive activity in an automated manner.
AppPerfect Load Test is a stress/load testing tool that can simulate hundreds of virtual users from a single machine. Features supported include site recording, dynamic variable substitution, cookies support, session tracking, SSL support and run strategies. It can run tests based on a variety of strategies such as burst, incremental, exponential, quadratic or loop. It also provides you a comprehensive solution to monitor various attributes of various operating systems present in your application infrastructure.
The AppPerfect Test Manager is central server with a Web-based UI for accessing various modules in the server. AppPerfect Test Manager consists of five main modules:
Requirements Manager: This module is used to create requirement specifications around which your tests will be designed and executed. Functional, business, performance, technical and usability requirements should be defined here to ensure the tests cover all defined criteria.
Test Manager: Once tests have been designed, the Test Manager can be used to manage the execution of your tests. Automatically running tests on a specific schedule, notification of test results, saving of test results, etc. can be defined in this module.
Results Manager: Once results for your various tests have run a few iterations, the Results Manager can be used to manage the archived results. Trend Analysis of multiple results to detect key quality trends is a key feature of this module. Storage management can also be performed via this module.
Issues Manager: As tests are run, issues such as defects, enhancements, modifications, etc. will occur. This module can be used to create and track such issues. This module is designed as a light-weight issues manager that seamlessly integrates with the rest of the server and is not intended to replace full-featured issues management system.
License Manager: Floating/site licenses are managed using this module. This module acts as the central manager for issuing and reclaiming floating licenses for the AppPerfect products.
The AppPerfect Agentless Monitor is an agentless, Web-based monitoring solution. It helps you monitor your applications and the underlying system resources. The AppPerfect Agentless Monitor consists of:
AppPerfect Monitor: A pure Web-based solution that helps you monitor your application infrastructure. Provides a rules engine to define alerts: a notification server for email and SMS notifications. Also includes a powerful report designer to create custom reports to analyze and understand the performance data.
AppPerfect Monitors: A series of modules designed to support specific devices. AppPerfect Monitor does not use the traditional agents-based approach to monitoring. Apart from being expensive, agents-based approach is also highly complex and error-prone. AppPerfect Monitors are designed to impose negligible overhead on the monitored system. These monitors are superbly optimized programs providing the maximum amount of information while imposing the lowest possible overhead.
Currently, the following devices are supported:
AppPerfect Corporation is an independent software development company dedicated to providing the developer community with the best-in-class tools throughout the entire software life-cycle. Our aim is to be your primary vendor for most of your development- and deployment-tool needs. Our mission is to help you reduce your software development costs, increase your productivity and help improve the availability and scalability of your applications. Please visit us on the Web at www.AppPerfect.com for more information.