SlideShare a Scribd company logo
SOFTWARE TESTING
Prepared By
Dr P PRABAKARAN
Assistant Professor
Department of Computer Applications – PG
School of Computing Sciences
Vels Institute of Science Technologies and Advanced Studies
Chennai
Software Testing - Introduction
Defn:
Software testing is a method to check whether the
actual software product matches expected
requirements and to ensure that software product
is Defect free.
Software Testing - Introduction
SOFTWARE TESTING BACKGROUND
1. Infamous Software Error Case Studies
2. What Is a Bug?
3. Why Do Bugs Occur?
4. The Cost of Bugs
5. What Exactly Does a Software Tester Do?
6. What Makes a Good Software Tester?
Software Testing - Introduction
SOFTWARE TESTING BACKGROUND
Infamous Software Error Case Studies
Software is everywhere. But ultimately, it's written
by people so it's not perfect.
Example
 Intel Pentium Floating-Point Division Bug, 1994
 Patriot Missile Defense System, 1991
 The Y2K (Year 2000) Bug, Circa 1974
Software Testing - Introduction
SOFTWARE TESTING BACKGROUND
What Is a Bug?
The Bug is the informal name of defects, which means
that software or application is not working as per the
requirement.
In software testing, a software bug can also be issue,
error, fault, or failure. The bug occurred when
developers made any mistake or error while
developing the product.
Software Testing - Introduction
SOFTWARE TESTING BACKGROUND
Why Do Bugs Occur?
1. The software does something that the product
specification says it shouldn't do.
2. The software does something that the product
specification doesn't mention.
3. The software doesn't do something that the
product specification doesn't mention but should.
4. The software is difficult to understand, hard to
use, slow, or in the software tester's eyes will be
viewed by the end user as just plain not right.
Software Testing - Introduction
SOFTWARE TESTING BACKGROUND
The Cost of Bugs
Software doesn't designed automatically, there is a
procedure that is followed which may cover
inception to planing, programming, and testing.
That means the cost of bug is logarithmic. The cost
of bug is logarithmic. The cost of bug is
logarithmic.
Software Testing - Introduction
SOFTWARE TESTING BACKGROUND
What Exactly Does a Software Tester Do?
The goal of a software tester is to find bugs. But if
the software is tested to check that it will work is
wrong approach, because if we use this kind of
approach then we are missing the bugs.
Software Testing - Introduction
SOFTWARE TESTING BACKGROUND
What Makes a Good Software Tester?
Now a days most of the companies consider
software testing as a technical engineering
profession. They know to build the better quality
software there is need of well qualified and
trained software testers.
Software Testing - Introduction
SOFTWARE BUGS
Bug in software testing is flaw or default in a
component or system or software that can cause
the components or system to fail to perform its
required functions, in other words, we can say that
if the bug or defect encountered during the
execution of the test, it may cause the failure of
the components.
Software Testing - Introduction
SOFTWARE BUGS
Life Cycle of Bug in Software Testing
The Bug Life cycle is also known as a Defect Life
cycle. It is a phase of a defect that occupies the
different states during its lifetime.
Software Testing - Introduction
SOFTWARE BUGS
Life Cycle of Bug in Software Testing
Software Testing - Introduction
SOFTWARE BUGS
How to Identify a Software Bug
 Sighting
 Symptom
 Reproducer
 Description
 Failure
 Cause-Effect Chain
 Defect
Software Testing - Introduction
COST OF BUGS
The cost of defects can be measured by the impact
of the defects and when we find them. Earlier the
defect is found lesser is the cost of defect.
The presence of bugs in a system is inevitable, and
knowing the cost of a software bug and
performing tests thoroughly is a must as well.
Software Testing - Introduction
SOFTWARE TESTING REALITIES
Testers testing the software should have in-depth
knowledge about its various facets. It is a
complicated process. If the testers do any mistake,
the overall performance of the software will go
down.
Software Testing - Introduction
TESTING AXIOMS
Axiom 1
Axiom 2
Axiom 3
Axiom 4
Axiom 5
Axiom 6
Axiom 7
Axiom 8
Axiom 9
Software Testing - Introduction
TESTING AXIOMS
Axiom 1
It is impossible to test a program completely.
 How many test cases do you need to exhaustively
test.
 The only way to be absolutely sure software works
is to run it against all possible inputs and observe
all of its outputs.
 The number of possible inputs is very large.
Software Testing - Introduction
TESTING AXIOMS
Axiom 2
Software testing is a risk-based exercise.
 If you do not test the software for all inputs (a
wise choice) you take a risk.
 Hopefully you will skip a lot of inputs that work
correctly.
 What if you skip inputs that cause a fault?
Software Testing - Introduction
TESTING AXIOMS
Axiom 3
Testing cannot show the absence of bugs.
1. “Program testing can be used to show the
presence of bugs, but never to show their absence”
2. Dijkstra received the 1972 ACM Turing Award
for fundamental contributions in the area of
programming language.
Software Testing - Introduction
TESTING AXIOMS
Axiom 4
The more bugs you find, the more bugs there are
 Bugs appear in groups, where you see one you will
likely find more … Why?
 Boris Beizer coined the term pesticide paradox to
describe the phenomenon that the more you test
software the more immune it becomes to your test
cases.
Software Testing - Introduction
TESTING AXIOMS
Axiom 5
Not all bugs found will be fixed
Why wouldn’t you fix a bug you knew about?
 There’s not enough time
 It’s not really a bug
 It’s too risky to fix
Software Testing - Introduction
TESTING AXIOMS
Axiom 6
It is difficult to say when a bug is indeed a bug.
 If there is a problem in the software but no one
ever discovers it … is it a bug?
 What is your opinion? Does a bug have to be
observable in order for it to me a bug?
 Bugs that are undiscovered are called latent bugs.
Software Testing - Introduction
TESTING AXIOMS
Axiom 7
Specifications are never final
 Building a product based on a “moving target”
specification is fairly unique to software
development.
 Not true in other engineering domains.
Software Testing - Introduction
TESTING AXIOMS
Axiom 8
Software testers are not the most popular
members of a project
1. Goal of a software tester
2. Tips to avoid becoming unpopular
Software Testing - Introduction
TESTING AXIOMS
Axiom 9
Software testing is a disciplined and technical
profession.
 When software was simpler and more manageable
software testers were often untrained and testing
was not done methodically.
 It is now too costly to build buggy software. As a
