SlideShare a Scribd company logo
Software Testing & Its Techniques
        By : Shah Rukh Rayaz
Software Testing
• Software testing is an investigation conducted to provide
  stakeholders with information about the quality of the
  product or service under test. Software testing can also
  provide an objective, independent view of the software to
  allow the business to appreciate and understand the risks of
  software implementation.
• Software testing can be stated as the process of validating
  and verifying that a software program/application/product.
• Meets the requirements that guided its design and
  development.
Programmer Vs Tester
• Software testing, depending on the testing method employed, can
   be implemented at any time in the development process. However,
   most of the test effort occurs after the requirements have been
   defined and the coding process has been completed. As such, the
   methodology of the test is governed by the software development
   methodology adopted.
• A good test has a high probability of finding an error.
• A good test should be neither too simple nor too complex.
• A good test is not redundant
• A study conducted by NIST in 2002 reports that software bugs cost
  the U.S. economy $59.5 billion annually. More than a third of this
  cost could be avoided if better software testing was performed.

• The software testing team

• software testing is a part of the software quality assurance (SQA)
  process.
Functional vs non-functional testing
•   Functional testing refers to activities that verify a specific action or function of
    the code. These are usually found in the code requirements documentation,
    although some development methodologies work from use cases or user
    stories. Functional tests tend to answer the question of "can the user do this"
    or "does this particular feature work."
•   Non-functional testing refers to aspects of the software that may not be
    related to a specific function or user action, such as scalability or other
    performance, behavior under certain constraints, or security. Non-functional
    requirements tend to be those that reflect the quality of the product,
    particularly in the context of the suitability perspective of its users.
Static vs. dynamic testing
• There are many approaches to software testing. Reviews,
  walkthroughs, or inspections are considered as static testing,
  whereas actually executing programmed code with a given
  set of test cases is referred to as dynamic testing
Software verification and validation

• Verification:

        Are we building the Product Right. or
        Have we built the software right? (i.e., does it match the
    specification).
• Validation:

        Are we building the Right Product. Or
        Have we built the right software? (i.e., is this what the
    customer wants).
Unit testing

  Unit testing, also known as component testing, refers to tests
  that verify the functionality of a specific section of code.

Integration testing.

  Integration testing is any type of software testing that seeks
  to verify the interfaces between components against a
  software design.

1) Top-down integration.

   i.    Depth-first integration

   ii.   Breadth –first integration.

2) Bottom-up integration.
Top-down integration.

• Is an incremental approach to construction of the software
  architecture.
• Modules are integrated by moving downwards by.

  i.    Depth-first integration

  ii.   Breadth –first integration.
– Depth-first integration would integrate all components on a
  major control path of the structure
– Breadth-first integration incorporates all components directly
  subordinate at each level, moving across the structure
  horizontally .
Bottom-up integration testing




0. Low level components are combined in clusters that perform a specific software
function.
1. A driver (control program) is written to coordinate test case input and output.
2. The cluster is tested.
3. Drivers are removed and clusters are combined moving upward in the program
structure.
Regression testing
• Regression testing is the process of testing changes to
  computer programs to make sure that the older programming
  still works with the new changes.
• Smoke Testing

  Smoke testing is done for the software in order to verify that
  the software is stable enough for further testing. it has a
  collection of written tests .
System Testing
• Series of different tests whose primary purpose is to full
  exercise the computer based system.

  1) Recovery Testing
   – Software fails in various ways

   – MTTR



   2) Security Testing
      Hackers
3) Stress Testing. (abnormal conditions)
  Ten Interrupts per second, when one or two is the average
  rate.




• 4) Performance Testing
   – Coupled with stress testing
Alpha & Beta Testing
• Acceptance Testing
  1. Alpha testing occurs before beta testing.


  2. Alpha testing clears out most of the major bugs in a program while beta
  testing is more like polishing the program.


  3. Alpha testing is often not open to the public while beta testing can
  often involve the public
