Kinds of Testing ?
- Static Testing.
- Dynamic Testing.
Static Testing :
Static Testing is not concerned with the codes and concerned with the only Reviews, walk-through, inspections.
Reviews are nothing but a meeting carried out to know the status of a particular project or application.
There are three types of reviews
- Formal Review :
Formal review is done in the presence of the client where in particular document pertaining to a project is reviewed. In this particular method a senior manager from the development side and with a person from the client side are involved.
- Informal Review :
In formal review is always carried out in house which which means internally with in the team (in the absence of client).
- Peer to Peer Review :
Peer Review means colleagues or peers with in the team are involved for checking/reviewing the documents or products.
Walk through is basically a friendly inspection with whole team also the review can be done by colleagues.
Inspection is always done by third party where in neither the tester of the company nor the senior manager of the company are involved.
Dynamic Testing :
Dynamic testing concerned with the execution of the code of particular application .
Dynamic testing can be categorized into two types
- White box testing (or) Glass box (or) Open Box.
- Black box testing (or) Opaque (or ) Closed box.
White Box Testing :
Generally white box testing can be done by developers, because it involves the logic and the flow of code.
A tester can also be do white box testing , if the tester can understand the logic and flow of the code.
Generally looked out for:
- Checking the no.of lines in the code.
- Declaration of variables and functions.
- No.of Characters per line.
- Format for defining functions.
- type def and enumerations.
Memory Leakages :
Dynamically allocated memory is not freed after usage which leads memory leakages, due to this the allocated memory cannot be used by another process. At some point of time there won’t be any memory available in heap for dynamic allocation.
Unit Testing :
Unit testing is to check the output of each and every line of code.
Techniques used in White box:-
- Code Coverage Analysis/Unit Testing :
In this particular method each and every line of code is checked for its usage in the entry of the application.
- Checking for Dead Codes :
- Condition Coverage Analysis
- Path Coverage Analysis
Mutation testing :
It means knowingly inserting bugs in the code of the application and checking whether it is really having the impact.
- Loop Coverage Analysis
- Modified Condition Decision Coverage
- Basic Path Coverage
Black Box Testing :
Black box testing, concerned with the input and output of the application i.e., we will check for the functionality of the system and not concerned with the logic and flow of the application.
- Win runner for functionality / regression testing tools.
- Load runner for non functionality / performance testing tool.
- Slik tester for functionality/ Regression testing.
Grey Box :-
It is done by tester who has the domain knowledge, who can understand the logic and flow of application. It is the combination of white and black box testing.
Testing Methods for Black Box :-
Performance testing ( Non Functional):-
It is a part of non-functionality testing where it is checked for the time taken by the system to perform a particular task.
Ex :- The time required for a server to load a page i.e. , response time of an application for a single user.
Load Testing (Non – Functional):-
Checking the no.of transaction/ amount of load the system is capable of handling in a unique frame of time, before degrading its performance and going down.
Ex:- ATM transaction by many people simultaneously in specific time.
Soak / Endurance Testing:-
Checking the system behavior if it is running for a prolonged period of time.
Ex:- ATM machine working for seven days a week and 365 days in a year.
Stress Testing :-
Checking the behavior of the system under abnormal condition.
Ex:- A system with 2GB RAM running for a banking portal system, is replaces by 512 MB RAM, and observe the system behavior.
Reliability / Compatibility:-
Verifying the system ability to work in different hardware and software environment combinations.
Ex:- Checking if the system will work fine on Different versions of Linux.
Checking the behavior of the execution or build or impact of the executable on the existing Hardware and Software.
Sanity Testing is always carried out whenever there is a build or executable ,i.e. after completion of whole module.