result testing has matured as a discipline.
Software Testing - Introduction
PRECISION AND ACCURACY
Definition of Precision
Precision is defined as ‘the quality of being exact’
and refers to how close two or more
measurements are to each other, regardless of
whether those measurements are accurate or not.
It is possible for precision measurements to not be
accurate.
Software Testing - Introduction
PRECISION AND ACCURACY
Definition of Accuracy
Accuracy is defined as ‘the degree to which the
result of a measurement conforms to the correct
value or a standard’ and essentially refers to how
close a measurement is to its agreed value.
Software Testing - Introduction
VERIFICATION AND VALIDATION
Verification
Verification is the process, to ensure that whether
we are building the product right i.e., to verify the
requirements which we have and to verify
whether we ae developing the product accordingly
or not.
Software Testing - Introduction
VERIFICATION AND VALIDATION
Software Testing - Introduction
VERIFICATION AND VALIDATION
Validation
Validation is the process, whether we are building the
right product i.e., to validate the product which we
have developed is right or not.
In software testing, verification and validation are the
processes to check whether a software system meets
the specifications and that it fulfills its intended
purpose or not.
Software Testing - Introduction
VERIFICATION AND VALIDATION
Validation
Validation is the process, whether we are building the
right product i.e., to validate the product which we
have developed is right or not.
In software testing, verification and validation are the
processes to check whether a software system meets
the specifications and that it fulfills its intended
purpose or not.
Software Testing - Introduction
VERIFICATION AND VALIDATION
Validation
Software Testing - Introduction
QUALITY AND RELIABILITY
Quality
Quality is a much broader aspect than Reliability.
Quality covers almost everything from
organisation, managements, service, procedures,
people, product, product-life etc. In simple words,
Reliability is only a subset of quality.
Software Testing - Introduction
QUALITY AND RELIABILITY
Reliability Testing
Reliability Testing is a software testing process that
checks whether the software can perform a
failure-free operation for a specified time period in
a particular environment.
Software Testing - Introduction
QUALITY AND RELIABILITY
Types of reliability Testing
 Feature Testing
 Load Testing
 Regression Testing
Software Testing - Introduction
TESTING AND QUALITY ASSURANCE
Software quality assurance helps to check the
fulfilment of all business scenarios and user
requirements, as well as identify all possible
problems and bugs in IT products.
Software Testing - Introduction
TESTING AND QUALITY ASSURANCE
Quality assurance (QA) is the process of validating
whether a product fulfills a company or industry’s
quality requirements or not. It’s an essential part
of ensuring the quality of production and includes
processes such as planning, fulfilling, and
monitoring.
Software Testing - Introduction
TESTING AND QUALITY ASSURANCE
Quality Assurance Process
Quality assurance breaks down to a defined cycle known as
the Deming cycle. Many professionals call it the PDCA cycle
because of the phases used in this cycle, which are:
 Plan
 DoCheck
 Act
Software Testing - Introduction
TESTING AND QUALITY ASSURANCE
Types Of Software Testing
 Manual software testing
 Automated software testing
Software Testing - Introduction
TESTING AND QUALITY ASSURANCE
Manual software testing
Мanual software testing is a type of software testing
when a QA engineer manually runs tests without any
automation.
Automated software testing
Automated software testing is performed using
frameworks such as Selenium, PHPUnit, Mockery. It
aims to reduce the cost and risks related to the human
factor.
SOFTWARE TESTING METHODOLOGY
FUNCTIONAL TESTING
Functional testing is the process through which QAs determine if a piece of
software is acting in accordance with pre-determined requirements.
It uses black-box testing techniques, in which the tester has no knowledge of
the internal system logic.
SOFTWARE TESTING METHODOLOGY
FUNCTIONAL TESTING
Types of Functional Testing
SOFTWARE TESTING METHODOLOGY
FUNCTIONAL TESTING
Types of Functional Testing
Unit Testing
This is performed by developers who write scripts that test if individual
components/units of an application match the requirements.
Smoke Testing:
This is done after the release of each build to ensure that software stability
is intact and not facing any anomalies.
SOFTWARE TESTING METHODOLOGY
FUNCTIONAL TESTING
Types of Functional Testing
Sanity Testing
Usually done after smoke testing, this is run to verify that every major
functionality of an application is working perfectly, both by itself and in
combination with other elements.
Regression Testing
This test ensures that changes to the code base (new code, debugging
strategies, etc.) do not disrupt the already existing functions or trigger
some instability.
SOFTWARE TESTING METHODOLOGY
FUNCTIONAL TESTING
Process Workflow for Functional Testing
Identify functions that the application is intended to
perform
Create the input based on the function’s specifications
Establish the output based on the function’s specifications
Execute the written test cases
Compare the final actual and expected outputs
SOFTWARE TESTING METHODOLOGY
FUNCTIONAL TESTING
Functionality Testing Tools
Selenium
Ranorex Studio
TestComplete
UFT
Katalon studio
SOFTWARE TESTING METHODOLOGY
FUNCTIONAL TESTING
Advantages of Functional Testing:
It ensures to deliver a bug-free product.
It ensures to deliver a high-quality product.
No assumptions about the structure of the system.
This testing is focused on the specifications as per the
customer usage.
SOFTWARE TESTING METHODOLOGY
STRUCTURAL TESTING
The process is a combination of white-box testing and glass
box testing mostly performed by developers.
Structural Testing Techniques
Statement coverage
Branch coverage
Condition Coverage
SOFTWARE TESTING METHODOLOGY
STRUCTURAL TESTING
Types of Structural Testing
Control flow testing
Data flow testing
Slice Based testing
Mutation testing
SOFTWARE TESTING METHODOLOGY
STRUCTURAL TESTING
Types of Structural Testing
SOFTWARE TESTING METHODOLOGY
STRUCTURAL TESTING
Types of Structural Testing
Control flow testing
This method requires detailed knowledge of all aspects of the software and
the logic of the software. It tests out the whole code thoroughly.
Data flow testing:
The data is kept safe and unaltered throughout the execution of the
program. Any alteration of the data can result in adverse consequences.
SOFTWARE TESTING METHODOLOGY
STRUCTURAL TESTING
Slice based testing:
The basic idea is to divide the whole program into small slices and
then checking on to each slice carefully.
Mutation testing:
The developers make small alterations to the already available
software tests and create a mutant of the old software test.
SOFTWARE TESTING METHODOLOGY
STRUCTURAL TESTING
Advantages of Structural Testing
Enables thorough checkups
Smooth execution from an early stage
Dead codes are removed easily
Automated processes
Easy coding and implementation
SOFTWARE TESTING METHODOLOGY
STATIC AND DYNAMIC TESTING
Static testing
Static testing is cost-effective testing where defects are
identified without actual execution of the code.
Static Testing Techniques
Review
Static Analysis
SOFTWARE TESTING METHODOLOGY
STATIC AND DYNAMIC TESTING
Dynamic testing
Dynamic Testing is executing codes with different variables
for physical examination of the system.
Dynamic Testing Techniques
White Box Testing
Black Box Testing
SOFTWARE TESTING METHODOLOGY
STATIC AND DYNAMIC TESTING
White Box Testing
The white box testing is done keeping transparency between the tester and
the system. This means the tester is aware of all the internal working and
the codes.
Black Box Testing
This is performed by the testers or the testing team who are unaware of
the built and codes of the system. The goal is to only verify the functionality
of the system against any input.
SOFTWARE TESTING METHODOLOGY
LOW LEVEL SPECIFICATION TEST TECHNIQUES
A Low Level Test Case is a test case with solid values
for input data and expected output.
The logical operators from high-level test cases are
interchanged with the real values that go along
with the targets of the logical operators.
SOFTWARE TESTING METHODOLOGY
EQUIVALENCE PARTITIONING
Equivalence partitioning (EP) is a specification-based or black-box
technique. It can be applied at any level of testing and is often a good
technique to use first.
SOFTWARE TESTING METHODOLOGY
DATA TESTING
Defn:
Database Testing is checks the schema, tables, triggers, etc. of the Database
under test. It also checks data integrity and consistency.
SOFTWARE TESTING METHODOLOGY
DATA TESTING
Data Testing Process:
SOFTWARE TESTING METHODOLOGY
STATE TESTING
State Transition Testing is a black box testing technique in which changes made
in input conditions cause state changes or output changes in the Application
under Test (AUT).
State transition testing helps to analyze behaviour of an application for
different input conditions.
SOFTWARE TESTING METHODOLOGY
STATE TESTING
SOFTWARE TESTING METHODOLOGY
FORMAL REVIEWS
Formal reviews follow a formal process. It is well structured and regulated.
Process of formal review
 Planning
 Kick-off
 Preparation
 Review meeting
 Rework
 Follow-up
