SlideShare a Scribd company logo
Software Project Management

   Are we delivering right things
Why Testing is required

    •    Delivered results should match with expected
        results

    •   Testing strategy must include
        –   Test Planning
        –   Test Case Design
        –   Test Execution
        –   Resultant Data Collection




http://www.radiantminds.co.in
Verification & Validation
    •    Verification – It is set of tasks that ensures that
        software correctly implements specific functions
        – “Are we building the product right”

    •    Validation – It is set of tasks that ensures that
        the S/w that has been built is traceable to
        customer requirements
        – “Are we building the right product”




http://www.radiantminds.co.in
V & V activities
    •   Technical Reviews
    •   Quality & Configuration audits
    •   Performance monitoring
    •   Documentation Reviews
    •   Database Reviews
    •   Algorithm Analysis
    •   Usability Testing
    •   Acceptance Testing
    •   Installation Testing etc…




http://www.radiantminds.co.in
White Box Testing

    • Developer is suppose to carry out this
      testing in which

        – All independent paths have been exercised at
          least once
        – Exercise all logical decisions
        – Executes all loops and boundaries
        – Exercise Internal Data structures
        – Condition Testing, Data Flow Testing, Loop
          Testing

http://www.radiantminds.co.in
Black Box Testing

    •    It focuses more on functional requirements of
        the software. Generally carried out by testers or
        Business Analysts
        – Requires domain knowledge
        – Data volume, System users
        – Various combination of data and its effect on the
          system




http://www.radiantminds.co.in
V process model

  Feasibility
    Study                                          Review


       User                                      User
   Requirements                               Acceptance


           System                       System
           Design                       Testing


                Program            Program
                 Design             Testing



                          Coding
Testing for Conventional S/w

    • Unit Testing – It applies to the smallest
      unit of S/w design like component or a
      module.

        –   Module interfaces are tested
        –   Information flow is tested
        –   Data structures are tested
        –   All control structures are exercised
        –   Boundary conditions are tested
        –   Error handling paths are tested


http://www.radiantminds.co.in
Testing for Conventional S/w

    • Integration Testing – Putting and
      executing modules together

        – Data can be lost across an interface
        – One component has adverse effect on another
        – Combining sub functions
        – Variables and Memory management
        – Database and file design
        (Find out what is Top-down integration testing
          and Bottom-up integration testing)

http://www.radiantminds.co.in
Testing for Conventional S/w

    •  Regression Testing - Whenever there are any
      changes software needs to be tested again and
      again. If the changes are frequent then the
      efforts spent are much more.
    • Generally automation is done in these cases.




http://www.radiantminds.co.in
Testing for Conventional S/w

    •  Smoke Testing –It is an Integration testing
      approach, designed as a pacing mechanism for
      time critical projects.
    • Focus is more on testing critical functionality and
      not whole system.




http://www.radiantminds.co.in
Alpha & Beta Testing
    •  It is very difficult for S/w developer to foresee
      how the end customer will really use a program.
    • Alpha Test – Conducted by end-user at
      developer’s site. Developer is present during the
      testing. These tests are conducted in controlled
      environment. Developer records all the problems
      encountered




http://www.radiantminds.co.in
Alpha & Best Testing

    •    Beta Testing – It is conducted at one or more
        users site. Developer is not present during
        testing. The environment is not controlled by the
        developer. It is like pre-live run. Customer
        records all the problems

     what is customer acceptance testing ?




http://www.radiantminds.co.in
System Testing

    •  Recovery Testing – Recovery from faults and
      resume processing with little or no down time
    • Security Testing – Protection from hackers, Un-
      happy Employees
    • Stress Testing – Increasing load on the system
      by Users, Data, Executing complex data
      calculations




http://www.radiantminds.co.in
System Testing

    •  Performance Testing - To confirm whether the
      performance requirements are met
    • Deployment Testing – Execution of software on
      variety of platforms and under more than one
      OS. It is also called as Configuration Testing.




http://www.radiantminds.co.in
Testing Web Applications

    • Why it is complex ?

    •  Dynamic UI
    •  Navigation
    •  Performance
    •  Compatibility
    •  Interoperability (Interface with other
      applications)
    • Security


http://www.radiantminds.co.in
Testing Web Applications

    •   Hardware – CPU, Memory, Storage
    •   OS – Linux, Mac, Windows, Mobile based OS
    •   Browser – Firefox, Safari, IE, Chrome, Opera
    •   UI Components – Active X, Java applets
    •   Plug-ins – Quick Time, Real Player
    •   Connectivity – Cable, WiFi, Modem




http://www.radiantminds.co.in
Testing Interface

    •   Links
    •   Forms
    •   Client-side scripting
    •   Dynamic HTML
    •   Pop-up windows
    •   Streaming Contents
    •   Cookies




http://www.radiantminds.co.in
Usability Tests
    •  Layout (easily finding required func.)
    •  Readability
    •  Interactivity (menus, buttons etc)
    •  Aesthetics (Color, font, etc)
    •  Display Characteristics (Use of screen size,
      Resolution etc..)
    • Personalization
    • Accessibility (for disable persons)




http://www.radiantminds.co.in
Security Testing
    • Firewall
    • Authentication (Validation of clients and
      servers)
    • Encryption
    • Authorization

     Find out what is Vulnerability Testing?

     What is Spoofing ?

     Difference Between Load & Stress Testing?
http://www.radiantminds.co.in
Parallel Testing - Why

    •    To ensure that the processing of new application
        (new version) is consistent with respect to the
        processing of previous application version.

    •    Demonstrate consistency and inconsistency
        between 2 versions of the application.




http://www.radiantminds.co.in
Parallel Testing - How

    • Same input data should be run through 2
      versions of same application system

    • Parallel testing can be done with whole
      system or part of system (module)

    • Verification is done through acceptance
      Testing & Stress Testing



