SlideShare a Scribd company logo
SOFTWARE TESTING
Instructor: Mehwish
OUTLINE
• Generic Types of Testing
• Functional Testing
• Nonfunctional
• Testing of Software Structure
• Testing Related to Changes
• Regression Testing
• Dynamic testing helps in identifying
– Functional defects related to the requirements of the
software and
– Non-functional defects like performance and usability.
• These techniques evaluate the software against the
requirements of the user.
• Example
• The bicycle being able to stop within one second of
applying the brakes is a functional requirement. These
requirements can be tested only by using the bicycle.
• Dynamic techniques are used to examine code
through its execution.
• Dynamic techniques can be conducted manually or
through an automated tool.
• Dynamic testing helps in identifying functional and
non-functional defects.
• Example
– Riding the bicycle on dull surfaces, rocky grounds, slippery
surfaces, and at high speeds to test the level of control and
comfort it offers is a dynamic testing technique
Functional Testing
Functional Testing
• Functional testing can be defined as
– ‘Testing of all features and functionalities of software to
ensure all the requirements and specifications provided in
Business Requirement Documents or BRD are met.’
• Functional testing is considered as Black Box testing
as the software is tested based on functional
requirements.
• Here, the internal structure of the software is not
considered.
• Functional testers normally do not need to
understand the coding of software.
• Functional testing mainly involves
– identifying the functionalities to be tested
– preparing the test data
– documenting the expected result
– executing the planned test case
– comparing the actual result with the expected result
– reporting the deviation, if any.
• Functional testing can be done at any level of unit,
integration, and system testing.
• Functional test cases can also be automated to
execute them constantly with different data sets.
– The test cases ensure proper coverage of all the
scenarios during testing.
– The primary focus is on the exact real-world usage
of the application and testing is done in a similar
environment that simulates the production
environment.
Types Functional Testing
Types Functional Testing
• There are different types of Functional testing such
as:
– Unit Testing
– Smoke or Sanity Testing
– Integration Testing
– Interface and Usability Testing
– Security Testing
– System Testing
– Regression Testing
– Pre-user Acceptance Testing
– User Acceptance Testing
– White Box
– Black Box Testing
– Globalization and Localization Testing
• In unit testing
– the developer will test their developed code against the
functional requirements.
• Smoke or Sanity testing
– the first type of testing done once the code is deployed in
the test environment.
• Integration Testing
– includes testing the requirements along with a few
technical aspects.
Non Functional Testing
Non Functional Testing
• Non-functional requirements are often referred to as
qualities of a system.
• They include
– all the behavioral requirements not defined in functional
requirements such as performance, and stability of the
application.
• These requirements are not directly related to the
business functionally, however, are essential to
maintaining the system.
• Non-functional testing can be performed at all levels.
• For example
– the functional requirement of delete employee’s record
deletes it and should no longer be viewable from the
interface.
– A non-functional requirement of the delete functionality
might include a soft delete as the data, though the
employee is no longer associated with the company.
Types of Non-Functional Testing
Types of Non-Functional Testing
• There are different types of non-functional testing
like
– Baseline Testing
– Compatibility Testing
– Compliance Testing
– Documentation Testing
– Endurance Testing
– Load Testing
– Localization and Internationalization Testing etc
• Following are the common types of non-
functional testing:
– Performance Testing
– Recovery Testing
– Usability Testing
– Scalability Testing
– Stress Testing
• Performance Testing
– Performance Testing measures the performance of the
system regarding response time, ability to handle the
number of users and so on.
• Load Testing
– Load Testing tests the amount of load a system is able to
handle without hampering the response time.
• Stress Testing
– Stress Testing involves testing the system behavior beyond
normal operational conditions.
• Usability Testing
– Usability Testing tests the user-friendliness of the system.
• Security Testing
– Security Testing tests how secure the system is to ensure
the system cannot be hacked, or user information is not
leaked.
• Non-Functional testing depends on the needs of the
specific organization and the customer.
– The names of many non-functional tests are often used
interchangeably due to the overlap in scope between
various non-functional requirements.
• For example
– software performance is a broad term that includes many
specific requirements like reliability and scalability.
Test Types – Example
• In an online banking software, the functional testing
includes
– testing whether the funds are transferred accurately, if
interest calculations are correct, and if bill payments are
made on time.
• Non-functional testing focus on
– the security of the system, to ensure all access is safe.
– It will ensure that the system can handle the load
especially during peak time like the start of the month
when there are salary disbursements and payments.
Testing of Software Structure
Testing of Software Structure
• Structural testing is also referred to as White Box
testing, where the testers are required to know the
internal implementations of the code.
• During structural testing, the focus is to test how the
code in the software is functioning.
• For example
– a structural technique would check how the loops in the
software are working.
• Structural testing is a phased process
– which requires work on test data
– followed by simulation of the test environment
– execution of the prepared cases
– verification of code coverage
– the final evaluation of test results
– leading to the structural test report.
• Structural testing is also used in a system and
acceptance testing, however, the structures are
different.
• For example
– the coverage of menu options or major business
transactions could be the structural element in the system
or acceptance testing.
Testing Related to Changes
Regression Testing
Testing Related to Changes
• Re-testing is repeatedly testing the same
functionality with different sets of input data.
– Whenever a tester finds a defect and a developer fixes it,
the tester needs to retest the functionality.
• Retesting process can also be termed as
‘Confirmation’ which means that the defect has been
resolved.
Regression Testing
• Regression Testing is re-executing the same test case
whenever the code is modified, or some new
functionality is added to it, to ensure no further
defects have been introduced.
• The extent of regression testing is determined based
on the risks of the system.
• Test cases selected for regression testing should be
repeatable.
• In most cases, regression testing is conducted using
automated tests, which will enable testers to
increase test coverage during regression testing.
• Both re-testing and regression testing can be
performed at all levels and can include both
functional and non-functional testing objectives.
• In most of the cases, Regression testing needs more
effort than retesting and retesting is almost followed
by regression testing.
• There are 1000 test cases to be executed in the first
build, and after executing 100 test cases, 90 passes
and 10 fail.
– After the bugs are fixed and when the second build is
released for testing, the tester first conducts re-testing.
– They test the 10 test cases that had failed earlier.
– Once the tests have passed, the tester conducts regression
testing which executes all the previously passed 90 test
cases or few selected ones from the 90 based on
calculated risk.
– This is done to ensure that while fixing the 10 failed tests,
any changes made to the system did not impact the
already running functionality.
THE END
Thanks