Software Bug
• A software bug is the common term used to describe an
  error, flaw, mistake, failure, or fault in a computer program.
The box approach
Software testing methods are traditionally divided into white-
  and black-box testing. These two approaches are used to
  describe the point of view that a test engineer takes when
  designing test cases.


1)White-box testing
2)Black –box testing
White-box testing/Glass Box
• Using white-box testing method, the software engineer can
   derive test cases that

i. Guarantee that all independent paths within a module have
   been exercised at least once.

ii. Exercise all logical decision on their true & false sides

iii. Execute all loops at their boundaries vales.

iv. Exercise internal data structure.
Basis Path Testing



• Each circle, called a flow graph node, represents one or more
  procedural statements..
• The arrows on the flow graph, called edges or links, represent
  flow of control .
• An edge must terminate at a node, even if the node does not
  represent any procedural statements.
• Areas bounded by edges and nodes are called regions. When
  counting regions, we include the area outside the graph as a
  region. Each node that contains a condition is called a
  predicate node
Independent Program Path
•   An independent path is any path through the program that introduces at least one
    new set of processing statements or a new condition. When stated in terms of a
    flow graph, an independent path must move along at least one edge that has not
    been traversed before the path is defined.
•   For example, a set of independent paths for the flow graph illustrated in above Figure is:

•   path 1: 1-11
    path 2: 1-2-3-4-5-10-1-11
    path 3: 1-2-3-6-8-9-10-1-11
    path 4: 1-2-3-6-7-9-10-1-11

•   Note: The path 1-2-3-4-5-10-1-2-3-6-8-9-10-1-11 is not considered to be an independent path
how many paths ?
Simply computed in one of three
                 ways:

• The number of regions of the flow graph correspond to the
  cyclomatic complexity.
• Cyclomatic complexity, V(G), for a flow graph, G, is defined as
  V(G) = E - N + 2 where E is the number of flow graph edges, N
  is the number of flow graph nodes.
• Cyclomatic complexity, V(G), for a flow graph, G, is also
  defined as V(G) = P + 1 where P is the number of predicate
  nodes contained in the flow graph G.
• The flow graph has four regions.

• V(G) = 11 edges - 9 nodes + 2 = 4.

• V(G) = 3 predicate nodes + 1 = 4.
Black Box Testing
• Also called behavioral testing.

• Focuses on functional requirements for a software.

• BBT is not an alternative to WBT.

• It is complementary approach that is likely to uncover a
  different class of errors than WBT.
• Black box Testing attempts to find errors in the following
  categories.
Categories
1. Incorrect or missing functions.

2. Interface errors.

3. Errors in data structure or external data base access.

4. Behavior or performance errors.

5. Initialization & termination errors.
Testing Principles
1. All test should be traceable to customer requirements.

2. Tests should be planned long before testing begins.

3. The Pareto principle applies to software testing.

4. Testing should begin “in the small” and progress toward
   testing “in the large”.

5. Exhaustive testing is not possible.
Reference


• Software Engineering (A Practitioner’s Approach Six Edition)

  By Roger S. Pressman. (Chapter No 5,13,14).


• http://en.wikipedia.org/wiki/softwaretesting.
Q&A

More Related Content

What's hot

Structural and functional testing
Structural and functional testingStructural and functional testing
Structural and functional testing
Himanshu
 
Testing of Object-Oriented Software
Testing of Object-Oriented SoftwareTesting of Object-Oriented Software
Testing of Object-Oriented Software
Praveen Penumathsa
 
software testing
software testingsoftware testing
software testing
Mayank Gupta
 
Testing Object-Oriented Systems: Lessons Learned
Testing Object-Oriented Systems: Lessons LearnedTesting Object-Oriented Systems: Lessons Learned
Testing Object-Oriented Systems: Lessons Learned
Bob Binder
 
Softwaretestingstrategies
SoftwaretestingstrategiesSoftwaretestingstrategies
Softwaretestingstrategies
saieswar19
 
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
 
