Ideally to test a web application, the components and functionality on both the client and server side should be tested. But it is practically impossible. The best approach to examine the project's requirements, set priorities based on risk analysis, and then determine where to focus testing efforts within budget and schedule constraints. To test a web application we need to perform testing for both GUI and client-server architecture.
Based on many factors like project requirements, risk analysis, budget and schedule, we can determine that what kind of testing will be appropriate for your project. We can perform unit n integration testing, functionality testing, GUI testing, usability testing, compatibility testing, security testing, performance testing, recovery testing and regression testing.