More Related Content

Similar to Lect-6-Generic testing types.pptx

Software Engineering Lec 10 -software testing--
Software Engineering Lec 10 -software testing--Software Engineering Lec 10 -software testing--
Software Engineering Lec 10 -software testing--
Taymoor Nazmy
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycle
Muhammad Khairil
 
Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in Testing
Shwetha-BA
 
Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in Testing
Veneet-BA
 
Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in Testing
SwatiS-BA
 
Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in Testing
Lakshmi-BA
 
Solution Evaluation (BA Role)
Solution Evaluation (BA Role)   Solution Evaluation (BA Role)
Solution Evaluation (BA Role)
Shwetha-BA
 
Sw testing
Sw testingSw testing
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
Saqib Raza
 
Performance Testing And Its Type | Benefits Of Performance Testing
Performance Testing And Its Type | Benefits Of Performance TestingPerformance Testing And Its Type | Benefits Of Performance Testing
Performance Testing And Its Type | Benefits Of Performance Testing
KostCare
 
Object Oriented Testing(OOT) presentation slides
Object Oriented Testing(OOT) presentation slidesObject Oriented Testing(OOT) presentation slides
Object Oriented Testing(OOT) presentation slides
Punjab University
 
SoftwareTesting
SoftwareTestingSoftwareTesting
SoftwareTesting
Dharaa_gateway
 
Software Testing Presentation in Cegonsoft Pvt Ltd...
Software Testing Presentation in Cegonsoft Pvt Ltd...Software Testing Presentation in Cegonsoft Pvt Ltd...
Software Testing Presentation in Cegonsoft Pvt Ltd...
ChithraCegon
 
SDLCTesting
SDLCTestingSDLCTesting
SDLCTesting
Gavin Thys
 
Software Testing Ni Boni
Software Testing Ni BoniSoftware Testing Ni Boni
Software Testing Ni Boni
Jay Ar
 
Non Functional Testing_Sampath kumar Mohan
Non Functional Testing_Sampath kumar MohanNon Functional Testing_Sampath kumar Mohan
Non Functional Testing_Sampath kumar Mohan
Sampath kumar Mohan
 
Software testing
Software testingSoftware testing
Software testing
Shah Ishtiyaq Mehfooze
 
Manual testing interview questions and answers
Manual testing interview questions and answersManual testing interview questions and answers
Manual testing interview questions and answers
Rajnish Sharma
 
