SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Department Of Software Engineering
SE-113
Introduction to Software Engineering)
Course Teacher: Md. Mamun Ali (MA)
Topic: Software Testing
Software Testing Help to reduce the risk of problem occurring.
Software testing is a process of identifying the correctness of software by considering its all attributes (Reliability,
Scalability, Portability, Re-usability, Usability) and evaluating the execution of software components to find the software bugs or errors
or defects.
Error, Fault and Failure
● A programmer makes an error (mistake).
● Error results in a defect (fault, bug).
● A failure occurs when a faulty piece of code is executed.
Validation & Verification
● Validation: Are we building the right software?
● Verification: Are we building the product right?
● The aim of verification is to check that the software must be
stated functional and non-functional requirements.
Software Testing
Verification Validation
This is process of deciding that the product on particular step of the software
development meets the expected need.
This is process of deciding that the valuation of the software at the end of the
process is as per the actual need.
Verification includes valuations in terms of plan, code, need and quality.
Checklist and inspection are part of it.
Validation includes actual test results and use of software when verification
process gets completed.
Verification decides that result of one phase of development confirms the ok
status of previous phase.
Validation decides that developed product meets required needs.
Testing vs Debugging
● Debugging: The process of finding, analyzing and removing the causes of failure.
● Testing is a quality assurance activities
Software Testing
Software Testing
Manual testing
The process of checking the functionality of an application as per the customer needs without
taking any help of automation tools is known as manual testing.
While performing the manual testing on any application, we do not need any specific knowledge of any testing tool, rather than
have a proper understanding of the product so we can easily prepare the test document.
Manual testing can be further divided into three types of testing, which are as follows:
○ White box testing
○ Black box testing
○ Gray box testing
Automation testing
Automation testing is a process of converting any manual test cases into the test scripts with the
help of automation tools, or any programming language is known as automation testing.
White-box testing
● The white box testing is done by Developer, where they check every line of a code before
giving it to the Test Engineer.
○ Since the code is visible for the Developer during the testing, that's why it is also known as White box
testing.
Black box testing
● The black box testing is done by the Test Engineer, where they can check the functionality of
an application or the software according to the customer /client's needs.
Gray Box testing
● Gray box testing is a combination of white box and Black box testing. It can be performed by a
person who knew both coding and testing.
○ And if the single person performs white box, as well as black-box testing for the
application, is known as Gray box testing.
Software Testing
White box testing Black box testing Grey box testing
Knowledge
Access to internal structure, code,
and implementation details
No access to internal structure,
code, or implementation details
Partial access to internal structure, code,
or implementation details
Testing focus
Internal workings of the system,
such as code coverage and
architecture
End user's perspective, such as
usability, functionality, and
compatibility
Combination of testing from an internal
and end user's perspective
Test design
Test cases designed based on
knowledge of the system's internal
structure and behavior
Test cases designed based on
functional requirements and use
cases
Test cases designed based on partial
knowledge of the system's internal
workings and end user's perspective
Applicability
Useful for detecting defects, bugs,
and vulnerabilities that are hidden
within the code
Useful for evaluating the
system's usability, functionality,
and compatibility with other
systems
Useful for testing complex systems that
require a deeper understanding of the
internal workings while also testing
from an end-user perspective
Advantages
Can provide thorough test coverage
and identify hidden defects
Can simulate real-world usage
and evaluate system usability
Can detect defects that are difficult to
find with black box testing alone
Disadvantages
May require specialized knowledge
and access to the system's internal
workings
May miss defects that are hidden
within the code
May not provide as much test coverage
as white box testing
Software Testing
Functional testing is a type of software testing that evaluates whether a software
system or application is functioning correctly and performing the functions it was
designed to perform.
● The main objective of functional testing is to ensure that the software system meets the
specified functional requirements and operates according to its intended purpose.
Some common types of functional testing include:
● Unit testing: testing individual units or components of the software system in isolation
● Integration testing: testing the integration and interaction between different components of
the software system
● System testing: testing the entire system to ensure it meets the specified functional
requirements
● Acceptance testing: testing the software system to ensure it meets the user's requirements
and expectations.
Software Testing
Non-functional testing is a type of software testing that evaluates how well a software system
performs non-functional requirements such as performance, reliability, scalability, usability,
security, and compatibility.
● Unlike functional testing, which focuses on the functional requirements of the system, non-functional testing evaluates how
well the system meets other requirements that may not be directly related to its primary functions.
Examples of non-functional testing include:
● Performance testing: testing the system's performance under different conditions to ensure it meets performance
requirements such as response time, throughput, and resource usage.
● Security testing: testing the system's security features to ensure it meets security requirements such as confidentiality,
integrity, and availability.
● Usability testing: testing the system's usability and user experience to ensure it meets usability requirements such as ease of
use and user satisfaction.
● Compatibility testing: testing the system's compatibility with different hardware, software, and operating systems to ensure it
meets compatibility requirements.
● Reliability testing: testing the system's reliability and ability to perform under different conditions to ensure it meets reliability
requirements such as availability and fault tolerance.
Non-functional testing can be performed at different stages of the software development life cycle, such as during integration
testing, system testing, and acceptance testing. The goal of non-functional testing is to ensure that the software system not only
meets its functional requirements but also meets other non-functional requirements that are important for its success.
Functional Testing Non-Functional Testing
Objective
Evaluates whether the system meets the functional
requirements and performs the intended functions
Evaluates whether the system meets non-functional requirements such
as performance, reliability, scalability, usability, security, and
compatibility
Focus
Focuses on the features, functions, and behavior of the
software system based on the functional requirements
and specifications
Focuses on the non-functional aspects of the software system such as
its performance, reliability, usability, security, and compatibility
Examples
Unit testing, integration testing, system testing,
acceptance testing
Performance testing, security testing, usability testing, compatibility
testing, reliability testing
Tools
Can be performed using manual or automated testing
tools
Usually requires specialized tools and frameworks for testing non-
functional aspects of the system
Applicability
Useful for ensuring that the software system works
correctly and performs the intended functions
Useful for ensuring that the software system meets non-functional
requirements that are critical for its success
Testing
stages
Can be performed at different stages of the software
development life cycle such as unit testing, integration
testing, system testing, and acceptance testing
Usually performed during the later stages of the software
development life cycle such as integration testing, system testing, and
acceptance testing
Examples of
Metrics
Functional coverage, requirement coverage
Response time, throughput, resource usage, error rates, security
vulnerabilities, user satisfaction, compatibility, availability, and fault
tolerance.
Software Testing - Boundary Value Testing
Boundary value analysis is one of the widely used case design technique for black box testing.
It is used to test boundary values because the input values near the boundary have higher chances
of error.
Whenever we do the testing by boundary value analysis, the tester focuses on, while entering
boundary value whether the software is producing correct output or not.
The black box testing - techniques are helpful for detecting any errors or threats that happened at
the boundary values of valid or invalid partitions rather than focusing on the center of the input data.
Software Testing - Boundary Value Testing
Software Testing - Boundary Value Testing
Software Testing - Decision Table
Decision table technique is one of the widely used case design techniques for black box
testing.
● This is a systematic approach where various input combinations and their respective system
behavior are captured in a tabular form.That's why it is also known as a cause-effect table.
● Decision table technique is appropriate for the functions that have a logical relationship
between two and more than two inputs.
○ Document the complicated logic
○ Help to test all combinations of conditions
○ Contains condition and action
Software Testing - Decision Table
Software Testing - Decision Table
Software Testing - Decision Table
Software Testing - Cyclomatic Complexity
Cyclomatic Complexity in Software Testing is a testing metric used for measuring the complexity of a
software program.
● It is a quantitative measure of independent paths in the source code of a software program.
● Cyclomatic complexity can be calculated by using control flow graphs or with respect to functions,
modules, methods or classes within a software program.
Software Testing - Cyclomatic Complexity
● V(G) = E - N + 2
= 9 – 7 + 2 = 4
● V(G) = P + 1
= 3 + 1 = 4 (Condition nodes are 1,2 and 3 nodes)
Software Testing - Cyclomatic Complexity - Few Example

