0% found this document useful (0 votes)
12 views38 pages

Software Quality Assurance (Manual Testing) - Batch-2-1

The document provides an overview of Software Quality Assurance, focusing on manual testing, its importance, and various testing techniques. It outlines the Software Development Life Cycle (SDLC) and its phases, including requirement analysis, planning, design, development, testing, deployment, and maintenance. Additionally, it discusses different testing types, such as functional and non-functional testing, along with testing methodologies like the Waterfall, Spiral, and V-Model.

Uploaded by

Sazia Eity
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views38 pages

Software Quality Assurance (Manual Testing) - Batch-2-1

The document provides an overview of Software Quality Assurance, focusing on manual testing, its importance, and various testing techniques. It outlines the Software Development Life Cycle (SDLC) and its phases, including requirement analysis, planning, design, development, testing, deployment, and maintenance. Additionally, it discusses different testing types, such as functional and non-functional testing, along with testing methodologies like the Waterfall, Spiral, and V-Model.

Uploaded by

Sazia Eity
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 38

B2

Software Quality Assurance (Manual Testing)

Presented by
Farhad Hossain
Contents
● What is Software? ● Testing Techniques
● Types of Software ● Levels of Testing
● What is Software Testing? ● White Box, Black Box & Grey Box Testing
● Why do we need Testing? ● Functional Testing
● Error, Bug and Failure ● Non-Functional Testing
● Types of Software Testing ● Black Box Test Design Techniques
○ Manual Testing
○ Automation Testing
● SDLC & SDLC Models
What is software?
A software is a computer program that provides a set of instructions to execute a
user’s commands and tell the computer what to do.

Ex: MS-Word, MS-Excel, PowerPoint etc.


Types of Software
What is Software Testing?
● Software Testing is a part of software development process.
● Software Testing is an activity to detect and identify the defects in the
software.

Goal- to deliver quality product to the customer/client.


Software Quality
● Bug/Defect free
● Delivered on Time
● Within budget
● Meets customer’s requirements
● Maintainable
Error, Bug & Failure
Error : Incorrect human action —--Developer

Bug / Defect : Deviation of expected and actual result —-- Tester

Failure : The deviation identified by end user while using the system is called failure.
Types of Software Testing
Types of Testing
Manual Testing : Manual testing is a type of testing in which we do not take the help of
any tools (automation) to perform the testing.

Automation Testing : Automation Testing is a type of software testing in which test


cases are executed automatically by a tester using any automated tools.
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC) is a step by step process used by the software
industry to design, develop and test high quality softwares.
SDLC steps:
1. Requirement analysis
2. Planning
3. Design
4. Development / Coding
5. Testing
6. Deployment
7. Maintenance
SDLC steps
1. Requirement Analysis: This is where teams examine the requirement analysis with
inputs from clients, the sales department, market research reports and subject matter
experts ------------> Business Analyst (BA)
2. Planning : Once gathering requirements is completed, the next step is to plan. From
there, the terms of the project will be determined:

● Cost estimation
● Required resources
● Tech stack
● Roles needed in the project
● Project scheduling
● Leadership structure

------------->Project Manager (PM)


SDLC steps
3. Design : The third phase goes into great detail about the required standards, features, and
activities that fulfil the functional specifications of the proposed system. ------------> Software
Architect/ UI/UX Designer

4. Development : This phase of SDLC involves writing code and transforming design
documentation into actual software. -------------> Software Developer

5. Testing : This stage of SDLC helps ensure the software has no bugs or exploits and can run
smoothly. -------------> SQA Engineer

