Final Manual Testing 27-10-2021
Final Manual Testing 27-10-2021
Final Manual Testing 27-10-2021
in
+91-8422800381/82/83
Module1
Introduction To Testing
1.1 What is Software?
Software is a series of instructions for the computer that perform a
particular task called a program; the two major categories of software
are system software and application software.
The purpose of Grey box testing is to search and identify the defects due to
improper code structure or improper use of applications.
In this process, context-specific errors that are related to web systems are
commonly identified.
In Software Engineering, Gray Box Testing gives the ability to test both
sides of an application, presentation layer as well as the code part. It is
primarily useful in Integration Testing and Penetration Testing.
www.quastech.in
1.6 Defects
What is Defect
Difference between the expected and actual behavior of the software
www.quastech.in
Defects Types
Functional Defect
Wrong
The Software does something that the software specification says it should
not do.
Missing
The Software does not do something that the software specification says it
should do.
Extra
The Software does something that is not mention in the software
specification
Non-Functional Defect
Hard to use, Hard to Learn and Understand (GUI Related issue), Performance
issue (Slow) etc.
Synonyms of Defects
Incident
Bug
Failure
Problem
Error
Coding
Testing
Release
Maintenance
Organize
Testers are very well organized and have checklists, use files, facts and
figures to support their findings that can be used as an evidence and
double check their findings as they too can make mistake.
Module 2
Software Development Model
In a waterfall model, each phase must be completed fully before the next
phase begin. This type of software development model is basically, used for
the project which is small and there are no uncertain requirements.
www.quastech.in
At the end of each phase, a review takes place to determine if the project is
on the right path and whether or not to continue or discard the project. In this
model software starts only after the development is complete. In waterfall
model phases do not overlap.
Recommended for small scale, Low budget and Short term projects.
The same activities are then repeated for all the spirals till the entire software
is build.
Some advantages of Spiral model is It is use for Larger projects,
More and more features are added in a systematic way.
Module 3
Verification & Validation
3.1.1 Verification:
Verification ensures that the software documents comply with the
organizations standards.
In simple words, Verification is verifying the documents.
Also known as Static Testing.
Are we building the product, right?
It Avoid defect multiplication.
Verification ensures that the product is built according to the requirements
and design specifications.
Verification relies on the manual examination (reviews) of Work products
(Documents).
Defects found costs less to fix as compare to Dynamic Testing.
Verification can happen on Any software work product, including
requirements specifications, design specifications, code, test plans, test
specifications, test cases, test scripts, user guides etc.
Benefits of verification include early defect detection.
Verification and Validation have the same objective – identifying defects.
Compared to dynamic testing, Verification finds causes of failures (defects)
rather than the failures themselves
Done by QA (Quality Assurance) Team
Walk-Through
Led by author.
It is a step-by-step presentation by the author of a document in order to
gather information and to establish a common understanding of its content.
Done between colleagues.
It may be informal process.
Main purposes: learning, gaining understanding, finding defects
www.quastech.in
Inspection
Led by trained moderator (not the author).
Done at Each phase to have opinion, is phase completed & can we move to
the next phase?
It is semi-formal process
Main purposes: Finding defects
3.1.3 Review
Review is a subsequent examination of a product for the purpose of
monitoring earlier changes.
Unit Testing
Integration Testing
Unit Integration testing
System Integration testing
System Testing
User Acceptance Testing
1.Bottom-Up
2.Top-Down
3.Sandwich / Hybrid
Bottom-up testing, as the name suggests starts from the lowest or the
innermost unit of the application, and gradually moves up. Integration
testing starts from the lowest module and gradually progresses towards
the upper modules of the application.
This integration continues till all the modules are integrated and the
entire application is tested as a single unit.
We would need some program or a “stimulator”. These stimulator
programs are called DRIVERS.
www.quastech.in
In simple words, DRIVERS are the dummy programs which are used to
call the functions of the lowest module in case when the calling function
does not exist.
3) Sandwich/Hybrid Approach:
Sandwich Testing is a strategy in which top level modules are tested
with lower level modules at the same time lower modules are integrated
with top modules and tested as a system. It is a combination of Top-down
and Bottom-up approaches therefore it is called Hybrid Integration
Testing. It makes use of both stubs as well as drivers.
Beta Testing
A type of UAT in which customer or client do testing inlive environment.
It is performed at the user’s premises in the absence of the development team
It is always performed by users.
Beta Testing is always performed at the time when software product and
project are marketed.
Beta Testing is also known by the name Field Testing.
3.4 V Model:
Module 4
4.1 Types of Testing
A test type is focused on a particular test objective, which could be any of the
following:
A function to be performed by the software.
A non-functional quality characteristic, such as reliability or usability, the
structure or architecture of the software or system.
Change related, i.e., confirming that defects have been fixed (Retesting
/Confirmation testing) looking for unintended changes (regression testing).
All functional and non-functional type of testing comes under system testing.
Advantages of RTM:
Helps to provide a visual representation
Building the product right with a representation of testing
Delivering to business requirements or not.
Managing test cases.
Managing versions of your product
It is also an accountability tool, helping you track if your team is on track.
To show how you are delivering the product
It can assist in the planning and managing of testing and then later in
triaging defects
In Smoke testing tester test only basic functionalities when the build is
received from the development team.
It is also known as Build verification testing or Build acceptance testing. It’s
a decision- making point to go for depth testing.
Sanity testing is also the basic functionality test which is performed before
release the product after all the type of testing is performed on system.
Some basic functionality like:
Checking links (To finds a dead)
Forms (i.e. Login, Registration, Payment, etc.)
www.quastech.in
Load Testing:
Load testing is a kind of performance testing which determines a system's
performance under real-life load conditions. This testing helps determine how
the application behaves when multiple users access it simultaneously.
Stress Testing:
Spike Testing:
Endurance Testing:
It is a subset of Load testing, is done to make sure the software can handle
the expected load over a long period of time.
Volume Testing:
Compatibility Testing
Compatibility Testing is performed to check that the application functions
properly across various hardware and Software environment. (Client’s
expected platform).
More Important in web applications since user can use any browser or OS
for accessing.
Configuration Testing
Configuration Testing is also known as Hardware compatibility testing and is
performed to check that the application functions properly across various
hardware.
Usability Testing
Usability means how easy the application is to use/learn.
Ease of use should be balance between fresh user and Experience User.
It should be done by user of Product.
The major area affected by localization testing includes content and UI.
Example: If the project is designed for Tamil Nadu State in India, The
designed project should be in Tamil language, Tamil virtual keyboard should
be present, etc.
Module 5
Requirement Analysis:
What is Requirement Analysis?
In this step testing team understands the requirement to know what to test &
figure out the testable requirements.
In this Requirements are analyzed in terms of below factors:
- Are requirements complete and Correct?
- Are requirements achievable and Testable?
- Any conflict, missing or not understood any requirement, then QA team
takes follow up with the various stakeholders.
Example:
- Login to the System
- Search option given to user to search
Example:
Page of the system should be open within 5 seconds.
www.quastech.in
Module 6
Use Case
6.3 Remember:
Use cases are requirements but are not all of the requirements. Use Cases are
Not Good for defining
User interfaces, Data formats and Non-functional requirements Use cases are
diagrammatically representations of flow of system.
www.quastech.in
6.5.2 Actor:
It is used inside use case diagrams. The actor is an entity that interacts with the
system. A user is the best example of an actor. An actor is an entity that
initiates the use case from outside the scope of a use case. It can be any
element that can trigger an interaction with the use case. One actor can be
associated with multiple use cases in the system. The actor notation in UML
is given below.
6.5.3 System:
6.5.4 Relationship:
A generalization relationship is used to represent inheritance relationship
between model elements of same type. The more specific model element
shares the same specification with the more general the model element but
carries more details in extra.
Goal: The end result of most use cases. A successful diagram should
describe the activities and variants used to reach the goal.
Primary Actor: A user whose defined user goal and is fulfilled by the
system. The primary actor of a use case is the stakeholder that calls on the
system to deliver one of its services. The primary actor is often, but not
always, the actor who triggers the use case.
6.10 Flow/Path:
Normal Path/Basic path: In this goal will achieve.
Alternative Flow: The goal is achieve. It’s other than basic path. There
should be more than one alternate path.
Exception Flow: In this goal is not achieved but we will get reason behind
the failure.
Error Path: In this goal is not achieved. Also system doesn’t give any
reasons behind the failure.
Module 7
Test Planning and Strategy
7.1 Introduction:
Test Plan is a document that includes details of scope, Objective and method
of testing such as resources and schedule of intended test activities.
The test plan serves as a blueprint to conduct software testing activities as a
defined process which is minutely monitored and controlled by the test
manager.
Test Strategy is the document that tells us what type of technique to follow
to test the different modules of software it is High level document prepared
by the project manager.
Be specific.
For example, when you specify an operating system as a property of a
test environment, mention the OS Edition/Version as well, Make use of
lists and tables wherever possible.
Avoid lengthy paragraphs.
Test plan must review a number of times prior to baseline it or sending it for
approval.
Update the plan as and when necessary.
www.quastech.in
Test Items: All the items (Module names) of the current version of the
software.
Features not to be tested: All the functionalities that may not be released in
the current version. If there is less time than the low priority test cases may
not be executed.
Approach/Strategy: This is your overall Test Strategy for this test plan, it
should be appropriate to the level of the plan (Master, Generic etc.)
Hardware
Software
Resume criteria defines under what circumstance we can continue the testing
activates
Risk & Contingencies: Identify the high-risk assumptions of the test plan
related to testing process (Risk Which may delay Testing)
Specify contingency plans for each (Which can overcome Risk)
Software Risk issues: Also called as Quality Risk and Product Risk.
Delivery of incomplete / faulty product to customer. Software hard to use or
slow to response.
Schedule: Schedule for all Test activities in this Software Test Process.
Staffing and Training: Hiring new Employee as per Project Need. Training
on the application/system (Domain Training) Training for any test tools to be
used.
Approvals: Specify the names and titles of all persons who must approve the
plan Provide space for signatures and dates.
www.quastech.in
Module 8
Configuration Management
8.1 Configuration Management Need:
Suppose you have a programming error and need to change it, recompile and
use that software.
The following thing should need to identify to recompile same.
What version of the hardware did you use for the original?
What version of the OS, DB, compiler?
What version of the file management software?
So, we must manage
Suppose we change requirements, update or delete
requirements So even when the documentation of the system
changes as it evolves, we must track that, too
Module 9
Test Design and Techniques
9.1 Objective:
The objective of test design technique is identify the test conditions and test
scenarios so that effective test cases can be written. Test design technique is
best approach then writing the test cases randomly.
Why to Design
It will help to know What and How to Test which helps us in achieving
maximum test coverage and to write test cases.
Equivalence partitions (or classes) can be found for both valid data
i.e. values that should be accepted and invalid data,
www.quastech.in
If we take data rage between 15-60 Yrs. of age then. We take one value which
is less than 15, one value which is greater than 60 it can be any random value
and any one value which is between 15 to 60
Group the inputs/ outputs according to their behavior i.e. they are giving same
outputs.
Example:
14 15-60 61
Invalid Valid Invalid
So there are 3 values 13, 42,62
The maximum and minimum values of a partition are its boundary values.
A boundary value for a valid partition is a valid boundary value; the boundary
of an invalid partition is an invalid boundary value.
Tests can be designed to cover both valid and invalid boundary values.
When designing test cases, a test for each boundary value is chosen.
Example:
If we take data rage between 15-60 Yrs. Then we need to take values which
are at the boundary and value which is just above and below the boundary
value Group the inputs/ outputs according to their behavior i.e. They are
giving same outputs.
www.quastech.in
14 15-60 61
Invalid Valid Invalid
Invalid Just +1 and -1 to Edges of valid partition
So overall 6 values in BVA that is 14,15,16,59,60,61
Error Guessing:
A commonly used experience-based technique is error guessing. Generally,
testers can guess defects based on experience.
Anyone can do error guessing but it gives varying degree of effectiveness
depends on testers experience or skill.
Exploratory testing:
Exploratory testing is concurrent test design, test execution, test logging and
learning, based on a test charter containing test objectives, and carried out
within time-boxes.
It is an approach that is most useful where there are few or inadequate
specifications and severe time pressure, or in order to augment or complement
other, more formal testing.
Test Scenario Id
Test Scenario Name
Test Scenario Objective
Precondition
Test Condition
Test Case acts as the starting point for the test execution, and after applying a
set of input values; the application has a definitive outcome and leaves the
system at some end point or also known as execution post-condition.
Module 10
Defect Management
10.1 Introduction:
What Is Defect ?
Difference between the expected and actual behavior of the software
Types of Defects:
Functional and Nonfunctional Defects
What is Incident/Defect Management?
Defect Reporting, Defect Tracking, and Status Tracking is called as Defect
Management.
Some companies use Manual Process (Excel workbook), and some
companies use Tool based process for Defect Management.
Priority
Priority is assigned by the developer to the defect on the basis of how urgent
that bug is to be fixed
Decided by Developer / Client as Urgency is decided based of business.
Module 11
Introduction to Agile Testing
The team includes representatives from the customer And other business
stakeholders who determine product features.
Advantage
Enhancing communication and collaboration within the team.
Enabling the various skill sets within the team to be leveraged to the benefit
of the project.
Making quality everyone’s responsibility.
11.4.2 Scrum
It is an Agile management framework which contains the following:
Sprint: Scrum divides a project into iterations (called sprints)of fixed length
(usually two to four weeks).
Product Increment: Each sprint results in a potentially.
Releasable/Shippable product (called an increment).
Product Backlog: The product owner manages a prioritized list of planned
www.quastech.in
product items (called the product backlog). The product backlog evolves
from sprint to sprint (called backlog refinement).
Sprint Backlog: At the start of each sprint, the Scrum team selects a set of
highest priority items (called the sprint backlog) from the product backlog.
Definition of Done: To make sure that there is a potentially releasable
product at each sprint’s end, the Scrum team discusses and defines
appropriate criteria for sprint completion.
Time boxing: If the development team cannot finish a task within a sprint,
the associated product features are removed from the sprint and the task is
moved back into the product backlog.
Transparency: The development team reports and update sprint status on a
daily basis at a meeting called the daily scrum.
Development Team: develop and test the product. The team is self-organized: There is no team lead, so the
team makes the decisions. The team is also cro ss-functional
www.quastech.in
11.5 Events:
Release & Iteration Planning
Scrum is an Agile management framework which contains the following
Release planning looks ahead to the release of a product, often few months
ahead of the start of a project. Release planning defines and re-defines the
product backlog, and may involve refining larger user stories into a
collection of smaller stories
In release planning, business representatives establish and prioritize the user
stories for the release, in collaboration with the team
After release planning is done, iteration planning for the first iteration starts.
Iteration planning looks ahead to the end of a single iteration and is
concerned with the iteration backlog.
In iteration planning, the team selects user stories from the prioritized release
backlog, elaborates the user stories, performs a risk analysis for the user
stories, and estimates the work needed for each user story.
Daily Scrum Meeting
The Daily Scrum Meeting is a 15-minute meeting for the Team, conducted
daily to quickly understand the work since the last Daily Scrum Meeting and
create a plan for the next 24 hours.
This meeting is also referred to as Daily Stand up Meeting.
The Daily Scrum Meeting is held at the same time and same place every day
to reduce complexity.
During the meeting, each Team member explains.
-What did he do yesterday that helped the Team meet the sprint Goal?
-Does he see any impediments that prevent him or the team from meeting
the sprint Goal
-Sprint Retrospective
In Agile development, a retrospective is a meeting held at land of each
iteration to discuss what was successful, what could be improved, and how
to incorporate the improvements and retain the successes in future iterations.
Retrospectives cover topics such as the process, people organizations,
relationships, and tools.
www.quastech.in
12. Manual
Testing VS Automation Testing
12.1 Introduction
Software testing is a huge domain, but it can be broadly categorized into two
areas: manual testing and automated testing.
Both manual and automated testing offer benefits and disadvantages. It’s
worth knowing the difference, and when to use one or the other for best
results.
In manual testing (as the name suggests), test cases are executed manually
(by a human, that is) without any support from tools or scripts.
But with automated testing, test cases are executed with the assistance of
tools, scripts, and software.
The type of testing (manual or automated) depends on various factors,
including
Project Requirements
Budget
Timeline
Expertise
suitability
Reliable: Tests perform precisely the same operations each time they are
run, thereby eliminating human error
Repeatable: You can test how the software reacts under repeated execution
of the same operations
Programmable: You can program sophisticated tests that bring out hidden
information from the application
Comprehensive: You can build a suite of tests that covers every feature in
your application
Reusable: You can reuse tests on different versions of an application, even
if the user interface changes
Economical: As the number of resources for regression test are reduced
Better Quality Software: Because you can run more tests in less time with
fewer resources
Fast: Automated Tools run tests significantly faster than human users
www.quastech.in
******************************************************************