SlideShare a Scribd company logo
Software Testing - Introduction
N Arun Kumar
1st MSc(Computer Science)
Don Bosco College, Yelagiri hills.
3/26/2018 1
Outline
• Software Engineering
• SDLC
• Phases of SDLC
• Testing
– Goals of Testing
– Test Design
– Pesticide-paradox and complexity barrier
– Dichotomies
– Model for testing
– Testing and levels
– Is complete testing possible?
3/26/2018 2
Software Engineering
• Software:
Collection of executable programming code,
associated libraries and documentations
• Engineering:
developing products, using well-defined, scientific
principles and methods.
3/26/2018 3
Software Engineering
• A systematic, disciplined, quantifiable
approach to the development, operation, and
maintenance of software.
• Goals:
– to improve the quality of software products
– to increase the productivity and job satisfaction of
software engineers.
3/26/2018 4
SDLC
• Software Development Life Cycle
– is a well-defined, structured sequence of stages in
software engineering to develop the intended
software product
– Variety of SDLC model are available now a days
such as Waterfall model, Prototype model, Agile
model, etc. which makes the development of
software very easy.
3/26/2018 5
Phases in SDLC
• Problem Definition
• Requirement Analysis
• Planning
• Design
• Implementation
• Testing
• Deployment
• Maintenance
3/26/2018 6
Testing
• Software testing is a process of executing a
program or application with the intent of
finding the software bugs.
• It can also be stated as the process of
validating and verifying that a software
program or application or product: Meets the
business and technical requirements that
guided it's design and development.
3/26/2018 7
Goals of Testing
• Primary Goal:
– Bug prevention
• A prevented bug is better than the detected and
corrected bug because if the bug is prevented there’s
no code to correct
• Secondary Goal:
– Bug Discovery
3/26/2018 8
Test Design
• Instead of “ design, code, desk check, test, and
debug” the programming process should be
described as “design, test design, code, test
code, program inspection, test inspection, test
debugging, test execution, program
debugging, testing”.
3/26/2018 9
Pesticide Paradox and Complexity
Barrier
• First Law: The Pesticide Paradox – Every
method you use to prevent or find bugs leaves
a residue of subtler bugs against which those
methods are ineffectual.
• Second Law: Complexity Barrier – Software
complexity grows to the limits of our ability to
manage that complexity.
3/26/2018 10
Dichotomies
• Testing vs Debugging
Testing Debugging
1. Purpose:
to show that a program has bugs.
find the error or misconception
that led to the programs failure
starts with known conditions and has
predictable outcomes
starts from possibly unknown
initial conditions and the end
cannot be predicted
Testing can and should be planned,
designed and scheduled
Debugging cannot be so
constrained
Testing can often be done by an
outsider
Debugging must be done by an
insider
Testing can be done without design
knowledge
Debugging is impossible without
detailed design knowledge
3/26/2018 11
Cont…
• Function vs Structure
Function Structure
It takes the user point of view-
bother about functionality and
features and not the programs
implementation
It looks at the implementation
details
In functional testing, the program
or system is treated as a black box
It is subjected to inputs and
its outputs are verified for
conformance to specified behaviour
Things such as programming style,
control method, source language,
database design, and coding details
dominate structural testing.
3/26/2018 12
Cont…
• Designer vs Tester
– Tester is actually one who tests the code whereas
designer is the person one who designs the test.
– During functional testing, the designer and tester
are probably different persons. During unit
testing, the tester and the programmer merge into
one person
3/26/2018 13
Cont…
• Modularity vs Efficiency
– A module is a discrete, well-defined, small
component of a system.
– Smaller the modules, difficult to integrate; larger
the modules, difficult to understand. Both tests
and systems can be modular.
– Testing can and should likewise be organised into
modular components.
– Small, independent test cases can be designed to
test independent modules.
3/26/2018 14
Cont…
• Small vs Large
– Programming in the large, means constructing
programs that consists of many components
written by many different programmers
– Programming in the small, is what we do for
ourselves in the privacy of our own offices
3/26/2018 15
Cont…
• Builder vs Buyer
– Builder: who designs the system and is
accountable to the buyer
Buyer: who pays for the system in the hope of
profits from providing services
User: Ultimate beneficiary or victim of the system,
The users interests are also guarded by
Tester: Who is dedicated to the builders
destruction
3/26/2018 16
Model for testing
3/26/2018 17
Cont…
• Three models:
– Model of the environment
– Model of the program
– Model of the expected bugs
3/26/2018 18
Cont…
• Environment
– Hardware and the software required to make it
run
– Example: Operating System, Compiler, utility
– Its not smart to blame the environment for bugs.
3/26/2018 19
Cont…
• Program:
– If the simple model of the program does not
explain the unexpected behavior, we may have to
modify that model to include more facts and
details.
– And if that fails, we may have to modify the
program.
3/26/2018 20
Testing and Levels
There are three distinct kinds of testing on a
typical software system:
1. Unit/Component Testing
2. Integration Testing
3. System Testing
3/26/2018 21
Cont…
• Unit Testing
– set of tests performed by an individual
programmer prior to integration of the unit into a
larger system.
– Kinds of unit testing:-
• Functional tests
• Performance tests
• Stress tests
• Structure tests(black box or glass box testing)
3/26/2018 22
Cont…
• Integration Testing
– Integration is the process by which components
are aggregated to created larger components
– It checks if the combination of components are
incorrect or inconsistent
– It verifying software quality by testing two or
more dependent software modules as a group
3/26/2018 23
Cont…
• System testing
– A system is a big component
– It includes testing for performance, security,
accountability, configuration sensitivity, startup
and recovery
– System testing enables us to test, verify and
validate both the business requirements as well as
the applications architecture
3/26/2018 24
Is Complete Testing Possible?
• According to Manna and Waldinger
– “We can never be sure that the specifications are
correct”
– “No verification system can verify every correct
program”
– “We can never be certain that a verification
system is correct”
3/26/2018 25
Thank you!
3/26/2018 26

