There are four types of testing required when building an application or website: Unit, System Integration, Performance and User Acceptance Testing.
You have a great idea to build a web site or an application for your business. Whether you build it in-house or have another company build it for you, you need to ensure that testing is conducted on the application/site to ensure it delivers the required content and functionality, that most of the bugs are caught prior to going live and that the application will support the expected load of users. Testing will provide you with this information. There are four types of testing, with each test process giving you different information.
Unit Testing: Unit testing happens at the development level. When a developer builds a piece of code that delivers a set of functionality, they must test it to make sure it works and that it delivers the required functionality. A developer tests by running the code in their own environment. A piece of code (be it a web page or a function) should never go into a systems integration environment until it has been unit tested.
System integration testing (SIT): A systems integration environment is a test environment where code (web pages, classes, databases) is placed to ensure the application as a whole works together. Usually there’s more than one developer building an application or site. Each one unit tests their individual functions and pages, and one a regular basis, their code is deployed into the SIT environment and tested together. This ensures one developer’s code doesn’t break the others. Usually test cases and test scripts are developed based on the functional requirements and tested here. It provides a more integrated view of the application. This is also the environment that gives a mirror of the production environment. Most applications live with other applications in production. This is the first chance to ensure that the new application/site doesn’t break and isn’t broken by other sites or applications in the same environment.
Stress and Performance Testing (S&P): Stress and performance testing is the process of ensuring that the site or application handles well under load. This means that it can support the expected volumes of users and offers an acceptable level of performance for these users. What are the expected user volumes and acceptable performance levels? If the business doesn’t know, then look at what other sites/applications provide and assume from that point. Generally you don’t do too much S&P testing until most of the SIT testing is complete.
User Acceptance Testing (UAT): This is exactly what it sounds like; the actual users test the application to ensure it does what they are expecting it to do. Test scripts and test cases executed in the SIT testing above can be used, but they must be run by actual users of the system. Once the users test the application/site and approve it, then it can be moved into production and go live.
All four of these testing processes needs to be completed to ensure your application/site will be a success. It may sound like a lot of extra work, but it leads to a better quality product the first time around.