SlideShare a Scribd company logo
Software Testing
Mody Univercity,Laxmanghr

Submitted By:Bhagyashree pathak
110077
CS-C
Contents
 Introduction
 Necessity

of testing
 Goals of testing
 Testing methods
 Testing levels
 Testing approach
 Testing types
 Updates Regarding ST
 Conclusion
Introduction
 Testing

is the process of executing a program
with the intention of finding errors.

 Testing

can show the presence of bugs but never
their absence.

 Testing

is quality control activity.
Necessity of Testing



To check the reliability of the software.
To be ensured that the software does not contain
any bug which can become a reason for failure.

 To

check the software was made according to its
specification.

 To

check that users are capable of using the
software.

 To

check software works with other software and
hardware it needs to work with.
Goals of Testing


Detect faults.



Establish confidence in software.



Evaluate properties of software.
-Reliability
-Performance
-Memory Usage
-Security
-Usability
Testing Methods
 Static vs. Dynamic Testing


The Box approach
- White-box testing

- Black-box testing
Static vs. Dynamic Testing
 Reviews,

walkthroughs, or inspections are
referred to as Static testing, whereas
actually executing programmed code with
a given set of test cases is referred to as
dynamic testing.

 Static

testing can be omitted, and
unfortunately in practice often is.
Dynamic testing takes place when the
program itself is used.
White box testing
 Testing

based on an analysis of the
internal structure of the component or
system.

 White

box testing uses specific knowledge of
programming code to examine outputs.

 White

box testing is used to test areas that cannot
be reached from a black box level.
Advantages
 As

the tester has knowledge of the
source code, it becomes very easy to find
out which type of data can help in testing
the application effectively.




It helps in optimizing the code.
Extra lines of code can be removed
which can bring in hidden defects.
Disadvantages
 Due

to the fact that a skilled tester is
needed to perform white box testing, the
costs are increased.

 Sometimes it

is impossible to look into
every nook and corner to find out hidden
errors that may create problems as many
paths will go untested.
Black box testing
 It

is a software testing method in which the
internal structure/design/implementation of the
item being tested is not known to the tester.

 These

tests can be functional or
non- functional, though usually functional.
Advantages


Tester can be non-technical.



Used to verify contradictions in actual system
and the specifications.

Disadvantages


The test inputs needs to be from large sample
space.



It is difficult to identify all possible inputs in limited
testing time. So writing test cases is slow and
difficult.
Testing levels
 Unit

testing

- Exercises specific paths in a component's
control structure to ensure complete coverage
and maximum error detection.
- Components are then assembled and integrated.
 Integration testing

- Focuses on inputs and outputs, and how well
the components fit together and work together
Validation testing
-Provides final assurance that the software meets
all functional, behavioral, and performance
requirements.

System testing
-Verifies that all system elements
(software,
hardware, people, databases) mesh
properly and that overall system function and
performance is achieved.
Testing Approach
 Bottom-up testing

- It is an approach to integrated testing where the lowest
level components– modules, procedures or functions– are
tested 1st,then integrated and used to facilitate the testing
of higher level components.
- This method also helps to determine the levels of software
developed and makes it easier to report testing progress in
the form of a percentage.

 Top-down testing
- It is an approach to integrated testing where the top
integrated modules are tested and the branch of the module
is tested step by step until the end of the related module.
Testing Types
 Alpha Testing
 Beta Testing
 Functional and

Non-functional Testing
Alpha Testing


This test is the first stage of testing and will be
performed amongst the teams (developer and QA
teams).



Unit testing, integration testing and system testing when
combined are known as alpha testing.



The following will be tested in the application.
- spelling mistakes
- broken links
- cloudy directions
Beta Testing
 The

aim of beta testing is to cover unexpected
errors.

 Testing

when development and testing are
essentially completed and final bugs and problems
need to be found before release.

 These

are released to a limited audience outside of
the programming team.

 The

software is released to groups of people so
that further testing can ensure the product has few
faults or bugs.
Examples of well known beta tests


Microsoft
-one of the most well
known in beta tests in
memory was the beta
for microsoft’s windows 7
operating system and
before that windows vista.
Functional Testing
 Functional

testing refers to activities that verify a
specific action or function of the code.

 The

application is tested by providing input and
then the results are examined that need to confirm
to the functionality it was intended for.

 Functional

tests tend to answer the question of
“can the user do this” or “does this particular
feature work”.
Non-functional Testing
 This

section is based upon the testing of the
application from its non-functional attributes.

 Non-functional testing

of Software involves
testing the Software for the requirements which
are non-functional in nature.

 It

deals with features such as
performance, security, user interface etc.
Updates Regarding ST
Beta testing of web sites
 Facebook timeline

was launched on beta testing.
Gaana.com for online music still on beta
testing..
Conclusion
 Software testing

is an art.
 Testing is more than just debugging.
 Testing is expensive.
 Complete testing is infeasible.
