SOFTWARE TESTING BY: Aurobindo Nayak
CONTENTS:- Testing Fundamentals  What Is Software Testing ? Why Testing? Testing Lifecycle Testing Principles Testing Process
Testing performed in most organizations, is a process designed to compensate for an ineffective software development process. Testing  is no longer an adjunct to the system development life cycle, but  rather  a key part of it. What is primary role of software testing  ??? Determine whether the system meet  specifications  (producer view).
What is Testing…. ???
A way of establishing confidence that a program does what it is supposed to do? Testing is the process of executing a program with the intent of finding errors ->Assume that the program contains errors and then test the  program to find as many of the error as possible Testing is a destructive yet creative process
Verifies that all requirements are implemented correctly (both for positive and negative conditions) Identifies defects before software deployment Helps improve quality and reliability. Makes software predictable in behavior. Reduces incompatibility and interoperability issues. Helps marketability and retention of customers. Give programmers information they can use to prevent bugs and create useful software
Portability Testability Understandability Modifiability Efficiency Usability Reliability Dimensions / Attributes of Software Quality  ->
Time Late Releases Projects need to be reworked or abandoned Money Budget over-runs Defects are 100 to 1000 times more costly to find and repair after deployment Quality Developers unsure of product quality Products released with undiscovered or unresolved defects
Testing Life Cycle…..
The Scenarios Design and the Test Case Development could normally start in parallel with the Development Cycle. Test Execution Synchs up with the Development Cycle during the functional Testing Phases Requirements Capture Analysis Test planning & Scenario Design Test Case Development Test Execution Test Result Analysis Test Cycle Closure Defect Fixing Cycle Defects New Version
Testing Lifecycle…………. Test requirements identification Test Data Preparation Test Environment Setup Analysis Validate for testability Test Planning and Scenario design Develop Test Objectives Identify Test Items  Resources and Schedules
Testing Lifecycle (Contd.) Test Case Development Test Case Specification Pre-requisites, post-requisites and Acceptance criteria Test Execution Run Tests and Validate Results Bug Reporting Bug fixes and retesting Test Result Analysis Defect Analysis Determining Test Set Coverage and Effectiveness
Testing principles………..
Be creative and have an attitude to  HACK / BREAK. All tests should be  traceable  to the requirements Exhaustive/complete testing is not feasible, so  optimize tests based on priority  and criticality “ Divide and Conquer”  – Begin “in the small” and progress towards testing “in the large” If 2 tests should return the same result, one is not needed. Automate  tests, wherever feasible Create  reusable  test artifacts/scenarios.
Testers: Role  - Execute tests, record test scripts, maintain statistics and metrics, check test data setup, test environment setup, execute re-tests Knowledge  - Understanding of the importance of testing, awareness of tools, how to progress against a plan Experience  - Following instructions, problem reporting and solving, and relevant testing tools. Developers Users Test Analyst Test Manager
Test Plan :  A formal test plan is a document that provides and records important information about a test project, for example: Resources, Schedule & Timeline, Test Milestones, Use cases and/or Test cases  Test Environment/Bed:  An environment containing the hardware, instrumentation, simulators, software tools, and other support elements needed to conduct a test  Test Case:  A set of test inputs, execution conditions and expected results. Test Data:  The actual (set of) values used in the test or that are necessary to execute the test. Test Tools:  Winrunner, Loadruner, Test Director, WebLoad etc. are widely used tools. Test Scripts:  is used to test a particular functionality (business rule). It may consist of 1 or more Test Cases. Test Log:  A chronological record of all relevant details about the execution of a test  Bug Reports:  Contains a summary of the bug, its priority and other details regarding the bug.
TESTING PROCESS…->
Unit testing Integration testing System testing
Manual Testing is defined as developing and executing tests that rely primarily on direct human interaction throughout the entire test case, especially in terms of evaluating correctness and ascertaining test status. Automation is defined as developing and executing tests that can run unattended, comparing the actual to expected results and logging status. The rest of the paper will concentrate primarily on automation testing.
Mercury Functional Testing Win Runner Test Director LoadRunner IBM Rational Robot
Regression testing with Mercury's Win Runner software offers your organization a powerful tool that captures, verifies, and replays user interactions automatically, so you can identify defects and ensure that business processes work flawlessly upon deployment and remain reliable.
TestDirector is Mercury Interactive’s software test management tool. It helps quality assurance personnel plan and organize the testing process. With TestDirector you can create a database of manual and automated tests, build test cycles, run tests, and report and track defects. You can also create reports and graphs to help review the progress of planning tests, running tests, and tracking defects before a software release.
With Mercury  Roadrunner , the leading  load   testing and web performance testing software, you can obtain an accurate picture of end-to-end system  load   testing  … With LoadRunner, you can: Obtain an accurate picture of end-to-end system performance.  Verify that new or upgraded applications meet specified performance requirements.  Identify and eliminate performance bottlenecks during the development lifecycle.
Any Questions ??
Thank You !

