Manual Testing
SOFTWARE TESTING
•
It
is a process used to identify Correctness,
Completeness, and Quality of developed Software application.
•
Objectives
of software testing are to be identifying defects, when those defects resolved
software application quality improves.
DEFECT:
It is a derivation between expect result to
actual result in AUT (Application under Test) which are identifying in test
environment.
•
Defect can
also call as Bug / Issue / Incident / Fault.
•
Note:
Defects will presents
due to human mistakes which developing application i.e., Syntax error &
logical error
Correctness: Validate implemented
components or functionalities are working as per expectations (While performing
operation)
Completeness: Verify all the client
business needs are covered or not in terms of functionality.
Software
Quality: In general
software quality depends on following factors
1) Budget / cost [Non Tech Factors] [Responsible by BA]
2) In Time release [Non
Tech Factors] [Responsible by BA
3) Reliability
4) Technical Factors: Responsible by QA
Tester.
a) Meet Client Requirements in terms of
functionality.
b) Meet Client Expectations
performance, compatibility and ease of usage.
Software Testing Methods:
In
general organization follows two types of methods to test the application
• Manual
Testing: Whereas test engineer is responsible to
verify actual behavior of application while performing operation based on test
cases.
•
Automation
Testing : Automating
human activities in order to validate application is called automation testing
( i.e., Test Case Execution)
Automation testing can be performed using programming languages or
scripting languages or 3rd
party tools like QTP, WR, Silk….etc.,
Skill Set Required
for QA Tester: (Functional Testing)
•
Manual Testing concepts
•
Any one of the functionality testing tool like QTP,
Selenium , Rational Robot
•
Any one of the defect reporting tool
•
DB knowledge ( Oracle / SQL Server)
•
Domain knowledge like Banking, Insurance,
finance….etc.,
Software Development Life Cycle:
• Software
: It’s a
set of programs document to perform particular task based on requirement
• Software
can be categorized in to two types:
a) System software b) Application Software
• A) System Software: The software which provides interface between
system components (booting). Those are called system software. System s/w also
called BIOS (basic input & output system)
Ex: All the Operating systems like windows, Linux, UNIX….
B) Application Software: Software which is developed based on user
business needs application s/w also called as front – end application.
In general application s/w has front- end (User Interface) and possible
associated back end (DB).
Front end is used by client to manipulate
data into DB.
Application Software have two types:-
a)
Product
based application: When we develop application based on standard requirement after developing application
which can sell to any customer in the market.
b)
Project
based application: When
we develop the application based on specific client requirement, after
developing application has to deliver that particular client only.
• Exhaustive Testing: -- Testing the application with
all possible ways is called exhaustive testing.
Particularly
exhaustive testing is not possible.
• Optimal Testing: --
Testing the application with best possible ways is called optimal
testing.
In general we
perform optimal testing only.
Testing Methodologies:
Using testing methodologies we can derive best
possible test cases to achieve the completeness of testing in application
source code or functionality.
There are 3 types of testing methodologies:
1. White Box Testing(WBT):
It
is also called as clear box testing/ glass box testing/ open box testing/
structural testing.
WBT
techniques are used to validate application source code with help of
programming knowledge.
The
WBT techniques are used by developers.
Following
WBT techniques we use to derive test cases.
a)
Statements coverage
b)
Loops Coverage
c)
Conditional Statement coverage
d)
Path or branch coverage
2. Black Box
Testing(BBT):
Black box testing is used to test the external
functionality of the application.
Black box testing is also known as
Functionality Testing or Skin testing.
Without having any
programming knowledge we validate application functionality based on client requirements.
Test Engineer will use BBT techniques to derive the
test cases.
Black box testing techniques are:
a)
Boundary Value Analysis
b)
Equivalence Class Partition
c)
Error guessing
White Box Testing
|
Glass
Box Testing
|
It is internal logic driven testing
|
It is business transaction driven testing
|
Tests are based on design and coding
|
Tests are based on user requirements
|
It is performed for code coverage
|
It is performed for requirements coverage
|
3. Gray Box Testing(GBT):
It is combination of White Box Testing and Black Box
Testing
To perform gray box testing we should have
programming knowledge and complete functionality knowledge.
IQ) Why separate testing team is required when
developer performing testing?
Developers they perform only code coverage, where as
they are not responsible for requirement coverage.
Due to that organization maintains separate testing
team for requirement coverage.