Manual Testing Step by Step Tutorial
Manual Testing Step by Step Tutorial
Tutorial
1) Software Development Life Cycle and SDLC Model
i) Requirement Gathering
ii) Analysis
iii) Design
iv) Coding / Development
v) Testing
vi) Deployment & Maintenance
SDLC Models
i) Waterfall Model
ii) V Model
i) Unit Testing
ii) Integration Testing
iii) System Testing
iv) Acceptance Testing
i) Functional testing
ii) Non-functional testing
iii) Structural testing
iv) Change related testing
i) Requirement Analysis
ii) Test Planning
iii) Test Design & Development
iv) Test Environment Setup
v) Test Execution
vi) Test Cycle Closure
> Software Development Life Cycle (SDLC) is a process used by the software
industry to design, develop and test software. The SDLC aims to produce a
high-quality software that meets or exceeds customer expectations, reaches
completion within times and cost estimates.
> ISO/IEC 12207 is an international standard for software life-cycle
processes. It defines all the tasks required for developing and maintaining
software.
These phases may vary form one organization to another, but purpose is
almost all same, that is "Develop and Maintain Quality Software",
i) Requirement Gathering
ii) Analysis
iii) Design
iv) Coding / Development
v) Testing
vi) Deployment & Maintenance
i) Requirement Gathering
Note: Document name may vary from one Organization to another, Some
examples are Customer Requirement Specification (CRS), Business
Requirement Document (BRD) etc…
> Suppose Our Planned Software is not intended for a single customer and
the software product for multiple customers then Business Analyst or
Business Team collects Requirements from the Market and also evaluate
Other similar products in the Market
> Key Role in this phase is Business Analyst and Outcome of the phase is
"Business Requirement Specification"
ii) Analysis
> Once the Requirement Gathering is done the next step is to define and
document the product requirements and get them approved by the
customer. This is done through SRS (Software Requirement Specification)
document. SRS consists of all the product requirements to be designed and
developed during the project life cycle.
> Key people involved in this phase are Project Manager, Business Analyst
and Senior members of the Team. The outcome of this phase is Software
Requirement Specification.
iii) Design
> In Design phase Senior Developers and Architects, they give the
architecture of the software product to be developed. It has two steps one is
HLD (High Level Design) or Global Design and another is LLD (Low Level
Design) or Detailed Design,
> High Level Design (HLD) is the overall system design, covers the system
architecture and database design. It describes the relation between various
modules and functions of the system.
> Low Level Design (LLD) is the detailed system design, covers how each
and every feature in the product should work and how every component
should work.
> The outcome of this phase is High Level Document and Low Level
Document which works as an input to the next phase Coding...
> Developers (seniors, juniors and fresher) involved in this phase, this is the
phase where we start building the software and start writing the code for the
product.
> The outcome of this phase is Source Code Document (SCD) and the
developed product.
v) Testing
> During this phase, Testing team may find defects which they communicate
to developers, the development team fixes the defect and send back to
Testing for a re-test. This process continues until the software is Stable, and
working according to the business needs of that system.
> Fixing the issues found by the customer comes in the maintenance phase.
100% testing is not possible – because, the way testers test the product is
different from the way customers use the product. Maintenance should be
done as per SLA (Service Level Agreement)
> There are various software development life cycle models defined and
designed which are followed during the software development process.
These models are also referred as Software Development Process Models".
i) Waterfall Model
> Waterfall approach was first SDLC Model to be used widely in Software
Engineering to ensure success of the project. In "The Waterfall" approach,
the whole process of software development is divided into separate phases.
In this Waterfall model, typically, the outcome of one phase acts as the input
for the next phase sequentially.
a) Requirements Gathering:
> This first step is also the most important, because it involves gathering
information about what the customer needs and defining, in the clearest
possible terms, the problem that the product is expected to solve.
b) Software Requirements:
c) Design:
> In this phase Global and Detailed design can be produced based on
Software Requirements.
d) Coding:
> This step consists of actually constructing the product as per the design
specification(s) developed in the previous step. Typically, this step is
performed by a development team consisting of programmers, interface
designers and other specialists, using tools such as compilers, debuggers,
interpreters and media editors. The output of this step is one or more
product components, built according to a pre-defined coding standard and
debugged, tested and integrated to satisfy the system architecture
requirements.
e) Testing:
> In this stage, System will be tested by testers, if the find any mismatch
they report defects. Developers /Programmers fix the defects and then
testers close defects by performing confirmation testing (Regression
Testing).
Etc…
d) Works well for smaller projects where requirements are very well
understood.
ii) V Model
> It is Verification & Validation model, known as V Model, in this model all
development phases can be integrated with Testing phases.
> The V-model illustrates how testing activities can be integrated into each
phase of the software development life cycle.
> Business Analyst category people gather requirements and the document
the requirements, after documentation Reviews, Meetings like verification
will take place in order get correct & Complete Requirements.
Advantages of V Model:
Disadvantages of V Model:
i) Unit Testing
ii) Integration Testing
iii) System Testing
iv) Acceptance Testing
i) Unit Testing
> In Unit Testing level individual units/ components of a software are tested.
The purpose is to validate that each unit of the software works as designed.
> Developers conduct Unit Testing using White Box Test Design
Techniques…
> In Integration Testing Level, 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.
> In System Testing level a complete and integrated software is tested. The
purpose of this test is to evaluate the system’s compliance with the specified
software requirements.
> Independent Testers conduct System Testing using Block Box Test Design
Techniques...
> Evaluating the effects of changes, such as confirming that defects have
been fixed (confirmation testing) and looking for unintended changes in
behavior resulting from software or environment changes (regression
testing)
i) Functional Testing
> Functional testing of a system involves tests that evaluate functions that
the system should perform. Functional requirements may be described in
work products such as business requirements specifications, epics, user
stories, use cases, or functional specifications, or they may be
undocumented. The functions are “what” the system should do.
> Functional tests should be performed at all test levels. Functional testing
considers the behavior of the software
> Structural Testing derives tests based on the system’s internal structure
or implementation. Internal structure may include code, architecture, work
flows, and/or data flows within the system.
> When changes are made to a system, either to correct a defect or because
of new or changing functionality, testing should be done to confirm that the
changes have corrected the defect or implemented the functionality
correctly, and have not caused any unforeseen adverse consequences.
> Confirmation Testing: After a defect is fixed, the software may be tested
with all test cases that failed due to the defect, which should be re-executed
on the new software version.
> Regression Testing: It is possible that a change made in one part of the
code, whether a fix or another type of change, may accidentally affect the
behavior of other parts of the code, whether within the same component, in
other components of the same system, or even in other systems.
> Changes may include changes to the environment, such as a new version
of an operating system or database management system. Such unintended
side-effects are called regressions.
> Regression testing involves running tests to detect such unintended side-
effects. Confirmation testing and regression testing are performed at all test
levels.
> Regression test suites are run many times and generally evolve slowly, so
regression testing is a strong candidate for automation. Automation of these
tests should start early in the project.
A test design technique is used to select a good set of tests from the all
possible tests for a given system.
Exhaustive Testing is a Test approach in which the test suite comprises all
combination of input values and preconditions.
Exhaustive Testing is not recommendable due to Time and Budget
considerations.
There are two main categories of Test Design Techniques, They are:
i) Static Techniques
ii) Dynamic Techniques
i) Static Techniques
> Testing of the software documents manually or with a set of tools but
without executing the Software.
1) Informal Review
2) Walkthrough
3) Technical Review
4) Inspection
b) Static Analysis
Static analysis tools are typically used by developers, Compilers offer some
support for Static analysis,
• Equivalence Partitions/Classes can be found for both valid data and invalid
data.
Example 4 (Others)
• The maximum and minimum values of a partition are its boundary values.
Example 1:
Partition 1 Partition 2 Partition 3
0 1 to 10 11 to 99 or above
(Invalid) (Valid) (Invalid)
Minimum/maximum 0
Minimum 1
Maximum 10
Minimum 11
Maximum 99
————————————-
Example 3 (Data Size)
Minimum -9
Minimum and Maximum – 10
Maximum -11
—————————————-
Example: User Id field accepts 10 to 20 characters
Minimum -1
Maximum – 9
Minimum – 10
Maximum – 20
Minimum – 21
Maximum -99
• The decision tables are good way to capture system requirements that
contain logical conditions.
• It may be applied for all situations when the action of the software
depends on logical decisions.
Conditions:
i) For SC or ST Candidates 5 Years age relaxation
ii) For BC Candidates 5 Years age relaxation
iii) PHC Candidates 5 Years age relaxation
Condition:
• In State transition Testing Test cases are designed to execute valid and
invalid state transitions.
• In Use Case Testing Test Cases are designed to execute User Scenarios or
Business Scenarios.
• A Use Case describes interactions between actors, including users and the
system.
Example:
Mainstream Scenario:
1)
User: Inserts ATM Card
2)
User: Enters PIN
3)
User: Selects Language
4)
User: Selects Account Type
5)
User: Enters Amount
5a) If User enters incorrect amount (More than the balance amount or more
than the day limit)
> Software Testing Life Cycle (STLC) identifies what test activities to carry
out and when to accomplish those test activities. Even though testing differs
between Organizations, there is a testing life cycle.
> Just like Software Developers follow the Software Development Life Cycle
(SDLC), Software Testers also follow the Software Testing Life Cycle.
> Software Test Process is not a single activity, it consists of many different
activities which are executed to achieve a good quality product.
We have Entry and Exit Criteria for all levels in the Software Testing Life
Cycle…
Entry Criteria: Entry Criteria gives the prerequisite items that must be
completed.
Exit Criteria: Exit Criteria defines the items that must be completed.
i) Requirement Analysis
> In Requirement Analysis phase, test team studies the requirements and
identify the testable requirements.
Entry Criteria: Requirements Document available (both functional and non
functional), Application Architectural document or Product should be
available…
Exit Criteria: RTM should be signed off and The customer should sign off on
the test automation feasibility
Deliverables:
a) Requirement Traceability Matrix (RTM)
b) Automation feasibility report(Optional)
> In this phase the Test Manager or Test Lead prepares the Test Plan and
Test strategy documents.
Exit Criteria: Approved Test Plan document, Test Strategy document and
Effort estimation document
Deliverables:
a) Test Plan, Test Strategy document.
b) Test estimation document.
Etc..
iii) Test Design & Development
> In Test design phase, testers prepare test scenarios, test cases/test
scripts and test data based on the Requirement Document/s and Test Plan.
Exit Criteria: Reviews Test cases, Test Scripts (if automation) and Test data.
Deliverables:
a) Test cases
b) Test scripts (for automation if required)
c) Test Data
> Test Environment supports test execution with software, hardware and
network configured. Test environment configuration must mimic the
production environment.
Exit criteria: Test environment should be ready and smoke testing should be
performed successfully.
Activities:
a) Setup Test Environment and Test Data
b) Verify Test Environment by Conducting Smoke Tests
Deliverables:
a) Test Environment ready with test data set up
b) Smoke Test Results.
v) Test Execution
> In Test Execution phase the test cases are executed in the testing
environment, while execution of the test cases the Testing team may find
bugs which will be reported, bugs are fixed by the developer and they are
retested by the Testing Team.
Entry Criteria: Test Plan document, Test cases, Test data, Test Environment
Activities:
a) Execution of Test Cases
b) Document test results, and log defects for failed cases
c) Update RTM – Map defects to test cases in RTM
d) Retest the Defect fixes
e) Track the Defects to Closure
Deliverables:
a) Test execution Report
b) Updated test cases with results
c) Completed RTM with execution status
d) Opened and Closed Bug Report/s
> Testing team will meet, discuss and analyze testing artifacts and evaluate
Test cycle completion criteria. Identify strategies that have to be
implemented in future and taking lessons from the current test cycle.
Entry Criteria: Test case Execution report and Opened and closed Defect
Reports
Exit Criteria: Test Closure Report signed off by client, Test Metrics
Activities:
a) Evaluate Test Cycle completion criteria
b) Prepare test metrics
c) Documentation of the learning from the project
d) Prepare Test closure report
Deliverables:
a) Test Closure report
b) Test metrics
Note: This Software Testing Life Cycle or Software Test Process is for
conducting Software
Testing at System Testing Level and It is Manual Testing Process…
Input or References:
Requirement Specifications
Project Plan Document
Test Strategy Document
Global design document
Low Level Design document
Development and Test process standards
Corporate standards and guidelines
Tasks:
Output:
Test Plan document
Test Plan Template
Some type of unique company generated number to identify this test plan.
2) Introduction:
Describe the purpose of the Plan, possibly identifying the level of the plan
(System Test Plan etc.). This is essentially the executive summary part of
the plan.
3) Test Items:
These are things you intend to test within the scope of this test plan.
4) References:
List all documents that support this test plan. Refer to the actual
version/release number of the document as stored in the configuration
management system.
5) Features to be Tested:
This is a listing of what is to be tested from the Users viewpoint of what the
system does. This is not a technical description of the software, but a User’s
view of the functions.
This is a listing of what is NOT to be tested from both the Users viewpoint of
what the system does and a configuration management/version control
view. This is not a technical description of the software, but a User’s view of
the functions.
7) Test Approach:
This is your overall test strategy for this test plan; it should be appropriate
to the level of the plan (master, acceptance, etc.) and should be in
agreement with all higher and lower levels of plans. Overall rules and
processes should be identified.
8) Entry Criteria:
Team Lead or Test Lead and Team members Roles and Responsibilities.
12) Schedule:
13) Training:
16) Approvals
Who can approve the process as complete and allow the project to proceed
to the next level.
17) Glossary:
2) Introduction:
3) Test Items:
Admin Interface:
Master Data
User Management
Reports
etc…
User Interface
Information
Personal Banking
Corporate Banking
Business
Etc…
4) References:
Requirements
Project Plan
Test Strategy
—
Use cases (If available)
Prototypes
5) Features to be Tested:
a) Admin Interface:
i) Master Data
User Interface:
i) Information
1) Branch locators
2) ATM locators
3) Loans information
4) Bank history
5) Bank financial details
6) Fixed deposits information
7) Calculators
etc…
NA
7) Entry Criteria:
a) Test Design
Team formation, Responsibilities, Schedule,
Requirements, Test Case Template etc…
b) Test Execution:
Readiness of Test Lab
Readiness of AUT
Requirements
Test Case docs
Test Data
Defect Report Template
Etc…
8) Exit Criteria:
Time Limitations
Budget Limitations
9) Suspension Criteria:
Supplier issues
12) Training
Vendor issues
Time
Budget
Server side:
Windows Server 2016
UNIX server
Ms Exchange Server
Bugzilla Tool
VSS
MS Office
Browser MS Edge
Client side:
Windows 10
VSS
MS Office
Selenium
Etc…
AUT Environment
Test Plan,
Review Reports,
RTM
Test data
16) Approvals
17) Glossary
Test Case Template may vary from one company to another, sometimes one
project to another in the same company. If you familiar with anyone Test
Case then you can easily write test Cases using any type of Test Case
Template.
6) Test Data: Required Input Data for Executing the Test Case
10) Status: Pass or Fail Status after comparing Expected Results with
Actual Results
6) Test Data:
i) Gmail Id: gcr1977
ii) Password: gcbannureddy
7) Expected Result:
i) Gmail Home Page is Opened
ii) Gmail ID is Entered
iii) Another Web page is opened which gives an option to Enter Password
iv) Password is Entered
v) User is logged in to Gmail.
8) Post-Condition: User Gmail Page opened with all options like Compose,
Delete etc…
9) Actual Results: (* During Test Case Execution)
10) Status: (* After Test Case Execution)
11) Comments:
6) Test Data:
i) Gmail Id: gcr1977
ii) Password: gcbannureddy
7) Expected Result:
i) Gmail Home Page is Opened
ii) Gmail ID is Entered
iii) Another Web page is opened which gives an option to Enter Password
iv) Password is Entered
v) User is logged in to Gmail.
8) Post-Condition: User Gmail Page opened with all options like Compose,
Delete etc…
9) Actual Results:
i) Gmail Home Page Opened
ii) Gmail ID Entered
iii) Another Webpage opened and It has an option to Enter Password
iv) Password Entered
v) User logged in to Gmail.
10) Status:
i) Step 1: Pass
ii) Step 2: Pass
iii) Step 3: Pass
iv) Step 4: Pass
v) Step 5: Pass
Test Case: Pass
Note 1: You can some fields to this Test Case if required, Ex: Tester’s Name,
Environment, Date of Creation, Date of Execution etc…
Anyhow Test Case Template may vary form one company to another and
one project to another, based scope of the Project usually we can Select Test
case Template.
Note: Usually we write Manual Test Cases in Excel File using our Company
prescribed format, if we use any Test Tool like, ALM, Jira etc… then they
provide Test Case temple and User/Tester can document Test Cases, and
one more thing some Test Tools provide options to customize the Test Case
Template.
Defect Reporting
Mistake Bug
Fault
a) Development Phase
b) Testing Phase
In this phase If Testers find any mismatch, they call it as Defect or Bug or
Fault.
c) Production Phase
In this phase If End users find any mismatch, they call it as Failure.
Defect Management:
Tools Examples:
Jira, QC
Model Defect Report Template:
1) Defect Id: any unique name for Identifying the Defect (Alphanumeric)
If Reproducible:
Steps:
If not Reproducible:
Attachments
New: Tester provides new status while Reporting (for the first time)
Rejected: Developer / Dev lead /DTT rejects if the defect is invalid or defect
is duplicate.
Re-open: Tester Re-opens the defect with valid reasons and proofs
If we use Tool for Defect management, every tool provides their own
template.
Tester -> Test Lead -> DTT -> Development Lead -> Developer
7) Priority: Medium
8) Severity: High
9) Status: New
Steps:
i) Launch the Application
ii) Enter Numeric values into Agent Name field
iii) Enter valid Password
iv) Click on default(OK) button
Severity:
a) 5 Level Severity
Urgent
Very High
High
Medium
Low
———–
b) 3 Level Severity
High
Medium
Low
Priority
a) 5 Level Priority
Urgent
Very High
High
Medium
Low
———–
b) 3 Level Priority
High
Medium
Low
c) New -> Opened -> Fixed -> Re-opened -> Fixed -> Closed
e) New -> Opened -> Rejected -> Re-opened -> Fixed -> Closed
Etc…
Test Lead or Test Manager prepares this document at end of the Testing,
means in Test Closure
phase (Last phase in STLC/Software Test Process.
Purpose:
Advantages:
All stake holders of the Project able to get project test status, Application
Quality status
and they can take corrective actions (if required)
Guidelines:
Introduction:
Test Items:
Reference documents
Target Audience
Test Summary
Approvals
Introduction:
Test Items:
Personal Banking
New Business
Reports
Reference documents:
Test Plan, Test Case documents, Opened and Closed Defect Reports, Metrics
docs, Review
Reports.
Target Audience:
Approvals