-complete testing is not achievable, and the
amount that we have estimated for production of
any software product is less then the required
amount.
Software testing

More Related Content

Software testing

  • 1. Software Testing Mody Univercity,Laxmanghr Submitted By:Bhagyashree pathak 110077 CS-C
  • 2. Contents  Introduction  Necessity of testing  Goals of testing  Testing methods  Testing levels  Testing approach  Testing types  Updates Regarding ST  Conclusion
  • 3. Introduction  Testing is the process of executing a program with the intention of finding errors.  Testing can show the presence of bugs but never their absence.  Testing is quality control activity.
  • 4. Necessity of Testing   To check the reliability of the software. To be ensured that the software does not contain any bug which can become a reason for failure.  To check the software was made according to its specification.  To check that users are capable of using the software.  To check software works with other software and hardware it needs to work with.
  • 5. Goals of Testing  Detect faults.  Establish confidence in software.  Evaluate properties of software. -Reliability -Performance -Memory Usage -Security -Usability
  • 7.  Static vs. Dynamic Testing  The Box approach - White-box testing - Black-box testing
  • 8. Static vs. Dynamic Testing  Reviews, walkthroughs, or inspections are referred to as Static testing, whereas actually executing programmed code with a given set of test cases is referred to as dynamic testing.  Static testing can be omitted, and unfortunately in practice often is. Dynamic testing takes place when the program itself is used.
  • 9. White box testing  Testing based on an analysis of the internal structure of the component or system.  White box testing uses specific knowledge of programming code to examine outputs.  White box testing is used to test areas that cannot be reached from a black box level.
  • 10. Advantages  As the tester has knowledge of the source code, it becomes very easy to find out which type of data can help in testing the application effectively.   It helps in optimizing the code. Extra lines of code can be removed which can bring in hidden defects.
  • 11. Disadvantages  Due to the fact that a skilled tester is needed to perform white box testing, the costs are increased.  Sometimes it is impossible to look into every nook and corner to find out hidden errors that may create problems as many paths will go untested.
  • 12. Black box testing  It is a software testing method in which the internal structure/design/implementation of the item being tested is not known to the tester.  These tests can be functional or non- functional, though usually functional.
  • 13. Advantages  Tester can be non-technical.  Used to verify contradictions in actual system and the specifications. Disadvantages  The test inputs needs to be from large sample space.  It is difficult to identify all possible inputs in limited testing time. So writing test cases is slow and difficult.
  • 15.  Unit testing - Exercises specific paths in a component's control structure to ensure complete coverage and maximum error detection. - Components are then assembled and integrated.  Integration testing - Focuses on inputs and outputs, and how well the components fit together and work together
  • 16. Validation testing -Provides final assurance that the software meets all functional, behavioral, and performance requirements. System testing -Verifies that all system elements (software, hardware, people, databases) mesh properly and that overall system function and performance is achieved.
  • 18.  Bottom-up testing - It is an approach to integrated testing where the lowest level components– modules, procedures or functions– are tested 1st,then integrated and used to facilitate the testing of higher level components. - This method also helps to determine the levels of software developed and makes it easier to report testing progress in the form of a percentage.  Top-down testing - It is an approach to integrated testing where the top integrated modules are tested and the branch of the module is tested step by step until the end of the related module.
  • 20.  Alpha Testing  Beta Testing  Functional and Non-functional Testing
  • 21. Alpha Testing  This test is the first stage of testing and will be performed amongst the teams (developer and QA teams).  Unit testing, integration testing and system testing when combined are known as alpha testing.  The following will be tested in the application. - spelling mistakes - broken links - cloudy directions
  • 22. Beta Testing  The aim of beta testing is to cover unexpected errors.  Testing when development and testing are essentially completed and final bugs and problems need to be found before release.  These are released to a limited audience outside of the programming team.  The software is released to groups of people so that further testing can ensure the product has few faults or bugs.
  • 23. Examples of well known beta tests  Microsoft -one of the most well known in beta tests in memory was the beta for microsoft’s windows 7 operating system and before that windows vista.
  • 24. Functional Testing  Functional testing refers to activities that verify a specific action or function of the code.  The application is tested by providing input and then the results are examined that need to confirm to the functionality it was intended for.  Functional tests tend to answer the question of “can the user do this” or “does this particular feature work”.
  • 25. Non-functional Testing  This section is based upon the testing of the application from its non-functional attributes.  Non-functional testing of Software involves testing the Software for the requirements which are non-functional in nature.  It deals with features such as performance, security, user interface etc.
  • 26. Updates Regarding ST Beta testing of web sites  Facebook timeline was launched on beta testing.
  • 27. Gaana.com for online music still on beta testing..
  • 28. Conclusion  Software testing is an art.  Testing is more than just debugging.  Testing is expensive.  Complete testing is infeasible. -complete testing is not achievable, and the amount that we have estimated for production of any software product is less then the required amount.