More Related Content

What's hot

Software testing
Software testing Software testing
Software testing
Kunal Prajapati
 
Types of testing
Types of testingTypes of testing
Types of testing
Sonam Agarwal
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and typesConfiz
 
Software testing
Software testingSoftware testing
Software testing
ssusere50573
 
Software testing
Software testingSoftware testing
Black Box Testing
Black Box TestingBlack Box Testing
Black Box Testing
Nivetha Padmanaban
 
Software testing principles
Software testing principlesSoftware testing principles
Software testing principles
Donato Di Pierro
 
Software Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
Software Testing Life Cycle (STLC) | Software Testing Tutorial | EdurekaSoftware Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
Software Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
Edureka!
 
Software Testing
Software TestingSoftware Testing
Software Testing
Mousmi Pawar
 
Test case techniques
Test case techniquesTest case techniques
Test case techniques
Pina Parmar
 
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Ankit Prajapati
 
Software Testing or Quality Assurance
Software Testing or Quality AssuranceSoftware Testing or Quality Assurance
Software Testing or Quality Assurance
Trimantra Software Solutions
 
Software Testing
Software TestingSoftware Testing
Software Testing
Sengu Msc
 
Types of software testing
Types of software testingTypes of software testing
Types of software testing
Prachi Sasankar
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
Poonkodi Jayakumar
 
Software Testing Process
Software Testing ProcessSoftware Testing Process
Software Testing Process
guest1f2740
 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-conceptsmedsherb
 

What's hot (20)

Software testing
Software testing Software testing
Software testing
 
Types of testing
Types of testingTypes of testing
Types of testing
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and types
 
Software testing
Software testingSoftware testing
Software testing
 
Software testing
Software testingSoftware testing
Software testing
 
Black Box Testing
Black Box TestingBlack Box Testing
Black Box Testing
 
Software testing principles
Software testing principlesSoftware testing principles
Software testing principles
 
Software Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
Software Testing Life Cycle (STLC) | Software Testing Tutorial | EdurekaSoftware Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
Software Testing Life Cycle (STLC) | Software Testing Tutorial | Edureka
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Black box software testing
Black box software testingBlack box software testing
Black box software testing
 
Test case techniques
Test case techniquesTest case techniques
Test case techniques
 
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
 
