SlideShare una empresa de Scribd logo
1 de 47
Software Testing
Methods
A quick review on existing
approaches, their benefits
and pitfalls.
Basic Testing Methods
Basically, testing methods can be classified in this
fields:

 Dynamic  or Static
 The Box Approach
     White Box
     Black Box
     Gray Box
 Visual   Testing
Testing Levels classifications
Based on which level of software you want to test, we can
implement the testing methods in these levels:


 Unittesting
 Integration testing
 System testing
Testing Goals and Aims
   Performance testing
   Usability testing
   Scalability testing
   Software Stress testing
   Recovery testing
   Security testing
   Conformance testing
   Smoke testing
   Compatibility testing
   System testing
   Alpha testing
   Beta testing
Basic Testing Methods
Dynamic or Static
 The Box Approach
     White Box
     Black Box
     Gray Box
 Visual   Testing
Static Testing
   It is generally not detailed testing, but checks
    mainly for the sanity of the code, algorithm, or
    document.
   primarily syntax checking of the code and/or
    manually reviewing the code or document to
    find errors.
   Mainly implemented in black-box point of
    view
   Bugs discovered at this stage are less
    expensive to fix them later.
Dynamic Testing
 Dynamic    Testing involves working with the
  software, giving input values and
  checking if the output is as expected.
 Unit Tests, Integration Tests, System Tests
  and Acceptance Tests are few of the
  Dynamic Testing methodologies.
 In the dynamic testing, testing begins
  before the software becomes completed.
Basic Testing Methods
 Dynamic     or Static
The   Box Approach
   White Box
   Black Box
   Gray Box
 Visual   Testing
White box
 testing the internal of the software, the
  methods and it’s components to specify it
  can meet the needs of the end user.
 The following types of testing fall under
  the white box testing technique - Unit
  Testing, Integration Testing
Black-Box
 examining    the functionality without
  knowing any information about how it is
  made.
 The tester is only aware of what the
  software is supposed to do, not how it
  does it.
 The following types of testing fall under
  the Black box testing technique - System
  Testing, Acceptance Testing.
Gray Box Testing
 Involves having knowledge of internal
  data structures and algorithms for
  purposes of designing tests
 The tester is not required to have full
  access to the software's source code
Basic Testing Methods
 Dynamic  or Static
 The Box Approach
    White Box
    Black Box
    Gray Box
 Visual   Testing
Visual Testing
 Recording     of the entire test process –
  capturing everything that occurs on the
  test system in video format.
 It is suitable to apply in agile projects,
  since agile methods require greater
  communication between testers and
  developers and collaboration within small
  teams.
Testing Levels classifications
Unit testing
 Integration testing
 System testing
Unit testing
A  unit test is a procedure used to verify
  that a particular module of source code is
  working properly.
 The test cases should be written for each
  peace of code, functions and methods
 This type of testing is mostly done by the
  developers and not by end-users.
Testing Levels classifications
 Unit   testing
Integration       testing
 System testing
Integration testing
   Integration Testing involves with verifying the
    interfaces of system components in software
    design.
   Tries to show the mistakes in interactions and
    interfaces between system modules.
   To approaches is suggested for Integration
    Testing* :
       Bottom-Up
       Top-Down
    * Refer to the documents for further information(Integration
    Testing.pdf)
Testing Levels classifications
 Unittesting
 Integration testing

System       testing
System Testing
 Mainly testing the system to meet its
  requirements.
 Elaborating that how the third-party
  systems or any external system is
  interacting with the system.
Section 2 :
Software Testing Practices
In this section, we’ll take a look at how testing can
be implemented in popular project management
methodologies:


1.   Waterfall development
2.   Extreme Programming
3.   Scrum
4.   Agile
Waterfall Development
 Positive   Points
     The software is ready, and every step of
      testing process will be completely mature
      and sensible.
     The test reporting results are clear and
      enables the management to specify which
      decision should be taken.
Waterfall Development
   Negative Points
       It assumes that the system is completely
        ready, So It happens pretty late.
       Fixing the errors found can be so expensive.
       Running a script for one user without errors
        doesn't prove anything.
       Running all scripts together make it very difficult
        to tune and troubleshoot
       Running a single large test (or even a few of
        them) gives minimal information about the
        system behavior.