SOFTWARE TESTING METHODOLOGY
FORMAL REVIEWS
SOFTWARE TESTING METHODOLOGY
CODING STANDARDS AND GUIDELINES
Software developers globally adhere to certain coding standards to maintain a
quality development environment.
Coding standards best practices are best defined as an assortment of essential
rules, best practices, and guidelines to help programmers write good and
cleaner code.
SOFTWARE TESTING METHODOLOGY
CODING STANDARDS AND GUIDELINES
Advantages of Coding Guidelines
Increased efficiency
Reduced costs
Reduced complexity
Reduced hidden costs
Code reuse
Automated error prevention
SOFTWARE TESTING METHODOLOGY
CODE REVIEW CHECKLIST
A code review aims to improve the quality of the code that you want
to add to your codebase.
A code review refers to a systematic approach to reviewing other
programmers' code for mistakes and many other quality metrics
SOFTWARE TESTING METHODOLOGY
CODE REVIEW CHECKLIST
Verify feature requirements
Code readability
Coding Style
Clear naming
Code duplication
Tests
Documentation
SOFTWARE TESTING METHODOLOGY
DATA COVERAGE
Data coverage means at least one test case for each data item /
variable / field in the program.
Collecting all inputs to each function to figure out missing test data.
SOFTWARE TESTING METHODOLOGY
CODE COVERAGE
Code Coverage testing is determining how much code is being tested. It can be
calculated using the formula:
Types of code coverage Analysis:
 Statement coverage and Block coverage
 Function coverage
 Function call coverage
 Branch coverage
 Modified condition/decision coverage
CONFIGURATION TESTING
Definition of Configuration testing
Configuration Testing is a software testing technique in which
the software application is tested with multiple combinations
of software and hardware in order to evaluate the functional
requirements.
WEBSITE TESTING
Website Testing Technique
 Functionality Testing of a Website
 Interface Testing
 Database Testing
 Compatibility testing
 Performance Testing
BENEFITS OF AUTOMATION AND TOOLS
Automation testing uses an automation tool to execute the
test case instead of a human manually executing the suite by
following step-by-step instructions.
BENEFITS OF AUTOMATION AND TOOLS
Benefits of Automation and Tools
 Enhanced Results
 Swifter Feedback system
 Brand Enhancement
 Cost-effective
 Efficiency Testing
 Increase in Coverage Area
VIEWERS AND MONITORS
“Testing the Software with X- Ray Glasses,” you learned how
code coverage analyzers provide a means for you to see what
lines of code are executed, what functions are run, and what
code paths are followed when you run your tests.
VIEWERS AND MONITORS
VIEWERS AND MONITORS
Drivers are tools used to control and operate the software
being tested. One of the simplest examples of a driver is a
batch file, a simple list of programs or commands that are
executed sequentially.
STUBS
Stubs are essentially the opposite of drivers in that they don’t
control or operate the software being tested; they instead
receive or respond to data that the software sends.
STRESS AND LOAD TOOLS
Stress and load tools induce stresses and loads to the
software being tested. A word processor running as the only
application on the system, with all available memory and disk
space, probably works just fine.
ANALYSIS TOOLS
Most software testers use the following common tools to
make their everyday jobs easier. They’re not necessarily as
fancy as the tools discussed so far.
SOFTWARE TEST AUTOMATION
Software test automation is just another class of software
testing tools, it’s one that deserves special consideration.
 Macro Recording and Playback
 Programmed Macros
RANDOM TESTING
Using tools and automation for this purpose will help you find
bugs; while the tools are busy doing regression testing, you’ll
have time to plan new tests and design new and interesting
cases to try.
BETA TESTING
Beta testing is the term used to describe the external testing
process in which the software is sent out to a select group of
potential customers who use it in a real- world environment.
BETA TESTING
Beta testing is the term used to describe the external testing
process in which the software is sent out to a select group of
potential customers who use it in a real- world environment.
GOAL OF TEST PLANNING
The test plan is a project-level document which means that it is
focused on a specific software product rather than on procedures
and standards adopted across the entire company.
GOAL OF TEST PLANNING
1. To evaluate the work products such as requirements, design,
user stories, and code
2. To verify the fulfillment of all specified requirements
3. To validate if the test object is complete and works as per the
expectation of the users and the stakeholders
GOAL OF TEST PLANNING
4. To build confidence in the quality level of the test object
5. To prevent defects in the software product
6. To find defects in the software product
GOAL OF TEST PLANNING
7. To provide sufficient information to stakeholders to allow
them to make informed decisions, especially regarding the level of
quality of the test object
8. To reduce the level of risk of insufficient software quality
9. To comply with contractual, legal, or regulatory requirements
or standards, and to verify the test object’s compliance with such
requirements or standards
TEST PHASES
To plan the test phases, the test team will look at the
proposed development model and decide whether
unique phases, or stages, of testing should be
performed over the course of the project.
TEST PHASES
The test planning process should identify each proposed test phase
and make each phase known to the project team. This process often
helps the entire team form and understand the overall development
model.
TEST STRATEGY
The test strategy describes the approach that the test team will use
to test the software both overall and in each phase.
TEST STRATEGY
Deciding on the strategy is a complex task — one that needs to be
made by very experienced testers because it can determine the
success or failure of the test effort.
It’s vitally important for everyone on the project team to understand
and be in agreement with the proposed plan.
RESOURCE REQUIREMENTS
Planning the resource requirements is the process of deciding what’s
necessary to accomplish the testing strategy. Everything that could
possibly be used for testing over the course of the project needs to
be considered.
RESOURCE REQUIREMENTS
For example
 People
 Equipment
 Office and Lab space
 Software
 Outsource companies
 Miscellaneous supplies