Software testing strategies
Software testing strategiesSoftware testing strategies
Software testing strategies
Krishna Sujeer
 
Software testing
Software testingSoftware testing
Software testing
MohdVais1
 
New software testing-techniques
New software testing-techniquesNew software testing-techniques
New software testing-techniques
Fincy V.J
 
Research issues in object oriented software testing
Research issues in object oriented software testingResearch issues in object oriented software testing
Research issues in object oriented software testing
Anshul Vinayak
 
Testing strategies -2
Testing strategies -2Testing strategies -2
Testing strategies -2
Divya Tiwari
 
Software Engineering (Testing techniques)
Software Engineering (Testing techniques)Software Engineering (Testing techniques)
Software Engineering (Testing techniques)
ShudipPal
 
Unit 4 testing
Unit 4 testingUnit 4 testing
Unit 4 testing
TharuniDiddekunta
 
Python: Object-Oriented Testing (Unit Testing)
Python: Object-Oriented Testing (Unit Testing)Python: Object-Oriented Testing (Unit Testing)
Python: Object-Oriented Testing (Unit Testing)
Damian T. Gordon
 
Software testing
Software testingSoftware testing
Software testing
Bhagyashree pathak
 
Software testing methods
Software testing methodsSoftware testing methods
Software testing methods
Homa Pourmohammadi
 
Testing chapter updated (1)
Testing chapter updated (1)Testing chapter updated (1)
Testing chapter updated (1)
abdullah619
 
Testing strategies,techniques & test case SE
Testing strategies,techniques & test case SETesting strategies,techniques & test case SE
Testing strategies,techniques & test case SE
Meet1020
 

What's hot (18)

Structural and functional testing
Structural and functional testingStructural and functional testing
Structural and functional testing
 
Testing of Object-Oriented Software
Testing of Object-Oriented SoftwareTesting of Object-Oriented Software
Testing of Object-Oriented Software
 
software testing
software testingsoftware testing
software testing
 
Testing Object-Oriented Systems: Lessons Learned
Testing Object-Oriented Systems: Lessons LearnedTesting Object-Oriented Systems: Lessons Learned
Testing Object-Oriented Systems: Lessons Learned
 
Softwaretestingstrategies
SoftwaretestingstrategiesSoftwaretestingstrategies
Softwaretestingstrategies
 
Object Oriented Testing(OOT) presentation slides
Object Oriented Testing(OOT) presentation slidesObject Oriented Testing(OOT) presentation slides
Object Oriented Testing(OOT) presentation slides
 
Software testing strategies
Software testing strategiesSoftware testing strategies
Software testing strategies
 
Software testing
Software testingSoftware testing
Software testing
 
New software testing-techniques
New software testing-techniquesNew software testing-techniques
New software testing-techniques
 
Research issues in object oriented software testing
Research issues in object oriented software testingResearch issues in object oriented software testing
Research issues in object oriented software testing
 
Testing strategies -2
Testing strategies -2Testing strategies -2
Testing strategies -2
 
Software Engineering (Testing techniques)
Software Engineering (Testing techniques)Software Engineering (Testing techniques)
Software Engineering (Testing techniques)
 
Unit 4 testing
Unit 4 testingUnit 4 testing
Unit 4 testing
 
Python: Object-Oriented Testing (Unit Testing)
Python: Object-Oriented Testing (Unit Testing)Python: Object-Oriented Testing (Unit Testing)
Python: Object-Oriented Testing (Unit Testing)
 
Software testing
Software testingSoftware testing
Software testing
 
Software testing methods
Software testing methodsSoftware testing methods
Software testing methods
 
Testing chapter updated (1)
Testing chapter updated (1)Testing chapter updated (1)
Testing chapter updated (1)
 
Testing strategies,techniques & test case SE
Testing strategies,techniques & test case SETesting strategies,techniques & test case SE
Testing strategies,techniques & test case SE
 

