Types of Web Performance Tests
1. Performance Test: A performance test is any test that measures stability, performance, scalability and/or throughput of your web application(s).
2. Capacity Test: A capacity test is a test to determine how many users your application can handle before either performance or stability becomes unacceptable.
3. Load Test: A load test consists of applying load to an application and measuring the results. The load may or may not be at the high end of application capacity. These tests can help determine normal performance metrics. By using iterative testing, you can determine whether new code has helped or hurt performance.
4. Stress Test: A stress test is a test that pushes an application beyond normal load conditions.
5. Soak Test: A soak test is a long-running test that is used to determine application performance and/or stability over time.
6. Component Test: Testing a discrete component of your application requires a component test. Examples might include a search function, a file upload, a chat feature, an email function, or a 3rd-party component like a shopping cart.
7. Smoke Test: A smoke test is a test run under very low load that merely shows that the application works as expected.
During early stages of development: Smoke testing will be used to validate that the individual components work as expected and that they integrate into the application in a functionally correct way.
During development: Performance testing will be used to determine the performance characteristics of your application.
In later stages of development: After you have tuned your individual components and tested your application for performance, it is time to test under normal expected load.
Pre-deployment: Prior to launching your application, you will need to run successful load tests at expected traffic levels.
Finally, you will run a stress test and determine:
Post deployment: You will need to run tests periodically to determine if performance has degraded.
Class Loader Subsystem
It is mainly responsible for three activities.
Loading: The Class loader reads the .class file, generate the corresponding binary data and save it in method area.
Linking: Performs verification, preparation, and (optionally) resolution.
Initialization: In this phase, all static variables are assigned with their values defined in the code and static block(if any).
Native method stacks