Software Testing:: Why Did You Choose This Course?
Software Testing:: Why Did You Choose This Course?
Software Testing:: Why Did You Choose This Course?
Software Testing:
⇒ Project:
Project is some thing that is developed based on the particular
customers requirements and used by that customer only ( E.g.:
Marriage laddu)
⇒Product:
It is some thing that is developed based on the companies’ specification and
used by the multiple customers (e.g.: Thirupathi laddu)
⇒Quality:
Classical definition for quality: - Quality is defined as justification of all the
requirements of customer in a product.
NOTE: Quality is not defined in the product; it is defined in the customers mind
Latest definition for quality: - quality is defined as not only the justification of
requirements but also the presence of value (User friendliness)
1
Page 2
⇒ Testing:
Testing is processes, in which the defects are identified, isolated, subjected
for rectification & ensure that the product is defect free. In order to produce the
quality product in the end and hence customer satisfaction.
2. Analysis phase
3. Design phase
4. Coding Phase
5. Testing Phase
(a) Tasks: Interaction with the customer and gathering the requirements.
⇒Process: First of all the business analyst will take an appointment from the
customer, collects the templates from the company, meets the customer on
appointed day, gathers the requirements with the help of template and comes back
to the company with the requirements documents.
5. BD (Business Document)
Some companies may maintain the over all business flow information in one
document and the detailed functional requirement information in the other
document
⇒Templates: It is a pre defined format, which contains the predefined fields, and
used for preparing a document in an easy, comfort and perfect manner.
⇒Prototype: -Defined as a roughly & Rapidly developed model which is used for
demonstrating to the client, In order to gather the clear requirements and to win the
confidence of a customer.
(a) Tasks:
1. Feasibility Study
2. Tentative planning
3. Technology Selection
4. Requirement Analysis
(b) Roles: System Analyst, Project Manager, and Team Manager.
Process
2. Tentative Planning: In this section the resource planning and the time
planning (scheduling) is done temporarily.
3
Page 4
3. Technology Selection: - The list of all the technologies that are required
to accomplish this project. Successfully will be analyzed and listed out in this
section.
Roles: High-level designing is done by the chief Architect & Low level
designing is done by the Technical Lead
Process: The Chief architect will be drawing some diagrams using unified
modeling language in order to divide the whole project in to modules.
The Technical lead will also draw some diagrams in order to divide the
modules in to sub modules.
The technical lead will also develop the PSEUDO code in order to make
developers comfortable while developing the actual code.
Process: Developers will develop the actual code by using the technical design
document as well as following the coding standards like Proper indentation, color
coding, proper commenting and etc..,
V. Testing Phase:
Process:
1. First of all the test engineers will collect the requirements
document and try to understand all the requirements
5. Once the first build is released then they will execute the
test cases
6. If at all any defects are found. They will list out all of them
in a defect profile template then
8. Once the next build is released then they re-execute the test
cases.
9. If at all any defects are found they will update the profile
document and sent it to the development department and
will be waiting fro the next build to be released .
⇒Test Case: (def) Test case is an idea of a test engineer based on the customer’s
requirements in order to test a particular feature or a function.
5
Page 6
Delivery:
(a) Task: - Installing the application in the client’s environment
Process: - The senior test engineer or deployment engineer will be going to the
clients place and install the application in their environment with the help of the
guidelines provide in the deployment document.
Maintenance:
After delivering the software while using if at all any problem occurs
then that problem becomes a task, based on that problem corresponding roles will
be appointed, the roles will defined the process and solve that problem.
Some clients may request for the continuous maintenance in such situations a
group of people from the software company will be continuously working on the
clients place and taking care of the soft ware.
************************^^^^^^^^^^^^^^^^^^^************************
1. UN-Conventional testing
2. Conventional testing
(a) Black-Box Testing: If one performs testing only on the functional part of
an application with out having any structural knowledge then that method of
testing is known as Black-Box testing, usually the test engineers perform it.
(c) Grey-Box Testing: If one performs testing on both the functional part as
well as the structural part of an application then that method of testing as
known as grey box testing using the test engineers who have structural
knowledge will perform gray- box testing.
⇒Levels of Testing:
There are five levels of testing
7
Page 8
It is a level of testing in which one will perform testing on the modules. It is a black
box testing and usually test engineers perform it.
The developers may follow one of the following approaches while integrating
the modules.
1.Top-down approach
4.Big-bang approach
1.Top-down approach: - In this approach one will develop the parent modules
first and then integrate them with the related child modules
2.Bottom-up approach: - In this approach one will develop the child modules
first and integrate them to the parent modules
4.Big bang approach:-In this approach one will wait till all the modules are
ready and finally they will integrate all the modules at a time
⇒STUB: - While integrating the modules in top down approach if at all any
mandatory module is missing (not completed) then that module is replace with
a temporary program known as STUB
a. Presentation layer
b. Business layer
b. Business Logic: - The logic that is used for performing the operations on
the application is known as business logic.
c. Data Base Logic: - The logic that is used for sharing and retrieving the
data is known as database logic.
9
Page 10
One-Tier Architecture
PL
PL+BL DBL
PL+BL
PL+BL
Clients Server
c. Web environment: - In his type of environment three tiers will be there. One is
for client’s the middle one is for application server and the other one is for
database servers. Presentation layer will be present at clients, Business layer
will be present in the application server, and database layer will be present at
the database servers. This type of environment is suitable for the applications
that are used all over the world by limited number users
Three-tier Architecture:
1
Page 11
PL
DBL
BL
PL
DBL
PL
Web server: -
It is software, which provides web services to the clients.
E.g.: - Internet Information service (IIS).
d. Distributed environment: -
It is similar to the web environment but the number of application
servers are increased and represented in individual tiers in order to
distribute the business logic so that the logic will be distributed.
N-tier Architecture:
Ws
PL DBL
BL BL BL
PL
PL
PL
1
Page 12
******************^^^^^^^^^^^^^^^^^^^^^^^********************************
UTR
CODING Implementation Unit test
Int. test
UTR
DEL&MAINT UTR
Delivery to
client
Advantages:
It is a simple model
Project monitoring & maintenance is very easy
Drawbacks:
Con not accept the new requirements in the middle of the project
1
Page 13
H/Wprototype H/Wprototype
Prototype
S/WPrototepe H/Wprototype
Drawbacks: -
⇒ It is not a complete model
⇒ Prototype has to be built on companies cost
⇒ User may limit his requirements by sticking to the prototype.
Initial Req
User
Application User accept
validation
Advantages: -
Whenever the customer is evolving the requirements this is the best
Suitable model.
Drawbacks: -
• Cannot define the dead lines
• Project monitoring & maintenance is very difficult
• No Transparency (No clear)
1
Page 14
Spiral Model: -
Defining the objectives/WA/Constraints
Implementation
Advantages: -
This is the best suitable for developing the highly risk based project
(scientific projects)
Drawbacks: -
Risk analysis and estimation is not an easy task
It is a costly model
It is a time consuming model
Advantages: -
This is the best suitable for developing the highly risk based
project(scientific
projects)
Drawbacks: -
o Time consuming Model
o Costly model
1
Page 15
Verification: -
It is a process of checking conducted on each and every role of the
organization in order to check whether they are working according to the guidelines
or not right from the starting of the process till the ending of the process
Validation: -
It is a process of checking conducted on the developed product in
order to check whether it is working according to the requirements or not.
(D) V-Model: -
Verification
Validation
BRS Preparing proj plan
Initial& design SRS Preparing Test plan
Phase Req.Phase testing
Port Testing
S/W efficiency
DRE=A/A+B
Delivery & Maintenance Test S/W changer
Advantages; -
AS verification and validation as well as test management process is done the
out come will be a quality product.
Drawbacks: -
o Time consuming mode
1
Page 16
o Costly model
2.Regression Testing: -
It is a type of testing in which one will perform testing on the already tested
functionalities again and again.
It is usually done in two scenarios.
1. Whenever the testers has raised the defects, rectified by the developers and next
build is released to the testing department then the test engineer’s will test the
defect functionality as well as the related functionality once again.
2. When ever some new features are incorporated by the developers, next build is
released to the testing department then the test engineers will once again test the
related functionalities of the new features in order to confirm that they are
working same as previous.
Note: - Testing the new functionalities for the first time is known as new testing
but not Regression Testing.
1
Page 17
3.Re-Testing: -
It is a type of testing in which one will test the same functionality again and
again with different sets of values in order to come to a conclusion whether it is
working or not.
Advantage: - If at all any defects are found then there is a chance of rectifying
them immediately.
5. β -Testing (Beta): -
It is a type of user acceptance testing done in the clients
place either by the end-users or by the third party testing experts before actual
implementation.
Drawback: If at all any defects are found then there is no chance of rectifying them
immediately.
6. Static Testing: -
It is a type of testing in which one will perform testing on the application or
application related factors with out performing any action.
Eg:- Documentary testing, GUI testing, Code reviews and etc.,
7. Dynamic Testing: -
It is a type of testing in which one will perform in the application or its
related factors by doing some actions
Eg: - Functionality testing.
8.Installation Testing: -
It is a type of testing in which one will install the application in to the
environment by following the guide lines provided in the installation document and
if the installation is successful then he will come a conclusion that the given guide
lines are correct other wise he will come to a conclusion that the given guidelines are
not correct.
1
Page 18
9.Compatibility Testing: -
It is a type of testing in which one may have to deploy the application in to
the multiple number of environments prepared with different combinations of
environmental components in order to check whether the application is compatible
with all that environments. This type of testing is usually done to products.
11.Usability Testing: -
It is a type of testing in which one will check whether the application is user
friendly or not and it can be comfortably used by the end user or not.
14.Port Testing:-
It is a type of testing in which one will deploy the application in to the clients
environment and check whether it is compatible with that environment or not.
15.Reliability Testing: -
It is a type of testing in which one will perform testing on the application
continuously for long period of time in order to check the stability of the application
16.Security Testing: -
It is a type of testing in which one will concentrate on the following areas of
the application
1
Page 19
It is a type of testing in which one will enter as one level of user and try to
access the other level of unauthorized pages in order to check whether the firewalls
are working properly or not.
They are…
• Test Planning
• Test Development
1
Page 20
• Test Execution
• Result Analysis
• Bug Tracking
• Reporting
Plan: -
It is a strategic document, which describes how to perform a
task in an effective, efficient and optimized way.
Test Plan: -
It is a strategic document, which describes how to perform testing on an
application in an effective, efficient and optimized way.
Optimization: -
Optimization is a process of utilizing the available input resources to their
max and getting maximum possible output.
1.0 Introduction
1.1 Objective
1.2 Reference Document
8.0 Scheduling
11.0 Assumptions
1.0 Introduction: -
1.1 Objective: -
The Purpose of the document is clearly described here in this section
Test Plan: -
It is defined as a project level term, which is used for testing a particular
project in the organization.
Note: - Test strategy is common for all the projects but the test plan is
specific for a particular project
3.6 Terminology: -
2
Page 23
The list of all the terms and the meaning that are used in that company will
be listed out here in this section
The list of all the documents that are to be prepared during the testing phase
will be listed out here in this section.
Eg: Test case, defects profile document.
8.0 Scheduling: -
The starting dates and the ending data of the each and every tasks is clearly
planned here in this section.
2
Page 24
Example:
Risks:
i. Unable to deliver the software with in dead lines.
ii. Employees may leave the organization in the middle of the
project
iii. Customer may impose the dead lines.
iv. Unable to test all the features with in the time.
v. Lack of expertisation
11.0 Assumptions: -
The list of all the assumptions that are to be assumed by the test engineer will
be listed out here in this section.
LLI (Low-level
Information)
2
Page 25
Use Cases:
Use case is a description of functionality of certain features of an application
in terms of actors, actions& responses
i. Screen shot
ii. Functional requirements
iii. Special requirement/Business rules/Validation
iv. Template
User name
Password
Connect to
α . Initially whenever the login screen is Invoked Login, clear buttons must
be disabled.
β . Cancels Button must be always enable.
χ . Up on entering user name and password the login button must be
enabled.
δ . Up on entering some information in to any of the fields the clear button
must be enabled
2
Page 26
ε . The Tabbing order must be user name, Password, Connect to, Login,
clear, cancel.
1.Explicit Requirements: -
The Requirements that are directly given by the customer are known
as explicit requirement.
2.Implicit Requirement: -
The requirements that are analyzed by the business analyst feeling
that they will add the value (user friendliness) to the application are known
as implicit requirements.
2
Page 27
• Initially whenever the login screen is invoked the cursor must be available in
the user name field
• Upon entering invalid username, valid password and clicking on log in
button an error message should be displayed “Invalid username Please try
again”
• Upon entering valid username, In valid password and clicking on login
button an error message should be displayed “Invalid Password Please Try
again”
• Upon entering Invalid username, Invalid password and clicking on login
button an error message should be displayed “Invalid user name and
password Please try again”
1.Main Flow:
Action Response
2
Page 28
1.Actor invokes the application. 1.Login Screen is displayed with the following fields
Username, Password, Connect to, Login, Clear&
cancel.
2.Actor enters valid user name, Valid 2.Either home page or admin page is displayed
password and clicks on login button. depending up on the actor entered by authenticating.
3.Actor enters valid user name, valid 3.Authenticates,Either home page or admin page is
password, selects a database option and displayed depending up on the action entered with
clicks on login button. mentioned data base connection.
4.Actor enters invalid user name Valid 4.Go to Alternative flow table 1
password and clicks on login button.
5.Actor enters valid user name, Invalid 5.Go to Alternative flow table 2
password and clicks on login button.
6.Actor enters both user name and 6.Go to Alternative flow table 3
password invalid and clicks on login
button.
2
Page 29
Action Response
Actor enters invalid user name, invalid Authenticates an error message is
password and clicks on login button displayed “Invalid User name and
password Please Try again”.
Action Response
Actor Clicks on the cancel button. Login screen is close
• Identify the functionality of the use case with respect to the total
functionality
Authentication
• Identify the functional points and prepare the functional point document.
2
Page 30
Either home page or admin page for valid users and error message for
invalid users
• Understand the main flow of the application
• Understand the alternative flow of the application
• Understand the special requirements
• Document the test cases for the main flow
• Document the test cases for the alternative flow
• Document the test cases for the special requirements
• Prepare the cross-reference matrix.
Functional Point: -
The point where an user can perform some action is known as
functional point.
Testing Process: -
FRS FPD MTCD DTCD DPD
8 22 5 5
47
3
Page 31
1 1
2 1
3 1
4 2
5 2
6 2
7 2
8 2
DID TCID
1 28
2 32
3 65
4 96
5 48
6 52
There are Two types of test cases if we see broadly they are:
1. GUI Test Cases
2. Functional Test Cases
3
Page 32
3
Page 33
TC
ID TYPE Description Expected Value Actual Value Result Severity Priority Reference
All the objects
Check for the availability All the objects must be are available as
of all the objects as per available as per the
per the login
the Login Obj Tab login obj tab
1 GUI obj tab Pass
All the objects must be
consistent with each All the objects
Check for the constancy other are consistent
2 GUI of all the objects with each other Pass
Check for the spellings of
all the objects as per the All the objects must be All the objects
spelled properly as per
Login obj TabLogin Obj are spelled
the login obj tab
3 GUI Tab.xls properly Pass
Initially login, clear
Check for the enable must be disabled and Login, clear and
property of login, clear cancel button must be cancel buttons
4 GUI and cancel buttons enabled are enabled Fail
Initially the cursor must Initially the
be positioned in the cursor is present
Check for the initial user name field in the username
5 GUI position of the cursor field Pass
Enter some information in
to user name and
Login button must be
password field and check
enabled
for the enabled property of Login button is
6 Positive login button enabled Pass
Enter some info in to any
of the fields and check for Clear button must be
the enabled property of enabled Clear button is
7 Positive clear button enabled Pass
Corresponding
Corresponding page pages are
Enter user name, must be displayed as displayed as per
Password as per the VIT per the VIT valid in puts
8 Positive and click on login button table Pass
Corresponding page Corresponding
Enter username, must be displayed as pages are
displayed as per
Password as per the VIT per the VIT With the the VIT with the
and select a data base mentioned data base mentioned data
9 Positive option and click on login connection base connection Pass
All the fields are
All the fields must be
cleared but the
cleared and the Cursor
Enter some information in cursor is not
should be placed in the
to any of the fields and placed in the
user name fields
10 Positive clear button user name field. Fail
3
Page 34
Tabbing order is
as follows
Tabbing order must be
Username,
as follows User name,
Password,
Password, Connect to,
Connect to
Login, Clear, Cancel
Check for the tabbing Login, clear,
12 Positive order of all the objects Cancel Pass
Corresponding Corresponding
Enter username, messages should be error messages
Password as per the IVIT are not displayed
displayed as per IVIT
13 Negative and click on login button as per IVIT Fail
Enter some information
only in to the user name
Login button must be
field and check for the
disabled
enabled property of login Login button is
14 Negative button enabled Fail
Enter some information
only in to the password
Login button must be
field and check for the
disabled
enabled property of login Login button is
15 Negative button enabled Fail
4 Login Button
5 Clear Button
6 Cancel Button
3
Page 35
1 Suresh1 qtp Invalid User name Plz try again Admin Fail
Invalid User name Plz try
2 Raja2 rani Invalid User name Plz try again again Pass
Invalid password Plz try Invalid password Plz
3 Chiru DADA again try again Pass
Invalid password Plz try Invalid password Plz
4 Praveen TOPI again try again Pass
Invalid user name & Invalid user name &
5 NTR1 illu4 password Plz try again password Plz try again Pass
Invalid user name & Invalid user name &
6 Admin5 Admin6 password Plz try again password Plz try again Pass
In this phase the test engineer will compare the expected values with the actual
values and if both are matched they will document the result as pass other wise they
will document the result as fail.
Bug Tracking is a process in which the defects are identified, Isolated and managed
Defect –ID: -
3
Page 36
Defect Description: -
What exactly the defect is clearly described here in this section.
Submitter: -
The name of the test engineer who has submitted the defect will be mentioned here
in this section.
Date Submission: -
The date on which the defect is submitted is mentioned here in this section.
Version No: -
Corresponding Version number is mentioned here in this section.
Build No: -
Corresponding build number is mentioned here in this section.
Assigned To: -
The development lead will fill the developers name for whom the defect is assigned.
3
Page 37
Priority Status
1.Enter some
information in to any
Upon Clicking on of the fields
clear button all the 2.Click on clear
fields are cleared button
but the cursor is not3.Observe that the
placed in the user cursor is not placed
name field in the username
fields after clearing
all the fields
2 Sri Balaji 11-Feb-08 1.0.0 1
1.Enter Suresh1 in
to the user name
Upon entering
field 2.Enter
Suresh1 as
qtp in to the
username and qtp
password field
as password and
3.Click on login
clicking on login
button
button admin page
4.Observe admin
is displayed instead
page is displayed
of error message
instead of error
message.
3 Sri Balaji 11-Feb-08 1.0.0 1
1.Enter some
information in to
Up on entering the username field
information only in 2.Check for the
to the user name enabled property of
field login button is login button.
enabled instead of 3.Observe that login
being disabled button is enabled
instead of being
disabled.
4 Sri Balaji 14-Feb-08 1.0.0 1
1.Enter some
information in tho
Upon entering the password field
information only in 2.Check for the
to the password enabled property of
field login button is login button
enabled instead 3.Observe that login
being disabled button to enable
instead of being
disabled
5 Sri Balaji 11-Feb-08 1.0.0 1
3
Page 38
Defect- Id: -
The list of defect numbers are mentioned here in this section
Defect Description: -
What exactly the defect is clearly described here in this section
Submitter: -
The name of the test engineer who has submitted the defect will be
mentioned here in this section.
Date Of Submission: -
The date on which the defect is submitted is mentioned here in this
section.
Version No: -
Corresponding Version number is mentioned here in this section.
Build No: -
Corresponding build number is mentioned here in this section.
Assigned To: -
The development lead will fill the developers name for whomthe defect
is assigned.
Severity: -
How serious the defect is defined in terms of severity, Severity is
classified in to four types:
1.Fatal (Sev1) or S1 or 1
2.Major (Sev2) or S2 or 2
3.Minor (Sev3) or S3 or 3
4.Suggestion (Sev4) or S4 or 4
1.Fatal:
If at all the problems are related to the navigational blocks or unavailability
of functionality then such type of defects are treated to be fatal defect.
Val1
Main Menu Val2
Result UN
AVAILABL
ADD E
Next
Next Next
3
Page 39
2.Major: -
If at all the problems are related to the working of major functionalities
then such types of defects are treated to be major defects.
Val1 10
Val2 20
Result -10
ADD
3.Minor: -
If at all the problems are related to the Look & Feel of the application
then such type of defects are treated to be minor defects
Val1
Val2
Result
BAD
4.Suggestions: -
If at all the problems are related to the value of the application then such
type defects are treated to be suggestions.
Some Invalid
+Ve integer Box Entry
alphabets
Plz Try
again
3
Page 40
Priority: -
Priority defines the sequence in which the defects has to be rectified. It is
classified in to four types
1.Critical (Pri1) or P1 or 1
2.High (Pri2) or P2 or 2
3.Medium (Pri3) or P3 or 3
4.Low (Pri4) or P4 or 4
Usually the Fatal defects are given critical priority, Major defects are given
High priority, Minor defects are given Medium Priority and suggestions are given
Low Priority, But depending up on the situations the priority will be changing.
I - Case:
Low severity-High Priority Case: -
Up on customer visit to the company all the look and feel defects are
given highest priority.
II - Case:
High severity –Low Priority Case: -
When ever 80% of the application is released to testing department as
20% is missing the test engineers will treat them as Fatal defect but the development
lead will give least priority for those defects as features are under development.
4
Page 41
Testers
REQ error
As per
design
No
Is it
Reall OP
DEV y EN Rectific
Defe ation
ct
M1
Fixed for
Build #1 verification
Build #2
TESTING
Yes
If
Defect STOP TESTING
Ne No
w
Is
defect Yes
is Clos
RE really ed
ope No verifie
n d
4
Page 42
Status: -
New: - When ever the defect is found for the first time the test engineer will set the
status as New.
Open: -When ever the developer accepts the raised defect then he will set the status
as open.
Fixed for verification Or Fixed for rectified: - When ever the developer rectifies the
raised defect then he will change the status to fixed.
Re open and Closed: -When ever the defects are rectified, next build is released to
the testing dept then the test engineers will check whether the defects are rectified
properly or not. If the defect is rectified properly then the test engineer will set the
status as “Closed”. If the defect is not rectified properly then the test engineer will
set the status as “Re open”.
Hold: - When ever the developer is confused to accept or reject the defect then he
will set the status of the defect as hold.
As Per Design: - When ever the test engineer is not aware of new requirements and
if he raises defects related to the new features then the developer will set the status
“ As Per Design”.
Note: This is a rare case not usually Occurs