TEST SCHEDULE
The test schedule takes all the information presented so far and
maps it into the overall project schedule.
This stage is often critical in the test planning effort because a few
highly desired features that were thought to be easy to design and
code may turn out to be very time consuming to test.
WRITING AND TRACKING TEST CASES
Writing and tracking test cases, is one that more directly influences
your typical tasks as a software tester.
Initially you may be involved only in running test cases that someone
else has written, but you’ll very soon be writing them for yourself
and for other testers to use.
WRITING AND TRACKING TEST CASES
 Why writing and tracking test cases is important
 What a test design specification is
 What a test case specification is
 How test procedures should be written
 How test cases should be organized
WRITING AND TRACKING TEST CASES
 Why writing and tracking test cases is important
 What a test design specification is
 What a test case specification is
 How test procedures should be written
 How test cases should be organized

More Related Content

Similar to SoftwareTesting.pptx

What Is The Importance Of Reliability Testing In Software Testing.pdf
What Is The Importance Of Reliability Testing In Software Testing.pdfWhat Is The Importance Of Reliability Testing In Software Testing.pdf
What Is The Importance Of Reliability Testing In Software Testing.pdf
Better QA
 
Bab 1
Bab 1Bab 1
Sqa unit1
Sqa unit1Sqa unit1
Sqa unit1
kannaki
 
What is Software Testing Definition, Types and Benefits.pdf
What is Software Testing Definition, Types and Benefits.pdfWhat is Software Testing Definition, Types and Benefits.pdf
What is Software Testing Definition, Types and Benefits.pdf
JoeyWilliams21
 
EFFECTIVE TEST CASE DESING: A REVIEW
EFFECTIVE TEST CASE DESING: A REVIEWEFFECTIVE TEST CASE DESING: A REVIEW
EFFECTIVE TEST CASE DESING: A REVIEW
Journal For Research
 
fundamentals of testing
fundamentals of testingfundamentals of testing
fundamentals of testing
aidil fitra
 
St 1.2
St 1.2St 1.2
software testing.pdf
software testing.pdfsoftware testing.pdf
software testing.pdf
AmirKhan811717
 
ISTQBCH1 Manual Testing.pptx
ISTQBCH1 Manual Testing.pptxISTQBCH1 Manual Testing.pptx
ISTQBCH1 Manual Testing.pptx
rajkamalv
 
FADHILLA ELITA Ppt Chapter 1
FADHILLA ELITA Ppt Chapter 1FADHILLA ELITA Ppt Chapter 1
FADHILLA ELITA Ppt Chapter 1
fadhilla elita
 
Software Testing - A sneak preview By Srikanth
Software Testing - A sneak preview By SrikanthSoftware Testing - A sneak preview By Srikanth
Software Testing - A sneak preview By Srikanth
Srikanth Krishnamoorthy
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
Taufik hidayat
 
Fundamentals of testing (1)
Fundamentals of testing (1)Fundamentals of testing (1)
Fundamentals of testing (1)
Aziz Chikhly
 
Software Teting
Software TetingSoftware Teting
Software Teting
Ruchika Sinha
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
Savyasachi14
 
An introduction to Software Testing and Test Management
An introduction to Software Testing and Test ManagementAn introduction to Software Testing and Test Management
An introduction to Software Testing and Test Management
Anuraj S.L
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
ANDRI HAIRIYADI, S.Kom.
 
Software Quality Assurance.docx
Software Quality Assurance.docxSoftware Quality Assurance.docx
Software Quality Assurance.docx
10Pie
 
Fundamentals of testing 2
Fundamentals of testing 2Fundamentals of testing 2
Fundamentals of testing 2
seli purnianda
 
Fundamentals of testing what is testing (reference graham et.al (2006))
Fundamentals of testing   what is testing (reference graham et.al (2006))Fundamentals of testing   what is testing (reference graham et.al (2006))
Fundamentals of testing what is testing (reference graham et.al (2006))
Alfarizi ,S.Kom
 

Similar to SoftwareTesting.pptx (20)

What Is The Importance Of Reliability Testing In Software Testing.pdf
What Is The Importance Of Reliability Testing In Software Testing.pdfWhat Is The Importance Of Reliability Testing In Software Testing.pdf
What Is The Importance Of Reliability Testing In Software Testing.pdf
 
Bab 1
Bab 1Bab 1
Bab 1
 
Sqa unit1
Sqa unit1Sqa unit1
Sqa unit1
 
What is Software Testing Definition, Types and Benefits.pdf
What is Software Testing Definition, Types and Benefits.pdfWhat is Software Testing Definition, Types and Benefits.pdf
What is Software Testing Definition, Types and Benefits.pdf
 
EFFECTIVE TEST CASE DESING: A REVIEW
EFFECTIVE TEST CASE DESING: A REVIEWEFFECTIVE TEST CASE DESING: A REVIEW
EFFECTIVE TEST CASE DESING: A REVIEW
 
fundamentals of testing
fundamentals of testingfundamentals of testing
fundamentals of testing
 
St 1.2
St 1.2St 1.2
St 1.2
 
software testing.pdf
software testing.pdfsoftware testing.pdf
software testing.pdf
 
ISTQBCH1 Manual Testing.pptx
ISTQBCH1 Manual Testing.pptxISTQBCH1 Manual Testing.pptx
ISTQBCH1 Manual Testing.pptx
 
FADHILLA ELITA Ppt Chapter 1
FADHILLA ELITA Ppt Chapter 1FADHILLA ELITA Ppt Chapter 1
FADHILLA ELITA Ppt Chapter 1
 
Software Testing - A sneak preview By Srikanth
Software Testing - A sneak preview By SrikanthSoftware Testing - A sneak preview By Srikanth
Software Testing - A sneak preview By Srikanth
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Fundamentals of testing (1)
Fundamentals of testing (1)Fundamentals of testing (1)
Fundamentals of testing (1)
 
Software Teting
Software TetingSoftware Teting
Software Teting
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
An introduction to Software Testing and Test Management
An introduction to Software Testing and Test ManagementAn introduction to Software Testing and Test Management
An introduction to Software Testing and Test Management
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Software Quality Assurance.docx
Software Quality Assurance.docxSoftware Quality Assurance.docx
Software Quality Assurance.docx
 
Fundamentals of testing 2
Fundamentals of testing 2Fundamentals of testing 2
Fundamentals of testing 2
 
Fundamentals of testing what is testing (reference graham et.al (2006))
Fundamentals of testing   what is testing (reference graham et.al (2006))Fundamentals of testing   what is testing (reference graham et.al (2006))
Fundamentals of testing what is testing (reference graham et.al (2006))
 

More from DrPrabakaranPerumal

AdvancedJava.pptx
AdvancedJava.pptxAdvancedJava.pptx
AdvancedJava.pptx
DrPrabakaranPerumal
 
Java.pptx
Java.pptxJava.pptx
IoT.pptx
IoT.pptxIoT.pptx
EthicalHacking.pptx
EthicalHacking.pptxEthicalHacking.pptx
EthicalHacking.pptx
DrPrabakaranPerumal
 
SoftwareEngineering.pptx
SoftwareEngineering.pptxSoftwareEngineering.pptx
SoftwareEngineering.pptx
DrPrabakaranPerumal
 
