KEMBAR78
Testing Types And Models | PPT
Types of Testing V Model Testing Phases Static Testing Reviews Inspection Walkthrough Metrics Dynamic Testing Unit Integration System Regression UAT Exploratory
SDLC and V Model There are some distinct test phases that take  place in each of the software life cycle activity It is easier to visualize through the famous  Waterfall  model of development and  V- model   of testing.  The V proceeds from left to right, depicting the basic sequence of development and testing activities.
SDLC and V Model System Test Plan Program  Specifications Unit Test cases Integration Test cases Detailed Design System  Test cases Functional Design Acceptance Test cases Requirements  Specification Acceptance Test Plan Integration Test Plan Unit Test Plan Wishes, Ideas, Concepts Verification Regression Developed System
V Model The model is valuable because it highlights the existence of several  levels or phases of testing  and depicts the way each relates to a different development phase .
Static and Dynamic Testing Static Dynamic Reviews Walkthrough Desk Check Inspection Exploratory Integration Usability Unit Volume Performance Reliability Security Stress Configuration Recovery Documentation Localization UAT Installability WHITEBOX BLACKBOX System
Static Testing Walkthrough  helps in Approach to Solution Find omission of requirements Style / Concepts Issues Detect Defects Educate Team Members
Testing Phases Unit testing  is code-based and performed primarily by developers to demonstrate that their smallest pieces of executable code function suitably. Integration testing  demonstrates that two or more units or other integrations work together properly, and tends to focus on the interfaces specified in low-level design.  System testing  demonstrates that the system works end-to-end in a production-like environment to provide the business functions specified in the high-level design.  Acceptance testing  is conducted by business owners and users to confirm that the system does, in fact, meet their business requirements.
Integration Testing Testing of combined parts of an application to determine if they function together correctly.  The main three elements are interfaces, module combinations and global data structures. Attempts to find discrepancies between program & its external specification (program’s description from the point of view of the outside world).
Why Integration Testing is Required?
System Testing Test the software in the real environment in which it is to operate. (hardware,people,information,etc.) Observe how the system performs in its target environment, for example in terms of speed, with volumes of data, many users, all making multiple requests.
System Testing Test how secure the system is and how can the system recover if some fault is encountered in the middle of procession System Testing, by definition, is impossible if the project has not produced a written set of measurable objectives for its product.
System Testing Types of System Testing Performance  Volume  Stress Security Localization Usability Recovery Documentation Configuration Compatibility Reliability Installation
Performance Testing Many Programs have specific performance or efficiency objectives like response time & throughput rates under certain workload & configurable conditions.   Necessary to measure the resource utilization (e.g processor cycles). Tested under a variety of operating conditions, configurations and loading.
Performance Testing To ensure that the system  is responsive to user interaction and handles extreme loading without unacceptable operational degradation. To test response time and reliability  by increased user traffic. To identify which components are responsible for  performance degradation and what usage characteristics cause degradation to  occur.
Volume Testing Tests  the performance & behavior of  software under large volume of data in the database.  In Volume Testing -  Application response time, & general performance parameters can be checked.
Load Testing Following variables define a set of test conditions N, the number of concurrent users T, the number of on-line transactions per user per unit time D, the data load processed by the server per transaction
Stress Testing In Stress testing a considerable load is generated as quickly as possible in order to stress the application and analyze the maximum limit of concurrent users the application can support. Stress tests executes a system in a manner that demands resources in abnormal quantity,frequency, or volume.
Stress Testing Tests should answer the following questions Does the system degrade gently or does the server shut down? Are appropriate messages displayed ? – Server not available. Are transactions lost as capacity is exceeded? Are certain functions discontinued as capacity reaches the 80 or 90 percent level?
Security Testing Security Testing verifies that protection mechanisms built into the system will protect it from  improper penetration. Security testing is the process of executing test cases that subvert the program’s security checks. Test cases should be designed to exercise firewalls, authentication, encryption and authorization
Localization Testing Localization translates the product UI and occasionally changes some settings to make it suitable for another region The test effort during localization testing focuses on Areas affected during localization, UI and content Culture/locale-specific, language specific and region specific areas
Usability Testing- Human Computer Interactions Usability is  The  effectiveness ,  efficiency  and  satisfaction  with which  specified  users can achieve  specified  goals in a  particular  environment   ISO 9241-11 Effective–- Accomplishes user’s goal Efficient-- Accomplishes the goal quickly Satisfaction–- User enjoys the experience
Usability Testing- Human Computer Interactions Test Categories and objectives  - Interactivity ( Pull down menus, buttons) - Layout  - Readability - Aesthetics - Display characteristics -  Time sensitivity  - Personalization
Usability Testing- Human Computer Interactions Using specialized Test Labs a  rigorous testing process is conducted to get quantitative and qualitative data on the effectiveness of user interfaces Representative or actual users are asked to perform several key tasks under close observation, both by live observers and through video recording.  During and at the end of the session, users evaluate the product based on their experiences
Recovery Testing A system test that forces the software to fail in variety of ways , checks performed recovery is automatic ( performed by the system itself) reinitialization check pointing mechanisms data recovery restarts are evaluated for correctness
Documentation Testing This testing is done to ensure the validity and usability  of the documentation This includes user Manuals, Help Screens, Installation and Release Notes Purpose is to find out whether documentation matches the product and vice versa Well-tested manual helps to train users and support staff faster
Configuration test Attempts to uncover errors that are specific to a particular client or server environment. Create a cross reference matrix defining all probable operating systems, browsers, hardware platforms and communication protocols. Test to uncover errors associated with each possible configuration
Regression Testing Regression Testing is the testing of software after a modification has been made to ensure the reliability of each software release.  Testing after changes have been made to ensure that changes did not introduce any new errors into  the system.
Regression Testing It applies to systems in production undergoing change as well as to systems under development. Re-execution of some subset of test that have already been conducted. Test suite contains  -  Sample of tests that will exercise all software functions - Tests that focus on software functions that are likely to be  affected by the change - Tests for software components that have been changed
User Acceptance Testing A test executed by the end user(s) in an environment simulating the operational environment to the greatest possible extent, that should demonstrate that the developed system meets the functional and quality requirements Not a responsibility of the Developing Organization.
Exploratory Testing  Also known as “Random” testing or “Ad-hoc” testing Exploratory testing is  simultaneous learning, test design,  and  test execution.  (…James Bach) A methodical approach-style is desirable
Exploratory Testing - Tips Test design Crafting Careful Observation Critical thinking Diverse Ideas Pooling resources (knowledge, learnings)
What Is a Test Strategy? It provides a road map that describes the steps to be conducted as part of testing, when these steps are planned and then undertaken, and how much effort, time and resources will be required. It must incorporate test planning, test case design, test execution and resultant data collection and evaluation.