Similar to Software testing & its technology

Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentals
Raviteja Chowdary Adusumalli
 
Fundamentals of software part 1
Fundamentals of software part 1Fundamentals of software part 1
Fundamentals of software part 1
Siddharth Sharma
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual Testing
Murageppa-QA
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual Testing
Rajesh-QA
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual Testing
Vidya-QA
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual Testing
ANKUR-BA
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual Testing
Sachin-QA
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual Testing
Fayis-QA
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testing
Abhishek Saxena
 
Software testing
Software testingSoftware testing
Software testing
lokareminakshi
 
Software Testing
Software TestingSoftware Testing
Software Testing
Abhishek Saxena
 
Solution Evaluation (BA Role)
Solution Evaluation (BA Role)   Solution Evaluation (BA Role)
Solution Evaluation (BA Role)
Shwetha-BA
 
software testing types jxnvlbnLCBNFVjnl/fknblb
software testing types jxnvlbnLCBNFVjnl/fknblbsoftware testing types jxnvlbnLCBNFVjnl/fknblb
software testing types jxnvlbnLCBNFVjnl/fknblb
jeyasrig
 
Module V - Software Testing Strategies.pdf
Module V - Software Testing Strategies.pdfModule V - Software Testing Strategies.pdf
Module V - Software Testing Strategies.pdf
adhithanr
 
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
 
SDLCTesting
SDLCTestingSDLCTesting
SDLCTesting
Gavin Thys
 
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
ShudipPal
 

Similar to Software testing & its technology (20)

Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentals
 
Fundamentals of software part 1
Fundamentals of software part 1Fundamentals of software part 1
Fundamentals of software part 1
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual Testing
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual Testing
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual Testing
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual Testing
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual Testing
 
Testing Concepts and Manual Testing
Testing Concepts and Manual TestingTesting Concepts and Manual Testing
Testing Concepts and Manual Testing
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testing
 
Software testing
Software testingSoftware testing
Software testing
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Solution Evaluation (BA Role)
Solution Evaluation (BA Role)   Solution Evaluation (BA Role)
Solution Evaluation (BA Role)
 
software testing types jxnvlbnLCBNFVjnl/fknblb
software testing types jxnvlbnLCBNFVjnl/fknblbsoftware testing types jxnvlbnLCBNFVjnl/fknblb
software testing types jxnvlbnLCBNFVjnl/fknblb
 
Module V - Software Testing Strategies.pdf
Module V - Software Testing Strategies.pdfModule V - Software Testing Strategies.pdf
Module V - Software Testing Strategies.pdf
 
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
 
SDLCTesting
SDLCTestingSDLCTesting
SDLCTesting
 
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
 

More from Hasam Panezai

Introduction to android basics
Introduction to android basicsIntroduction to android basics
Introduction to android basics
Hasam Panezai
 
Cognitive architecture
Cognitive architectureCognitive architecture
Cognitive architecture
Hasam Panezai
 
cog arch
cog archcog arch
cog arch
Hasam Panezai
 
Lecture application layer
Lecture application layerLecture application layer
Lecture application layer
Hasam Panezai
 
To lec 03
To lec 03To lec 03
To lec 03
Hasam Panezai
 
To lec 04
To lec 04To lec 04
To lec 04
Hasam Panezai
 
Lecture 1 4
Lecture 1 4Lecture 1 4
Lecture 1 4
Hasam Panezai
 
White box
White boxWhite box
White box
Hasam Panezai
 
Lecture (coa)
Lecture (coa)Lecture (coa)
Lecture (coa)
Hasam Panezai
 

More from Hasam Panezai (9)

Introduction to android basics
Introduction to android basicsIntroduction to android basics
Introduction to android basics
 
Cognitive architecture
Cognitive architectureCognitive architecture
Cognitive architecture
 
cog arch
cog archcog arch
cog arch
 