Html-Prabakaran
Html-PrabakaranHtml-Prabakaran
Html-Prabakaran
DrPrabakaranPerumal
 
Programming in C
Programming in CProgramming in C
Programming in C
DrPrabakaranPerumal
 
Programming-in-C
Programming-in-CProgramming-in-C
Programming-in-C
DrPrabakaranPerumal
 
VOSUnit
VOSUnitVOSUnit
OpeatingSystemPPT
OpeatingSystemPPTOpeatingSystemPPT
OpeatingSystemPPT
DrPrabakaranPerumal
 
JavaAdvUnit-1.pptx
JavaAdvUnit-1.pptxJavaAdvUnit-1.pptx
JavaAdvUnit-1.pptx
DrPrabakaranPerumal
 

More from DrPrabakaranPerumal (11)

AdvancedJava.pptx
AdvancedJava.pptxAdvancedJava.pptx
AdvancedJava.pptx
 
Java.pptx
Java.pptxJava.pptx
Java.pptx
 
IoT.pptx
IoT.pptxIoT.pptx
IoT.pptx
 
EthicalHacking.pptx
EthicalHacking.pptxEthicalHacking.pptx
EthicalHacking.pptx
 
SoftwareEngineering.pptx
SoftwareEngineering.pptxSoftwareEngineering.pptx
SoftwareEngineering.pptx
 
Html-Prabakaran
Html-PrabakaranHtml-Prabakaran
Html-Prabakaran
 
Programming in C
Programming in CProgramming in C
Programming in C
 
Programming-in-C
Programming-in-CProgramming-in-C
Programming-in-C
 
VOSUnit
VOSUnitVOSUnit
VOSUnit
 
OpeatingSystemPPT
OpeatingSystemPPTOpeatingSystemPPT
OpeatingSystemPPT
 
JavaAdvUnit-1.pptx
JavaAdvUnit-1.pptxJavaAdvUnit-1.pptx
JavaAdvUnit-1.pptx
 

Recently uploaded

MARY JANE WILSON, A “BOA MÃE” .
MARY JANE WILSON, A “BOA MÃE”           .MARY JANE WILSON, A “BOA MÃE”           .
MARY JANE WILSON, A “BOA MÃE” .
Colégio Santa Teresinha
 
A Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptxA Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptx
thanhdowork
 
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdfANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
Priyankaranawat4
 
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdfবাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
eBook.com.bd (প্রয়োজনীয় বাংলা বই)
 
Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
Ashokrao Mane college of Pharmacy Peth-Vadgaon
 
MATATAG CURRICULUM: ASSESSING THE READINESS OF ELEM. PUBLIC SCHOOL TEACHERS I...
MATATAG CURRICULUM: ASSESSING THE READINESS OF ELEM. PUBLIC SCHOOL TEACHERS I...MATATAG CURRICULUM: ASSESSING THE READINESS OF ELEM. PUBLIC SCHOOL TEACHERS I...
MATATAG CURRICULUM: ASSESSING THE READINESS OF ELEM. PUBLIC SCHOOL TEACHERS I...
NelTorrente
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
Jean Carlos Nunes Paixão
 
Digital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental DesignDigital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental Design
amberjdewit93
 
clinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdfclinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdf
Priyankaranawat4
 
How to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP ModuleHow to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP Module
Celine George
 
writing about opinions about Australia the movie
writing about opinions about Australia the moviewriting about opinions about Australia the movie
writing about opinions about Australia the movie
Nicholas Montgomery
 
How to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRMHow to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRM
Celine George
 
South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
Academy of Science of South Africa
 
Azure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHatAzure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHat
Scholarhat
 
Advanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docxAdvanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docx
adhitya5119
 
CACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdfCACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdf
camakaiclarkmusic
 
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective UpskillingYour Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Excellence Foundation for South Sudan
 
Group Presentation 2 Economics.Ariana Buscigliopptx
Group Presentation 2 Economics.Ariana BuscigliopptxGroup Presentation 2 Economics.Ariana Buscigliopptx
Group Presentation 2 Economics.Ariana Buscigliopptx
ArianaBusciglio
 
RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
IreneSebastianRueco1
 
The History of Stoke Newington Street Names
The History of Stoke Newington Street NamesThe History of Stoke Newington Street Names
The History of Stoke Newington Street Names
History of Stoke Newington
 

Recently uploaded (20)

MARY JANE WILSON, A “BOA MÃE” .
MARY JANE WILSON, A “BOA MÃE”           .MARY JANE WILSON, A “BOA MÃE”           .
MARY JANE WILSON, A “BOA MÃE” .
 
A Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptxA Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptx
 
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdfANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
 
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdfবাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
 
Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
 
MATATAG CURRICULUM: ASSESSING THE READINESS OF ELEM. PUBLIC SCHOOL TEACHERS I...
MATATAG CURRICULUM: ASSESSING THE READINESS OF ELEM. PUBLIC SCHOOL TEACHERS I...MATATAG CURRICULUM: ASSESSING THE READINESS OF ELEM. PUBLIC SCHOOL TEACHERS I...
MATATAG CURRICULUM: ASSESSING THE READINESS OF ELEM. PUBLIC SCHOOL TEACHERS I...
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
 
Digital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental DesignDigital Artefact 1 - Tiny Home Environmental Design
Digital Artefact 1 - Tiny Home Environmental Design
 
clinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdfclinical examination of hip joint (1).pdf
clinical examination of hip joint (1).pdf
 
How to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP ModuleHow to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP Module
 
writing about opinions about Australia the movie
writing about opinions about Australia the moviewriting about opinions about Australia the movie
writing about opinions about Australia the movie
 
How to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRMHow to Manage Your Lost Opportunities in Odoo 17 CRM
How to Manage Your Lost Opportunities in Odoo 17 CRM
 
South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
 
Azure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHatAzure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHat
 
Advanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docxAdvanced Java[Extra Concepts, Not Difficult].docx
Advanced Java[Extra Concepts, Not Difficult].docx
 
CACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdfCACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdf
 
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective UpskillingYour Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective Upskilling
 
Group Presentation 2 Economics.Ariana Buscigliopptx
Group Presentation 2 Economics.Ariana BuscigliopptxGroup Presentation 2 Economics.Ariana Buscigliopptx
Group Presentation 2 Economics.Ariana Buscigliopptx
 
RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
RPMS TEMPLATE FOR SCHOOL YEAR 2023-2024 FOR TEACHER 1 TO TEACHER 3
 
The History of Stoke Newington Street Names
The History of Stoke Newington Street NamesThe History of Stoke Newington Street Names
The History of Stoke Newington Street Names
 