Testing Types And Models

  • 1.
    Types of TestingV Model Testing Phases Static Testing Reviews Inspection Walkthrough Metrics Dynamic Testing Unit Integration System Regression UAT Exploratory
  • 2.
    SDLC and VModel There are some distinct test phases that take place in each of the software life cycle activity It is easier to visualize through the famous Waterfall model of development and V- model of testing. The V proceeds from left to right, depicting the basic sequence of development and testing activities.
  • 3.
    SDLC and VModel System Test Plan Program Specifications Unit Test cases Integration Test cases Detailed Design System Test cases Functional Design Acceptance Test cases Requirements Specification Acceptance Test Plan Integration Test Plan Unit Test Plan Wishes, Ideas, Concepts Verification Regression Developed System
  • 4.
    V Model Themodel is valuable because it highlights the existence of several levels or phases of testing and depicts the way each relates to a different development phase .
  • 5.
    Static and DynamicTesting Static Dynamic Reviews Walkthrough Desk Check Inspection Exploratory Integration Usability Unit Volume Performance Reliability Security Stress Configuration Recovery Documentation Localization UAT Installability WHITEBOX BLACKBOX System
  • 6.
    Static Testing Walkthrough helps in Approach to Solution Find omission of requirements Style / Concepts Issues Detect Defects Educate Team Members
  • 7.
    Testing Phases Unittesting is code-based and performed primarily by developers to demonstrate that their smallest pieces of executable code function suitably. Integration testing demonstrates that two or more units or other integrations work together properly, and tends to focus on the interfaces specified in low-level design. System testing demonstrates that the system works end-to-end in a production-like environment to provide the business functions specified in the high-level design. Acceptance testing is conducted by business owners and users to confirm that the system does, in fact, meet their business requirements.
  • 8.
    Integration Testing Testingof combined parts of an application to determine if they function together correctly. The main three elements are interfaces, module combinations and global data structures. Attempts to find discrepancies between program & its external specification (program’s description from the point of view of the outside world).
  • 9.
  • 10.
    System Testing Testthe software in the real environment in which it is to operate. (hardware,people,information,etc.) Observe how the system performs in its target environment, for example in terms of speed, with volumes of data, many users, all making multiple requests.
  • 11.
    System Testing Testhow secure the system is and how can the system recover if some fault is encountered in the middle of procession System Testing, by definition, is impossible if the project has not produced a written set of measurable objectives for its product.
  • 12.
    System Testing Typesof System Testing Performance Volume Stress Security Localization Usability Recovery Documentation Configuration Compatibility Reliability Installation
  • 13.
    Performance Testing ManyPrograms have specific performance or efficiency objectives like response time & throughput rates under certain workload & configurable conditions. Necessary to measure the resource utilization (e.g processor cycles). Tested under a variety of operating conditions, configurations and loading.
  • 14.
    Performance Testing Toensure that the system is responsive to user interaction and handles extreme loading without unacceptable operational degradation. To test response time and reliability by increased user traffic. To identify which components are responsible for performance degradation and what usage characteristics cause degradation to occur.
  • 15.
    Volume Testing Tests the performance & behavior of software under large volume of data in the database. In Volume Testing - Application response time, & general performance parameters can be checked.
  • 16.
    Load Testing Followingvariables define a set of test conditions N, the number of concurrent users T, the number of on-line transactions per user per unit time D, the data load processed by the server per transaction
  • 17.
    Stress Testing InStress testing a considerable load is generated as quickly as possible in order to stress the application and analyze the maximum limit of concurrent users the application can support. Stress tests executes a system in a manner that demands resources in abnormal quantity,frequency, or volume.
  • 18.
    Stress Testing Testsshould answer the following questions Does the system degrade gently or does the server shut down? Are appropriate messages displayed ? – Server not available. Are transactions lost as capacity is exceeded? Are certain functions discontinued as capacity reaches the 80 or 90 percent level?
  • 19.
    Security Testing SecurityTesting verifies that protection mechanisms built into the system will protect it from improper penetration. Security testing is the process of executing test cases that subvert the program’s security checks. Test cases should be designed to exercise firewalls, authentication, encryption and authorization
  • 20.
    Localization Testing Localizationtranslates the product UI and occasionally changes some settings to make it suitable for another region The test effort during localization testing focuses on Areas affected during localization, UI and content Culture/locale-specific, language specific and region specific areas
  • 21.
    Usability Testing- HumanComputer Interactions Usability is The effectiveness , efficiency and satisfaction with which specified users can achieve specified goals in a particular environment ISO 9241-11 Effective–- Accomplishes user’s goal Efficient-- Accomplishes the goal quickly Satisfaction–- User enjoys the experience
  • 22.
    Usability Testing- HumanComputer Interactions Test Categories and objectives - Interactivity ( Pull down menus, buttons) - Layout - Readability - Aesthetics - Display characteristics - Time sensitivity - Personalization
  • 23.
    Usability Testing- HumanComputer Interactions Using specialized Test Labs a rigorous testing process is conducted to get quantitative and qualitative data on the effectiveness of user interfaces Representative or actual users are asked to perform several key tasks under close observation, both by live observers and through video recording. During and at the end of the session, users evaluate the product based on their experiences
  • 24.
    Recovery Testing Asystem test that forces the software to fail in variety of ways , checks performed recovery is automatic ( performed by the system itself) reinitialization check pointing mechanisms data recovery restarts are evaluated for correctness
  • 25.
    Documentation Testing Thistesting is done to ensure the validity and usability of the documentation This includes user Manuals, Help Screens, Installation and Release Notes Purpose is to find out whether documentation matches the product and vice versa Well-tested manual helps to train users and support staff faster
  • 26.
    Configuration test Attemptsto uncover errors that are specific to a particular client or server environment. Create a cross reference matrix defining all probable operating systems, browsers, hardware platforms and communication protocols. Test to uncover errors associated with each possible configuration
  • 27.
    Regression Testing RegressionTesting is the testing of software after a modification has been made to ensure the reliability of each software release. Testing after changes have been made to ensure that changes did not introduce any new errors into the system.
  • 28.
    Regression Testing Itapplies to systems in production undergoing change as well as to systems under development. Re-execution of some subset of test that have already been conducted. Test suite contains - Sample of tests that will exercise all software functions - Tests that focus on software functions that are likely to be affected by the change - Tests for software components that have been changed
  • 29.
    User Acceptance TestingA test executed by the end user(s) in an environment simulating the operational environment to the greatest possible extent, that should demonstrate that the developed system meets the functional and quality requirements Not a responsibility of the Developing Organization.
  • 30.
    Exploratory Testing Also known as “Random” testing or “Ad-hoc” testing Exploratory testing is simultaneous learning, test design, and test execution. (…James Bach) A methodical approach-style is desirable
  • 31.
    Exploratory Testing -Tips Test design Crafting Careful Observation Critical thinking Diverse Ideas Pooling resources (knowledge, learnings)
  • 32.
    What Is aTest Strategy? It provides a road map that describes the steps to be conducted as part of testing, when these steps are planned and then undertaken, and how much effort, time and resources will be required. It must incorporate test planning, test case design, test execution and resultant data collection and evaluation.