Software Testing or Quality Assurance
Software Testing or Quality AssuranceSoftware Testing or Quality Assurance
Software Testing or Quality Assurance
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Types of software testing
Types of software testingTypes of software testing
Types of software testing
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
STLC
STLCSTLC
STLC
 
Software Testing Process
Software Testing ProcessSoftware Testing Process
Software Testing Process
 
Introduction & Manual Testing
Introduction & Manual TestingIntroduction & Manual Testing
Introduction & Manual Testing
 
Basic software-testing-concepts
Basic software-testing-conceptsBasic software-testing-concepts
Basic software-testing-concepts
 

Similar to Software Testing Introduction

How companies test their software before released to the digital market.pptx
How companies test their software before released to the digital market.pptxHow companies test their software before released to the digital market.pptx
How companies test their software before released to the digital market.pptx
Bakr Salim
 
STM-UNIT-1.pptx
STM-UNIT-1.pptxSTM-UNIT-1.pptx
STM-UNIT-1.pptx
nischal55
 
Software Testing Future and Challenges
Software Testing Future and ChallengesSoftware Testing Future and Challenges
Software Testing Future and Challenges
Bakr Salim
 
Stm unit1
Stm unit1Stm unit1
Stm unit1
Chaitanya Kn
 
Software Development Methodologies
Software Development MethodologiesSoftware Development Methodologies
Software Development Methodologies
Nicholas Davis
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual Testing
Murageppa-QA
 
Manual Testing Interview Questions & Answers.docx
Manual Testing Interview Questions & Answers.docxManual Testing Interview Questions & Answers.docx
Manual Testing Interview Questions & Answers.docx
ssuser305f65
 
Mt s10 stlc&test_plan
Mt s10 stlc&test_planMt s10 stlc&test_plan
Mt s10 stlc&test_planTestingGeeks
 
A Research Study on importance of Testing and Quality Assurance in Software D...
A Research Study on importance of Testing and Quality Assurance in Software D...A Research Study on importance of Testing and Quality Assurance in Software D...
A Research Study on importance of Testing and Quality Assurance in Software D...
Sehrish Asif
 
Introduction To Testing by enosislearning.com
Introduction To Testing by enosislearning.com Introduction To Testing by enosislearning.com
Introduction To Testing by enosislearning.com
enosislearningcom
 
Software Testing.pdf
Software Testing.pdfSoftware Testing.pdf
Software Testing.pdf
ManojKumar533913
 
software engineering
software engineering software engineering
software engineering
bharati vidhyapeeth uni.-pune
 
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
AnilKumarARS
 
Manual testing testing master.pdf
Manual testing testing master.pdfManual testing testing master.pdf
Manual testing testing master.pdf
synamedia
 
ManualTestingMaterial.pdf
ManualTestingMaterial.pdfManualTestingMaterial.pdf
ManualTestingMaterial.pdf
SCMCpvt
 
Unit2 - Metrics.pptx
Unit2 - Metrics.pptxUnit2 - Metrics.pptx
Unit2 - Metrics.pptx
rituah
 
OOSE Unit 5 PPT.ppt
OOSE Unit 5 PPT.pptOOSE Unit 5 PPT.ppt
OOSE Unit 5 PPT.ppt
itadmin33
 
Softwaretestingstrategies
SoftwaretestingstrategiesSoftwaretestingstrategies
Softwaretestingstrategies
saieswar19
 
IT Quality Testing and the Defect Management Process
IT Quality Testing and the Defect Management ProcessIT Quality Testing and the Defect Management Process
IT Quality Testing and the Defect Management Process
Yolanda Williams
 

Similar to Software Testing Introduction (20)

How companies test their software before released to the digital market.pptx
How companies test their software before released to the digital market.pptxHow companies test their software before released to the digital market.pptx
How companies test their software before released to the digital market.pptx
 
STM-UNIT-1.pptx
STM-UNIT-1.pptxSTM-UNIT-1.pptx
STM-UNIT-1.pptx
 
Software Testing Future and Challenges
Software Testing Future and ChallengesSoftware Testing Future and Challenges
Software Testing Future and Challenges
 