Section 2 :
Software Testing Practices
1.   Waterfall development
2.   Extreme Programming
3.   Scrum
4.   Agile
Extreme Programming
   Rather than designing whole of the system at
    the start of the project, the preliminary design
    work is reduced to solving the simple tasks
    that have already been identified.
   The developers communicate directly with
    customers and other developers to
    understand the initial requirements.
   During the XP, developers usually work in pairs
    to test the code.
Extreme Programming
 Benefits
     The best method when the customer
      doesn’t have a clear understanding of the
      details of the new system.
     When the technology used to develop the
      system is new compared to other
      technologies.
     When the team size is not very large (usually
      2 to 12 people).
Extreme Programming
 Pitfalls:
     All code must have Unit tests.
     All code must pass all Unit tests before it
      can be released.
     When a Bug is found tests are created
      before the bug is addressed (a bug is not
      an error in logic, it is a test you forgot to
      write)
Section 3 :
Testing Methods, Benefits and Pitfalls
 Static   Testing
 White  Box Testing
 Black Box Testing
 Unit Testing
 Integration Testing
 System Testing
Static Testing
   Benefits
       Capture defects early, so saves rework cost
       Checklist-based approach
       Focuses on coverage
       Group perspective
       Highest probability of finding defects
   Pitfalls:
       Time-consuming
       Cannot test data dependencies
       High skill levels on each field required
Testing methods:
benefits and pitfalls
 Static   Testing
 White     Box Testing
 Black  Box Testing
 Unit Testing
 Integration Testing
 System Testing
White Box Testing
Dynamic testing implements in white-box testing
methods.
 Benefits
     Forces test developer in implementation
     Approximates the partitioning done by execution
      equivalence
     Reveals errors in "hidden" code
     As the knowledge of internal coding structure is
      prerequisite, it becomes very easy to find out which type
      of input/data can help in testing the application
      effectively.
     It helps in optimizing the code.
     It helps in removing the extra lines of code, which can
      bring in hidden defects.
White Box Testing
   Pitfalls:
       Expensive
       Miss cases omitted in the code
       A skilled tester is needed to carry out this type of
        testing, which increases the cost.
       It is nearly impossible to look into every bit of
        code to find out hidden errors
       Not looking at the code in a runtime
        environment. (The OS, environment and third-party situations
        can result in finding bugs that it cannot recognize )
       Very few white-box tests can be done without
        modifying the program
Testing methods:
benefits and pitfalls
 StaticTesting
 White Box Testing

 Black    Box Testing
 UnitTesting
 Integration Testing
 System Testing
Black Box Testing
   Benefits
       Black box tests are reproducible.
       The environment the program is running is also
        tested.
       The invested effort can be used multiple times.
       More effective on larger units of code than glass
        box testing
       Tester needs no knowledge of implementation,
        including specific programming languages
       Tests are done from a user's point of view
       Will help to expose any ambiguities or
        inconsistencies in the specifications
       Efficient when used on Larger systems
Black Box Testing
   Benefits
       Tester and developer are independent of each
        other, test is balanced and unprejudiced
       Tester can be non-technical.
       There is no need of having detailed functional
        knowledge of system to the tester.
       Tests will be done from an end user's point of
        view. Because end user should accept the
        system. (Look for acceptance testing)
       Testing helps to identify the vagueness and
        contradiction in functional specifications.
       Test cases can be designed as soon as the
        functional specifications are complete
Black Box Testing
   Pitfalls:
       The results are often overestimated.
       Not all properties of a software product can be tested
       The reason for a failure is not found.
       Only a small number of possible inputs can actually be
        tested, to test every possible input stream would take
        nearly forever
       Without clear and concise specifications, test cases are
        hard to design
       There may be unnecessary repetition of test inputs if the
        tester is not informed of test cases the programmer has
        already tried
       May leave many program paths untested
       Cannot be directed toward specific segments of code
        which may be very complex (and therefore more error prone)
Black Box Testing
   Pitfalls:
       Most testing related research has been directed
        toward glass box testing
       Test cases are tough and challenging to design,
        without having clear functional specifications
       It is difficult to identify tricky inputs, if the test cases
        are not developed based on specifications.
       It is difficult to identify all possible inputs in limited
        testing time. So writing test cases is slow and
        difficult
       Chances of having unidentified paths during this
        testing
       Chances of having repetition of tests that are
        already done by programmer.
Testing methods:
benefits and pitfalls
 StaticTesting
 White Box Testing
 Black Box Testing

 Unit   Testing
 Integration Testing
 System Testing
