Software Quality Assurance (Manual Testing) - Batch-2-1
Software Quality Assurance (Manual Testing) - Batch-2-1
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.
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.
● Cost estimation
● Required resources
● Tech stack
● Roles needed in the project
● Project scheduling
● Leadership structure
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 :
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.