Manual testing covers a feature by feature basis for validation of behavior, against a wide range of normal and erroneous input data. Functional testing can be done either manually or can be automated depending on the type of tests which need to be run. Manual Testing can be performed for black box or white box testing.The functional testing covers various tests like:
The effect of upgrades, uploading and downloading on the performance is also checked during functional testing. Aim is to validate application for conformation to its specifications and that it correctly performs all its required functions.
In today's intensely connected and fast moving Internet world, software is often deployed to production on weekly basis. QA is a time and effort-intensive, repetitive activity that is prone to human error and can prove to be very harmful to brand and service levels if done inadequately. To guarantee product delivery on tight schedules, regression testing ensures that the functionality in place in earlier releases is intact and working in the new release.
Your end users or customers for Software Product or Internet-based applications typically are never formally trained to use the product. You want the product to be user friendly, intuitive and quick so that users will stay with your product and not be deterred. If the users cannot find what they are looking for, if the application response times are inadequate, or if the application is not user-friendly then there is a good chance that you will quickly loose that customer to competition. Usability testing is performed by various levels of users, from novice to expert. You probably have experts and PM who may have tested usability but a neutral third party opinion provides a better perspective.
It is conducted on the application to evaluate the application's compatibility with various factors in the computing environment which can effect its functioning. Compatibility testing is may be done for various elements like Hardware platform, Web browsers, Operating Systems, Network bandwidth, etc. Browser compatibility testing is usually done to test the end user experience. This tests the web applications across different web browsers, to ensure that the application respond exactly as expected across various browsers. This also ensures that the user's visual experience remains the same irrespective of which web browser he uses.
OS and hardware compatibility testing are done to ensure that the application functions as expected across different OS (or different version) and with various hardware components.