Unit Testing
   Benefits:
       Unit testing provides a strict, written contract
        that the piece of code must satisfy.
       allows the programmer to re-factor code at a
        later date, and make sure the module still works
        correctly
       Unit testing helps eliminate uncertainty in the
        pieces themselves and can be used in a
        bottom-up testing style approach.
       Unit testing provides a sort of "living document".
Unit Testing
 Pitfalls:
     Unit-testing will not catch every error in the
      program, will not catch integration errors
     A unit test can only show the presence of
      errors; it cannot show the absence of errors.
Testing methods:
benefits and pitfalls
 Static Testing
 White Box Testing
 Black Box Testing
 Unit Testing

 Integration   Testing
 System   Testing
Integration Testing
 Bottom-Up      Approach
    Benefits
      Helpfulif errors like deep down in the
       dependency structure.
      Test conditions are easier to create.
      Observation results are reasonable easy.
      Reduced effort in creating stub modules.
Integration Testing
 Bottom-Up      Approach
    Pitfalls:
      Need  to create stub modules.(It is easier than
       creating stub code)
      The entire system is subjected to the small
       amount of test.(because the top modules are
       included in the tests at the final stage).
Integration Testing
 Top-Down       Approach
    Benefits:
      If major defects are more likely at the top
       level modules top-down is beneficial.
      Getting I/O functions early can ease test
       writing.
      Early demonstration of the main functionality
       can be helpful in highlighting requirements
       issue and the in boosting morale.
Integration Testing
   Top-Down Approach
       Pitfalls:
         Too much effort on stubs.
         Stub complexity can introduce errors.
         Defining stubs can be difficult if some code is
          yet to be written.
         It may be impossible accurately to reproduce
          test conditions.
         Some observation maybe possible to make.
         Encourages the idea that test and
          development can overlap.
         Encourages deferring full testing of modules
          (until lower level modules can complete.)
Testing methods:
benefits and pitfalls
 Static Testing
 White Box Testing
 Black Box Testing
 Unit Testing
 Integration Testing

System     Testing
System Testing
System testing mainly is a sort of Black Box
testing, to get more detailed information
see black box testing benefits and pitfalls.
My Opinion
 Using the Black Box Approach with
  Integration testing method – Top-Down
  view.
 Breaking the system down into sub
  systems at the first step of each process.
 Specify one person to run the test parts.
 Make a simple documentation for each
  part with expecting features point of view.

Más contenido relacionado

La actualidad más candente

Test case techniques
Test case techniquesTest case techniques
Test case techniquesPina Parmar
 
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...Ankit Prajapati
 
Manual software-testing-interview-questions-with-answers
Manual software-testing-interview-questions-with-answersManual software-testing-interview-questions-with-answers
Manual software-testing-interview-questions-with-answersSachin Gupta
 
Software testing
Software testingSoftware testing
Software testingmkn3009
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and typesConfiz
 
Software Testing Basics
Software Testing BasicsSoftware Testing Basics
Software Testing BasicsBelal Raslan
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testingHadi Fadlallah
 
Basic Guide to Manual Testing
Basic Guide to Manual TestingBasic Guide to Manual Testing
Basic Guide to Manual TestingHiral Gosani
 
software testing
 software testing software testing
software testingSara shall
 
Types of software testing
Types of software testingTypes of software testing
Types of software testingTestbytes
 

La actualidad más candente (20)

Software testing
Software testing Software testing
Software testing
 
Types of testing
Types of testingTypes of testing
Types of testing
 
