Software testing is inevitable in an application development process. Testing for the windows and web based applications has different methodologies to follow. When it comes to a web application, the most important thing is to make sure that it is secured from various hacking possibilities such as SQL injection, session hacking, etc.
Selection of testing type i.e. Manual or Automated testing, entirely depends on the type of application and client requirements. For e.g., if the client insists on an automated script, you have to resort to automated test generating scripts for all the tests conducted.
Functionality, compatibility, performance, network, scalability, user interface, database, etc., all are subjected to vigorous testing for a trouble free application.
Manual testing is preferred over automated testing because it gives full control over the testing process. The test engineer performs an ad-hoc (random) testing on the website without worrying about the scripts. Browser compatibility testing is yet another area that manual testers can perform in an efficient way. The User Interface, alignment of the controls, functionality, etc are to be tested as the application is accessed using different browsers. During manual testing, testers should always keep in mind about the regression errors that can occur when correcting existing errors.
Tools for Automated Testing
Automated testing comes handy when you have to automate the tests you’re doing on a web application. If the client insists on a script of all the tests conducted, you can generate a script by automating the tests. My favourite tool is Selenium to automate the tests and generate scripts. With this tool, you’re just doing a recording of your testing process so that it can be played back by your client.The script generated after recording the processes can be modified later by adding more testing scenarios. The serious limitation this tool suffers is that it doesn’t allow you to test the functionality of compiled components such as a flash swf for which you may have to resort to a more advanced tool like qtp. Load testing is done to verify how the application behaves under a high stress environment . For e.g., if the application has to handle high network traffic then load testing is a must. It can create thousands of virtual users under load testing environment and see how the multiple access to the application affect the performance.
Testing is thus an essential process in Software Development Cycle, which requires an eye for details and an in-depth understanding about the whole process that will result in a user-friendly application that meets customer requirements fully.