Stm unit1
Stm unit1Stm unit1
Stm unit1
 
Software Development Methodologies
Software Development MethodologiesSoftware Development Methodologies
Software Development Methodologies
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual Testing
 
Manual Testing Interview Questions & Answers.docx
Manual Testing Interview Questions & Answers.docxManual Testing Interview Questions & Answers.docx
Manual Testing Interview Questions & Answers.docx
 
Mt s10 stlc&test_plan
Mt s10 stlc&test_planMt s10 stlc&test_plan
Mt s10 stlc&test_plan
 
A Research Study on importance of Testing and Quality Assurance in Software D...
A Research Study on importance of Testing and Quality Assurance in Software D...A Research Study on importance of Testing and Quality Assurance in Software D...
A Research Study on importance of Testing and Quality Assurance in Software D...
 
6. oose testing
6. oose testing6. oose testing
6. oose testing
 
Introduction To Testing by enosislearning.com
Introduction To Testing by enosislearning.com Introduction To Testing by enosislearning.com
Introduction To Testing by enosislearning.com
 
Software Testing.pdf
Software Testing.pdfSoftware Testing.pdf
Software Testing.pdf
 
software engineering
software engineering software engineering
software engineering
 
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
_VoicePPT_QA_Testing_Training_4_Days_Schedule.ppt
 
Manual testing testing master.pdf
Manual testing testing master.pdfManual testing testing master.pdf
Manual testing testing master.pdf
 
ManualTestingMaterial.pdf
ManualTestingMaterial.pdfManualTestingMaterial.pdf
ManualTestingMaterial.pdf
 
Unit2 - Metrics.pptx
Unit2 - Metrics.pptxUnit2 - Metrics.pptx
Unit2 - Metrics.pptx
 
OOSE Unit 5 PPT.ppt
OOSE Unit 5 PPT.pptOOSE Unit 5 PPT.ppt
OOSE Unit 5 PPT.ppt
 
Softwaretestingstrategies
SoftwaretestingstrategiesSoftwaretestingstrategies
Softwaretestingstrategies
 
IT Quality Testing and the Defect Management Process
IT Quality Testing and the Defect Management ProcessIT Quality Testing and the Defect Management Process
IT Quality Testing and the Defect Management Process
 

Recently uploaded

In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
ShamsuddeenMuhammadA
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Nidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, TipsNidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, Tips
vrstrong314
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
abdulrafaychaudhry
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 

Recently uploaded (20)

In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Nidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, TipsNidhi Software Price. Fact , Costs, Tips
Nidhi Software Price. Fact , Costs, Tips
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 

