Others types of Tests
So far we’re discussed about unit testing and also shown an example of Unit Testing. But unit testing is not only tests that are important to software development. By unit test we only checks that classes, methods and services meet the business requirements and provide the necessary functionality. A complete application has many more dimensions than the business based internals like UI, Integrating different parts of the system,
User Interface Tests
UI tests verify that the application’s user interfaces are operates correctly i.e. it can be properly used by the users and it provides a way to access all necessary functionalities. Within each of these criteria there are a lot of things to consider like
@. Is the application is a Web-based application that the user will access with a web browser?
@. Is the application is Windows forms based application?
@. What are the usability requirements?
@. Who is your audience? How much they know computer?
@. Are they the employee of your company or external customer?
@. What about security?
UI testing is not a trivial (unimportant) matter. When developing a high quality application they are very important. Many tools are available that helps you to automate various types of UI testing. Some of them are for web based application and others are for Windows forms. Generally these tests are performed by Quality Assurance engineer.
Integration testing is the phase in software testing in which individual software modules are combined and tested as a group.
Integration tests are an important step in software development. It should not be skipped until the end of development.
Integration testing is a key component of a successful agile methodology.
Stress Testing / Load Testing
Unit tests and even integration tests verify that individual features and your application as a whole work with one user. But what will happen to your application when 100 users try to access it at once? This concern is addressed by stress testing your application. Stress testing is simply creating test conditions that simulate multiple users interacting with your application concurrently. Stress testing is designed to measure response time under load as well as how well an application scales when it is spread across multiple resources. Most user interface (UI) tools provide some form of stress testing.
Stress testing traditionally has been delayed until an application is deployed to some sort of QA environment. Granted, until the application is deployed to the actual production hardware, it is difficult to determine a baseline performance metric.