KEMBAR78
Software testing definition | PPT
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
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
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
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
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
Recovery testing on TV means how our television
recovers from abnormalities like improper power
supply, voltage problems etc.




                                                   6
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
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
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
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
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
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
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
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
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
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
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
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
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
Look at the flow graph:




                          20
. 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
#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
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
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
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
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
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
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
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
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

Software testing definition

  • 1.
    There are basicsix 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 verifyof 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 applicationon 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 isnothing 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 meanshow 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 onTV means how our television recovers from abnormalities like improper power supply, voltage problems etc. 6
  • 7.
    During the installationtesting 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 isa 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 endtesting 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 endtesting 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 testingis 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 testingattempts 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 boxtesting, 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 testtakes into account only the input and output of the software without regard to the internal code of the program. 14
  • 15.
    unit testing isa 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 ofunit 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 istesting 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 testingis 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: Wedo 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
  • 20.
    Look at theflow graph: 20
  • 21.
    . In ourexample 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 case1: 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( decisionpoint) = 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 istesting 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 boxtesting 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 isformal 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 isselective 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 advancedpartial 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