SlideShare a Scribd company logo
1 of 98
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.pdfBetter QA
 
Sqa unit1
Sqa unit1Sqa unit1
Sqa unit1kannaki
 
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.pdfJoeyWilliams21
 
EFFECTIVE TEST CASE DESING: A REVIEW
EFFECTIVE TEST CASE DESING: A REVIEWEFFECTIVE TEST CASE DESING: A REVIEW
EFFECTIVE TEST CASE DESING: A REVIEWJournal For Research
 
fundamentals of testing
fundamentals of testingfundamentals of testing
fundamentals of testingaidil fitra
 
software testing.pdf
software testing.pdfsoftware testing.pdf
software testing.pdfAmirKhan811717
 
ISTQBCH1 Manual Testing.pptx
ISTQBCH1 Manual Testing.pptxISTQBCH1 Manual Testing.pptx
ISTQBCH1 Manual Testing.pptxrajkamalv
 
FADHILLA ELITA Ppt Chapter 1
FADHILLA ELITA Ppt Chapter 1FADHILLA ELITA Ppt Chapter 1
FADHILLA ELITA Ppt Chapter 1fadhilla 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 SrikanthSrikanth Krishnamoorthy
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testingTaufik 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 TetingRuchika Sinha
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing pptSavyasachi14
 
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 ManagementAnuraj S.L
 
Software Quality Assurance.docx
Software Quality Assurance.docxSoftware Quality Assurance.docx
Software Quality Assurance.docx10Pie
 
Fundamentals of testing 2
Fundamentals of testing 2Fundamentals of testing 2
Fundamentals of testing 2seli 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 (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

Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptxSherlyMaeNeri
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxChelloAnnAsuncion2
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 
HáģŒC TáģT TIáēžNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIáēžT - Cáēĸ NĂ...
HáģŒC TáģT TIáēžNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIáēžT - Cáēĸ NĂ...HáģŒC TáģT TIáēžNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIáēžT - Cáēĸ NĂ...
HáģŒC TáģT TIáēžNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIáēžT - Cáēĸ NĂ...Nguyen Thanh Tu Collection
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfphamnguyenenglishnb
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxDr.Ibrahim Hassaan
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A BeÃąa
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfMr Bounab Samir
 

Recently uploaded (20)

Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptx
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
HáģŒC TáģT TIáēžNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIáēžT - Cáēĸ NĂ...
HáģŒC TáģT TIáēžNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIáēžT - Cáēĸ NĂ...HáģŒC TáģT TIáēžNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIáēžT - Cáēĸ NĂ...
HáģŒC TáģT TIáēžNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIáēžT - Cáēĸ NĂ...
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptx
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
 

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