alpha, beta, bucket, compatibility, concurrency, defect, dynamic, early, end-to-end, exhaustive, exploratory, formal, functional, fuzz, gamma, globalization, gui, installation, integration, interface, load, localization, monkey, negative, performance, positive, recovery, regression, retesting, risk based, scalability, security, showstopper, static, stress, testing, UAT, unit, usability, use case, user acceptance, web application
It is the testing done by executing the code or program with various input values and output is verified.
GUI or Graphical user interface testing is the process of testing software user interface against the provided requirements/mockups/HTML designs.
Software verification carried out by following test plan, testing procedures and proper documentation with an approval from customer
Risk Based Testing
Identifying the critical functionality in the system then deciding the orders in which these functionality to be tested and applying testing.
Conducting testing as soon as possible in development life cycle to find defects at early stages of SDLC.
Early testing is helpful to reduce the cost of fixing defects at later stages of STLC.
Testing functionality with all valid, invalid inputs and preconditions is called exhaustive testing.
Any small module or functionality may contain more number of defects – concentrate more testing on these functionality.
Manual verification of the code without executing the program is called as static testing. In this process issues are identified in code by checking code, requirement and design documents.
Testing conducted on the application to determine if system works. Basically known as “test to pass” approach.
Testing Software with negative approach to check if system is not “showing error when not supposed to” and “not showing error when supposed to”.
Testing the overall functionality of the system including the data integration among all the modules is called end to end testing.
Exploring the application, understanding the functionality, adding (or) modifying existing test cases for better testing is called exploratory testing.
Testing conducted on a application without any plan and carried out with tests here and there to find any system crash with an intention of finding tricky defects is called monkey testing.
Validating various non functional aspects of the system such as user interfaces, user friendliness security, compatibility, Load, Stress and Performance etc is called non functional testing.
Checking how easily the end users are able to understand and operate the application is called Usability Testing.
Validating whether all security conditions are properly implemented in the software (or) not is called security testing.
Process of measuring various efficiency characteristics of a system such as response time, through put, load stress transactions per minutes transaction mix.
Analyzing functional and performance behavior of the application under various conditions is called Load Testing.
Checking the application behavior under stress conditions. Reducing the system resources and keeping the load as constant checking how does the application is behaving is called stress testing.
Unit Level Testing
Testing of single programs, modules or unit of code.
Integration Level Testing
Testing of related programs, Modules (or) Unit of code.
System Level Testing
Testing of entire computer system across all modules. This kind of testing can include functional and structural testing.
Testing of whole computer system before rolling out to the UAT.
User Acceptance Testing (UAT)
Testing of computer system by client to verify if it adhered to the provided requirements.
Retesting the application to verify whether defects have been fixed or not.
Verifying existing functional and non functional area after making changes to the part of the software or addition of new features.
Checking if the system is able to handle some unexpected unpredictable situations is called recovery testing.
Process of verifying software whether it can be run independent of its geographical and cultural environment. Checking if the application is having features of setting and changing language, date, format and currency if it is designed for global users.
Verifying of globalized application for a particular locality of users, cultural and geographical conditions.
Checking if we are able to install the software successfully (or) not as per the guidelines given in installation document is called installation testing.
Checking if we are able to uninstall the software from the system successfully (or) not is called Uninstallation Testing
Checking if the application is compatible to different software and hardware environment or not is called compatibility testing.
Use Case Testing
Validating a software to confirm whether it is developed as per the use cases or not is called use case testing.
A defect which is not permitting to continue further testing is called Showstopper Defect
Bucket testing is also know as A/B testing. It is mostly used to study the impact of the various product designs in website metrics. Two simultaneous versions are run on a single or set of web pages to measure the difference in click rates, interface and traffic.
This is a multiple user testing to access the application at the same time to verify effect on code, module or DB. mainly used to identify locking and deadlocking situations in the code.
Web Application Testing
Web application testing is done on a website to check – load, performance, security, Functionality, Interface, Compatibility and other usability related issues.
Unit testing is done to check whether the individual modules of the source code are working properly or not.
Interface testing is done to check whether the individual modules are communicating properly as per specifications. Interface testing is mostly used to test the user interface of GUI applications.
Gamma testing is done when the software is ready for release with specified requirements, this testing is done directly by skipping all the in-house testing activities.
It is used to check whether the functionality and performance of a system, whether system is capable to meet the volume and size changes as per the requirements
Scalability testing is done using load test by changing various software, hardware configurations and testing environment.
Fuzz testing is a black box testing technique which uses a random bad data to attack a program to check if anything breaks in the application.