6. Deployment : Depending on the client’s requirements, the product might undergo User
Acceptance Testing (UAT) where it is tested in a real business environment with a limited
segment. Most businesses deploy their new products to a small percentage of users (10-15%)
and slowly release them to the rest of the customer base. -------------> DevOps Engineer
SDLC steps
7. Maintenance : The final SDLC phase entails maintenance and regular upgrades. This
stage concentrates on keeping the software safe, increasing performance, and
occasionally adding new features. --------> Support Engineer / Tester / Developer
SDLC Models
● Waterfall Model
● Agile Model
● Spiral Model
● Rapid Application Development (RAD) Model
● V-Model
Waterfall Model
Advantages of Waterfall Model
● Quality of the product will be good since every phase has clear documentation.
● Since requirement changes are not allowed , chances of finding bugs will be less.
● Initial investment is less because the testers are hired at the later phases/ stages.
● Suitable for small projects where requirements are fixed/ freezed.
Disadvantages of Waterfall Model
● Requirement changes are not allowed.
● If there is bug/defect in requirement that will be continued for later stages.
● Total investment is more.
● Testing will start only after coding.
Spiral Model
Advantages of Spiral Model
● Testing is done in every cycle, before going to the next cycle.
● Customer will get to use the software for every model.
● Requirement changes are allowed after every cycle before going to the next cycle.
Disadvantages of Spiral Model
● Requirement changes are not allowed in between the cycle.
● Every cycle of spiral model looks like waterfall model.
● There is no testing in requirement and design phase.
V-Model
Advantage and Disadvantages of V-Model
Advantage :

● Testing is involved in each and every phase.

Disadvantages :

● Documentation is more.
● Initial investment is more.
Testing Techniques
Levels of Testing
Unit Testing : Unit testing involves the testing of each unit or an individual component of
the software application. It is the first level of functional testing.

Integration Testing : Integration testing is the second level of the software testing process
comes after unit testing. In this testing, units or individual components of the software are
tested in a group.

System Testing : System Testing is the testing of a complete and fully integrated software
product.

User Acceptance Testing : User Acceptance Testing (UAT) is a type of testing performed by
the end user or the client to verify/accept the software system before moving the software
application to the production environment.
White Box, Black Box and Grey Box Testing
White Box Testing : White Box Testing is a software testing technique that focuses on
the software’s internal logic, structure, and coding.

Black Box Testing : Black box testing is a testing technique in which the internal
workings of the software are not known to the tester. The tester only focuses on the
input and output of the software.

Grey Box Testing : Grey Box Testing is a software testing technique that is a
combination of the Black Box Testing technique and the White Box Testing technique.
Functional Testing Types
Smoke Testing : Smoke Testing is a software testing process that determines whether the
deployed software build is stable or not.

Sanity Testing : Sanity testing is a testing technique that is used to check that specific
functionality or components of a software application are working as expected after making
changes or fixing defects.

Regression Testing : This type of testing concentrate to make sure that the code changes
should not side effect the existing functionality of the system.
Non-Functional Testing Types
Performance Testing : Performance testing is a type of software testing that ensures
software applications perform properly under their expected workload.

Security Testing : Security testing is a type of software testing that focuses on evaluating the
security of a system or application. The goal of security testing is to identify vulnerabilities
and potential threats and to ensure that the system is protected against unauthorized access,
data breaches, and other security-related issues.

Recovery Testing : Recovery testing is a type of system testing which aims at testing
whether a system can recover from failures or not.
Non-Functional Testing Types
Usability Testing : Usability testing is a type of testing to check how easy and user friendly a
software is. It is also called User Experience (UX) Testing.

Installation Testing : Installation testing is a type of software testing that focuses on


verifying the installation process of a software application. Its primary goal is to ensure that
the installation, upgrade, or uninstallation of the software proceeds smoothly and without
errors.

Compatibility Testing : Compatibility testing is a type of Software testing to check whether


your software is capable of running on different hardware, operating systems, applications,
network environments or Mobile devices.
Black Box Test Design Techniques
● Equivalence Partitioning (EP)
● Boundary Value Analysis (BVA)
● Decision Table Testing
● State Transition Testing
Equivalence Partitioning (EP)
Boundary Value Analysis (BVA)
Decision Table Testing
State Transition Testing
Software Testing Life Cycle (STLC)
Software Testing Life Cycle (STLC) is a process used to test software and ensure that
quality standards are met.
STLC steps:
1. Requirement Analysis
2. Test Planning
3. Test Case Development
4. Test Environment Setup
5. Test Execution
6. Test Cycle Closure
Software Testing Life Cycle (STLC)
Defect/Bug Life Cycle
The defect/bug life cycle is a process that describes the stages a software defect or bug goes
through from the moment it's discovered until it's fixed and verified.
Severity and Priority
Severity and Priority

You might also like