+ All Categories
Home > Documents > CAinc Introduction_to_Testing.ppt

CAinc Introduction_to_Testing.ppt

Date post: 02-Jun-2018
Category:
Upload: anil
View: 220 times
Download: 0 times
Share this document with a friend

of 52

Transcript
  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    1/52

    Welcome to ConsultAdd Inc

    TestingTraining

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    2/52

    Goal

    To learn about...Software Development Life Cycle Software Testing

    Software Testing Terminology Roles and Responsibilities of a QA Tester Test PlanTest Cases

    Defect Reporting and TrackingOther Test Documents

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    3/52

    Software Development Life Cycle

    Initiate the ProjectDefine the SystemDesign the SystemBuild the SystemTest the SystemDeploy the System

    Support the System

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    4/52

    Software Development Life Cycle

    Initiate the ProjectThe users identify their BusinessRequirements.

    Define the SystemThe marketing people of the Softwaredevelopment team, take requirements fromthe users. During the requirements phase theproblem to be solved is clearly defined. Thebusiness requirements are translated intosystem specifications and put together intoSystem Specification Document.

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    5/52

    Software Development Life Cycle

    The following list suggests the informationthat should be recorded in therequirements.

    Program functions (what the programmust do)The form, format, data types and unitsfor inputThe form, format, data types and unitsfor outputHow exceptions, errors and deviationsmust be handled

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    6/52

    Software Development Life Cycle

    Design the SystemThe System Architecture Team design thesystem and write Functional Design Document.

    During design phase general solutions arehypothesized and data and process structuresare organized.

    Build the SystemThe system specification and designdocuments are given to the development andtest teams. The development team code themodules by following the Requirements andDesign document.

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    7/52

    Software Development Life Cycle

    Test the SystemThe Test Team develops the test plan followingthe requirements. The software is build and

    installed on the test platform after developershave completed development and Unit Testing.The testers test the software by following theTest Plan.

    Deploy the SystemAfter User Acceptance Testing and certificationof the software, it is installed on the productionplatform. Demos and training are given to theusers.

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    8/52

    Software Development Life Cycle

    Support the SystemAfter the software is in production, themaintenance phase of the life begins. At this

    point, the two teams (Development and Test)resume their individual roles: the DevelopmentTeam works with the development documentstaff to modify and enhance the application;the Test Team works with the test

    documentation staff to verify and validate thechanges and enhancement to the applicationsoftware.

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    9/52

    Introduction to Software Testing

    Software TestingTesting a software is just like testinganything else. The idea is to find outwhether the software does what is issupposed to do. Once the testers knowwhat the software is supposed to do,they would do anything and everything

    to see if there is any error or any partof the software that doesnt work asstated in the Requirement Document.

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    10/52

    Why to Test the Software

    Software development companies usually developsoftware for others. The clients spend millions ofdollars for developing a software. If a softwaredevelopment company produces a software thatgives the end user a lot of trouble then that clientcompany would think twice to ask the samecompany to develop any more software for them.When someone forms a software developmentcompany, the company tries to do everything sothat clients come back for more quality software.Since the companies want to stay in the business,they would do everything to make sure that thesoftware is error free.

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    11/52

    Why to Test the Software

    The only way of getting more business is toproduce quality software which is dependable anderror free. The only way to produce error freesoftware is to test the software spending as much

    time as possible.All software products contain defects/bugs,despite the best efforts of their developmentteams. It is important for an outside party (onewho is not developer) to test the product from aviewpoint that is more objective andrepresentative of the product user.

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    12/52

    Why to Test the Software

    Programmers are too close the their product, andhave certain assumptions about them. Inparticular, the programmers may havemisinterpreted the specifications for the product,and some of those specifications will not berealized unless the product is tested by anindependent party.The testers test the software from therequirements point of view or what is required bythe user. Testers job is to examine a programand see if it does what it is supposed to do andalso see what it does not what it is not supposedto do.

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    13/52

    QC Vs QA

    QC is anabbreviation forQuality Control.

    Quality ControlTeam makes surethat theapplication meets

    the requirementsas per thedocuments.Finds out the

    problems and

    QA is anabbreviation forQuality Assurance.

    Quality Assurancegroup focuses onthe overall processfor achieving the

    better quality ofthe product.Works oneliminating the

    reasons behind the

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    14/52

    Phases of Testing

    There are several phases of testing forsoftware products:

    Unit Testing

    Integration TestingSystem TestingUser Acceptance Testing

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    15/52

    Phases of Testing

    Unit TestingUnit Testing is performed by the developers.Unit Testing is also called as Module Testing.

    During Unit Testing, a developer tests a singlemodule.

    Integration TestingIntegration Testing is performed by thedevelopers or testers. During IntegrationTesting the modules are integrated togetherand end-to-end testing is performed. Also theinterface between the modules is tested.

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    16/52

    Phases of Testing

    System TestingAfter the completion of the Integration Testing,product is handled over to the System Testing

    Team. In System Testing the features andrequirements of the product as described inthe Requirement Document are tested. Onlyafter the System Test Team determines thatthe product meets a predetermined quality

    level, should the product be signed off andsend for System Integration Testing.

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    17/52

    Phases of Testing

    System Integration TestingAfter the completion of System Testing,product is handled over to the System

    Integration testing team. In systemintegration testing the compatibility of theproduct with other applications is tested. Onlyafter the System Integration Test Teamdetermines that the product meets a

    predetermined quality level and has nocompatibility issues, should the product bereleased.

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    18/52

    Phases of Testing

    User Acceptance TestingIt is also called as Beta Testing. Once SystemTesting is done and the system seems stable

    to the developers and testers, systemengineers usually invite the end users of thesoftware to see if they like the software. If theusers like the software the way it is thensoftware will be delivered to the user after

    passing through the System IntegrationTesting. Otherwise necessary changes will bemade to the software and software will passthrough all phases of testing again.

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    19/52

    System Testing

    System Testing encompasses a wide variety ofareas that should be tested.

    FEATURES

    Functional TestingThe product should be tested against theRequirement Document to ensure that theproduct conforms with what was specified.Testing should also be performed against thedocumentation for the product.

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    20/52

    System Testing

    Limit (Boundary) TestingSystem limits should be tested at and aroundtheir boundaries, both for input and output.

    This should be done not only for data valueranges, but also for size of input/output.

    Storage TestingStorage specification should be tested todetermine whether the storage system cansuccessfully accommodate required amounts ofdata .

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    21/52

    System Testing

    INDUSTRIAL STRENGTH Performance Testing

    Timings for both read and update transactionsshould be gathered to determine whethersystem functions are being performed in anacceptable timeframe. This should be donestand-alone and then in a multi-userenvironment to determine the transaction

    throughput.

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    22/52

    System Testing

    Volume TestingLarge volumes of data should be fed to thesystem to determine if it can correctly process

    such amounts. Systems can often respondunpredictably when large volume causes filesto overflow and need extensions.

    Stress TestingLoads that result from large number ofsimultaneous users, transactions and/ordevices, are needed to test the system todetermine whether it can handle peak usageperiods. Throughput and system stabilityshould be monitored.

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    23/52

    System Testing

    Recovery TestingA system should be tested to see how itresponds to errors and abnormal conditions,

    such as system crash, loss of device,communications, or power.

    Reliability/Availability TestingThis testing is concerned with issues such asmean-time-to failure, and usually requiresextensive testing over long periods of time.

    Security TestingThe system should be secure fromunauthorized use and unauthorized data

    access.

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    24/52

    System Testing

    ENVIRONMENT Installation Testing

    The tester should install the system to

    determine whether the installation process isviable. The installation document must befollowed in order to determine its accuracy.

    Configuration Testing

    The system should be tested to determinewhether it works correctly with the appropriatehardware and software configurations.

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    25/52

    System Testing

    Compatibility TestingThe system should be tested to determinewhether it is compatible with other systems

    that it needs to interface with.USABILITY Error Testing

    The system should exit gracefully upon an

    error and leave its environment in apredictable and reasonable state. Appropriateand understandable messages should begenerated.

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    26/52

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    27/52

    Regression Testing

    Imagine finding an error, fixing it andthen re-testing it.Regression Testing refers to executing astandard series of tests to make sure thatthe change did not disturb anything else.Sometime fixing a problem causes a newproblem in some part of the application,which had no problems before.Automation Tools are useful for theRegression Testing.

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    28/52

    Positive Vs Negative Testing

    Positive Testingmeans testing theapplication to

    validate thatapplication isdoing what it issupposed to do.

    Negative Testingmeans testing theapplication to

    validate thatapplication is notdoing somethingwhat it is not

    supposed to do.

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    29/52

    Required Product Knowledge forTesting

    For Unit and Integration testing, detailedknowledge of modules internals is required.Developers must consider their algorithms, datastructures and how these are actuallyimplemented in code. Such testing is generallyreferred to as White Box Testing (or Glass -BoxTesting or Logic Driven Testing). Since SystemTesting is performed by personnel outside thedevelopment team, such intimate knowledge ofthe product will not exist. In fact, during SystemTesting, the focus is generally on the productspecifications. System Testing generally referredto as Black - Box Testing (or Data Driven Testing)approach, where program internals are notconsidered.

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    30/52

    QA Tester

    Roles and ResponsibilitiesUnderstanding the Business and SystemRequirements

    Documenting Test PlanDocumenting Test CasesSetting up the Test EnvironmentExecution of Test Cases

    Defect Reporting and TrackingWriting Summary ReportsParticipating in Meetings, Walkthroughs, andDemos

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    31/52

    Test Plan

    Test Plan is a detailed document thatdescribes the entire testing process. MostTest Plans contain lists, tables, outlines

    and metrics. Test plan can be one bigdocument or small separate documents.There are industry defined standards forwriting Test Plans.

    Making a detailed Test Plan is veryimportant because it helps to performtesting more effectively and efficiently.

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    32/52

    Test Plan

    Following information usually goes in aTest Plan:

    Unique Test Plan Name

    Contact ListApprovalsGeneral IntroductionFeature that will be tested for the presentreleaseFeature that wont be tested for the presentreleaseApproachPass/Fail Criteria

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    33/52

    Test Plan

    Suspension Criteria and ResumptionRequirementsTest Deliverables

    Environment NeedsResponsibilitiesStaffing and Training NeedsScheduleRisk and ContingenciesExit Criteria

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    34/52

    Test Plan

    Unique Test Plan NameEvery Test Plan has a unique name by whichpeople can refer to it for future use.

    Contact ListThis section contains information about thedevelopers and System Engineers. It containsdevelopers and system engineers name andphone number etc., So that the testers wouldknow who to contact if there is a problem withthe program or the requirements.

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    35/52

    Test Plan

    ApprovalsThis section contains the information aboutwho has to approve the Test Plan also the

    space for the signatures.General IntroductionGeneral Introduction contains high leveldescription of the testing process. It alsocontains references to all testing standardsthat company follows.

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    36/52

    Test Plan

    Features that will be tested for thepresent release

    This section usually contains the list of features

    or items that will be tested for the presentrelease of the software. This section alsocontains list of all the documents that will bereferred to in the test plan document.

    Features that wont be tested for thepresent release

    This section contains the list of all the featuresthat wont be tested and reason why theywont be tested for this release.

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    37/52

    Test Plan

    ApproachThis section contains overall approach oftesting: who does it, main activities,techniques and tools used for group offeatures. How will you decide that a group offeatures is adequately tested?

    Pass/Fail CriteriaThis section contains information about howdoes a tester decide whether the programpassed or failed a given test.

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    38/52

    Test Plan

    Suspension Criteria & ResumptionRequirements

    This section contains anything that would

    cause to stop testing until it is fixed. Whatwould have to be done to get you to restarttesting? What tests should be redone at thispoint?

    Test DeliverablesThis section lists all of the testing documentsthat will be written for this product.

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    39/52

    Test Plan

    Environment NeedsThis section describe the necessary hardware,software, testing tools, lab facilities, etc..

    ResponsibilitiesThis section contains the people responsible formanaging, designing, preparing, executing,checking, fixing, resolving, getting you theequipment, etc...

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    40/52

    Test Plan

    Staffing and Training NeedsThis section contains people you need at eachskill level, and what training they need.

    ScheduleThis section lists all milestones with dates, andwhen all resources (people, machine, tools andfacilities) will be needed.

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    41/52

    Test Plan

    Risk and ContingenciesThis section contains the risk assumptions inthe test plan. What can go sufficiently wrongto delay the schedule and what can you doabout it?

    Exit CriteriaThis section contains the information abouthow you will finish your testing. How you willdecide that application is ready for production?

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    42/52

    Test Case

    A Test Case is a step by step description of howto test for a specific scenario. A Test Case needsto contain such level of details so that a personwho never used that software can follow the testcase to test the software. Usually Test Cases arewritten by following certain templates.A template is nothing but a format that a testerwould use for uniformity.Test Cases are written based on the base-linedSystem Requirements Document. If requirementsare not clear testers contact the System Engineerfor clarification.

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    43/52

    Test Case

    Test Case ExecutionOnce the Test Cases are base-lined and theproper environment for testing is set up, thetesters would follow the test cases to test thesoftware. Lot of times the testers would usetheir instincts to find errors instead of justblindly following the test cases.The Test Cases usually state what the

    expected result is. The tester actually works onthe application following the test case stepsand makes sure that the Actual Result andExpected Result are matching.

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    44/52

    Defect Reporting and Tracking

    Defect Reporting is also known by the term MR -Modification Request.MR - Modification Request is nothing but arequest to modify the program so that it doeswhat it is supposed to do. Tester writes aModification Request for reportingproblems/errors in the software.During Test Case execution, if a tester finds outthat the Actual Result is not matching with theExpected Result, after analyzing and making surethat the Test Step is correct, a tester must createa MR or Modification Request.

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    45/52

    MR - Modification Request

    Following information is contained in a MR- Modification Request:

    Test Case NumberDate CreatedStatus of MR

    OpenOn holdRe-test

    Re-openedClosedDeferred

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    46/52

    MR - Modification Request

    Severity of MRCriticalHighMediumLow

    Detected during what phaseRequirements that were testedDescription of how the testing was done sothat the programmer can reproduce the testingscenario and see how the tester found thatproblem.

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    47/52

    MR - Modification Request

    What exactly happened after certain input wasgiven (actual result)What was supposed to happen (expectedresult)Any suggestions or recommendations for fixingthe problem.Attachments like screen print of errors oroutput etc. For more clarity about the problem.

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    48/52

    MR - Modification Request

    MR Life CycleOnce a MR is created, the developer is notifiedand he/she will fix the code. Once the code isfixed the tester will be notified and he/she willrun the same exact test to test that part,(Regression Testing) will be performed. If itworks this time then test case passes andstatus of MR is changed to closed, but if itgives the same error then the tester wouldchange the status of MR to re-opened. Afterthe problem is fixed by the programmer,regression testing will be performed by thetesters again.

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    49/52

    Other Test Documents

    Following are the other important TestDocuments:

    Test Log

    Test Incident ReportTest Summary Report

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    50/52

    Test Log

    This is a chronological record of the Testexecutions and events that happenedduring testing. It includes the following

    sections:Test Log IdentifierDescription: Whats being tested, includingVersion ID, where testing is being done, whathardware and all other configurationinformation.Activity and Event Entries: What happenedincludingExecution Description: The procedure used.

    Procedure Result: What happened. What did

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    51/52

    Test Log

    Environment Information: Any changes(hardware substitution) made specifically forthis test.Unexpected Events: What happened before

    and after problem/bug occurred.Incident/Bug Report Identifiers: Problem

    Report number.

  • 8/10/2019 CAinc Introduction_to_Testing.ppt

    52/52

    Test Summary Report

    This is a summary of series of tests, ofthe type that you might issue aftercompleting a cycle of testing. It briefly

    describes the testing done and evaluatesthe results. It includes the followingsections:

    Summary

    Comprehensive AssessmentSummary of ResultsEvaluationSummary of ActivitiesApprovals


Recommended