Regression testing
Regression testingRegression testing
Regression testing
gokilabrindha
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tactics
Preeti Mishra
 

Similar to Lect-6-Generic testing types.pptx (20)

Software Engineering Lec 10 -software testing--
Software Engineering Lec 10 -software testing--Software Engineering Lec 10 -software testing--
Software Engineering Lec 10 -software testing--
 
Testing throughout the software life cycle
Testing throughout the software life cycleTesting throughout the software life cycle
Testing throughout the software life cycle
 
Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in Testing
 
Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in Testing
 
Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in Testing
 
Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in Testing
 
Solution Evaluation (BA Role)
Solution Evaluation (BA Role)   Solution Evaluation (BA Role)
Solution Evaluation (BA Role)
 
Sw testing
Sw testingSw testing
Sw testing
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
Performance Testing And Its Type | Benefits Of Performance Testing
Performance Testing And Its Type | Benefits Of Performance TestingPerformance Testing And Its Type | Benefits Of Performance Testing
Performance Testing And Its Type | Benefits Of Performance Testing
 
Object Oriented Testing(OOT) presentation slides
Object Oriented Testing(OOT) presentation slidesObject Oriented Testing(OOT) presentation slides
Object Oriented Testing(OOT) presentation slides
 
SoftwareTesting
SoftwareTestingSoftwareTesting
SoftwareTesting
 
Software Testing Presentation in Cegonsoft Pvt Ltd...
Software Testing Presentation in Cegonsoft Pvt Ltd...Software Testing Presentation in Cegonsoft Pvt Ltd...
Software Testing Presentation in Cegonsoft Pvt Ltd...
 
SDLCTesting
SDLCTestingSDLCTesting
SDLCTesting
 
Software Testing Ni Boni
Software Testing Ni BoniSoftware Testing Ni Boni
Software Testing Ni Boni
 
Non Functional Testing_Sampath kumar Mohan
Non Functional Testing_Sampath kumar MohanNon Functional Testing_Sampath kumar Mohan
Non Functional Testing_Sampath kumar Mohan
 
Software testing
Software testingSoftware testing
Software testing
 
Manual testing interview questions and answers
Manual testing interview questions and answersManual testing interview questions and answers
Manual testing interview questions and answers
 
Regression testing
Regression testingRegression testing
Regression testing
 
testing strategies and tactics
 testing strategies and tactics testing strategies and tactics
testing strategies and tactics
 

Recently uploaded

Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Envertis Software Solutions
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Undress Baby
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
lorraineandreiamcidl
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 

Recently uploaded (20)

Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise EditionWhy Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
Why Choose Odoo 17 Community & How it differs from Odoo 17 Enterprise Edition
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 