Lecture application layer
Lecture application layerLecture application layer
Lecture application layer
 
To lec 03
To lec 03To lec 03
To lec 03
 
To lec 04
To lec 04To lec 04
To lec 04
 
Lecture 1 4
Lecture 1 4Lecture 1 4
Lecture 1 4
 
White box
White boxWhite box
White box
 
Lecture (coa)
Lecture (coa)Lecture (coa)
Lecture (coa)
 

Recently uploaded

The simplified electron and muon model, Oscillating Spacetime: The Foundation...
The simplified electron and muon model, Oscillating Spacetime: The Foundation...The simplified electron and muon model, Oscillating Spacetime: The Foundation...
The simplified electron and muon model, Oscillating Spacetime: The Foundation...
RitikBhardwaj56
 
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UPLAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
RAHUL
 
The Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collectionThe Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collection
Israel Genealogy Research Association
 
How to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold MethodHow to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold Method
Celine George
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17
Celine George
 
How to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 InventoryHow to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 Inventory
Celine George
 
Hindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdfHindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdf
Dr. Mulla Adam Ali
 
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama UniversityNatural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Akanksha trivedi rama nursing college kanpur.
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
Nguyen Thanh Tu Collection
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Dr. Vinod Kumar Kanvaria
 
Executive Directors Chat Leveraging AI for Diversity, Equity, and Inclusion
Executive Directors Chat  Leveraging AI for Diversity, Equity, and InclusionExecutive Directors Chat  Leveraging AI for Diversity, Equity, and Inclusion
Executive Directors Chat Leveraging AI for Diversity, Equity, and Inclusion
TechSoup
 
Pengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptxPengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptx
Fajar Baskoro
 
South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
Academy of Science of South Africa
 
PIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf IslamabadPIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf Islamabad
AyyanKhan40
 
DRUGS AND ITS classification slide share
DRUGS AND ITS classification slide shareDRUGS AND ITS classification slide share
DRUGS AND ITS classification slide share
taiba qazi
 
S1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptxS1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptx
tarandeep35
 
World environment day ppt For 5 June 2024
World environment day ppt For 5 June 2024World environment day ppt For 5 June 2024
World environment day ppt For 5 June 2024
ak6969907
 
How to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP ModuleHow to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP Module
Celine George
 
MARY JANE WILSON, A “BOA MÃE” .
MARY JANE WILSON, A “BOA MÃE”           .MARY JANE WILSON, A “BOA MÃE”           .
MARY JANE WILSON, A “BOA MÃE” .
Colégio Santa Teresinha
 

Recently uploaded (20)

The simplified electron and muon model, Oscillating Spacetime: The Foundation...
The simplified electron and muon model, Oscillating Spacetime: The Foundation...The simplified electron and muon model, Oscillating Spacetime: The Foundation...
The simplified electron and muon model, Oscillating Spacetime: The Foundation...
 
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UPLAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
LAND USE LAND COVER AND NDVI OF MIRZAPUR DISTRICT, UP
 
The Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collectionThe Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collection
 
How to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold MethodHow to Build a Module in Odoo 17 Using the Scaffold Method
How to Build a Module in Odoo 17 Using the Scaffold Method
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
 
How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17How to Make a Field Mandatory in Odoo 17
How to Make a Field Mandatory in Odoo 17
 
How to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 InventoryHow to Setup Warehouse & Location in Odoo 17 Inventory
How to Setup Warehouse & Location in Odoo 17 Inventory
 
Hindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdfHindi varnamala | hindi alphabet PPT.pdf
Hindi varnamala | hindi alphabet PPT.pdf
 
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama UniversityNatural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
 
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
BÀI TẬP BỔ TRỢ TIẾNG ANH 8 CẢ NĂM - GLOBAL SUCCESS - NĂM HỌC 2023-2024 (CÓ FI...
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
 
Executive Directors Chat Leveraging AI for Diversity, Equity, and Inclusion
Executive Directors Chat  Leveraging AI for Diversity, Equity, and InclusionExecutive Directors Chat  Leveraging AI for Diversity, Equity, and Inclusion
Executive Directors Chat Leveraging AI for Diversity, Equity, and Inclusion
 
Pengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptxPengantar Penggunaan Flutter - Dart programming language1.pptx
Pengantar Penggunaan Flutter - Dart programming language1.pptx
 
South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
 
PIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf IslamabadPIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf Islamabad
 
DRUGS AND ITS classification slide share
DRUGS AND ITS classification slide shareDRUGS AND ITS classification slide share
DRUGS AND ITS classification slide share
 
S1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptxS1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptx
 
World environment day ppt For 5 June 2024
World environment day ppt For 5 June 2024World environment day ppt For 5 June 2024
World environment day ppt For 5 June 2024
 
How to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP ModuleHow to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP Module
 
MARY JANE WILSON, A “BOA MÃE” .
MARY JANE WILSON, A “BOA MÃE”           .MARY JANE WILSON, A “BOA MÃE”           .
MARY JANE WILSON, A “BOA MÃE” .
 

Software testing & its technology

  • 1. Software Testing & Its Techniques By : Shah Rukh Rayaz
  • 2. Software Testing • Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation.
  • 3. • Software testing can be stated as the process of validating and verifying that a software program/application/product. • Meets the requirements that guided its design and development.
  • 5. • Software testing, depending on the testing method employed, can be implemented at any time in the development process. However, most of the test effort occurs after the requirements have been defined and the coding process has been completed. As such, the methodology of the test is governed by the software development methodology adopted. • A good test has a high probability of finding an error. • A good test should be neither too simple nor too complex. • A good test is not redundant
  • 6. • A study conducted by NIST in 2002 reports that software bugs cost the U.S. economy $59.5 billion annually. More than a third of this cost could be avoided if better software testing was performed. • The software testing team • software testing is a part of the software quality assurance (SQA) process.
  • 7. Functional vs non-functional testing • Functional testing refers to activities that verify a specific action or function of the code. These are usually found in the code requirements documentation, although some development methodologies work from use cases or user stories. Functional tests tend to answer the question of "can the user do this" or "does this particular feature work." • Non-functional testing refers to aspects of the software that may not be related to a specific function or user action, such as scalability or other performance, behavior under certain constraints, or security. Non-functional requirements tend to be those that reflect the quality of the product, particularly in the context of the suitability perspective of its users.
  • 8. Static vs. dynamic testing • There are many approaches to software testing. Reviews, walkthroughs, or inspections are considered as static testing, whereas actually executing programmed code with a given set of test cases is referred to as dynamic testing
  • 9. Software verification and validation • Verification:  Are we building the Product Right. or  Have we built the software right? (i.e., does it match the specification). • Validation:  Are we building the Right Product. Or  Have we built the right software? (i.e., is this what the customer wants).
  • 10. Unit testing Unit testing, also known as component testing, refers to tests that verify the functionality of a specific section of code. Integration testing. Integration testing is any type of software testing that seeks to verify the interfaces between components against a software design. 1) Top-down integration. i. Depth-first integration ii. Breadth –first integration. 2) Bottom-up integration.
  • 11. Top-down integration. • Is an incremental approach to construction of the software architecture. • Modules are integrated by moving downwards by. i. Depth-first integration ii. Breadth –first integration.
  • 12.
  • 13. – Depth-first integration would integrate all components on a major control path of the structure – Breadth-first integration incorporates all components directly subordinate at each level, moving across the structure horizontally .
  • 14. Bottom-up integration testing 0. Low level components are combined in clusters that perform a specific software function. 1. A driver (control program) is written to coordinate test case input and output. 2. The cluster is tested. 3. Drivers are removed and clusters are combined moving upward in the program structure.
  • 15. Regression testing • Regression testing is the process of testing changes to computer programs to make sure that the older programming still works with the new changes. • Smoke Testing Smoke testing is done for the software in order to verify that the software is stable enough for further testing. it has a collection of written tests .
  • 16. System Testing • Series of different tests whose primary purpose is to full exercise the computer based system. 1) Recovery Testing – Software fails in various ways – MTTR 2) Security Testing  Hackers
  • 17. 3) Stress Testing. (abnormal conditions) Ten Interrupts per second, when one or two is the average rate. • 4) Performance Testing – Coupled with stress testing
  • 18. Alpha & Beta Testing • Acceptance Testing 1. Alpha testing occurs before beta testing. 2. Alpha testing clears out most of the major bugs in a program while beta testing is more like polishing the program. 3. Alpha testing is often not open to the public while beta testing can often involve the public
  • 19. Software Bug • A software bug is the common term used to describe an error, flaw, mistake, failure, or fault in a computer program.
  • 20. The box approach Software testing methods are traditionally divided into white- and black-box testing. These two approaches are used to describe the point of view that a test engineer takes when designing test cases. 1)White-box testing 2)Black –box testing
  • 21. White-box testing/Glass Box • Using white-box testing method, the software engineer can derive test cases that i. Guarantee that all independent paths within a module have been exercised at least once. ii. Exercise all logical decision on their true & false sides iii. Execute all loops at their boundaries vales. iv. Exercise internal data structure.
  • 22. Basis Path Testing • Each circle, called a flow graph node, represents one or more procedural statements.. • The arrows on the flow graph, called edges or links, represent flow of control . • An edge must terminate at a node, even if the node does not represent any procedural statements. • Areas bounded by edges and nodes are called regions. When counting regions, we include the area outside the graph as a region. Each node that contains a condition is called a predicate node
  • 23. Independent Program Path • An independent path is any path through the program that introduces at least one new set of processing statements or a new condition. When stated in terms of a flow graph, an independent path must move along at least one edge that has not been traversed before the path is defined.
  • 24. For example, a set of independent paths for the flow graph illustrated in above Figure is: • path 1: 1-11 path 2: 1-2-3-4-5-10-1-11 path 3: 1-2-3-6-8-9-10-1-11 path 4: 1-2-3-6-7-9-10-1-11 • Note: The path 1-2-3-4-5-10-1-2-3-6-8-9-10-1-11 is not considered to be an independent path
  • 26. Simply computed in one of three ways: • The number of regions of the flow graph correspond to the cyclomatic complexity. • Cyclomatic complexity, V(G), for a flow graph, G, is defined as V(G) = E - N + 2 where E is the number of flow graph edges, N is the number of flow graph nodes. • Cyclomatic complexity, V(G), for a flow graph, G, is also defined as V(G) = P + 1 where P is the number of predicate nodes contained in the flow graph G.
  • 27. • The flow graph has four regions. • V(G) = 11 edges - 9 nodes + 2 = 4. • V(G) = 3 predicate nodes + 1 = 4.
  • 28. Black Box Testing • Also called behavioral testing. • Focuses on functional requirements for a software. • BBT is not an alternative to WBT. • It is complementary approach that is likely to uncover a different class of errors than WBT. • Black box Testing attempts to find errors in the following categories.
  • 29. Categories 1. Incorrect or missing functions. 2. Interface errors. 3. Errors in data structure or external data base access. 4. Behavior or performance errors. 5. Initialization & termination errors.
  • 30. Testing Principles 1. All test should be traceable to customer requirements. 2. Tests should be planned long before testing begins. 3. The Pareto principle applies to software testing. 4. Testing should begin “in the small” and progress toward testing “in the large”. 5. Exhaustive testing is not possible.
  • 31. Reference • Software Engineering (A Practitioner’s Approach Six Edition) By Roger S. Pressman. (Chapter No 5,13,14). • http://en.wikipedia.org/wiki/softwaretesting.
  • 32. Q&A