Weitere ähnliche Inhalte

Ähnlich wie Software Testing (1).pptx

Objectorientedtesting 160320132146
Objectorientedtesting 160320132146Objectorientedtesting 160320132146
Objectorientedtesting 160320132146
vidhyyav
 
How to Make the Most of Regression and Unit Testing.pdf
How to Make the Most of Regression and Unit Testing.pdfHow to Make the Most of Regression and Unit Testing.pdf
How to Make the Most of Regression and Unit Testing.pdf
Abhay Kumar
 

Ähnlich wie Software Testing (1).pptx (20)

Role of BA in Testing
Role of BA in TestingRole of BA in Testing
Role of BA in Testing
 
Software testing strategies
Software testing strategiesSoftware testing strategies
Software testing strategies
 
Objectorientedtesting 160320132146
Objectorientedtesting 160320132146Objectorientedtesting 160320132146
Objectorientedtesting 160320132146
 
Software testing basic
Software testing basicSoftware testing basic
Software testing basic
 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
 
Object oriented testing
Object oriented testingObject oriented testing
Object oriented testing
 
black and white Box testing.pptx
black and white Box testing.pptxblack and white Box testing.pptx
black and white Box testing.pptx
 
SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTING
 
Interview questions for manual testing technology.
Interview questions for manual testing technology.Interview questions for manual testing technology.
Interview questions for manual testing technology.
 