SOFTWARE TESTING

  • 1.
    SOFTWARE TESTING BY:Aurobindo Nayak
  • 2.
    CONTENTS:- Testing Fundamentals What Is Software Testing ? Why Testing? Testing Lifecycle Testing Principles Testing Process
  • 3.
    Testing performed inmost organizations, is a process designed to compensate for an ineffective software development process. Testing is no longer an adjunct to the system development life cycle, but rather a key part of it. What is primary role of software testing ??? Determine whether the system meet specifications (producer view).
  • 4.
  • 5.
    A way ofestablishing confidence that a program does what it is supposed to do? Testing is the process of executing a program with the intent of finding errors ->Assume that the program contains errors and then test the program to find as many of the error as possible Testing is a destructive yet creative process
  • 6.
    Verifies that allrequirements are implemented correctly (both for positive and negative conditions) Identifies defects before software deployment Helps improve quality and reliability. Makes software predictable in behavior. Reduces incompatibility and interoperability issues. Helps marketability and retention of customers. Give programmers information they can use to prevent bugs and create useful software
  • 7.
    Portability Testability UnderstandabilityModifiability Efficiency Usability Reliability Dimensions / Attributes of Software Quality ->
  • 8.
    Time Late ReleasesProjects need to be reworked or abandoned Money Budget over-runs Defects are 100 to 1000 times more costly to find and repair after deployment Quality Developers unsure of product quality Products released with undiscovered or unresolved defects
  • 9.
  • 10.
    The Scenarios Designand the Test Case Development could normally start in parallel with the Development Cycle. Test Execution Synchs up with the Development Cycle during the functional Testing Phases Requirements Capture Analysis Test planning & Scenario Design Test Case Development Test Execution Test Result Analysis Test Cycle Closure Defect Fixing Cycle Defects New Version
  • 11.
    Testing Lifecycle…………. Testrequirements identification Test Data Preparation Test Environment Setup Analysis Validate for testability Test Planning and Scenario design Develop Test Objectives Identify Test Items Resources and Schedules
  • 12.
    Testing Lifecycle (Contd.)Test Case Development Test Case Specification Pre-requisites, post-requisites and Acceptance criteria Test Execution Run Tests and Validate Results Bug Reporting Bug fixes and retesting Test Result Analysis Defect Analysis Determining Test Set Coverage and Effectiveness
  • 13.
  • 14.
    Be creative andhave an attitude to HACK / BREAK. All tests should be traceable to the requirements Exhaustive/complete testing is not feasible, so optimize tests based on priority and criticality “ Divide and Conquer” – Begin “in the small” and progress towards testing “in the large” If 2 tests should return the same result, one is not needed. Automate tests, wherever feasible Create reusable test artifacts/scenarios.
  • 15.
    Testers: Role - Execute tests, record test scripts, maintain statistics and metrics, check test data setup, test environment setup, execute re-tests Knowledge - Understanding of the importance of testing, awareness of tools, how to progress against a plan Experience - Following instructions, problem reporting and solving, and relevant testing tools. Developers Users Test Analyst Test Manager
  • 16.
    Test Plan : A formal test plan is a document that provides and records important information about a test project, for example: Resources, Schedule & Timeline, Test Milestones, Use cases and/or Test cases Test Environment/Bed: An environment containing the hardware, instrumentation, simulators, software tools, and other support elements needed to conduct a test Test Case: A set of test inputs, execution conditions and expected results. Test Data: The actual (set of) values used in the test or that are necessary to execute the test. Test Tools: Winrunner, Loadruner, Test Director, WebLoad etc. are widely used tools. Test Scripts: is used to test a particular functionality (business rule). It may consist of 1 or more Test Cases. Test Log: A chronological record of all relevant details about the execution of a test Bug Reports: Contains a summary of the bug, its priority and other details regarding the bug.
  • 17.
  • 18.
    Unit testing Integrationtesting System testing
  • 19.
    Manual Testing isdefined as developing and executing tests that rely primarily on direct human interaction throughout the entire test case, especially in terms of evaluating correctness and ascertaining test status. Automation is defined as developing and executing tests that can run unattended, comparing the actual to expected results and logging status. The rest of the paper will concentrate primarily on automation testing.
  • 20.
    Mercury Functional TestingWin Runner Test Director LoadRunner IBM Rational Robot
  • 21.
    Regression testing withMercury's Win Runner software offers your organization a powerful tool that captures, verifies, and replays user interactions automatically, so you can identify defects and ensure that business processes work flawlessly upon deployment and remain reliable.
  • 22.
    TestDirector is MercuryInteractive’s software test management tool. It helps quality assurance personnel plan and organize the testing process. With TestDirector you can create a database of manual and automated tests, build test cycles, run tests, and report and track defects. You can also create reports and graphs to help review the progress of planning tests, running tests, and tracking defects before a software release.
  • 23.
    With Mercury Roadrunner , the leading load testing and web performance testing software, you can obtain an accurate picture of end-to-end system load testing … With LoadRunner, you can: Obtain an accurate picture of end-to-end system performance. Verify that new or upgraded applications meet specified performance requirements. Identify and eliminate performance bottlenecks during the development lifecycle.
  • 24.
  • 25.

Editor's Notes

  • #11 Explain the testing lifecycle briefly