SoftwareTesting.pptx

  • 1. SOFTWARE TESTING Prepared By Dr P PRABAKARAN Assistant Professor Department of Computer Applications – PG School of Computing Sciences Vels Institute of Science Technologies and Advanced Studies Chennai
  • 2. Software Testing - Introduction Defn: Software testing is a method to check whether the actual software product matches expected requirements and to ensure that software product is Defect free.
  • 3. Software Testing - Introduction SOFTWARE TESTING BACKGROUND 1. Infamous Software Error Case Studies 2. What Is a Bug? 3. Why Do Bugs Occur? 4. The Cost of Bugs 5. What Exactly Does a Software Tester Do? 6. What Makes a Good Software Tester?
  • 4. Software Testing - Introduction SOFTWARE TESTING BACKGROUND Infamous Software Error Case Studies Software is everywhere. But ultimately, it's written by people so it's not perfect. Example  Intel Pentium Floating-Point Division Bug, 1994  Patriot Missile Defense System, 1991  The Y2K (Year 2000) Bug, Circa 1974
  • 5. Software Testing - Introduction SOFTWARE TESTING BACKGROUND What Is a Bug? The Bug is the informal name of defects, which means that software or application is not working as per the requirement. In software testing, a software bug can also be issue, error, fault, or failure. The bug occurred when developers made any mistake or error while developing the product.
  • 6. Software Testing - Introduction SOFTWARE TESTING BACKGROUND Why Do Bugs Occur? 1. The software does something that the product specification says it shouldn't do. 2. The software does something that the product specification doesn't mention. 3. The software doesn't do something that the product specification doesn't mention but should. 4. The software is difficult to understand, hard to use, slow, or in the software tester's eyes will be viewed by the end user as just plain not right.
  • 7. Software Testing - Introduction SOFTWARE TESTING BACKGROUND The Cost of Bugs Software doesn't designed automatically, there is a procedure that is followed which may cover inception to planing, programming, and testing. That means the cost of bug is logarithmic. The cost of bug is logarithmic. The cost of bug is logarithmic.
  • 8. Software Testing - Introduction SOFTWARE TESTING BACKGROUND What Exactly Does a Software Tester Do? The goal of a software tester is to find bugs. But if the software is tested to check that it will work is wrong approach, because if we use this kind of approach then we are missing the bugs.
  • 9. Software Testing - Introduction SOFTWARE TESTING BACKGROUND What Makes a Good Software Tester? Now a days most of the companies consider software testing as a technical engineering profession. They know to build the better quality software there is need of well qualified and trained software testers.
  • 10. Software Testing - Introduction SOFTWARE BUGS Bug in software testing is flaw or default in a component or system or software that can cause the components or system to fail to perform its required functions, in other words, we can say that if the bug or defect encountered during the execution of the test, it may cause the failure of the components.
  • 11. Software Testing - Introduction SOFTWARE BUGS Life Cycle of Bug in Software Testing The Bug Life cycle is also known as a Defect Life cycle. It is a phase of a defect that occupies the different states during its lifetime.
  • 12. Software Testing - Introduction SOFTWARE BUGS Life Cycle of Bug in Software Testing
  • 13. Software Testing - Introduction SOFTWARE BUGS How to Identify a Software Bug  Sighting  Symptom  Reproducer  Description  Failure  Cause-Effect Chain  Defect
  • 14. Software Testing - Introduction COST OF BUGS The cost of defects can be measured by the impact of the defects and when we find them. Earlier the defect is found lesser is the cost of defect. The presence of bugs in a system is inevitable, and knowing the cost of a software bug and performing tests thoroughly is a must as well.
  • 15. Software Testing - Introduction SOFTWARE TESTING REALITIES Testers testing the software should have in-depth knowledge about its various facets. It is a complicated process. If the testers do any mistake, the overall performance of the software will go down.
  • 16. Software Testing - Introduction TESTING AXIOMS Axiom 1 Axiom 2 Axiom 3 Axiom 4 Axiom 5 Axiom 6 Axiom 7 Axiom 8 Axiom 9
  • 17. Software Testing - Introduction TESTING AXIOMS Axiom 1 It is impossible to test a program completely.  How many test cases do you need to exhaustively test.  The only way to be absolutely sure software works is to run it against all possible inputs and observe all of its outputs.  The number of possible inputs is very large.
  • 18. Software Testing - Introduction TESTING AXIOMS Axiom 2 Software testing is a risk-based exercise.  If you do not test the software for all inputs (a wise choice) you take a risk.  Hopefully you will skip a lot of inputs that work correctly.  What if you skip inputs that cause a fault?
  • 19. Software Testing - Introduction TESTING AXIOMS Axiom 3 Testing cannot show the absence of bugs. 1. “Program testing can be used to show the presence of bugs, but never to show their absence” 2. Dijkstra received the 1972 ACM Turing Award for fundamental contributions in the area of programming language.
  • 20. Software Testing - Introduction TESTING AXIOMS Axiom 4 The more bugs you find, the more bugs there are  Bugs appear in groups, where you see one you will likely find more … Why?  Boris Beizer coined the term pesticide paradox to describe the phenomenon that the more you test software the more immune it becomes to your test cases.
  • 21. Software Testing - Introduction TESTING AXIOMS Axiom 5 Not all bugs found will be fixed Why wouldn’t you fix a bug you knew about?  There’s not enough time  It’s not really a bug  It’s too risky to fix
  • 22. Software Testing - Introduction TESTING AXIOMS Axiom 6 It is difficult to say when a bug is indeed a bug.  If there is a problem in the software but no one ever discovers it … is it a bug?  What is your opinion? Does a bug have to be observable in order for it to me a bug?  Bugs that are undiscovered are called latent bugs.
  • 23. Software Testing - Introduction TESTING AXIOMS Axiom 7 Specifications are never final  Building a product based on a “moving target” specification is fairly unique to software development.  Not true in other engineering domains.
  • 24. Software Testing - Introduction TESTING AXIOMS Axiom 8 Software testers are not the most popular members of a project 1. Goal of a software tester 2. Tips to avoid becoming unpopular
  • 25. Software Testing - Introduction TESTING AXIOMS Axiom 9 Software testing is a disciplined and technical profession.  When software was simpler and more manageable software testers were often untrained and testing was not done methodically.  It is now too costly to build buggy software. As a result testing has matured as a discipline.
  • 26. Software Testing - Introduction PRECISION AND ACCURACY Definition of Precision Precision is defined as ‘the quality of being exact’ and refers to how close two or more measurements are to each other, regardless of whether those measurements are accurate or not. It is possible for precision measurements to not be accurate.
  • 27. Software Testing - Introduction PRECISION AND ACCURACY Definition of Accuracy Accuracy is defined as ‘the degree to which the result of a measurement conforms to the correct value or a standard’ and essentially refers to how close a measurement is to its agreed value.
  • 28. Software Testing - Introduction VERIFICATION AND VALIDATION Verification Verification is the process, to ensure that whether we are building the product right i.e., to verify the requirements which we have and to verify whether we ae developing the product accordingly or not.
  • 29. Software Testing - Introduction VERIFICATION AND VALIDATION
  • 30. Software Testing - Introduction VERIFICATION AND VALIDATION Validation Validation is the process, whether we are building the right product i.e., to validate the product which we have developed is right or not. In software testing, verification and validation are the processes to check whether a software system meets the specifications and that it fulfills its intended purpose or not.
  • 31. Software Testing - Introduction VERIFICATION AND VALIDATION Validation Validation is the process, whether we are building the right product i.e., to validate the product which we have developed is right or not. In software testing, verification and validation are the processes to check whether a software system meets the specifications and that it fulfills its intended purpose or not.
  • 32. Software Testing - Introduction VERIFICATION AND VALIDATION Validation
  • 33. Software Testing - Introduction QUALITY AND RELIABILITY Quality Quality is a much broader aspect than Reliability. Quality covers almost everything from organisation, managements, service, procedures, people, product, product-life etc. In simple words, Reliability is only a subset of quality.
  • 34. Software Testing - Introduction QUALITY AND RELIABILITY Reliability Testing Reliability Testing is a software testing process that checks whether the software can perform a failure-free operation for a specified time period in a particular environment.
  • 35. Software Testing - Introduction QUALITY AND RELIABILITY Types of reliability Testing  Feature Testing  Load Testing  Regression Testing
  • 36. Software Testing - Introduction TESTING AND QUALITY ASSURANCE Software quality assurance helps to check the fulfilment of all business scenarios and user requirements, as well as identify all possible problems and bugs in IT products.
  • 37. Software Testing - Introduction TESTING AND QUALITY ASSURANCE Quality assurance (QA) is the process of validating whether a product fulfills a company or industry’s quality requirements or not. It’s an essential part of ensuring the quality of production and includes processes such as planning, fulfilling, and monitoring.
  • 38. Software Testing - Introduction TESTING AND QUALITY ASSURANCE Quality Assurance Process Quality assurance breaks down to a defined cycle known as the Deming cycle. Many professionals call it the PDCA cycle because of the phases used in this cycle, which are:  Plan  DoCheck  Act
  • 39. Software Testing - Introduction TESTING AND QUALITY ASSURANCE Types Of Software Testing  Manual software testing  Automated software testing
  • 40. Software Testing - Introduction TESTING AND QUALITY ASSURANCE Manual software testing Мanual software testing is a type of software testing when a QA engineer manually runs tests without any automation. Automated software testing Automated software testing is performed using frameworks such as Selenium, PHPUnit, Mockery. It aims to reduce the cost and risks related to the human factor.
  • 41. SOFTWARE TESTING METHODOLOGY FUNCTIONAL TESTING Functional testing is the process through which QAs determine if a piece of software is acting in accordance with pre-determined requirements. It uses black-box testing techniques, in which the tester has no knowledge of the internal system logic.
  • 42. SOFTWARE TESTING METHODOLOGY FUNCTIONAL TESTING Types of Functional Testing
  • 43. SOFTWARE TESTING METHODOLOGY FUNCTIONAL TESTING Types of Functional Testing Unit Testing This is performed by developers who write scripts that test if individual components/units of an application match the requirements. Smoke Testing: This is done after the release of each build to ensure that software stability is intact and not facing any anomalies.
  • 44. SOFTWARE TESTING METHODOLOGY FUNCTIONAL TESTING Types of Functional Testing Sanity Testing Usually done after smoke testing, this is run to verify that every major functionality of an application is working perfectly, both by itself and in combination with other elements. Regression Testing This test ensures that changes to the code base (new code, debugging strategies, etc.) do not disrupt the already existing functions or trigger some instability.
  • 45. SOFTWARE TESTING METHODOLOGY FUNCTIONAL TESTING Process Workflow for Functional Testing Identify functions that the application is intended to perform Create the input based on the function’s specifications Establish the output based on the function’s specifications Execute the written test cases Compare the final actual and expected outputs
  • 46. SOFTWARE TESTING METHODOLOGY FUNCTIONAL TESTING Functionality Testing Tools Selenium Ranorex Studio TestComplete UFT Katalon studio
  • 47. SOFTWARE TESTING METHODOLOGY FUNCTIONAL TESTING Advantages of Functional Testing: It ensures to deliver a bug-free product. It ensures to deliver a high-quality product. No assumptions about the structure of the system. This testing is focused on the specifications as per the customer usage.
  • 48. SOFTWARE TESTING METHODOLOGY STRUCTURAL TESTING The process is a combination of white-box testing and glass box testing mostly performed by developers. Structural Testing Techniques Statement coverage Branch coverage Condition Coverage
  • 49. SOFTWARE TESTING METHODOLOGY STRUCTURAL TESTING Types of Structural Testing Control flow testing Data flow testing Slice Based testing Mutation testing
  • 50. SOFTWARE TESTING METHODOLOGY STRUCTURAL TESTING Types of Structural Testing
  • 51. SOFTWARE TESTING METHODOLOGY STRUCTURAL TESTING Types of Structural Testing Control flow testing This method requires detailed knowledge of all aspects of the software and the logic of the software. It tests out the whole code thoroughly. Data flow testing: The data is kept safe and unaltered throughout the execution of the program. Any alteration of the data can result in adverse consequences.
  • 52. SOFTWARE TESTING METHODOLOGY STRUCTURAL TESTING Slice based testing: The basic idea is to divide the whole program into small slices and then checking on to each slice carefully. Mutation testing: The developers make small alterations to the already available software tests and create a mutant of the old software test.
  • 53. SOFTWARE TESTING METHODOLOGY STRUCTURAL TESTING Advantages of Structural Testing Enables thorough checkups Smooth execution from an early stage Dead codes are removed easily Automated processes Easy coding and implementation
  • 54. SOFTWARE TESTING METHODOLOGY STATIC AND DYNAMIC TESTING Static testing Static testing is cost-effective testing where defects are identified without actual execution of the code. Static Testing Techniques Review Static Analysis
  • 55. SOFTWARE TESTING METHODOLOGY STATIC AND DYNAMIC TESTING Dynamic testing Dynamic Testing is executing codes with different variables for physical examination of the system. Dynamic Testing Techniques White Box Testing Black Box Testing
  • 56. SOFTWARE TESTING METHODOLOGY STATIC AND DYNAMIC TESTING White Box Testing The white box testing is done keeping transparency between the tester and the system. This means the tester is aware of all the internal working and the codes. Black Box Testing This is performed by the testers or the testing team who are unaware of the built and codes of the system. The goal is to only verify the functionality of the system against any input.
  • 57. SOFTWARE TESTING METHODOLOGY LOW LEVEL SPECIFICATION TEST TECHNIQUES A Low Level Test Case is a test case with solid values for input data and expected output. The logical operators from high-level test cases are interchanged with the real values that go along with the targets of the logical operators.
  • 58. SOFTWARE TESTING METHODOLOGY EQUIVALENCE PARTITIONING Equivalence partitioning (EP) is a specification-based or black-box technique. It can be applied at any level of testing and is often a good technique to use first.
  • 59. SOFTWARE TESTING METHODOLOGY DATA TESTING Defn: Database Testing is checks the schema, tables, triggers, etc. of the Database under test. It also checks data integrity and consistency.
  • 60. SOFTWARE TESTING METHODOLOGY DATA TESTING Data Testing Process:
  • 61. SOFTWARE TESTING METHODOLOGY STATE TESTING State Transition Testing is a black box testing technique in which changes made in input conditions cause state changes or output changes in the Application under Test (AUT). State transition testing helps to analyze behaviour of an application for different input conditions.
  • 63. SOFTWARE TESTING METHODOLOGY FORMAL REVIEWS Formal reviews follow a formal process. It is well structured and regulated. Process of formal review  Planning  Kick-off  Preparation  Review meeting  Rework  Follow-up
  • 65. SOFTWARE TESTING METHODOLOGY CODING STANDARDS AND GUIDELINES Software developers globally adhere to certain coding standards to maintain a quality development environment. Coding standards best practices are best defined as an assortment of essential rules, best practices, and guidelines to help programmers write good and cleaner code.
  • 66. SOFTWARE TESTING METHODOLOGY CODING STANDARDS AND GUIDELINES Advantages of Coding Guidelines Increased efficiency Reduced costs Reduced complexity Reduced hidden costs Code reuse Automated error prevention
  • 67. SOFTWARE TESTING METHODOLOGY CODE REVIEW CHECKLIST A code review aims to improve the quality of the code that you want to add to your codebase. A code review refers to a systematic approach to reviewing other programmers' code for mistakes and many other quality metrics
  • 68. SOFTWARE TESTING METHODOLOGY CODE REVIEW CHECKLIST Verify feature requirements Code readability Coding Style Clear naming Code duplication Tests Documentation
  • 69. SOFTWARE TESTING METHODOLOGY DATA COVERAGE Data coverage means at least one test case for each data item / variable / field in the program. Collecting all inputs to each function to figure out missing test data.
  • 70. SOFTWARE TESTING METHODOLOGY CODE COVERAGE Code Coverage testing is determining how much code is being tested. It can be calculated using the formula: Types of code coverage Analysis:  Statement coverage and Block coverage  Function coverage  Function call coverage  Branch coverage  Modified condition/decision coverage
  • 71. CONFIGURATION TESTING Definition of Configuration testing Configuration Testing is a software testing technique in which the software application is tested with multiple combinations of software and hardware in order to evaluate the functional requirements.
  • 72. WEBSITE TESTING Website Testing Technique  Functionality Testing of a Website  Interface Testing  Database Testing  Compatibility testing  Performance Testing
  • 73. BENEFITS OF AUTOMATION AND TOOLS Automation testing uses an automation tool to execute the test case instead of a human manually executing the suite by following step-by-step instructions.
  • 74. BENEFITS OF AUTOMATION AND TOOLS Benefits of Automation and Tools  Enhanced Results  Swifter Feedback system  Brand Enhancement  Cost-effective  Efficiency Testing  Increase in Coverage Area
  • 75. VIEWERS AND MONITORS “Testing the Software with X- Ray Glasses,” you learned how code coverage analyzers provide a means for you to see what lines of code are executed, what functions are run, and what code paths are followed when you run your tests.
  • 77. VIEWERS AND MONITORS Drivers are tools used to control and operate the software being tested. One of the simplest examples of a driver is a batch file, a simple list of programs or commands that are executed sequentially.
  • 78. STUBS Stubs are essentially the opposite of drivers in that they don’t control or operate the software being tested; they instead receive or respond to data that the software sends.
  • 79. STRESS AND LOAD TOOLS Stress and load tools induce stresses and loads to the software being tested. A word processor running as the only application on the system, with all available memory and disk space, probably works just fine.
  • 80. ANALYSIS TOOLS Most software testers use the following common tools to make their everyday jobs easier. They’re not necessarily as fancy as the tools discussed so far.
  • 81. SOFTWARE TEST AUTOMATION Software test automation is just another class of software testing tools, it’s one that deserves special consideration.  Macro Recording and Playback  Programmed Macros
  • 82. RANDOM TESTING Using tools and automation for this purpose will help you find bugs; while the tools are busy doing regression testing, you’ll have time to plan new tests and design new and interesting cases to try.
  • 83. BETA TESTING Beta testing is the term used to describe the external testing process in which the software is sent out to a select group of potential customers who use it in a real- world environment.
  • 84. BETA TESTING Beta testing is the term used to describe the external testing process in which the software is sent out to a select group of potential customers who use it in a real- world environment.
  • 85. GOAL OF TEST PLANNING The test plan is a project-level document which means that it is focused on a specific software product rather than on procedures and standards adopted across the entire company.
  • 86. GOAL OF TEST PLANNING 1. To evaluate the work products such as requirements, design, user stories, and code 2. To verify the fulfillment of all specified requirements 3. To validate if the test object is complete and works as per the expectation of the users and the stakeholders
  • 87. GOAL OF TEST PLANNING 4. To build confidence in the quality level of the test object 5. To prevent defects in the software product 6. To find defects in the software product
  • 88. GOAL OF TEST PLANNING 7. To provide sufficient information to stakeholders to allow them to make informed decisions, especially regarding the level of quality of the test object 8. To reduce the level of risk of insufficient software quality 9. To comply with contractual, legal, or regulatory requirements or standards, and to verify the test object’s compliance with such requirements or standards
  • 89. TEST PHASES To plan the test phases, the test team will look at the proposed development model and decide whether unique phases, or stages, of testing should be performed over the course of the project.
  • 90. TEST PHASES The test planning process should identify each proposed test phase and make each phase known to the project team. This process often helps the entire team form and understand the overall development model.
  • 91. TEST STRATEGY The test strategy describes the approach that the test team will use to test the software both overall and in each phase.
  • 92. TEST STRATEGY Deciding on the strategy is a complex task — one that needs to be made by very experienced testers because it can determine the success or failure of the test effort. It’s vitally important for everyone on the project team to understand and be in agreement with the proposed plan.
  • 93. RESOURCE REQUIREMENTS Planning the resource requirements is the process of deciding what’s necessary to accomplish the testing strategy. Everything that could possibly be used for testing over the course of the project needs to be considered.
  • 94. RESOURCE REQUIREMENTS For example  People  Equipment  Office and Lab space  Software  Outsource companies  Miscellaneous supplies
  • 95. TEST SCHEDULE The test schedule takes all the information presented so far and maps it into the overall project schedule. This stage is often critical in the test planning effort because a few highly desired features that were thought to be easy to design and code may turn out to be very time consuming to test.
  • 96. WRITING AND TRACKING TEST CASES Writing and tracking test cases, is one that more directly influences your typical tasks as a software tester. Initially you may be involved only in running test cases that someone else has written, but you’ll very soon be writing them for yourself and for other testers to use.
  • 97. WRITING AND TRACKING TEST CASES  Why writing and tracking test cases is important  What a test design specification is  What a test case specification is  How test procedures should be written  How test cases should be organized
  • 98. WRITING AND TRACKING TEST CASES  Why writing and tracking test cases is important  What a test design specification is  What a test case specification is  How test procedures should be written  How test cases should be organized