Software Testing Training in Chandigarh
Software Testing Training in ChandigarhSoftware Testing Training in Chandigarh
Software Testing Training in Chandigarh
 
UNIT 2.pptx
UNIT 2.pptxUNIT 2.pptx
UNIT 2.pptx
 
Software testing
Software testingSoftware testing
Software testing
 
Software testing
Software testingSoftware testing
Software testing
 
Software Testing.pptx
Software Testing.pptxSoftware Testing.pptx
Software Testing.pptx
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Software testing
Software testingSoftware testing
Software testing
 
Testing Slides 1 (Testing Intro+Static Testing).pdf
Testing Slides 1 (Testing Intro+Static Testing).pdfTesting Slides 1 (Testing Intro+Static Testing).pdf
Testing Slides 1 (Testing Intro+Static Testing).pdf
 
Software testing
Software testingSoftware testing
Software testing
 
How to Make the Most of Regression and Unit Testing.pdf
How to Make the Most of Regression and Unit Testing.pdfHow to Make the Most of Regression and Unit Testing.pdf
How to Make the Most of Regression and Unit Testing.pdf
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual Testing
 

Mehr von SarowarSuman

Mehr von SarowarSuman (6)

L3_Tokens, Expression Evaluation.pptx
L3_Tokens, Expression Evaluation.pptxL3_Tokens, Expression Evaluation.pptx
L3_Tokens, Expression Evaluation.pptx
 
Structure.pptx
Structure.pptxStructure.pptx
Structure.pptx
 
Relational Algebra (1).pptx
Relational Algebra (1).pptxRelational Algebra (1).pptx
Relational Algebra (1).pptx
 
Software requirement & specification .pptx
Software requirement & specification .pptxSoftware requirement & specification .pptx
Software requirement & specification .pptx
 
Projectile_Motion_ppt.ppt
Projectile_Motion_ppt.pptProjectile_Motion_ppt.ppt
Projectile_Motion_ppt.ppt
 
Enhancing-Entrance-Security-at-Daffodil-International-University-through-Tech...
Enhancing-Entrance-Security-at-Daffodil-International-University-through-Tech...Enhancing-Entrance-Security-at-Daffodil-International-University-through-Tech...
Enhancing-Entrance-Security-at-Daffodil-International-University-through-Tech...
 

Kürzlich hochgeladen

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 

Kürzlich hochgeladen (20)

MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 

