System testing is complete web/application testing where complete test strategy should implement and types of testings should verify as per created test cases according to what type of testing is going to be executed.
Black Box Testing
In Black Box Testing there is no need to know internal knowledge of program, means what code is written. Just need to have good analysis to create test cases according to requirement with positive and negative conditions. Means it doesn’t requires the coding knowledge.
White Box Testing
To perform white box testing there is need to know about internal structure of program. There is need to know about coding knowledge then easily white box testing can be performed. Means it requires the coding knowledge.
Alpha testing comes in development environment during implementation of program. Process can be about a module and complete developed software system but will be verified by QA team in development site before sending to client.
Just simply can be replied like it is done by users at real environment after releasing software. It is process which will be tested also by a technical person for reviewing technical implementation and then user point of view to know user interface of program.
It is a process to verify complete testing process according to requirements where tester focus to get all expected results as per software needs/requirements. If process meets all the requirements then application will be accepted that is acceptance testing.
With this type of testing process will be moved on without any plan or test cases to get defects and break the systems just to know problems in software. In this process conditions are needed to be executed related to necessary modules but no planing.
When a request will be executed from client with some information then data should be stored in database as per needed then tester should test the back end to know information is stored correct or not.
Browser Compatibility Testing
With this type of process a tester should test the websites with different different browsers. Like a website has been tested with a single browser it means process is not done completely then there is need to test it with other browsers also.
Boundary Value Testing
This type of process should be executed at the range of boundaries. Like a password range is implemented with 5-12 range then need to use boundaries like 4, 6 and 11, 13.
With this testing process conditions should be executed with compatibility related test cases. Like a software is developed then need to need with different different platforms, versions and some others related.
In this testing process number of possible inputs should be executed. For more clarity, like a form is implemented in site then need to execute whatever the inputs are possible with positive and negative test conditions and just because of it this process is very time consuming and can say not possible to execute 100% test cases.
In end to end testing a flow should be tested from one end to other end. Like there is a order process then should be tested from user account creation to place order then order receiving with proper notifications time to time.
Equivalence partitioning technique is a black box technique and with the process partitioning will be executed between the range of values. Like a zip code range is between 5-6 then values can be like -5 invalid, 5-6 valid, 7+ invalid.
With this process we should focus to become familiar with software/websites. In simple words it is process to be familiar with developed site/application.
This type of testing technique depends on testing experience. An experienced professional can analyse the problems in software easily and will report issue to correct.
Functional Testing means, after execution of any condition when an output comes then it is functional. In functionality testing looking to get an expected behavior from a module or any event/action.
Graphical User Interface (GUI) Testing
With this type of testing a tester should focus on graphical views of application. Feature should be visible and easy to read. Like buttons and texts are present on site but some of them not visible properly and not easy to read or some other problems may be there so that should be reported to be resolved.
In Gorilla Testing test cases should be related to give heavy data in same module again n again then need to check behavior of functionality it is working fine or any problem with that.
In installation Testing need to execute test cases with different different scenario to installation process. For example an application is developed which for android then need to test installation with internal and external memory.
Need to test unit of application. Like some modules are developed but testing process is going on with different different units that is unit testing.
With this testing process different different units will be integrate then testing should be performed. Means after combining units and then testing is performed that is integration testing.
Performance Testing is a process to check performance behavior with developed application. In process need to create test cases related to performance related response from server. For example if getting load for same module from many users then it is working fine to give response to all users or not. Load and Stress Testing comes under then performance testing.
It comes under the performance testing and with this testing process need to test load on application. In this process a case should be related to give load with particular time and number of users to check performance.
It comes under the performance testing. In this process a case should be related to give load on server but time to time need to increase load with number of requests from users side. Like server getting request from 100 users then suddenly 100 more users comes to send request then need to know what is behavior of server.
In Monkey Testing need to create test case to give inputs and request with randomly behavior just for trying to break and get defects with this type of scenario.
With positive testing need to create positive test cases. Like there is form which is getting some fields like “name, email and phone” then need to give inputs with actual data. Not enter numeric value in name, not give invalid email and no character in phone field.
With negative testing need to create negative test cases. Like there is form which is getting some fields like “name, email and phone” then need to give inputs with invalid data format. Enter numeric value in name, give invalid email and character in phone field.
It is like a performance testing. In non-functional testing need to check with changes of versions time to time. Like a website is tested with browser version 1 and then 2 version is now comes then it is like a change then need to test with this also.
In recovery testing need to check recovery of process/data. Sometime during executing any process gets then connection problem or may be any technical then with this type of situation need to check what is recovery of data.
When we get some changes with developed module or new implementation then need to check previously implemented modules are working or not. So need to create test cases related to perform these type of scenario.
With this type of testing a tester should focus on weakness of software. Weakness may be about forms functionality, security and some other loop holes.
In this testing process a condition will be executed with a huge amount of data like heavy data requests are done from users side then need to check behavior of server.
It can be called an initial phase of regression testing. In sanity testing to test initial phase of application/module after getting some changes or new implementation.
In security testing need to verify security weakness of application. It may be related to database security and network security. Need to have knowledge about database, SQL injections, network and some others related.
It is collection of initial test cases and in smoke testing need to test initial phase of application before going further verification. Means if initial phase is working then need to proceed else need to report problems then process should be going on after fixing issues.
Static means, when data doesn’t come from database then it means it is static. In other words if there is no connection of front end with database that is called static. So in static testing need to test front end behavior and this may be related to HTML design and static website.
Dynamic Testing means, when data come from database then it means it is dynamic and to verification is called dynamic testing. In other words if there is connection of front end with database that is called dynamic. So in dynamic testing need to test front end behavior and this will be related to back end.
Note: There is little description with types of testings but process will be challenging for a responsible person, so keep learning with execution.