http://www.radiantminds.co.in
Parallel Testing - When

    •    When there is uncertainty regarding correctness
        of processing of new application where the new
        and old version are similar.
    •    Application of new patches
    •    Change in Technology
    •    Major application changes
    •    Change in OS




http://www.radiantminds.co.in

More Related Content

Pm 6 testing

  • 1. Software Project Management Are we delivering right things
  • 2. Why Testing is required • Delivered results should match with expected results • Testing strategy must include – Test Planning – Test Case Design – Test Execution – Resultant Data Collection http://www.radiantminds.co.in
  • 3. Verification & Validation • Verification – It is set of tasks that ensures that software correctly implements specific functions – “Are we building the product right” • Validation – It is set of tasks that ensures that the S/w that has been built is traceable to customer requirements – “Are we building the right product” http://www.radiantminds.co.in
  • 4. V & V activities • Technical Reviews • Quality & Configuration audits • Performance monitoring • Documentation Reviews • Database Reviews • Algorithm Analysis • Usability Testing • Acceptance Testing • Installation Testing etc… http://www.radiantminds.co.in
  • 5. White Box Testing • Developer is suppose to carry out this testing in which – All independent paths have been exercised at least once – Exercise all logical decisions – Executes all loops and boundaries – Exercise Internal Data structures – Condition Testing, Data Flow Testing, Loop Testing http://www.radiantminds.co.in
  • 6. Black Box Testing • It focuses more on functional requirements of the software. Generally carried out by testers or Business Analysts – Requires domain knowledge – Data volume, System users – Various combination of data and its effect on the system http://www.radiantminds.co.in
  • 7. V process model Feasibility Study Review User User Requirements Acceptance System System Design Testing Program Program Design Testing Coding
  • 8. Testing for Conventional S/w • Unit Testing – It applies to the smallest unit of S/w design like component or a module. – Module interfaces are tested – Information flow is tested – Data structures are tested – All control structures are exercised – Boundary conditions are tested – Error handling paths are tested http://www.radiantminds.co.in
  • 9. Testing for Conventional S/w • Integration Testing – Putting and executing modules together – Data can be lost across an interface – One component has adverse effect on another – Combining sub functions – Variables and Memory management – Database and file design (Find out what is Top-down integration testing and Bottom-up integration testing) http://www.radiantminds.co.in
  • 10. Testing for Conventional S/w • Regression Testing - Whenever there are any changes software needs to be tested again and again. If the changes are frequent then the efforts spent are much more. • Generally automation is done in these cases. http://www.radiantminds.co.in
  • 11. Testing for Conventional S/w • Smoke Testing –It is an Integration testing approach, designed as a pacing mechanism for time critical projects. • Focus is more on testing critical functionality and not whole system. http://www.radiantminds.co.in
  • 12. Alpha & Beta Testing • It is very difficult for S/w developer to foresee how the end customer will really use a program. • Alpha Test – Conducted by end-user at developer’s site. Developer is present during the testing. These tests are conducted in controlled environment. Developer records all the problems encountered http://www.radiantminds.co.in
  • 13. Alpha & Best Testing • Beta Testing – It is conducted at one or more users site. Developer is not present during testing. The environment is not controlled by the developer. It is like pre-live run. Customer records all the problems what is customer acceptance testing ? http://www.radiantminds.co.in
  • 14. System Testing • Recovery Testing – Recovery from faults and resume processing with little or no down time • Security Testing – Protection from hackers, Un- happy Employees • Stress Testing – Increasing load on the system by Users, Data, Executing complex data calculations http://www.radiantminds.co.in
  • 15. System Testing • Performance Testing - To confirm whether the performance requirements are met • Deployment Testing – Execution of software on variety of platforms and under more than one OS. It is also called as Configuration Testing. http://www.radiantminds.co.in
  • 16. Testing Web Applications • Why it is complex ? • Dynamic UI • Navigation • Performance • Compatibility • Interoperability (Interface with other applications) • Security http://www.radiantminds.co.in
  • 17. Testing Web Applications • Hardware – CPU, Memory, Storage • OS – Linux, Mac, Windows, Mobile based OS • Browser – Firefox, Safari, IE, Chrome, Opera • UI Components – Active X, Java applets • Plug-ins – Quick Time, Real Player • Connectivity – Cable, WiFi, Modem http://www.radiantminds.co.in
  • 18. Testing Interface • Links • Forms • Client-side scripting • Dynamic HTML • Pop-up windows • Streaming Contents • Cookies http://www.radiantminds.co.in
  • 19. Usability Tests • Layout (easily finding required func.) • Readability • Interactivity (menus, buttons etc) • Aesthetics (Color, font, etc) • Display Characteristics (Use of screen size, Resolution etc..) • Personalization • Accessibility (for disable persons) http://www.radiantminds.co.in
  • 20. Security Testing • Firewall • Authentication (Validation of clients and servers) • Encryption • Authorization Find out what is Vulnerability Testing? What is Spoofing ? Difference Between Load & Stress Testing? http://www.radiantminds.co.in
  • 21. Parallel Testing - Why • To ensure that the processing of new application (new version) is consistent with respect to the processing of previous application version. • Demonstrate consistency and inconsistency between 2 versions of the application. http://www.radiantminds.co.in
  • 22. Parallel Testing - How • Same input data should be run through 2 versions of same application system • Parallel testing can be done with whole system or part of system (module) • Verification is done through acceptance Testing & Stress Testing http://www.radiantminds.co.in
  • 23. Parallel Testing - When • When there is uncertainty regarding correctness of processing of new application where the new and old version are similar. • Application of new patches • Change in Technology • Major application changes • Change in OS http://www.radiantminds.co.in