Software Testing (1).pptx

  • 1. Department Of Software Engineering SE-113 Introduction to Software Engineering) Course Teacher: Md. Mamun Ali (MA) Topic: Software Testing
  • 2. Software Testing Help to reduce the risk of problem occurring. Software testing is a process of identifying the correctness of software by considering its all attributes (Reliability, Scalability, Portability, Re-usability, Usability) and evaluating the execution of software components to find the software bugs or errors or defects. Error, Fault and Failure ● A programmer makes an error (mistake). ● Error results in a defect (fault, bug). ● A failure occurs when a faulty piece of code is executed. Validation & Verification ● Validation: Are we building the right software? ● Verification: Are we building the product right? ● The aim of verification is to check that the software must be stated functional and non-functional requirements. Software Testing Verification Validation This is process of deciding that the product on particular step of the software development meets the expected need. This is process of deciding that the valuation of the software at the end of the process is as per the actual need. Verification includes valuations in terms of plan, code, need and quality. Checklist and inspection are part of it. Validation includes actual test results and use of software when verification process gets completed. Verification decides that result of one phase of development confirms the ok status of previous phase. Validation decides that developed product meets required needs.
  • 3. Testing vs Debugging ● Debugging: The process of finding, analyzing and removing the causes of failure. ● Testing is a quality assurance activities Software Testing
  • 4. Software Testing Manual testing The process of checking the functionality of an application as per the customer needs without taking any help of automation tools is known as manual testing. While performing the manual testing on any application, we do not need any specific knowledge of any testing tool, rather than have a proper understanding of the product so we can easily prepare the test document. Manual testing can be further divided into three types of testing, which are as follows: ○ White box testing ○ Black box testing ○ Gray box testing Automation testing Automation testing is a process of converting any manual test cases into the test scripts with the help of automation tools, or any programming language is known as automation testing.
  • 5. White-box testing ● The white box testing is done by Developer, where they check every line of a code before giving it to the Test Engineer. ○ Since the code is visible for the Developer during the testing, that's why it is also known as White box testing. Black box testing ● The black box testing is done by the Test Engineer, where they can check the functionality of an application or the software according to the customer /client's needs. Gray Box testing ● Gray box testing is a combination of white box and Black box testing. It can be performed by a person who knew both coding and testing. ○ And if the single person performs white box, as well as black-box testing for the application, is known as Gray box testing. Software Testing
  • 6. White box testing Black box testing Grey box testing Knowledge Access to internal structure, code, and implementation details No access to internal structure, code, or implementation details Partial access to internal structure, code, or implementation details Testing focus Internal workings of the system, such as code coverage and architecture End user's perspective, such as usability, functionality, and compatibility Combination of testing from an internal and end user's perspective Test design Test cases designed based on knowledge of the system's internal structure and behavior Test cases designed based on functional requirements and use cases Test cases designed based on partial knowledge of the system's internal workings and end user's perspective Applicability Useful for detecting defects, bugs, and vulnerabilities that are hidden within the code Useful for evaluating the system's usability, functionality, and compatibility with other systems Useful for testing complex systems that require a deeper understanding of the internal workings while also testing from an end-user perspective Advantages Can provide thorough test coverage and identify hidden defects Can simulate real-world usage and evaluate system usability Can detect defects that are difficult to find with black box testing alone Disadvantages May require specialized knowledge and access to the system's internal workings May miss defects that are hidden within the code May not provide as much test coverage as white box testing
  • 7. Software Testing Functional testing is a type of software testing that evaluates whether a software system or application is functioning correctly and performing the functions it was designed to perform. ● The main objective of functional testing is to ensure that the software system meets the specified functional requirements and operates according to its intended purpose. Some common types of functional testing include: ● Unit testing: testing individual units or components of the software system in isolation ● Integration testing: testing the integration and interaction between different components of the software system ● System testing: testing the entire system to ensure it meets the specified functional requirements ● Acceptance testing: testing the software system to ensure it meets the user's requirements and expectations.
  • 8. Software Testing Non-functional testing is a type of software testing that evaluates how well a software system performs non-functional requirements such as performance, reliability, scalability, usability, security, and compatibility. ● Unlike functional testing, which focuses on the functional requirements of the system, non-functional testing evaluates how well the system meets other requirements that may not be directly related to its primary functions. Examples of non-functional testing include: ● Performance testing: testing the system's performance under different conditions to ensure it meets performance requirements such as response time, throughput, and resource usage. ● Security testing: testing the system's security features to ensure it meets security requirements such as confidentiality, integrity, and availability. ● Usability testing: testing the system's usability and user experience to ensure it meets usability requirements such as ease of use and user satisfaction. ● Compatibility testing: testing the system's compatibility with different hardware, software, and operating systems to ensure it meets compatibility requirements. ● Reliability testing: testing the system's reliability and ability to perform under different conditions to ensure it meets reliability requirements such as availability and fault tolerance. Non-functional testing can be performed at different stages of the software development life cycle, such as during integration testing, system testing, and acceptance testing. The goal of non-functional testing is to ensure that the software system not only meets its functional requirements but also meets other non-functional requirements that are important for its success.
  • 9. Functional Testing Non-Functional Testing Objective Evaluates whether the system meets the functional requirements and performs the intended functions Evaluates whether the system meets non-functional requirements such as performance, reliability, scalability, usability, security, and compatibility Focus Focuses on the features, functions, and behavior of the software system based on the functional requirements and specifications Focuses on the non-functional aspects of the software system such as its performance, reliability, usability, security, and compatibility Examples Unit testing, integration testing, system testing, acceptance testing Performance testing, security testing, usability testing, compatibility testing, reliability testing Tools Can be performed using manual or automated testing tools Usually requires specialized tools and frameworks for testing non- functional aspects of the system Applicability Useful for ensuring that the software system works correctly and performs the intended functions Useful for ensuring that the software system meets non-functional requirements that are critical for its success Testing stages Can be performed at different stages of the software development life cycle such as unit testing, integration testing, system testing, and acceptance testing Usually performed during the later stages of the software development life cycle such as integration testing, system testing, and acceptance testing Examples of Metrics Functional coverage, requirement coverage Response time, throughput, resource usage, error rates, security vulnerabilities, user satisfaction, compatibility, availability, and fault tolerance.
  • 10. Software Testing - Boundary Value Testing Boundary value analysis is one of the widely used case design technique for black box testing. It is used to test boundary values because the input values near the boundary have higher chances of error. Whenever we do the testing by boundary value analysis, the tester focuses on, while entering boundary value whether the software is producing correct output or not. The black box testing - techniques are helpful for detecting any errors or threats that happened at the boundary values of valid or invalid partitions rather than focusing on the center of the input data.
  • 11. Software Testing - Boundary Value Testing
  • 12. Software Testing - Boundary Value Testing
  • 13. Software Testing - Decision Table Decision table technique is one of the widely used case design techniques for black box testing. ● This is a systematic approach where various input combinations and their respective system behavior are captured in a tabular form.That's why it is also known as a cause-effect table. ● Decision table technique is appropriate for the functions that have a logical relationship between two and more than two inputs. ○ Document the complicated logic ○ Help to test all combinations of conditions ○ Contains condition and action
  • 14. Software Testing - Decision Table
  • 15. Software Testing - Decision Table
  • 16. Software Testing - Decision Table
  • 17. Software Testing - Cyclomatic Complexity Cyclomatic Complexity in Software Testing is a testing metric used for measuring the complexity of a software program. ● It is a quantitative measure of independent paths in the source code of a software program. ● Cyclomatic complexity can be calculated by using control flow graphs or with respect to functions, modules, methods or classes within a software program.
  • 18. Software Testing - Cyclomatic Complexity ● V(G) = E - N + 2 = 9 – 7 + 2 = 4 ● V(G) = P + 1 = 3 + 1 = 4 (Condition nodes are 1,2 and 3 nodes)
  • 19. Software Testing - Cyclomatic Complexity - Few Example