Lect-6-Generic testing types.pptx

  • 2. OUTLINE • Generic Types of Testing • Functional Testing • Nonfunctional • Testing of Software Structure • Testing Related to Changes • Regression Testing
  • 3.
  • 4. • Dynamic testing helps in identifying – Functional defects related to the requirements of the software and – Non-functional defects like performance and usability. • These techniques evaluate the software against the requirements of the user. • Example • The bicycle being able to stop within one second of applying the brakes is a functional requirement. These requirements can be tested only by using the bicycle.
  • 5. • Dynamic techniques are used to examine code through its execution. • Dynamic techniques can be conducted manually or through an automated tool. • Dynamic testing helps in identifying functional and non-functional defects. • Example – Riding the bicycle on dull surfaces, rocky grounds, slippery surfaces, and at high speeds to test the level of control and comfort it offers is a dynamic testing technique
  • 7. Functional Testing • Functional testing can be defined as – ‘Testing of all features and functionalities of software to ensure all the requirements and specifications provided in Business Requirement Documents or BRD are met.’ • Functional testing is considered as Black Box testing as the software is tested based on functional requirements. • Here, the internal structure of the software is not considered.
  • 8. • Functional testers normally do not need to understand the coding of software. • Functional testing mainly involves – identifying the functionalities to be tested – preparing the test data – documenting the expected result – executing the planned test case – comparing the actual result with the expected result – reporting the deviation, if any.
  • 9. • Functional testing can be done at any level of unit, integration, and system testing. • Functional test cases can also be automated to execute them constantly with different data sets.
  • 10. – The test cases ensure proper coverage of all the scenarios during testing. – The primary focus is on the exact real-world usage of the application and testing is done in a similar environment that simulates the production environment.
  • 12. Types Functional Testing • There are different types of Functional testing such as: – Unit Testing – Smoke or Sanity Testing – Integration Testing – Interface and Usability Testing – Security Testing – System Testing
  • 13. – Regression Testing – Pre-user Acceptance Testing – User Acceptance Testing – White Box – Black Box Testing – Globalization and Localization Testing
  • 14. • In unit testing – the developer will test their developed code against the functional requirements. • Smoke or Sanity testing – the first type of testing done once the code is deployed in the test environment. • Integration Testing – includes testing the requirements along with a few technical aspects.
  • 16. Non Functional Testing • Non-functional requirements are often referred to as qualities of a system. • They include – all the behavioral requirements not defined in functional requirements such as performance, and stability of the application. • These requirements are not directly related to the business functionally, however, are essential to maintaining the system. • Non-functional testing can be performed at all levels.
  • 17. • For example – the functional requirement of delete employee’s record deletes it and should no longer be viewable from the interface. – A non-functional requirement of the delete functionality might include a soft delete as the data, though the employee is no longer associated with the company.
  • 19. Types of Non-Functional Testing • There are different types of non-functional testing like – Baseline Testing – Compatibility Testing – Compliance Testing – Documentation Testing – Endurance Testing – Load Testing – Localization and Internationalization Testing etc
  • 20. • Following are the common types of non- functional testing: – Performance Testing – Recovery Testing – Usability Testing – Scalability Testing – Stress Testing
  • 21. • Performance Testing – Performance Testing measures the performance of the system regarding response time, ability to handle the number of users and so on. • Load Testing – Load Testing tests the amount of load a system is able to handle without hampering the response time. • Stress Testing – Stress Testing involves testing the system behavior beyond normal operational conditions.
  • 22. • Usability Testing – Usability Testing tests the user-friendliness of the system. • Security Testing – Security Testing tests how secure the system is to ensure the system cannot be hacked, or user information is not leaked.
  • 23. • Non-Functional testing depends on the needs of the specific organization and the customer. – The names of many non-functional tests are often used interchangeably due to the overlap in scope between various non-functional requirements. • For example – software performance is a broad term that includes many specific requirements like reliability and scalability.
  • 24. Test Types – Example • In an online banking software, the functional testing includes – testing whether the funds are transferred accurately, if interest calculations are correct, and if bill payments are made on time. • Non-functional testing focus on – the security of the system, to ensure all access is safe. – It will ensure that the system can handle the load especially during peak time like the start of the month when there are salary disbursements and payments.
  • 25. Testing of Software Structure
  • 26. Testing of Software Structure • Structural testing is also referred to as White Box testing, where the testers are required to know the internal implementations of the code. • During structural testing, the focus is to test how the code in the software is functioning. • For example – a structural technique would check how the loops in the software are working.
  • 27. • Structural testing is a phased process – which requires work on test data – followed by simulation of the test environment – execution of the prepared cases – verification of code coverage – the final evaluation of test results – leading to the structural test report.
  • 28. • Structural testing is also used in a system and acceptance testing, however, the structures are different. • For example – the coverage of menu options or major business transactions could be the structural element in the system or acceptance testing.
  • 29. Testing Related to Changes Regression Testing
  • 30. Testing Related to Changes • Re-testing is repeatedly testing the same functionality with different sets of input data. – Whenever a tester finds a defect and a developer fixes it, the tester needs to retest the functionality. • Retesting process can also be termed as ‘Confirmation’ which means that the defect has been resolved.
  • 31. Regression Testing • Regression Testing is re-executing the same test case whenever the code is modified, or some new functionality is added to it, to ensure no further defects have been introduced. • The extent of regression testing is determined based on the risks of the system. • Test cases selected for regression testing should be repeatable.
  • 32. • In most cases, regression testing is conducted using automated tests, which will enable testers to increase test coverage during regression testing. • Both re-testing and regression testing can be performed at all levels and can include both functional and non-functional testing objectives. • In most of the cases, Regression testing needs more effort than retesting and retesting is almost followed by regression testing.
  • 33. • There are 1000 test cases to be executed in the first build, and after executing 100 test cases, 90 passes and 10 fail. – After the bugs are fixed and when the second build is released for testing, the tester first conducts re-testing. – They test the 10 test cases that had failed earlier. – Once the tests have passed, the tester conducts regression testing which executes all the previously passed 90 test cases or few selected ones from the 90 based on calculated risk.
  • 34. – This is done to ensure that while fixing the 10 failed tests, any changes made to the system did not impact the already running functionality.