SlideShare a Scribd company logo
Software Testing Basics
Software Testing
Testing is the process of executing a program
with the intention of finding errors
Software testing is an analysis that gives us
data to estimate the quality of a system
Software Testing
Who does Testing?
It depends on the process and the associated stakeholders of
the project(s). In the IT industry, large companies have a team
with responsibilities to evaluate the developed software in
the context of the given requirements. Moreover, developers
also conduct testing which is called Unit Testing. In most
cases, following professionals are involved in testing of a
system within their respective capacities:
Software Tester
Software Developer
Project Lead/Manager
End User
Validation & Verification
Verification Validation
Are you building it right? Are you building the right thing?
Ensure that the software system meets all
the functionality.
Ensure that functionalities meet the
intended behavior.
Verification takes place first and includes the
checking for documentation, code etc.
Validation occurs after verification and
mainly involves the checking of the overall
product.
Done by developers. Done by testers
Have static activities as it includes the
reviews, walkthroughs, and inspections to
verify that software is correct or not.
Have dynamic activities as it includes
executing the software against the
requirements.
It is an objective process and no subjective
decision should be needed to verify the
Software.
It is a subjective process and involves
subjective decisions on how well the
Software works.
Diff between Testing & Debugging
 Testing: It involves the identification of bug/error/defect
in the software without correcting it. Normally
professionals with a Quality Assurance background are
involved in the identification of bugs. Testing is
performed in the testing phase.
 Debugging: It involves identifying, isolating and fixing the
problems/bug. Developers who code the software
conduct debugging upon encountering an error in the
code. Debugging is the part of White box or Unit Testing.
Debugging can be performed in the development phase
while conducting Unit Testing or in phases while fixing
the reported bugs.
Testing Types
Manual Testing
 This type includes the testing of the Software manually i.e.
without using any automated tool or any script. In this type
the tester takes over the role of an end user and test the
Software to identify any un-expected behavior or bug. There
are different stages for manual testing like unit testing,
Integration testing, System testing and User Acceptance
testing.
 Testers use test plan, test cases or test scenarios to test the
Software to ensure the completeness of testing. Manual
testing also includes exploratory testing as testers explore the
software to identify errors in it.
Testing Types
Automation Testing
 Automation testing which is also known as “Test Automation”,
is when the tester writes scripts and uses another software to
test the software. This process involves automation of a
manual process. Automation Testing is used to re-run the test
scenarios that were performed manually, quickly and
repeatedly.
 Apart from regression testing, Automation testing is also used
to test the application from load, performance and stress
point of view. It increases the test coverage; improve
accuracy, saves time and money in comparison to manual
testing.
Who should test?
Developer
Understands the system
But, will test gently
Independent Tester
Must learn system
But, will attempt to break it
What is an “Error”, ”Bug”, ”Fault” and
“Failure”?
 A person makes an Error
That creates a fault in software
That can cause a failure in operation
Error : An error is a human action that produces the incorrect
result that results in a fault.
Bug : The presence of error at the time of execution of the
software.
Fault : State of software caused by an error.
Failure : Deviation of the software from its expected result. It is
an event.
Who is a Software Tester?
Software Tester is the one who performs
testing and find bugs, if they exist in the
tested application.
Importance of Testing In SDLC
 SDLC stands for Software Development Life Cycle.
Every software has to go through a development process.
Software development methodologies are used for the
computer based information systems. The growth of the
information has to pass through various phases/ stages, these
stages are known as System Development Life Cycle (SDLC).
Requirement
Analysis
Design
Coding
Testing
Implementation
Maintenance
Test Planning
Test Plan
 A test plan is a systematic approach to testing a system i.e.
software. The plan typically contains a detailed understanding
of what the eventual testing workflow will be.
Test Case
 A test case is a specific procedure of testing a particular
requirement.
It will include:
 Identification of specific requirement tested
 Test case success/failure criteria
 Specific steps to execute test
 Test Data
Levels of Testing
 Unit Testing
 Integration Testing
 System Testing
 Usability Testing
 Functional Testing
 Performance Testing
 Security Testing
 Smoke Testing
 Alpha Testing
 Acceptance Testing
 Beta Testing
 Regression Testing
 Monkey Testing
