1. There are basic six type of testing
1. Unit Testing
2. Integration testing
3. Functional and system testing
I ) Stress testing
II ) Performance testing
III) Usability testing
4. Acceptance testing
5. Regression testing
6. Beta testing
I will explain only the major type of testing which are in the new
evaluation form.
1
2. Failover Tests verify of redundancy mechanisms
while the system is under load.
For example, in a web environment, failover testing
determines what will happen if multiple web servers
are being used under peak anticipated load and one of
them dies and then how the remaining servers take the
responsibilities.
2
3. Checking the application on different platforms
(Operating System) with different browsers, the main
aim of compatibility testing is to test weather
application can run successfully on different OS.
3
4. Usability Testing is nothing but the application is user friendly or not. i.e. easy
to use and easy to operate.
we will check font size, font color, back color, tables, borders etc
In a simple word, UT means to test 'how simple the application to use'
4
5. Recovery testing means how our application software
recovers from abnormalities, such as application crashes
Whenever an error occurs the application is recover from
error properly and run remaining functionality properly
5
6. Recovery testing on TV means how our television
recovers from abnormalities like improper power
supply, voltage problems etc.
6
7. During the installation testing we validate that
whether the Navigation, Path, Steps are provided to
install the software end user successfully or not
During uninstall whether the installation wizard is
provided to uninstall the software successfully
7
8. Security testing is a process to determine that an information
system protects data and maintains functionality as intended.
It confirms that the program can restrict access to authorized
personnel
The authorized personnel can access the functions available to
their security level.
8
9. End to end testing is nothing but testing the
application starting from scratch to the end after
integrated all the modules.
E2E is almost like UAT with an exception that it is done
by testers.
9
10. End to end testing means from the staring point to end
point of testing of one s/w build.
All the user interface testing, functional testing & non-
functional testing is comes under this end to end testing.
10
11. Black box testing is testing that ignores the internal
mechanism of a system or component and focuses solely
on the outputs generated in response to selected inputs
and execution conditions.
Black box testing also called functional testing and
behavioral testing
11
12. Black box testing attempts to find errors in the external
behavior of the code in the following categories
(1) Incorrect or missing functionality;
(2) Interface errors;
(3) Errors in data structures used by interfaces;
(4)Behavior or performance errors; and
(5) Initialization and termination errors.
Through this testing, we can determine if the functions
appear to work according to specifications.
12
13. With black box testing, the software tester does not (or should
not) have access to the
source code itself.
The code is considered to be a “big black box” to the tester
who can’t see inside the box.
The tester knows only that information can be input into to
the black box, and the black box will send something back out.
Based on the requirements knowledge, the tester knows what
to expect the black box to send out and tests to make sure the
black box sends out what it’s supposed to send out
13
14. A black-box test takes into account only the input and
output of the software without regard to the internal code
of the program.
14
15. unit testing is a method by which individual units of
source code are tested to determine if they are fit for use.
A unit is the smallest testable part of an application.
In procedural programming a unit may be an
individual function or procedure.
Unit tests are created by programmers or occasionally
by white box testers.
15
16. The goal of unit testing is to isolate each part of the program and
show that the individual parts are correct
The tester will write some test code that will call a method with
certain parameters and will ensure that the return value of this
method is as expected.
Looking at the code itself, the tester might notice that there is a
branch (an if-then) and might write a second test case to go down
the path not executed by the first test case.
For example carefully observe the example of white box testing
16
17. White-box testing is testing that takes into account the
internal mechanism of a system or Component
White-box testing is also known as structural testing,
clear box testing, and glass box testing
The connotations of “clear box” and “glass
box” appropriately indicate that you have full visibility
of the internal workings of the software product,
specifically, the logic and the structure of the code.
17
18. White box testing is used in three of the six basic
types of testing: unit, integration, and regression
testing
You must be ensured that your test cases execute
every line of the code.
18
19. Basis Path Testing:
We do this using a metric called the cyclomatic number which
is based on graph theory. The easiest way to compute the
cyclomatic number is to count the number of
conditionals/predicates (diamonds) and add 1.
Suppose the example
If a player lands on a property owned by other players, he
or she needs to pay the rent. If the player does not have
enough money, he or she is out of the game. If the
property is not owned by any players, and the player has
enough money buying the property, he or she may buy the
property with the price associated with the property
19
21. . In our example above, there are five conditionals. Therefore, our
cyclomatic number is 6, and we have six independent paths
through the code. We can now enumerate them:
1. 1-2-3-4-5-10 (property owned by others, no money for rent)
2. 1-2-3-4-6-10 (property owned by others, pay rent)
3. 1-2-3-10 (property owned by the player)
4. 1-2-7-10 (property available, don’t have enough money)
5. 1-2-7-8-10 (property available, have money, don’t want to buy
it)
6. 1-2-7-8-9-10 (property available, have money, and buy it)
21
22. #include<stdio.h>
float avg(float a, float b);//if a>b call avg
float sum(float a, float b);// if a=b call sum()
float max(float a, float b);//if a!=b call max()
float avg(float a, float b)
{
float f; f = (a + b)/2; return f; }
float sum(float a, float b)
{ float sum=a+b; return sum; }
float max(float a, float b) {
float max; if(a>b) { max=a; return max; }
Else return b; }
void main()
{
float a,b; float average=0; float sum1=0; float max1; scanf("%f",&a); scanf("%f",&b);
if(a>b)
{ float average = avg(a,b); printf("n The average value=%.2fn",average); }
else if(a==b) { sum1 = sum(a,b); printf("n The sum value=%.2fn",sum1); }
else if(a<b) { max1 = max(a,b); printf("n The maximum value=%.2fn",max1); }
} 22
23. For test case 1: a=2.3, b= 6.3
Total Line =49
Line coverage = 18/49 *100%( 36.7% )
Total function(method) =3
But test case covers only 1 function (max)
So method coverage=1/3*100% ( 33.33% )
23
24. Total Branch( decision point) = 8 , Test case covers only 5 branch
So branch coverage = 4/8*100% ( 50%)
Pridicate True false
a>b false
a==b false
a<b true
a>b(within max function) false
So for this test case can not cover the whole code so it is cannot be
white box testing for this program but it can be unit testing for this.
For white box testing of the program you have generate more test case
so that every line and every condition will be executed
Test case 2: A= 6.3 and b=2.3
Test case 3: A= 6.3 and b= 6.3
These three test case will executed every line of the program so you can
claim that you perform white box testing of the program
24
25. Integration test is testing in which software
components, hardware components, or both are
combined and tested to evaluate the interaction
between them [11]. Using both black and white box
testing techniques, the tester (still usually the software
developer) verifies that units work together when they
are integrated into a larger code base
25
26. Using black box testing techniques, testers examine the high-
level design and the customer requirements specification to plan
the test cases to ensure the code does what it is intended to do.
Functional testing involves ensuring that the functionality
specified in the requirement specification works.
System testing involves putting the new program in
many different environments to ensure the program works in
typical customer environments with various versions and types
of operating systems and/or applications.
System testing is testing conducted on a complete, integrated
system to evaluate the system compliance with its specified
requirements
26
27. Stress testing – testing conducted to evaluate a
system or component at or beyond the limits of its
specification or requirement .
For example, if the team is developing software to run
cash registers, a non-functional requirement might
state that the server can handle up to 30 cash registers
looking up prices simultaneously.
Stress testing might occur in a room of 30 actual cash
registers running automated test transactions
repeatedly for 12 hours.
27
28. Acceptance testing is formal testing conducted to
determine whether or not a system satisfies its
acceptance criteria (the criteria the system must satisfy
to be accepted by a customer) and to enable the
customer to determine whether or not to accept the
system
28
29. Regression testing is selective retesting of a system or
component to verify that modifications have not caused
unintended effects and that the system or component still
complies with its specified requirements .
Regression tests are a subset of the original set of test
cases. These test cases are re-run often, after any significant
changes (bug fixes or enhancements) are made to the code.
The purpose of running the regression test case is to make
a “spot check” to examine whether the new code works
properly and has not damaged any previously-working
functionality by propagating unintended side effects
29
30. When an advanced partial or full version of a
software package is available, the development
organization can offer it free to one or more (and
sometimes thousands) potential users or beta testers.
These users install the software and use it as they
wish, with the understanding that they will report any
errors revealed during usage back to the development
organization.
30