Test case techniques
Test case techniquesTest case techniques
Test case techniques
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
Software Testing - Part 1 (Techniques, Types, Levels, Methods, STLC, Bug Life...
 
Testing
TestingTesting
Testing
 
Manual software-testing-interview-questions-with-answers
Manual software-testing-interview-questions-with-answersManual software-testing-interview-questions-with-answers
Manual software-testing-interview-questions-with-answers
 
Black box software testing
Black box software testingBlack box software testing
Black box software testing
 
Software testing
Software testingSoftware testing
Software testing
 
Software testing
Software testingSoftware testing
Software testing
 
Software testing
Software testingSoftware testing
Software testing
 
Software testing methods, levels and types
Software testing methods, levels and typesSoftware testing methods, levels and types
Software testing methods, levels and types
 
SOFTWARE TESTING
SOFTWARE TESTINGSOFTWARE TESTING
SOFTWARE TESTING
 
Software Testing Basics
Software Testing BasicsSoftware Testing Basics
Software Testing Basics
 
Introduction to software testing
Introduction to software testingIntroduction to software testing
Introduction to software testing
 
Basic Guide to Manual Testing
Basic Guide to Manual TestingBasic Guide to Manual Testing
Basic Guide to Manual Testing
 
software testing
 software testing software testing
software testing
 
Types of software testing
Types of software testingTypes of software testing
Types of software testing
 
Software testing
Software testingSoftware testing
Software testing
 
WHITE BOX TESTING ashu.pptx
WHITE BOX TESTING ashu.pptxWHITE BOX TESTING ashu.pptx
WHITE BOX TESTING ashu.pptx
 

Destacado

Software testing basic concepts
Software testing basic conceptsSoftware testing basic concepts
Software testing basic conceptsHưng Hoàng
 
Software Testing Methods by Swapnil Shinde
Software Testing Methods by Swapnil ShindeSoftware Testing Methods by Swapnil Shinde
Software Testing Methods by Swapnil Shindeswapnilbk
 
A/B Testing: Concept != Execution
A/B Testing: Concept != ExecutionA/B Testing: Concept != Execution
A/B Testing: Concept != ExecutionErin Weigel
 
Testing Fundamentals
Testing FundamentalsTesting Fundamentals
Testing FundamentalsKiran Kumar
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testingBugRaptors
 
Model-based Testing Principles
Model-based Testing PrinciplesModel-based Testing Principles
Model-based Testing PrinciplesHenry Muccini
 
Approaches to Software Testing
Approaches to Software TestingApproaches to Software Testing
Approaches to Software TestingScott Barber
 
Test Case Point Analysis
Test Case Point AnalysisTest Case Point Analysis
Test Case Point Analysisvuqn
 
Team Foundation Server 2010
Team Foundation Server 2010Team Foundation Server 2010
Team Foundation Server 2010Enterprisecoding
 

Destacado (11)

Software testing basic concepts
Software testing basic conceptsSoftware testing basic concepts
Software testing basic concepts
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
Software Testing Methods by Swapnil Shinde
Software Testing Methods by Swapnil ShindeSoftware Testing Methods by Swapnil Shinde
Software Testing Methods by Swapnil Shinde
 
A/B Testing: Concept != Execution
A/B Testing: Concept != ExecutionA/B Testing: Concept != Execution
A/B Testing: Concept != Execution
 
Testing Fundamentals
Testing FundamentalsTesting Fundamentals
Testing Fundamentals
 
Fundamentals of testing
Fundamentals of testingFundamentals of testing
Fundamentals of testing
 
Model-based Testing Principles
Model-based Testing PrinciplesModel-based Testing Principles
Model-based Testing Principles
 
Approaches to Software Testing
Approaches to Software TestingApproaches to Software Testing
Approaches to Software Testing
 
Test studio
Test studioTest studio
Test studio
 
Test Case Point Analysis
Test Case Point AnalysisTest Case Point Analysis
Test Case Point Analysis
 
Team Foundation Server 2010
Team Foundation Server 2010Team Foundation Server 2010
Team Foundation Server 2010
 

Similar a Software testing methods

softwaretesting-140721025833-phpapp02.pdf
softwaretesting-140721025833-phpapp02.pdfsoftwaretesting-140721025833-phpapp02.pdf
softwaretesting-140721025833-phpapp02.pdfSHAMSHADHUSAIN9
 
Testing chapter updated (1)
Testing chapter updated (1)Testing chapter updated (1)
Testing chapter updated (1)abdullah619
 
softwaretesting-140721025833-phpapp02.pptx
softwaretesting-140721025833-phpapp02.pptxsoftwaretesting-140721025833-phpapp02.pptx
softwaretesting-140721025833-phpapp02.pptxSHAMSHADHUSAIN9
 
Ch 2 Apraoaches Of Software Testing
Ch 2 Apraoaches Of Software Testing Ch 2 Apraoaches Of Software Testing
Ch 2 Apraoaches Of Software Testing Prof .Pragati Khade
 
Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentalsAbdul Basit
 
Unit testing - what is its importance
Unit testing - what is its importanceUnit testing - what is its importance
Unit testing - what is its importanceTestingXperts
 
White box & black box testing
White box & black box testingWhite box & black box testing
White box & black box testingSaket Khopkar
 
4. The Software Development Process - Testing
4. The Software Development Process - Testing4. The Software Development Process - Testing
4. The Software Development Process - TestingForrester High School
 
Object oriented sad 6
Object oriented sad 6Object oriented sad 6
Object oriented sad 6Bisrat Girma
 
Week 14 Unit Testing.pptx
Week 14  Unit Testing.pptxWeek 14  Unit Testing.pptx
Week 14 Unit Testing.pptxmianshafa
 

Similar a Software testing methods (20)

softwaretesting-140721025833-phpapp02.pdf
softwaretesting-140721025833-phpapp02.pdfsoftwaretesting-140721025833-phpapp02.pdf
softwaretesting-140721025833-phpapp02.pdf
 
Software testing strategies
Software testing strategiesSoftware testing strategies
Software testing strategies
 
Testing chapter updated (1)
Testing chapter updated (1)Testing chapter updated (1)
Testing chapter updated (1)
 
softwaretesting-140721025833-phpapp02.pptx
softwaretesting-140721025833-phpapp02.pptxsoftwaretesting-140721025833-phpapp02.pptx
softwaretesting-140721025833-phpapp02.pptx
 
Ch 2 Apraoaches Of Software Testing
Ch 2 Apraoaches Of Software Testing Ch 2 Apraoaches Of Software Testing
Ch 2 Apraoaches Of Software Testing
 
Testing concepts
Testing conceptsTesting concepts
Testing concepts
 
Software testing
Software testingSoftware testing
Software testing
 
Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentals
 
Software test life cycle
Software test life cycleSoftware test life cycle
Software test life cycle
 
Unit testing - what is its importance
Unit testing - what is its importanceUnit testing - what is its importance
Unit testing - what is its importance
 
Testing
Testing Testing
Testing
 
White box & black box testing
White box & black box testingWhite box & black box testing
White box & black box testing
 
Software Testing - SDLC Model
Software Testing - SDLC ModelSoftware Testing - SDLC Model
Software Testing - SDLC Model
 
4. The Software Development Process - Testing
4. The Software Development Process - Testing4. The Software Development Process - Testing
4. The Software Development Process - Testing
 
Software testing
Software testingSoftware testing
Software testing
 
A COMPOSITION ON SOFTWARE TESTING
A COMPOSITION ON SOFTWARE TESTINGA COMPOSITION ON SOFTWARE TESTING
A COMPOSITION ON SOFTWARE TESTING
 
Object oriented sad 6
Object oriented sad 6Object oriented sad 6
Object oriented sad 6
 
Software testing
Software testingSoftware testing
Software testing
 
S440999102
S440999102S440999102
S440999102
 
Week 14 Unit Testing.pptx
Week 14  Unit Testing.pptxWeek 14  Unit Testing.pptx
Week 14 Unit Testing.pptx
 

Último

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 

Último (20)

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 

Software testing methods

  • 1. Software Testing Methods A quick review on existing approaches, their benefits and pitfalls.
  • 2. Basic Testing Methods Basically, testing methods can be classified in this fields:  Dynamic or Static  The Box Approach  White Box  Black Box  Gray Box  Visual Testing
  • 3. Testing Levels classifications Based on which level of software you want to test, we can implement the testing methods in these levels:  Unittesting  Integration testing  System testing
  • 4. Testing Goals and Aims  Performance testing  Usability testing  Scalability testing  Software Stress testing  Recovery testing  Security testing  Conformance testing  Smoke testing  Compatibility testing  System testing  Alpha testing  Beta testing
  • 5. Basic Testing Methods Dynamic or Static  The Box Approach  White Box  Black Box  Gray Box  Visual Testing
  • 6. Static Testing  It is generally not detailed testing, but checks mainly for the sanity of the code, algorithm, or document.  primarily syntax checking of the code and/or manually reviewing the code or document to find errors.  Mainly implemented in black-box point of view  Bugs discovered at this stage are less expensive to fix them later.
  • 7. Dynamic Testing  Dynamic Testing involves working with the software, giving input values and checking if the output is as expected.  Unit Tests, Integration Tests, System Tests and Acceptance Tests are few of the Dynamic Testing methodologies.  In the dynamic testing, testing begins before the software becomes completed.
  • 8. Basic Testing Methods  Dynamic or Static The Box Approach  White Box  Black Box  Gray Box  Visual Testing
  • 9. White box  testing the internal of the software, the methods and it’s components to specify it can meet the needs of the end user.  The following types of testing fall under the white box testing technique - Unit Testing, Integration Testing
  • 10. Black-Box  examining the functionality without knowing any information about how it is made.  The tester is only aware of what the software is supposed to do, not how it does it.  The following types of testing fall under the Black box testing technique - System Testing, Acceptance Testing.
  • 11. Gray Box Testing  Involves having knowledge of internal data structures and algorithms for purposes of designing tests  The tester is not required to have full access to the software's source code
  • 12. Basic Testing Methods  Dynamic or Static  The Box Approach  White Box  Black Box  Gray Box  Visual Testing
  • 13. Visual Testing  Recording of the entire test process – capturing everything that occurs on the test system in video format.  It is suitable to apply in agile projects, since agile methods require greater communication between testers and developers and collaboration within small teams.
  • 14. Testing Levels classifications Unit testing  Integration testing  System testing
  • 15. Unit testing A unit test is a procedure used to verify that a particular module of source code is working properly.  The test cases should be written for each peace of code, functions and methods  This type of testing is mostly done by the developers and not by end-users.
  • 16. Testing Levels classifications  Unit testing Integration testing  System testing
  • 17. Integration testing  Integration Testing involves with verifying the interfaces of system components in software design.  Tries to show the mistakes in interactions and interfaces between system modules.  To approaches is suggested for Integration Testing* :  Bottom-Up  Top-Down * Refer to the documents for further information(Integration Testing.pdf)
  • 18. Testing Levels classifications  Unittesting  Integration testing System testing
  • 19. System Testing  Mainly testing the system to meet its requirements.  Elaborating that how the third-party systems or any external system is interacting with the system.
  • 20. Section 2 : Software Testing Practices In this section, we’ll take a look at how testing can be implemented in popular project management methodologies: 1. Waterfall development 2. Extreme Programming 3. Scrum 4. Agile
  • 21. Waterfall Development  Positive Points  The software is ready, and every step of testing process will be completely mature and sensible.  The test reporting results are clear and enables the management to specify which decision should be taken.
  • 22. Waterfall Development  Negative Points  It assumes that the system is completely ready, So It happens pretty late.  Fixing the errors found can be so expensive.  Running a script for one user without errors doesn't prove anything.  Running all scripts together make it very difficult to tune and troubleshoot  Running a single large test (or even a few of them) gives minimal information about the system behavior.
  • 23. Section 2 : Software Testing Practices 1. Waterfall development 2. Extreme Programming 3. Scrum 4. Agile
  • 24. Extreme Programming  Rather than designing whole of the system at the start of the project, the preliminary design work is reduced to solving the simple tasks that have already been identified.  The developers communicate directly with customers and other developers to understand the initial requirements.  During the XP, developers usually work in pairs to test the code.
  • 25. Extreme Programming  Benefits  The best method when the customer doesn’t have a clear understanding of the details of the new system.  When the technology used to develop the system is new compared to other technologies.  When the team size is not very large (usually 2 to 12 people).
  • 26. Extreme Programming  Pitfalls:  All code must have Unit tests.  All code must pass all Unit tests before it can be released.  When a Bug is found tests are created before the bug is addressed (a bug is not an error in logic, it is a test you forgot to write)
  • 27. Section 3 : Testing Methods, Benefits and Pitfalls  Static Testing  White Box Testing  Black Box Testing  Unit Testing  Integration Testing  System Testing
  • 28. Static Testing  Benefits  Capture defects early, so saves rework cost  Checklist-based approach  Focuses on coverage  Group perspective  Highest probability of finding defects  Pitfalls:  Time-consuming  Cannot test data dependencies  High skill levels on each field required
  • 29. Testing methods: benefits and pitfalls  Static Testing  White Box Testing  Black Box Testing  Unit Testing  Integration Testing  System Testing
  • 30. White Box Testing Dynamic testing implements in white-box testing methods.  Benefits  Forces test developer in implementation  Approximates the partitioning done by execution equivalence  Reveals errors in "hidden" code  As the knowledge of internal coding structure is prerequisite, it becomes very easy to find out which type of input/data can help in testing the application effectively.  It helps in optimizing the code.  It helps in removing the extra lines of code, which can bring in hidden defects.
  • 31. White Box Testing  Pitfalls:  Expensive  Miss cases omitted in the code  A skilled tester is needed to carry out this type of testing, which increases the cost.  It is nearly impossible to look into every bit of code to find out hidden errors  Not looking at the code in a runtime environment. (The OS, environment and third-party situations can result in finding bugs that it cannot recognize )  Very few white-box tests can be done without modifying the program
  • 32. Testing methods: benefits and pitfalls  StaticTesting  White Box Testing  Black Box Testing  UnitTesting  Integration Testing  System Testing
  • 33. Black Box Testing  Benefits  Black box tests are reproducible.  The environment the program is running is also tested.  The invested effort can be used multiple times.  More effective on larger units of code than glass box testing  Tester needs no knowledge of implementation, including specific programming languages  Tests are done from a user's point of view  Will help to expose any ambiguities or inconsistencies in the specifications  Efficient when used on Larger systems
  • 34. Black Box Testing  Benefits  Tester and developer are independent of each other, test is balanced and unprejudiced  Tester can be non-technical.  There is no need of having detailed functional knowledge of system to the tester.  Tests will be done from an end user's point of view. Because end user should accept the system. (Look for acceptance testing)  Testing helps to identify the vagueness and contradiction in functional specifications.  Test cases can be designed as soon as the functional specifications are complete
  • 35. Black Box Testing  Pitfalls:  The results are often overestimated.  Not all properties of a software product can be tested  The reason for a failure is not found.  Only a small number of possible inputs can actually be tested, to test every possible input stream would take nearly forever  Without clear and concise specifications, test cases are hard to design  There may be unnecessary repetition of test inputs if the tester is not informed of test cases the programmer has already tried  May leave many program paths untested  Cannot be directed toward specific segments of code which may be very complex (and therefore more error prone)
  • 36. Black Box Testing  Pitfalls:  Most testing related research has been directed toward glass box testing  Test cases are tough and challenging to design, without having clear functional specifications  It is difficult to identify tricky inputs, if the test cases are not developed based on specifications.  It is difficult to identify all possible inputs in limited testing time. So writing test cases is slow and difficult  Chances of having unidentified paths during this testing  Chances of having repetition of tests that are already done by programmer.
  • 37. Testing methods: benefits and pitfalls  StaticTesting  White Box Testing  Black Box Testing  Unit Testing  Integration Testing  System Testing
  • 38. Unit Testing  Benefits:  Unit testing provides a strict, written contract that the piece of code must satisfy.  allows the programmer to re-factor code at a later date, and make sure the module still works correctly  Unit testing helps eliminate uncertainty in the pieces themselves and can be used in a bottom-up testing style approach.  Unit testing provides a sort of "living document".
  • 39. Unit Testing  Pitfalls:  Unit-testing will not catch every error in the program, will not catch integration errors  A unit test can only show the presence of errors; it cannot show the absence of errors.
  • 40. Testing methods: benefits and pitfalls  Static Testing  White Box Testing  Black Box Testing  Unit Testing  Integration Testing  System Testing
  • 41. Integration Testing  Bottom-Up Approach  Benefits  Helpfulif errors like deep down in the dependency structure.  Test conditions are easier to create.  Observation results are reasonable easy.  Reduced effort in creating stub modules.
  • 42. Integration Testing  Bottom-Up Approach  Pitfalls:  Need to create stub modules.(It is easier than creating stub code)  The entire system is subjected to the small amount of test.(because the top modules are included in the tests at the final stage).
  • 43. Integration Testing  Top-Down Approach  Benefits:  If major defects are more likely at the top level modules top-down is beneficial.  Getting I/O functions early can ease test writing.  Early demonstration of the main functionality can be helpful in highlighting requirements issue and the in boosting morale.
  • 44. Integration Testing  Top-Down Approach  Pitfalls:  Too much effort on stubs.  Stub complexity can introduce errors.  Defining stubs can be difficult if some code is yet to be written.  It may be impossible accurately to reproduce test conditions.  Some observation maybe possible to make.  Encourages the idea that test and development can overlap.  Encourages deferring full testing of modules (until lower level modules can complete.)
  • 45. Testing methods: benefits and pitfalls  Static Testing  White Box Testing  Black Box Testing  Unit Testing  Integration Testing System Testing
  • 46. System Testing System testing mainly is a sort of Black Box testing, to get more detailed information see black box testing benefits and pitfalls.
  • 47. My Opinion  Using the Black Box Approach with Integration testing method – Top-Down view.  Breaking the system down into sub systems at the first step of each process.  Specify one person to run the test parts.  Make a simple documentation for each part with expecting features point of view.