Unit Testing
 Test each module individually.
 Follows a white box testing (Logic of the program)
 Done by Developers
Integration Testing
 After completing the unit testing and dependent
modules development, programmers connect the
modules with respect to HLD for Integration Testing
through below approaches.
System Testing
 After completing Unit and Integration testing through
white box testing techniques development team release
an .exe build (all integrated module) to perform black box
testing
 Usability Testing
 Functional Testing
 Performance Testing
 Security Testing
Usability Testing
 During this test, testing team concentrates on the user friendliness
of build interface. It consists of following sub tests.
 User Interface Test: Ease of use (screens should be understandable
to operate by End User.
 Look & Feel :- attractive
 Speed in interface :- Less number of task to complete task
 Manual Support Test :- Context sensitiveness of user manual.
Functional Testing
 The process of checking the behaviour of the application.
 It is geared to functional requirements of an application.
 To check the correctness of outputs.
 Data validation and Integration i.e. inputs are correct or not.
Performance Testing
 LOAD TESTING – Also Known as Scalability Testing. During this test, test
engineers execute application build under customer expected
configuration and load to estimate performance.
 STRESS TESTING – During this test, Test engineers estimates the peak
load. To find out the maximum number of users for execution of out
application user customer expected configuration to estimate peak
load.
 PEAK LOAD > CUSTOMER LOAD (EXPECTED)
 DATA VOLUME TESTING — Testing team conducts this test to find the
maximum limit of data volume of your application.
Security Testing
 Testing how well the system protects against
unauthorized internal or external access, wilful damage,
etc, may require sophisticated testing techniques
Smoke testing
 Smoke testing is non-exhaustive software testing,
ascertaining that the most crucial functions of a program
work, but not bothering with finer details.
Alpha Testing
 The application is tested by the users who doesn’t know
about the application.
 Done at developer’s site under controlled conditions
 Under the supervision of the developers.
Acceptance Testing
 A formal test conducted to determine whether or not a
system satisfies its acceptance criteria and to enable the
customer to determine whether or not to accept the
system.
 It is the final test action before deploying the software. The
goal of acceptance testing is to verify that the software is
ready and can be used by the end user to perform the
functions for which the software was built.
Beta Testing
 This Testing is done before the final release of the software
to end-users.
 Before the final release of the software is released to users
for testing where there will be no controlled conditions and
the user here is free enough to do what ever he wants to
do on the system to find errors.
Regression Testing
 Testing with the intent of determining if bug fixes have been
successful and have not created any new problems. Also, this
type of testing is done to ensure that no degradation of
baseline functionality has occurred.
Monkey Testing
 Testing the application randomly like hitting keys irregularly
and try to breakdown the system there is no specific test
cases and scenarios for monkey testing.
Software Testing
Bug Life Cycle
Software Testing

More Related Content

What's hot (20)

PPTX
Bug life cycle
BugRaptors
 
PPT
Manual testing ppt
Santosh Maranabasari
 
PDF
Software testing
Omar Al-Bokari
 
PPT
Testing fundamentals
Raviteja Chowdary Adusumalli
 
PPTX
Automation Testing
Sun Technlogies
 
PDF
Types of Software Testing | Edureka
Edureka!
 
PDF
Software testing methods, levels and types
Confiz
 
PPTX
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Ankit Prajapati
 
PPT
Non Functional Testing
Nishant Worah
 
PPT
Manual testing concepts course 1
Raghu Kiran
 
PPT
Software Testing Fundamentals
Chankey Pathak
 
PPT
Performance and load testing
sonukalpana
 
PPTX
Introduction to performance testing
Tharinda Liyanage
 
PPTX
Intro to Manual Testing
Ayah Soufan
 
PPT
Basic Guide to Manual Testing
Hiral Gosani
 
PDF
Test Automation
rockoder
 
PPTX
SOFTWARE TESTING
Priyanka Karancy
 
PPTX
Sanity testing and smoke testing
MUHAMMAD FARHAN ASLAM
 
PPTX
How to report bugs
Mahmoud Asadi
 
PPTX
Software testing
Madhumita Chatterjee
 
Bug life cycle
BugRaptors
 
Manual testing ppt
Santosh Maranabasari
 
Software testing
Omar Al-Bokari
 
Testing fundamentals
Raviteja Chowdary Adusumalli
 
Automation Testing
Sun Technlogies
 
Types of Software Testing | Edureka
Edureka!
 
Software testing methods, levels and types
Confiz
 
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Ankit Prajapati
 
Non Functional Testing
Nishant Worah
 
Manual testing concepts course 1
Raghu Kiran
 
Software Testing Fundamentals
Chankey Pathak
 
Performance and load testing
sonukalpana
 
Introduction to performance testing
Tharinda Liyanage
 
Intro to Manual Testing
Ayah Soufan
 
Basic Guide to Manual Testing
Hiral Gosani
 
Test Automation
rockoder
 
SOFTWARE TESTING
Priyanka Karancy
 
Sanity testing and smoke testing
MUHAMMAD FARHAN ASLAM
 
How to report bugs
Mahmoud Asadi
 
Software testing
Madhumita Chatterjee
 

Viewers also liked (19)

ODT
Testing 190 Only Images
guru99
 
PPTX
Software testing
Sengu Msc
 
PPTX
Testing fundamentals in a changing world (annotated slides)
Derk-Jan de Grood
 
PDF
Mt s1 basic_fundamentals
TestingGeeks
 
PPT
Basics of Software Testing
Shakal Shukla
 
PPT
Testing fundamental stqa
Swati Patel
 
PPTX
Fundamentals of testing
BugRaptors
 
PDF
Fundamentals of Testing 2
Hoang Nguyen
 
PPTX
Basic software testing v2.20
Warayuth Wongpaiboonwattana
 
PPTX
Software testing life cycle
Garuda Trainings
 
PPT
Software Testing
Mousmi Pawar
 
PPTX
Testing fundamentals in a changing world
PractiTest
 
PPT
Presentation on non destructive testing
Md. Shahin Manjurul Alam
 
PPT
Software Testing Life Cycle
Udayakumar Sree
 
PPTX
Software Testing Basics
Belal Raslan
 
PDF
Software Testing Principles
Kanoah
 
PDF
An Introduction to Software Testing
Thorsten Frommen
 
PPT
Software testing basic concepts
Hưng Hoàng
 
PPTX
Software testing ppt
Heritage Institute Of Tech,India
 
Testing 190 Only Images
guru99
 
Software testing
Sengu Msc
 
Testing fundamentals in a changing world (annotated slides)
Derk-Jan de Grood
 
Mt s1 basic_fundamentals
TestingGeeks
 
Basics of Software Testing
Shakal Shukla
 
Testing fundamental stqa
Swati Patel
 
Fundamentals of testing
BugRaptors
 
Fundamentals of Testing 2
Hoang Nguyen
 
Basic software testing v2.20
Warayuth Wongpaiboonwattana
 
Software testing life cycle
Garuda Trainings
 
Software Testing
Mousmi Pawar
 
Testing fundamentals in a changing world
PractiTest
 
Presentation on non destructive testing
Md. Shahin Manjurul Alam
 
Software Testing Life Cycle
Udayakumar Sree
 
Software Testing Basics
Belal Raslan
 
Software Testing Principles
Kanoah
 
An Introduction to Software Testing
Thorsten Frommen
 
Software testing basic concepts
Hưng Hoàng
 
Software testing ppt
Heritage Institute Of Tech,India
 
Ad

Similar to Software Testing (20)

PPTX
Software Testing - A sneak preview By Srikanth
Srikanth Krishnamoorthy
 
PPTX
Software testing
Vinothkumar SM
 
PPTX
Software testing sengu
Sengu Msc
 
PPTX
Software Testing
Inocentshuja Ahmad
 
PPTX
software testing technique
Rana assad ali
 
PPTX
Software testing
Sengu Msc
 
PPTX
Software testing
Bhagyashree pathak
 
PDF
Real Time software Training in Nagercoil
jclick2
 
PPTX
Software testing
MrsRBoomadeviIT
 
PPT
Software testing
Farhanullah khan
 
PPTX
Software testing
Ravi Dasari
 
PPTX
Fundamentals of software part 1
Siddharth Sharma
 
PPTX
Software testing basic
Rohit Singh
 
DOCX
Software testing assignment
Muhammad Arshad
 
PPTX
https://www.slideshare.net/slideshow/system-testing-60970402/60970402Software...
IJRTETVedantaPublica
 
PPTX
Sftwre engg.testng
kanika20071990
 
PPT
Software Testing Presentation in Cegonsoft Pvt Ltd...
ChithraCegon
 
PPSX
Introduction to software testing
Venkat Alagarsamy
 
PPTX
Software Testing
CHANDAN CHATURVEDI
 
Software Testing - A sneak preview By Srikanth
Srikanth Krishnamoorthy
 
Software testing
Vinothkumar SM
 
Software testing sengu
Sengu Msc
 
Software Testing
Inocentshuja Ahmad
 
software testing technique
Rana assad ali
 
Software testing
Sengu Msc
 
Software testing
Bhagyashree pathak
 
Real Time software Training in Nagercoil
jclick2
 
Software testing
MrsRBoomadeviIT
 
Software testing
Farhanullah khan
 
Software testing
Ravi Dasari
 
Fundamentals of software part 1
Siddharth Sharma
 
Software testing basic
Rohit Singh
 
Software testing assignment
Muhammad Arshad
 
https://www.slideshare.net/slideshow/system-testing-60970402/60970402Software...
IJRTETVedantaPublica
 
Sftwre engg.testng
kanika20071990
 
Software Testing Presentation in Cegonsoft Pvt Ltd...
ChithraCegon
 
Introduction to software testing
Venkat Alagarsamy
 
Software Testing
CHANDAN CHATURVEDI
 
Ad

Recently uploaded (20)

PDF
vMix Pro 28.0.0.42 Download vMix Registration key Bundle
kulindacore
 
PPTX
The Role of a PHP Development Company in Modern Web Development
SEO Company for School in Delhi NCR
 
PDF
Thread In Android-Mastering Concurrency for Responsive Apps.pdf
Nabin Dhakal
 
PPTX
How Apagen Empowered an EPC Company with Engineering ERP Software
SatishKumar2651
 
PPTX
Comprehensive Guide: Shoviv Exchange to Office 365 Migration Tool 2025
Shoviv Software
 
PDF
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
PPTX
Human Resources Information System (HRIS)
Amity University, Patna
 
PPTX
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pptx
Varsha Nayak
 
PPTX
MailsDaddy Outlook OST to PST converter.pptx
abhishekdutt366
 
PDF
Understanding the Need for Systemic Change in Open Source Through Intersectio...
Imma Valls Bernaus
 
PDF
Streamline Contractor Lifecycle- TECH EHS Solution
TECH EHS Solution
 
PPTX
Engineering the Java Web Application (MVC)
abhishekoza1981
 
PDF
Executive Business Intelligence Dashboards
vandeslie24
 
PDF
Mobile CMMS Solutions Empowering the Frontline Workforce
CryotosCMMSSoftware
 
PDF
Powering GIS with FME and VertiGIS - Peak of Data & AI 2025
Safe Software
 
PDF
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
PPTX
An Introduction to ZAP by Checkmarx - Official Version
Simon Bennetts
 
PPTX
Migrating Millions of Users with Debezium, Apache Kafka, and an Acyclic Synch...
MD Sayem Ahmed
 
PDF
Revenue streams of the Wazirx clone script.pdf
aaronjeffray
 
PDF
Alexander Marshalov - How to use AI Assistants with your Monitoring system Q2...
VictoriaMetrics
 
vMix Pro 28.0.0.42 Download vMix Registration key Bundle
kulindacore
 
The Role of a PHP Development Company in Modern Web Development
SEO Company for School in Delhi NCR
 
Thread In Android-Mastering Concurrency for Responsive Apps.pdf
Nabin Dhakal
 
How Apagen Empowered an EPC Company with Engineering ERP Software
SatishKumar2651
 
Comprehensive Guide: Shoviv Exchange to Office 365 Migration Tool 2025
Shoviv Software
 
Odoo CRM vs Zoho CRM: Honest Comparison 2025
Odiware Technologies Private Limited
 
Human Resources Information System (HRIS)
Amity University, Patna
 
Why Businesses Are Switching to Open Source Alternatives to Crystal Reports.pptx
Varsha Nayak
 
MailsDaddy Outlook OST to PST converter.pptx
abhishekdutt366
 
Understanding the Need for Systemic Change in Open Source Through Intersectio...
Imma Valls Bernaus
 
Streamline Contractor Lifecycle- TECH EHS Solution
TECH EHS Solution
 
Engineering the Java Web Application (MVC)
abhishekoza1981
 
Executive Business Intelligence Dashboards
vandeslie24
 
Mobile CMMS Solutions Empowering the Frontline Workforce
CryotosCMMSSoftware
 
Powering GIS with FME and VertiGIS - Peak of Data & AI 2025
Safe Software
 
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
An Introduction to ZAP by Checkmarx - Official Version
Simon Bennetts
 
Migrating Millions of Users with Debezium, Apache Kafka, and an Acyclic Synch...
MD Sayem Ahmed
 
Revenue streams of the Wazirx clone script.pdf
aaronjeffray
 
Alexander Marshalov - How to use AI Assistants with your Monitoring system Q2...
VictoriaMetrics
 

Software Testing

  • 2. Software Testing Testing is the process of executing a program with the intention of finding errors Software testing is an analysis that gives us data to estimate the quality of a system
  • 4. Who does Testing? It depends on the process and the associated stakeholders of the project(s). In the IT industry, large companies have a team with responsibilities to evaluate the developed software in the context of the given requirements. Moreover, developers also conduct testing which is called Unit Testing. In most cases, following professionals are involved in testing of a system within their respective capacities: Software Tester Software Developer Project Lead/Manager End User
  • 6. Verification Validation Are you building it right? Are you building the right thing? Ensure that the software system meets all the functionality. Ensure that functionalities meet the intended behavior. Verification takes place first and includes the checking for documentation, code etc. Validation occurs after verification and mainly involves the checking of the overall product. Done by developers. Done by testers Have static activities as it includes the reviews, walkthroughs, and inspections to verify that software is correct or not. Have dynamic activities as it includes executing the software against the requirements. It is an objective process and no subjective decision should be needed to verify the Software. It is a subjective process and involves subjective decisions on how well the Software works.
  • 7. Diff between Testing & Debugging  Testing: It involves the identification of bug/error/defect in the software without correcting it. Normally professionals with a Quality Assurance background are involved in the identification of bugs. Testing is performed in the testing phase.  Debugging: It involves identifying, isolating and fixing the problems/bug. Developers who code the software conduct debugging upon encountering an error in the code. Debugging is the part of White box or Unit Testing. Debugging can be performed in the development phase while conducting Unit Testing or in phases while fixing the reported bugs.
  • 8. Testing Types Manual Testing  This type includes the testing of the Software manually i.e. without using any automated tool or any script. In this type the tester takes over the role of an end user and test the Software to identify any un-expected behavior or bug. There are different stages for manual testing like unit testing, Integration testing, System testing and User Acceptance testing.  Testers use test plan, test cases or test scenarios to test the Software to ensure the completeness of testing. Manual testing also includes exploratory testing as testers explore the software to identify errors in it.
  • 9. Testing Types Automation Testing  Automation testing which is also known as “Test Automation”, is when the tester writes scripts and uses another software to test the software. This process involves automation of a manual process. Automation Testing is used to re-run the test scenarios that were performed manually, quickly and repeatedly.  Apart from regression testing, Automation testing is also used to test the application from load, performance and stress point of view. It increases the test coverage; improve accuracy, saves time and money in comparison to manual testing.
  • 10. Who should test? Developer Understands the system But, will test gently Independent Tester Must learn system But, will attempt to break it
  • 11. What is an “Error”, ”Bug”, ”Fault” and “Failure”?  A person makes an Error That creates a fault in software That can cause a failure in operation Error : An error is a human action that produces the incorrect result that results in a fault. Bug : The presence of error at the time of execution of the software. Fault : State of software caused by an error. Failure : Deviation of the software from its expected result. It is an event.
  • 12. Who is a Software Tester? Software Tester is the one who performs testing and find bugs, if they exist in the tested application.
  • 13. Importance of Testing In SDLC  SDLC stands for Software Development Life Cycle. Every software has to go through a development process. Software development methodologies are used for the computer based information systems. The growth of the information has to pass through various phases/ stages, these stages are known as System Development Life Cycle (SDLC). Requirement Analysis Design Coding Testing Implementation Maintenance
  • 14. Test Planning Test Plan  A test plan is a systematic approach to testing a system i.e. software. The plan typically contains a detailed understanding of what the eventual testing workflow will be.
  • 15. Test Case  A test case is a specific procedure of testing a particular requirement. It will include:  Identification of specific requirement tested  Test case success/failure criteria  Specific steps to execute test  Test Data
  • 16. Levels of Testing  Unit Testing  Integration Testing  System Testing  Usability Testing  Functional Testing  Performance Testing  Security Testing  Smoke Testing  Alpha Testing  Acceptance Testing  Beta Testing  Regression Testing  Monkey Testing
  • 17. Unit Testing  Test each module individually.  Follows a white box testing (Logic of the program)  Done by Developers Integration Testing  After completing the unit testing and dependent modules development, programmers connect the modules with respect to HLD for Integration Testing through below approaches.
  • 18. System Testing  After completing Unit and Integration testing through white box testing techniques development team release an .exe build (all integrated module) to perform black box testing  Usability Testing  Functional Testing  Performance Testing  Security Testing
  • 19. Usability Testing  During this test, testing team concentrates on the user friendliness of build interface. It consists of following sub tests.  User Interface Test: Ease of use (screens should be understandable to operate by End User.  Look & Feel :- attractive  Speed in interface :- Less number of task to complete task  Manual Support Test :- Context sensitiveness of user manual. Functional Testing  The process of checking the behaviour of the application.  It is geared to functional requirements of an application.  To check the correctness of outputs.  Data validation and Integration i.e. inputs are correct or not.
  • 20. Performance Testing  LOAD TESTING – Also Known as Scalability Testing. During this test, test engineers execute application build under customer expected configuration and load to estimate performance.  STRESS TESTING – During this test, Test engineers estimates the peak load. To find out the maximum number of users for execution of out application user customer expected configuration to estimate peak load.  PEAK LOAD > CUSTOMER LOAD (EXPECTED)  DATA VOLUME TESTING — Testing team conducts this test to find the maximum limit of data volume of your application.
  • 21. Security Testing  Testing how well the system protects against unauthorized internal or external access, wilful damage, etc, may require sophisticated testing techniques Smoke testing  Smoke testing is non-exhaustive software testing, ascertaining that the most crucial functions of a program work, but not bothering with finer details. Alpha Testing  The application is tested by the users who doesn’t know about the application.  Done at developer’s site under controlled conditions  Under the supervision of the developers.
  • 22. Acceptance Testing  A formal test conducted to determine whether or not a system satisfies its acceptance criteria and to enable the customer to determine whether or not to accept the system.  It is the final test action before deploying the software. The goal of acceptance testing is to verify that the software is ready and can be used by the end user to perform the functions for which the software was built. Beta Testing  This Testing is done before the final release of the software to end-users.  Before the final release of the software is released to users for testing where there will be no controlled conditions and the user here is free enough to do what ever he wants to do on the system to find errors.
  • 23. Regression Testing  Testing with the intent of determining if bug fixes have been successful and have not created any new problems. Also, this type of testing is done to ensure that no degradation of baseline functionality has occurred. Monkey Testing  Testing the application randomly like hitting keys irregularly and try to breakdown the system there is no specific test cases and scenarios for monkey testing.