Software Testing Introduction

  • 1. Software Testing - Introduction N Arun Kumar 1st MSc(Computer Science) Don Bosco College, Yelagiri hills. 3/26/2018 1
  • 2. Outline • Software Engineering • SDLC • Phases of SDLC • Testing – Goals of Testing – Test Design – Pesticide-paradox and complexity barrier – Dichotomies – Model for testing – Testing and levels – Is complete testing possible? 3/26/2018 2
  • 3. Software Engineering • Software: Collection of executable programming code, associated libraries and documentations • Engineering: developing products, using well-defined, scientific principles and methods. 3/26/2018 3
  • 4. Software Engineering • A systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software. • Goals: – to improve the quality of software products – to increase the productivity and job satisfaction of software engineers. 3/26/2018 4
  • 5. SDLC • Software Development Life Cycle – is a well-defined, structured sequence of stages in software engineering to develop the intended software product – Variety of SDLC model are available now a days such as Waterfall model, Prototype model, Agile model, etc. which makes the development of software very easy. 3/26/2018 5
  • 6. Phases in SDLC • Problem Definition • Requirement Analysis • Planning • Design • Implementation • Testing • Deployment • Maintenance 3/26/2018 6
  • 7. Testing • Software testing is a process of executing a program or application with the intent of finding the software bugs. • It can also be stated as the process of validating and verifying that a software program or application or product: Meets the business and technical requirements that guided it's design and development. 3/26/2018 7
  • 8. Goals of Testing • Primary Goal: – Bug prevention • A prevented bug is better than the detected and corrected bug because if the bug is prevented there’s no code to correct • Secondary Goal: – Bug Discovery 3/26/2018 8
  • 9. Test Design • Instead of “ design, code, desk check, test, and debug” the programming process should be described as “design, test design, code, test code, program inspection, test inspection, test debugging, test execution, program debugging, testing”. 3/26/2018 9
  • 10. Pesticide Paradox and Complexity Barrier • First Law: The Pesticide Paradox – Every method you use to prevent or find bugs leaves a residue of subtler bugs against which those methods are ineffectual. • Second Law: Complexity Barrier – Software complexity grows to the limits of our ability to manage that complexity. 3/26/2018 10
  • 11. Dichotomies • Testing vs Debugging Testing Debugging 1. Purpose: to show that a program has bugs. find the error or misconception that led to the programs failure starts with known conditions and has predictable outcomes starts from possibly unknown initial conditions and the end cannot be predicted Testing can and should be planned, designed and scheduled Debugging cannot be so constrained Testing can often be done by an outsider Debugging must be done by an insider Testing can be done without design knowledge Debugging is impossible without detailed design knowledge 3/26/2018 11
  • 12. Cont… • Function vs Structure Function Structure It takes the user point of view- bother about functionality and features and not the programs implementation It looks at the implementation details In functional testing, the program or system is treated as a black box It is subjected to inputs and its outputs are verified for conformance to specified behaviour Things such as programming style, control method, source language, database design, and coding details dominate structural testing. 3/26/2018 12
  • 13. Cont… • Designer vs Tester – Tester is actually one who tests the code whereas designer is the person one who designs the test. – During functional testing, the designer and tester are probably different persons. During unit testing, the tester and the programmer merge into one person 3/26/2018 13
  • 14. Cont… • Modularity vs Efficiency – A module is a discrete, well-defined, small component of a system. – Smaller the modules, difficult to integrate; larger the modules, difficult to understand. Both tests and systems can be modular. – Testing can and should likewise be organised into modular components. – Small, independent test cases can be designed to test independent modules. 3/26/2018 14
  • 15. Cont… • Small vs Large – Programming in the large, means constructing programs that consists of many components written by many different programmers – Programming in the small, is what we do for ourselves in the privacy of our own offices 3/26/2018 15
  • 16. Cont… • Builder vs Buyer – Builder: who designs the system and is accountable to the buyer Buyer: who pays for the system in the hope of profits from providing services User: Ultimate beneficiary or victim of the system, The users interests are also guarded by Tester: Who is dedicated to the builders destruction 3/26/2018 16
  • 18. Cont… • Three models: – Model of the environment – Model of the program – Model of the expected bugs 3/26/2018 18
  • 19. Cont… • Environment – Hardware and the software required to make it run – Example: Operating System, Compiler, utility – Its not smart to blame the environment for bugs. 3/26/2018 19
  • 20. Cont… • Program: – If the simple model of the program does not explain the unexpected behavior, we may have to modify that model to include more facts and details. – And if that fails, we may have to modify the program. 3/26/2018 20
  • 21. Testing and Levels There are three distinct kinds of testing on a typical software system: 1. Unit/Component Testing 2. Integration Testing 3. System Testing 3/26/2018 21
  • 22. Cont… • Unit Testing – set of tests performed by an individual programmer prior to integration of the unit into a larger system. – Kinds of unit testing:- • Functional tests • Performance tests • Stress tests • Structure tests(black box or glass box testing) 3/26/2018 22
  • 23. Cont… • Integration Testing – Integration is the process by which components are aggregated to created larger components – It checks if the combination of components are incorrect or inconsistent – It verifying software quality by testing two or more dependent software modules as a group 3/26/2018 23
  • 24. Cont… • System testing – A system is a big component – It includes testing for performance, security, accountability, configuration sensitivity, startup and recovery – System testing enables us to test, verify and validate both the business requirements as well as the applications architecture 3/26/2018 24
  • 25. Is Complete Testing Possible? • According to Manna and Waldinger – “We can never be sure that the specifications are correct” – “No verification system can verify every correct program” – “We can never be certain that a verification system is correct” 3/26/2018 25