2. According to the ANSI/IEEE 1059 testing is
the process of analyzing a software item to
detect the differences between existing and
required conditions (that is
defects/errors/bugs) and to evaluate the
features of the software item.
3.  Defect- It is the difference between expected and actual
result in the context of testing. It is the deviation of the
customer requirement.
 Bug- A programming error that causes a program to work
poorly, produce incorrect results, or crash.
 Error- This is cause due to human actions like code is not
following the standard, there is some mistake in syntax, or
there is mistake in invocation of variable or might be there is
some mistakes in which database connectivity code is faulty.
4.  Software testing helps to make sure that it meets all the
requirement it was supposed to meet.
 It will bring out all the errors, if any, while using the
software.
 Software testing helps to understand that the software that
is being tested is a complete success.
 Software testing helps to give a quality certification that
the software can be used by the client immediately.
 It ensures quality of the product.
5.  Testing can done in two ways---
Positive software testing
Negative software testing
6.  Positive software testing is the testing by
giving the expected data to know whether it
works well with expected data.
 Positive software testing is the usual testing
done to check the functionality of the
software.
7.  Negative software testing is testing by giving what is
unexpected to know how the software reacts to such a data.
 It is also known as illegal testing since the testing is using a
abnormal data.
 Negative software testing is always giving us a positive view
about software testing itself. It helps us to know the software
behaves as it is required to behave. The aim of a software tester
should be to make the software fail. He should never think like
a software maker.
10.  White box testing strategy deals with the
internal logic and structure of the code.
 It is also called as glass, structural, open box
or clear box testing.
 The tests written based on the white box
testing strategy incorporate coverage of the
code written, branches, paths, statements
and internal logic of the code etc.
11.
12.  As the knowledge of internal coding structure
is prerequisite, it becomes very easy to find
out which type of input/data can help in
testing the application effectively.
 It helps in optimizing the code.
 It helps in removing the extra lines of code,
which can bring in hidden defects.
13.  As knowledge of code and internal structure
is a prerequisite, a skilled tester is needed to
carry out this type of testing, which increases
the cost.
 It is nearly impossible to look into every bit
of code to find out hidden errors, which may
create problems, resulting in failure of the
application.
14.  Black Box Testing is testing without
knowledge of the internal workings of the
item being tested.
 For example, when black box testing is
applied to software engineering, the tester
would only know the “legal” inputs and what
the expected outputs should be, but not how
the program actually arrives at those outputs.
15.
16.  More effective on larger units of code than glass box
testing.
 Tester needs no knowledge of implementation,
including specific programming languages.
 Tester and programmer are independent of each other.
 Tests are done from a user’s point of view .
 Will help to expose any ambiguities or inconsistencies
in the specifications.
 Test cases can be designed as soon as the specifications
are complete.
17.  Only a small number of possible inputs can actually be tested,
to test every possible input stream would take nearly forever
 Without clear and concise specifications, test cases are hard
to design.
 There may be unnecessary repetition of test inputs if the tester
is not informed of test cases the programmer has already
tried.
 May leave many program paths untested.
 Most testing related research has been directed toward glass
box testing.
18.
19.  Unit Testing is a level of the software testing
process where individual units/components
of a software/system are tested.
 The purpose is to validate that each unit of
the software performs as designed.
20.  Integration Testing is a level of the software
testing process where individual units are
combined and tested as a group.
 The purpose of this level of testing is to
expose faults in the interaction between
integrated units
21.  System Testing is a level of the software
testing process where a complete, integrated
system/software is tested.
 The purpose of this test is to evaluate the
system’s compliance with the specified
requirements.
22.  Acceptance Testing is a level of the software
testing process where a system is tested for
acceptability.
 The purpose of this test is to evaluate the
system’s compliance with the business
requirements and assess whether it is
acceptable for delivery.
24.  Installation testing is check that software
application is successfully installed & it is
working as expected after installation.
 Compatibility testing is used to determine if
your software application has issues related
to how it functions in concert with the
operating system and different types of
system hardware and software.
25.  An alpha test is a preliminary software field
test carried out by a team of users in order to
find bugs that were not found previously
through other tests.
 A beta test is the second phase of software
testing in which a sampling of the intended
audience tries the product out.
26.  Usability testing refers to evaluating a product
or service by testing it with representative users.
Typically, during a test, participants will try to
complete typical tasks while observers watch,
listen and takes notes.
 Security Testing is a type of software testing
that intends to uncover vulnerabilities of the
system and determine that its data and
resources are protected from possible intruders.
27.  Acceptance testing is the testing performed
by the customer after the product delivery
to determine whether to accept or reject the
delivered product.
28.  SOURCE TEST TOOLS
BoundsChecker
Bullseye Coverage
Code Coverage
 FUNCTIONAL TEST TOOLS
Automate!Test Manager
Automated Test Designer
AutoTester One Avignon
 PERFORMANCE TEST TOOLS
BugTimer
DB Stress
LoadeaTest
29.  JAVA TEST TOOLS
Abbot
AdaptiveCells/J
AgileTest Agitator
AppPerfect DevSuite
 DATABASE TEST TOOLS
Data Generator
Datatect
ER/Datagen
30.  LINK and HTML TEST TOOLS
AccVerify/AccRepair
ChangeAgent
CSE HTML Validator
Cyber Spyder Link Test
Dead Links
HTML Candy
 FUNCTIONAL TEST TOOLS
actiWATE
Astra QuickTestTM
AutoTester One
Badboy