1b Introduction Stfbegn

Embed Size (px)

Citation preview

  • 8/6/2019 1b Introduction Stfbegn

    1/168

    Learn Software TestingLearn Software Testing

    For BeginnersFor Beginners

  • 8/6/2019 1b Introduction Stfbegn

    2/168

    Introduction & FundamentalsIntroduction & FundamentalsWhat is Quality?What is Quality?

    What is Software Testing?What is Software Testing?

    Why testing is necessary?Why testing is necessary?Who does the testing?Who does the testing?

    What has to be tested?What has to be tested?

    When is testing done?When is testing done?

    How often to test?How often to test?

    What is cost of Quality?What is cost of Quality?

    What are Testing Standards?What are Testing Standards?

  • 8/6/2019 1b Introduction Stfbegn

    3/168

    What is Quality?What is Quality?

    Quality is fitness for use - (JosephJuran)

    Quality is conformance torequirements - (Philip B. Crosby)

    Quality of a product or service is its

    ability to satisfy the needs andexpectations of the customer

  • 8/6/2019 1b Introduction Stfbegn

    4/168

    Demings Learning Cycle of QualityDemings Learning Cycle of Quality

  • 8/6/2019 1b Introduction Stfbegn

    5/168

    Demings Learning Cycle of QualityDemings Learning Cycle of Quality

    Inspection with the aim of finding the bad

    ones and throwing them out is too late,

    ineffective and costly.

    Quality comes not from inspection but

    improvement of the process.

    Dr. W. Edwards Deming Founder of the

    Quality Evolution

  • 8/6/2019 1b Introduction Stfbegn

    6/168

    Jurans Perception of QualityJurans Perception of Quality

  • 8/6/2019 1b Introduction Stfbegn

    7/168

    Most Common Software problemsMost Common Software problems

    Incorrect calculationIncorrect calculation

    Incorrect data edits & ineffective dataIncorrect data edits & ineffective dataeditsedits

    Incorrect matching and merging of dataIncorrect matching and merging of data Data searches that yields incorrectData searches that yields incorrect

    resultsresults

    Incorrect processing of dataIncorrect processing of datarelationshiprelationship

    Incorrect coding / implementation ofIncorrect coding / implementation ofbusiness rulesbusiness rules

    Inadequate software performanceInadequate software performance

  • 8/6/2019 1b Introduction Stfbegn

    8/168

    Confusing or misleading data

    Software usability by end users & Obsolete Software

    Inconsistent processing

    Unreliable results or performance

    Inadequate support of business needs

    Incorrect or inadequate interfaces

    with other systems

    Inadequate performance and securitycontrols

    Incorrect file handling

  • 8/6/2019 1b Introduction Stfbegn

    9/168

    Objectives of testingObjectives of testing

    Executing a program with the intent ofExecuting a program with the intent offinding anfinding an errorerror..

    To check if the system meets theTo check if the system meets the

    requirements and be executedrequirements and be executedsuccessfully in the Intended environment.successfully in the Intended environment.

    To check if the system is Fit for purpose.To check if the system is Fit for purpose.

    To check if the system does what it isTo check if the system does what it isexpected to do.expected to do.

  • 8/6/2019 1b Introduction Stfbegn

    10/168

    Objectives of testingObjectives of testing

    A good test case is one that has aA good test case is one that has aprobability of finding an as yetprobability of finding an as yet

    undiscovered error.undiscovered error.A successful test is one that uncovers aA successful test is one that uncovers a

    yet undiscovered error.yet undiscovered error.

    A good test is not redundant.A good test is not redundant.

    A good test should be best of breed.A good test should be best of breed.

    A good test should neither be too simpleA good test should neither be too simplenor too complex.nor too complex.

  • 8/6/2019 1b Introduction Stfbegn

    11/168

    Objective of a Software TesterObjective of a Software Tester

    Find bugs as early as possible and make sureFind bugs as early as possible and make surethey get fixed.they get fixed.

    To understand the application well.To understand the application well.

    Study the functionality in detail to find where theStudy the functionality in detail to find where the

    bugs are likely to occur.bugs are likely to occur.

    Study the code to ensure that each and everyStudy the code to ensure that each and every

    line of code is tested.line of code is tested.

    Create test cases in such a way that testing isCreate test cases in such a way that testing isdone to uncover the hidden bugs and alsodone to uncover the hidden bugs and also

    ensure that the software is usable and reliableensure that the software is usable and reliable

  • 8/6/2019 1b Introduction Stfbegn

    12/168

    VERIFICATION & VALIDATIONVERIFICATION & VALIDATION

    VerificationVerification -- typically involves reviews and meetingtypically involves reviews and meetingto evaluate documents, plans, code, requirements,to evaluate documents, plans, code, requirements,and specifications. This can be done with checklists,and specifications. This can be done with checklists,issues lists, walkthroughs, and inspection meeting.issues lists, walkthroughs, and inspection meeting.

    ValidationValidation -- typically involves actual testing andtypically involves actual testing andtakes place after verifications are completed.takes place after verifications are completed.

    Validation and Verification process continue inValidation and Verification process continue ina cycle till the software becomes defects free.a cycle till the software becomes defects free.

  • 8/6/2019 1b Introduction Stfbegn

    13/168

    TESTABILITYTESTABILITY

    OperabilityOperability

    ObserveObserve--abilityability

    ControllabilityControllability

    DecomposabilityDecomposability

    StabilityStability

    UnderstandabilityUnderstandability

  • 8/6/2019 1b Introduction Stfbegn

    14/168

    Plan

    Do

    Check

    Action

    Software Development Process Cycle

  • 8/6/2019 1b Introduction Stfbegn

    15/168

    PLAN (P):PLAN (P): Device a plan. Define your objective andDevice a plan. Define your objective anddetermine the strategydetermine the strategy and supporting methodsand supporting methods

    required to achieve that objective.required to achieve that objective.

    DO (D):DO (D): Execute the plan. Create the conditionsExecute the plan. Create the conditionsand perform the necessary training to execute theand perform the necessary training to execute the

    plan.plan.

    CHECK(C):CHECK(C): Check the results. Check to determineCheck the results. Check to determinewhether work is progressing according to the planwhether work is progressing according to the planand whether the results are obtained.and whether the results are obtained.

    ACTION (A):ACTION (A): Take the necessary and appropriateTake the necessary and appropriateaction if checkup reveals that the work is not beingaction if checkup reveals that the work is not beingperformed according to plan or not as anticipated.performed according to plan or not as anticipated.

  • 8/6/2019 1b Introduction Stfbegn

    16/168

    QUALITY PRINCIPLESQUALITY PRINCIPLES

    QualityQuality -- the mostimportant factor affectinganthe mostimportant factor affectinganorganizations longorganizations long--term performance.term performance.

    QualityQuality -- the wayto achieveimprovedthe wayto achieveimprovedproductivityandcompetitiveness inproductivityandcompetitiveness inany organization.any organization.

    QualityQuality -- saves.Itdoes notcost.saves.Itdoes notcost.

    QualityQuality -- is the solutionto the problem, notais the solutionto the problem, notaproblem.problem.

  • 8/6/2019 1b Introduction Stfbegn

    17/168

    Cost ofQuality

    PreventionCost

    Amount spent before the product is actually

    built. Cost incurred on establishing methods

    and procedures, training workers, acquiringtools and planning for quality.

    Appraisalcost

    Amount spent after the product is built butbefore it is shipped to the user. Cost of

    inspection, testing, and reviews.

  • 8/6/2019 1b Introduction Stfbegn

    18/168

    Failure

    Cost

    Amount spent to repair failures.

    Cost associated with defective products

    that have been delivered to the user ormoved into production, costs involve

    repairing products to make them fit as per

    requirement.

  • 8/6/2019 1b Introduction Stfbegn

    19/168

    Quality Assurance Quality Control

    A planned and systematic

    set of activities necessary to

    provide adequate confidence

    that requirements are

    properly established and

    products or services conform

    to specified requirements.

    The process by which

    product quality is compared

    with applicable standards;

    and the action taken whennon-conformance is

    detected.

    An activity that establishesand evaluates the processes

    to produce the products.

    An activity which verifies ifthe product meets pre-

    defined standards.

  • 8/6/2019 1b Introduction Stfbegn

    20/168

    Quality AssuranceQuality Assurance Quality ControlQuality Control

    Helps establish processes.Helps establish processes. Implements the process.Implements the process.

    Sets up measurementsSets up measurements

    programs to evaluateprograms to evaluateprocesses.processes.

    Verifies if specificVerifies if specific

    attributes are in a specificattributes are in a specificproduct or Serviceproduct or Service

    Identifies weaknesses inIdentifies weaknesses in

    processes and improvesprocesses and improves

    them.them.

    Identifies defects for theIdentifies defects for the

    primary purpose ofprimary purpose of

    correcting defects.correcting defects.

  • 8/6/2019 1b Introduction Stfbegn

    21/168

    QA is the responsibility ofQA is the responsibility ofthe entire team.the entire team.

    QC is the responsibility of theQC is the responsibility of thetester.tester.

    Prevents the introduction ofPrevents the introduction of

    issues or defectsissues or defects

    Detects, reports and correctsDetects, reports and corrects

    defectsdefects

    QA evaluates whether or notQA evaluates whether or not

    quality control is working forquality control is working for

    the primary purpose ofthe primary purpose of

    determining whether or notdetermining whether or not

    there is a weakness in thethere is a weakness in the

    process.process.

    QC evaluates if the applicationQC evaluates if the application

    is working for the primaryis working for the primary

    purpose of determining if therepurpose of determining if thereis a flaw / defect in theis a flaw / defect in the

    functionalities.functionalities.

    Responsibilities ofQA andQC

  • 8/6/2019 1b Introduction Stfbegn

    22/168

    QA improves the processQA improves the process

    that is applied to multiplethat is applied to multiple

    products that will ever beproducts that will ever be

    produced by a process.produced by a process.

    QC improves theQC improves the

    development of a specificdevelopment of a specific

    product or service.product or service.

    QA personnel should notQA personnel should not

    perform quality controlperform quality controlunless doing it to validateunless doing it to validate

    quality control is working.quality control is working.

    QC personnel may performQC personnel may perform

    quality assurance tasks ifquality assurance tasks if

    and when required.and when required.

    Responsibilities ofQA andQC

  • 8/6/2019 1b Introduction Stfbegn

    23/168

    SEI CMM

    Software Engineering Institute (SEI) developed Capability

    Maturity Model (CMM)

    CMM describes the prime elements - planning, engineering,managing software development and maintenance

    CMM can be used for

    Software process improvement

    Software process assessment

    Software capability evaluations

  • 8/6/2019 1b Introduction Stfbegn

    24/168

    TheCMMis organizedinto five maturitylevel

    Initial

    Level 1

    Repeatable

    Level 2

    Defined

    Level 3

    ManagedLevel 4

    Optimizing

    Level 5

    Disciplined Process

    StandardConsistenceProcess

    Predictable Process

    Continuous

    Improvement Process

  • 8/6/2019 1b Introduction Stfbegn

    25/168

    Phases of SDLC

    Requirement Specification andAnalysis

    Design

    Coding

    Testing Implementation

    Maintenance

    SOFTWAREDEVELOPMENT LIFE

    CYCLE (SDLC)

  • 8/6/2019 1b Introduction Stfbegn

    26/168

    Requirement Specification

    and Analysis

    UserRequirement

    Specification (USR)

    Software Requirement

    Specification (SRS)

  • 8/6/2019 1b Introduction Stfbegn

    27/168

    The output of SRS is the input of design phase.

    Two types of design -

    High Level Design (HLD)

    Low

    Level

    Design (

    LLD)

    Design

  • 8/6/2019 1b Introduction Stfbegn

    28/168

    List of modules and a brief description of each

    module.

    Brief functionality of each module.

    Interface relationship among modules. Dependencies between modules (ifA exists, B

    exists etc).

    Database tables identified along with key

    elements.

    Overall architecture diagrams along with

    technology details.

    High LevelDesign (HLD)

  • 8/6/2019 1b Introduction Stfbegn

    29/168

    Detailed functional logic of the module, in

    pseudo code.

    Database tables, with all elements,including their type and size.

    All interface details.

    All dependency issues Error message listings

    Complete input and outputs for a module.

    Low LevelDesign (LLD)

  • 8/6/2019 1b Introduction Stfbegn

    30/168

    Breaking down the product into independent

    modules to arrive at micro levels.

    2 different approaches followed in designing

    Top DownApproach

    Bottom UpApproach

    TheDesign process

  • 8/6/2019 1b Introduction Stfbegn

    31/168

    Top-downapproach

  • 8/6/2019 1b Introduction Stfbegn

    32/168

    Bottom-Up Approach

  • 8/6/2019 1b Introduction Stfbegn

    33/168

    Coding

    Developers use the LLD document and

    write the code in the programming languagespecified.

    TestingThe testing process involves development of

    a test plan, executing the plan and

    documenting the test results.

    Implementation

    Installation of the product in its operational

    environment.

  • 8/6/2019 1b Introduction Stfbegn

    34/168

    MaintenanceAfter the software is released and the client starts

    using the software, maintenance phase is started.

    3 things happen - Bug fixing, Upgrade, Enhancement

    Bug fixing bugs arrived due to some untestedscenarios.

    Upgrade Upgrading the application to the newer

    versions of the software.

    Enhancement -Adding some new features into the

    existing software.

  • 8/6/2019 1b Introduction Stfbegn

    35/168

    SOFTWARE LIFECYCLEMODELS

    WATERFALLMODEL

    V-PROCESSMODEL

    SPIRALMODEL

    PROTOTYPEMODEL

    INCREMENTALMODEL

    EVOLUTIONARYDEVELOPMENT

    MODEL

  • 8/6/2019 1b Introduction Stfbegn

    36/168

    ProjectManagementProjectManagement

    Project StaffingProject Staffing

    Project PlanningProject Planning

    Project SchedulingProject Scheduling

  • 8/6/2019 1b Introduction Stfbegn

    37/168

    ProjectStaffingProjectStaffing

    Project budget may not allow to utilizeProject budget may not allow to utilize

    highlyhighly paid staff.paid staff.

    Staff with the appropriate experience may notStaff with the appropriate experience may not

    be available.be available.

  • 8/6/2019 1b Introduction Stfbegn

    38/168

    Project PlanningProject PlanningPlanPlan DescriptionDescription

    Quality planQuality plan Describes the quality procedures andDescribes the quality procedures andstandards used in a project.standards used in a project.

    Validation planValidation plan Describes the approach, resources andDescribes the approach, resources and

    schedule used for system validation.schedule used for system validation.

    ConfigurationConfiguration

    management planmanagement plan

    Describes the configuration managementDescribes the configuration management

    procedures and structures to be used.procedures and structures to be used.

    MaintenanceMaintenance

    planplan

    Predicts the maintenance requirements of thePredicts the maintenance requirements of the

    system/ maintenance costs and effortssystem/ maintenance costs and efforts

    required.required.

    StaffStaff

    development plandevelopment plan

    Describes how the skills and experience ofDescribes how the skills and experience of

    the project team members will be developed.the project team members will be developed.

  • 8/6/2019 1b Introduction Stfbegn

    39/168

    ProjectSchedulingProjectScheduling

    Bar charts and Activity NetworksBar charts and Activity Networks

    Scheduling problemsScheduling problems

  • 8/6/2019 1b Introduction Stfbegn

    40/168

    RISKMANAGEMENTRISKMANAGEMENT

    Risk identificationRisk identification

    RiskAnalysisRiskAnalysis

    RiskPlanningRiskPlanning

    Risk MonitoringRisk Monitoring

  • 8/6/2019 1b Introduction Stfbegn

    41/168

    RiskRisk RiskRisk

    typetype

    DescriptionDescription

    StaffStaff

    turnoverturnover

    ProjectProject Experienced staff will leave theExperienced staff will leave the

    project before it is finished.project before it is finished.

    ManagementManagement

    changechange

    ProjectProject There will be a change ofThere will be a change of

    organizational management withorganizational management with

    different priorities.different priorities.

    HardwareHardware

    unavailabilityunavailability

    ProjectProject Hardware which is essential for theHardware which is essential for the

    project will not be delivered onproject will not be delivered on

    schedule.schedule.

    RequirementsRequirements

    changechange

    Project &Project &

    ProductProduct

    There will be a larger number ofThere will be a larger number of

    changes to the requirements thanchanges to the requirements than

    anticipated.anticipated.

  • 8/6/2019 1b Introduction Stfbegn

    42/168

    RiskRisk RiskRisk

    typetype

    DescriptionDescription

    SpecificationSpecificationdelaysdelays

    Project &Project &ProductProduct

    Specifications of essentialSpecifications of essentialinterfaces are not available oninterfaces are not available on

    schedule.schedule.

    Size underSize under

    estimateestimate

    Project &Project &

    ProductProduct

    The size of the system has beenThe size of the system has been

    under estimated.under estimated.CASE tool underCASE tool under

    performanceperformance

    ProductProduct CASE tools which support theCASE tools which support the

    project do not perform asproject do not perform as

    anticipated.anticipated.

    TechnologyTechnologychangechange

    BusinessBusiness The underlying technology onThe underlying technology onwhich the system is built iswhich the system is built is

    superseded by new technology.superseded by new technology.

    ProductProduct

    competitioncompetition

    BusinessBusiness A competitive product is marketedA competitive product is marketed

    before the system is completed.before the system is completed.

  • 8/6/2019 1b Introduction Stfbegn

    43/168

    PC version

    Initial system DEC

    version

    VMS

    version

    Unix

    version

    Mainframe

    version

    Workstationversion

    ConfigurationManagement

    Sun

    version

  • 8/6/2019 1b Introduction Stfbegn

    44/168

    C

    onfigurationM

    anagement (CM

    )Standards

    CM should be based on a set of standards,which are applied within an organization.

  • 8/6/2019 1b Introduction Stfbegn

    45/168

    CM Planning

    Documents, required for future system

    maintenance, should be identified and included

    as managed documents.

    It defines the types of documents to be

    managed and a document naming scheme.

  • 8/6/2019 1b Introduction Stfbegn

    46/168

    ChangeManagement

    Keeping and managing the changes and

    ensuring that they are implemented in the most

    cost-effective way.

  • 8/6/2019 1b Introduction Stfbegn

    47/168

    Change Request form

    A part of the CM planning process

    Records change required

    Change suggested by

    Reason why change was suggested

    Urgency of change

    Records change evaluation

    Impact analysis

    Change cost

    Recommendations(system maintenance staff)

  • 8/6/2019 1b Introduction Stfbegn

    48/168

    VERSION AND RELEASEMANAGEMENT

    Invent identification scheme for system

    versions and plan when new system version is

    to be produced.

    Ensure that version management procedures

    and tools are properly applied and to plan and

    distribute new system releases.

  • 8/6/2019 1b Introduction Stfbegn

    49/168

    Versions/Variants/Releases

    Variant An instance of a system which isfunctionally identical but non functionallydistinct from other instances of a system.

    Versions An instance of a system, which isfunctionally distinct in some way from othersystem instances.

    Release An instance of a system, which isdistributed to users outside of the developmentteam.

  • 8/6/2019 1b Introduction Stfbegn

    50/168

    SOFTWARETESTING LIFECYCLE -

    PHASES

    Requirements study

    Test Case Design and

    Development

    Test Execution

    Test Closure

    Test ProcessAnalysis

  • 8/6/2019 1b Introduction Stfbegn

    51/168

    Requirements studyRequirements study

    Testing Cycle starts with the study of clientsTesting Cycle starts with the study of clientsrequirements.requirements.

    Understanding of the requirements is veryUnderstanding of the requirements is veryessential for testing the product.essential for testing the product.

  • 8/6/2019 1b Introduction Stfbegn

    52/168

    Analysis & PlanningAnalysis & Planning

    Test objective and coverageTest objective and coverage

    Overall scheduleOverall schedule

    Standards and MethodologiesStandards and Methodologies

    Resources required, including necessaryResources required, including necessary

    trainingtraining

    Roles and responsibilities of the teamRoles and responsibilities of the team

    membersmembers

    Tools usedTools used

  • 8/6/2019 1b Introduction Stfbegn

    53/168

    TestCaseDesignandDevelopmentTestCaseDesignandDevelopment

    Component IdentificationComponent Identification

    Test Specification DesignTest Specification Design

    Test Specification ReviewTest Specification Review

    TestExecutionTestExecution

    Code ReviewCode Review

    Test execution and evaluationTest execution and evaluation

    Performance and simulationPerformance and simulation

  • 8/6/2019 1b Introduction Stfbegn

    54/168

    TestClosureTestClosure

    Test summary reportTest summary report

    Project DeProject De--briefbrief

    Project DocumentationProject Documentation

    Test Process AnalysisTest Process Analysis

    Analysis done on the reports and improving theAnalysis done on the reports and improving theapplications performance by implementing newapplications performance by implementing newtechnology and additional features.technology and additional features.

  • 8/6/2019 1b Introduction Stfbegn

    55/168

    DIFFERENT LEVELSOFDIFFERENT LEVELSOF

    TESTINGTESTING

  • 8/6/2019 1b Introduction Stfbegn

    56/168

    Testing Levels

    Unit testingUnit testing

    Integration testingIntegration testing

    System testingSystem testing

    Acceptance testingAcceptance testing

  • 8/6/2019 1b Introduction Stfbegn

    57/168

    UnittestingUnittesting

    The most micro scale of testing.The most micro scale of testing.

    Tests done on particular functions or codeTests done on particular functions or code

    modules.modules.

    Requires knowledge of the internal programRequires knowledge of the internal program

    design and code.design and code.

    Done by Programmers (not by testers).Done by Programmers (not by testers).

  • 8/6/2019 1b Introduction Stfbegn

    58/168

    Unittesting

    ObjectivesObjectives yy To test the function of a program or unit ofTo test the function of a program or unit of

    code such as a program or modulecode such as a program or module

    yy To test internal logicTo test internal logic

    yy To verify internal designTo verify internal design

    yy To test path & conditions coverageTo test path & conditions coverage

    yy To test exception conditions & errorTo test exception conditions & error

    handlinghandling

    WhenWhen yy After modules are codedAfter modules are coded

    InputInput yy InternalApplicationDesignInternalApplicationDesignyy MasterTest PlanMasterTest Plan

    yy Unit Test PlanUnit Test Plan

    OutputOutput yy Unit Test ReportUnit Test Report

  • 8/6/2019 1b Introduction Stfbegn

    59/168

    WhoWho yyDeveloperDeveloper

    MethodsMethods yyWhite Box testing techniquesWhite Box testing techniques

    yyTest Coverage techniquesTest Coverage techniques

    ToolsTools yyDebugDebugyyReRe--structurestructure

    yyCodeAnalyzersCodeAnalyzers

    yyPath/statement coverage toolsPath/statement coverage tools

    EducationEducation yyTesting MethodologyTesting MethodologyyyEffective use of toolsEffective use of tools

  • 8/6/2019 1b Introduction Stfbegn

    60/168

    IncrementalintegrationtestingIncrementalintegrationtesting

    Continuous testing of an application as andContinuous testing of an application as andwhen a new functionality is added.when a new functionality is added.

    Applications functionality aspects are requiredApplications functionality aspects are requiredto be independent enough to work separatelyto be independent enough to work separately

    before completion of development.before completion of development.

    Done by programmers or testers.Done by programmers or testers.

  • 8/6/2019 1b Introduction Stfbegn

    61/168

    IntegrationTestingIntegrationTesting

    Testing of combined parts of an application toTesting of combined parts of an application to

    determine their functional correctness.determine their functional correctness.

    Parts can beParts can be

    code modulescode modules

    individual applicationsindividual applications

    client/server applications on a network.client/server applications on a network.

  • 8/6/2019 1b Introduction Stfbegn

    62/168

    Types of

    Integration

    Testing

    Types of

    Integration

    Testing

    Big Bang testingBig Bang testing

    Top Down Integration testingTop Down Integration testing

    Bottom Up Integration testingBottom Up Integration testing

  • 8/6/2019 1b Introduction Stfbegn

    63/168

    Integrationtesting

    ObjectivesObjectives yy To technically verify properTo technically verify proper

    interfacing between modules, andinterfacing between modules, and

    within subwithin sub--systemssystems

    WhenWhen yy After modules are unit testedAfter modules are unit tested

    InputInput yy Internal & ExternalApplicationInternal & ExternalApplication

    DesignDesign

    yy MasterTest PlanMasterTest Plan

    yy Integration Test PlanIntegration Test Plan

    OutputOutput yy Integration Test reportIntegration Test report

  • 8/6/2019 1b Introduction Stfbegn

    64/168

    WhoWho yyDevelopersDevelopers

    MethodsMethods yyWhite and Black BoxWhite and Black Box

    techniquestechniques

    yyProblem /Problem /

    ConfigurationConfigurationManagementManagement

    ToolsTools yyDebugDebug

    yy

    ReRe--structurestructureyyCodeAnalyzersCodeAnalyzers

    EducationEducation yyTesting MethodologyTesting Methodology

    yyEffective use of toolsEffective use of tools

    System TestingSystem Testing

  • 8/6/2019 1b Introduction Stfbegn

    65/168

    System TestingSystem Testing

    ObjectivesObjectives yy To verify that the system components performTo verify that the system components performcontrol functionscontrol functions

    yy To perform interTo perform inter--system testsystem test

    yy To demonstrate that the system performs bothTo demonstrate that the system performs both

    functionally and operationally as specifiedfunctionally and operationally as specified

    yy To perform appropriate types of tests relatingTo perform appropriate types of tests relating

    toT

    ransaction Flow, Installation, Reliability,toT

    ransaction Flow, Installation, Reliability,Regression etc.Regression etc.

    WhenWhen yy After Integration TestingAfter Integration Testing

    InputInput yy Detailed Requirements & ExternalApplicationDetailed Requirements & ExternalApplication

    DesignDesignyy MasterTest PlanMasterTest Plan

    yy System Test PlanSystem Test Plan

    OutputOutput yy System Test ReportSystem Test Report

  • 8/6/2019 1b Introduction Stfbegn

    66/168

    WhoWho yyDevelopment Team and UsersDevelopment Team and Users

    MethodsMethods yyProblem / ConfigurationProblem / Configuration

    ManagementManagement

    ToolsTools yyRecommended set of toolsRecommended set of tools

    EducationEducation yyTesting MethodologyTesting Methodology

    yyEffective use of toolsEffective use of tools

    S I i T i

  • 8/6/2019 1b Introduction Stfbegn

    67/168

    Systems IntegrationTesting

    ObjectivesObjectives yy To test the coTo test the co--existence of products andexistence of products andapplications that are required to performapplications that are required to perform

    together in the productiontogether in the production--like operationallike operational

    environment (hardware, software, network)environment (hardware, software, network)

    yy To ensure that the system functions togetherTo ensure that the system functions together

    with all the components of its environment as awith all the components of its environment as a

    total systemtotal systemyy To ensure that the system releases can beTo ensure that the system releases can be

    deployed in the current environmentdeployed in the current environment

    WhenWhen yy After system testingAfter system testingyy

    Often performed outside of project lifeOften performed outside of project life--cyclecycleInputInput yy Test StrategyTest Strategy

    yy MasterTest PlanMasterTest Plan

    yy Systems Integration Test PlanSystems Integration Test Plan

    Output

    Output

    yy Systems Integration Test reportSystems Integration Test report

  • 8/6/2019 1b Introduction Stfbegn

    68/168

    WhoWho yySystem TestersSystem Testers

    MethodsMethods yyWhite and Black Box techniquesWhite and Black Box techniques

    yyProblem / ConfigurationProblem / Configuration

    ManagementManagement

    ToolsTools yyRecommended set of toolsRecommended set of tools

    EducationEducation yyTesting MethodologyTesting Methodology

    yyEffective use of toolsEffective use of tools

  • 8/6/2019 1b Introduction Stfbegn

    69/168

    Acceptance Testing

    ObjectivesObjectives yy To verify that the system meetsTo verify that the system meets

    the user requirementsthe user requirements

    WhenWhen yy After System TestingAfter System Testing

    InputInput yy Business Needs & DetailedBusiness Needs & Detailed

    RequirementsRequirements

    yy MasterTest PlanMasterTest Plan

    yy UserAcceptance Test PlanUserAcceptance Test Plan

    OutputOutput yy UserAcceptance Test reportUserAcceptance Test report

  • 8/6/2019 1b Introduction Stfbegn

    70/168

    WhoWho Users / End UsersUsers / End Users

    MethodsMethods yyBlack Box techniquesBlack Box techniquesyyProblem / ConfigurationProblem / Configuration

    ManagementManagement

    ToolsTools Compare, keystroke capture & playback,Compare, keystroke capture & playback,

    regression testingregression testing

    EducationEducation yyTesting MethodologyTesting Methodology

    yyEffective use of toolsEffective use of toolsyyProduct knowledgeProduct knowledge

    yyBusiness Release StrategyBusiness Release Strategy

  • 8/6/2019 1b Introduction Stfbegn

    71/168

    TESTING METHODOLOGIESTESTING METHODOLOGIES

    ANDTYPESANDTYPES

  • 8/6/2019 1b Introduction Stfbegn

    72/168

    Testing methodologiesTesting methodologies

    Black box testingBlack box testing

    White box testingWhite box testing

    Incremental testingIncremental testing

    Thread testingThread testing

  • 8/6/2019 1b Introduction Stfbegn

    73/168

  • 8/6/2019 1b Introduction Stfbegn

    74/168

    Incorrect or missing functionsIncorrect or missing functions

    Interface errorsInterface errors

    Errors in data structures or external databaseErrors in data structures or external databaseaccessaccess

    Performance errorsPerformance errors

    Initialization and termination errorsInitialization and termination errors

    BLACKBOXBLACKBOX -- TESTINGTESTING

    TECHNIQUETECHNIQUE

  • 8/6/2019 1b Introduction Stfbegn

    75/168

    Black box / FunctionaltestingBlack box / Functionaltesting

    Based on requirements and functionalityBased on requirements and functionality

    Not based on any knowledge of internalNot based on any knowledge of internaldesign or codedesign or code

    Covers all combined parts of a systemCovers all combined parts of a system

    Tests are data drivenTests are data driven

  • 8/6/2019 1b Introduction Stfbegn

    76/168

    White boxtesting / StructuraltestingWhite boxtesting / Structuraltesting

    Based on knowledge of internal logic of anBased on knowledge of internal logic of an

    application's codeapplication's code

    Based on coverage of code statements,Based on coverage of code statements,

    branches, paths, conditionsbranches, paths, conditions

    Tests are logic drivenTests are logic driven

  • 8/6/2019 1b Introduction Stfbegn

    77/168

    FunctionaltestingFunctionaltesting

    Black box type testing geared to functionalBlack box type testing geared to functional

    requirements of an application.requirements of an application. Done by testers.Done by testers.

    System testingSystem testing

    Black box type testing that is based on overallBlack box type testing that is based on overallrequirements specifications; covering all combinedrequirements specifications; covering all combined

    parts of the system.parts of the system.

    EndEnd--toto--endtestingendtesting

    Similar to system testing; involves testing of aSimilar to system testing; involves testing of a

    complete application environment in a situation thatcomplete application environment in a situation that

    mimics realmimics real--world use.world use.

  • 8/6/2019 1b Introduction Stfbegn

    78/168

    SanitytestingSanitytesting

    Initial effort to determine if a new softwareInitial effort to determine if a new software

    version is performing well enough to acceptversion is performing well enough to accept

    it for a major testing effort.it for a major testing effort.

    RegressiontestingRegressiontesting

    ReRe--testing after fixes or modifications of thetesting after fixes or modifications of the

    software or its environment.software or its environment.

  • 8/6/2019 1b Introduction Stfbegn

    79/168

    AcceptancetestingAcceptancetesting

    Final testing based on specifications of theFinal testing based on specifications of theendend--user or customeruser or customer

    LoadtestingLoadtesting

    Testing an application under heavy loads.Testing an application under heavy loads.

    Eg. Testing of a web site under a range ofEg. Testing of a web site under a range ofloads to determine, when the systemloads to determine, when the systemresponse time degraded or fails.response time degraded or fails.

  • 8/6/2019 1b Introduction Stfbegn

    80/168

    Stress TestingStress Testing

    Testing under unusually heavy loads, heavyTesting under unusually heavy loads, heavyrepetition of certain actions or inputs, input ofrepetition of certain actions or inputs, input oflarge numerical values, large complex querieslarge numerical values, large complex queriesto a database etc.to a database etc.

    Term often used interchangeably with loadTerm often used interchangeably with loadand performance testing.and performance testing.

    PerformancetestingPerformancetesting

    Testing how well an application complies toTesting how well an application complies toperformance requirements.performance requirements.

  • 8/6/2019 1b Introduction Stfbegn

    81/168

    Install/uninstalltestingInstall/uninstalltesting

    Testing of full,partial or upgradeTesting of full,partial or upgrade

    install/uninstall process.install/uninstall process.

    RecoverytestingRecoverytesting

    Testing how well a system recovers fromTesting how well a system recovers from

    crashes, HW failures or other problems.crashes, HW failures or other problems.

    CompatibilitytestingCompatibilitytesting

    Testing how well software performs in aTesting how well software performs in a

    particular HW/SW/OS/NW environment.particular HW/SW/OS/NW environment.

  • 8/6/2019 1b Introduction Stfbegn

    82/168

    Exploratorytesting / adExploratorytesting / ad--hoctestinghoctesting Informal SW test that is not based on formal testInformal SW test that is not based on formal test

    plans or test cases; testers will be learning theplans or test cases; testers will be learning theSW in totality as they test it.SW in totality as they test it.

    ComparisontestingComparisontesting

    Comparing SW strengths and weakness toComparing SW strengths and weakness tocompeting products.competing products.

  • 8/6/2019 1b Introduction Stfbegn

    83/168

    AlphatestingTesting done when development is nearing

    completion; minor design changes may still

    be made as a result of such testing.

    Beta-testing

    Testing when development and testing are

    essentially completed and final bugs andproblems need to be found before release.

  • 8/6/2019 1b Introduction Stfbegn

    84/168

    MutationtestingMutationtesting

    To determining if a set of test data or test cases isTo determining if a set of test data or test cases is

    useful, by deliberately introducing various bugs.useful, by deliberately introducing various bugs.

    ReRe--testing with the original test data/cases totesting with the original test data/cases todetermine if the bugs are detected.determine if the bugs are detected.

  • 8/6/2019 1b Introduction Stfbegn

    85/168

    WhiteBoxWhiteBox -- TestingTesting

  • 8/6/2019 1b Introduction Stfbegn

    86/168

    WhiteBoxWhiteBox -- testingtechniquetestingtechnique

    All independent paths within a module have beenAll independent paths within a module have beenexercised at least onceexercised at least once

    Exercise all logical decisions on theirExercise all logical decisions on theirtruetrue andandfalsefalse

    sidessides

    Execute all loops at their boundaries and within theirExecute all loops at their boundaries and within theiroperational boundsoperational bounds

    Exercise internal data structures to ensure theirExercise internal data structures to ensure theirvalidityvalidity

  • 8/6/2019 1b Introduction Stfbegn

    87/168

    This white box technique focuses on the validityThis white box technique focuses on the validityof loop constructs.of loop constructs.

    4 different classes of loops can be defined4 different classes of loops can be defined simple loopssimple loops

    nested loopsnested loops

    concatenated loopsconcatenated loops

    Unstructured loopsUnstructured loops

    Loop Testing

  • 8/6/2019 1b Introduction Stfbegn

    88/168

    Other WhiteBoxTechniquesOther WhiteBoxTechniques

    StatementCoverageStatementCoverage execute all statements at least onceexecute all statements at least once

    DecisionCoverageDecisionCoverage execute each decision direction at leastexecute each decision direction at leastonceonce

    ConditionCoverageConditionCoverage execute each decision with all possibleexecute each decision with all possibleoutcomes at least onceoutcomes at least once

    Decision / ConditioncoverageDecision / Conditioncoverage execute all possibleexecute all possiblecombinations of condition outcomes incombinations of condition outcomes in

    each decision.each decision.

    MultipleconditionCoverageMultipleconditionCoverage Invokes each point of entry atInvokes each point of entry atleast once.least once.

    Examples Examples

    S CS C E lE l

  • 8/6/2019 1b Introduction Stfbegn

    89/168

    StatementCoverageStatementCoverage ExamplesExamples

    Eg. A + BEg. A + B

    If (A = 3) ThenIf (A = 3) Then

    B = X + YB = X + Y

    EndEnd--IfIf

    While (A > 0) DoWhile (A > 0) Do

    Read (X)Read (X)

    A = AA = A-- 11EndEnd--WhileWhile--DoDo

  • 8/6/2019 1b Introduction Stfbegn

    90/168

    DecisionCoverageDecisionCoverage -- ExampleExampleIfA < 10 orA > 20 ThenIfA < 10 orA > 20 Then

    B = X + YB = X + Y

    ConditionCoverageConditionCoverage ExampleExampleA = XA = X

    If (A

    > 3) or (A

    < B)T

    henIf (A

    > 3) or (A

    < B)T

    henB = X + YB = X + Y

    EndEnd--IfIf--ThenThen

    While (A > 0) and (Not EOF) DoWhile (A > 0) and (Not EOF) Do

    Read (X)Read (X)A = AA = A -- 11

    EndEnd--WhileWhile--DoDo

  • 8/6/2019 1b Introduction Stfbegn

    91/168

    IncrementalTestingIncrementalTesting

    A disciplined method of testing the interfacesA disciplined method of testing the interfaces

    between unitbetween unit--tested programs as well astested programs as well as

    between system components.between system components. Involves adding unitInvolves adding unit--testing program moduletesting program module

    or component one by one, and testing eachor component one by one, and testing each

    result and combination.result and combination.

  • 8/6/2019 1b Introduction Stfbegn

    92/168

    Two types ofIncrementalTestingTwo types ofIncrementalTesting

    TopTop--downdown testing form the top of thetesting form the top of the

    module hierarchy and work down to the bottom.module hierarchy and work down to the bottom.

    Modules are added in descending hierarchicalModules are added in descending hierarchicalorder.order.

    Bottom

    Bottom--upup testing from the bottom of thetesting from the bottom of thehierarchy and works up to the top. Modules arehierarchy and works up to the top. Modules are

    added in ascending hierarchical order.added in ascending hierarchical order.

  • 8/6/2019 1b Introduction Stfbegn

    93/168

    TestingTesting Levels/Levels/

    TechniquesTechniques

    WhiteWhite

    BoxBox

    BlackBlack

    BoxBox

    IncreIncre--

    mentalmental

    ThreadThread

    UnitUnit TestingTesting XX

    IntegrationIntegration

    TestingTesting XX XX

    XX

    SystemSystem TestingTesting XX

    AcceptanceAcceptance

    TestingTestingXX

  • 8/6/2019 1b Introduction Stfbegn

    94/168

    Major TestingTypesMajor TestingTypes

    Stress / Load Testing

    Performance Testing Recovery Testing

    Conversion Testing

    Usability Testing

    Configuration Testing

  • 8/6/2019 1b Introduction Stfbegn

    95/168

    Stress / LoadTestStress / LoadTest

    Evaluates a system or component at or beyondEvaluates a system or component at or beyond

    the limits of its specified requirements.the limits of its specified requirements.

    Determines the load under which it fails andDetermines the load under which it fails and

    how.how.

  • 8/6/2019 1b Introduction Stfbegn

    96/168

    PerformanceTestPerformanceTest

    Evaluate the compliance of a system orEvaluate the compliance of a system or

    component with specified performancecomponent with specified performance

    requirements.requirements.

    Often performed using an automated test toolOften performed using an automated test tool

    to simulate large number of users.to simulate large number of users.

  • 8/6/2019 1b Introduction Stfbegn

    97/168

    RecoveryTestRecoveryTest

    Confirms that the system recovers fromConfirms that the system recovers from

    expected or unexpected events without lossexpected or unexpected events without loss

    of data or functionality.of data or functionality.

    Eg.Eg.

    Shortage of disk spaceShortage of disk space

    Unexpected loss of communicationUnexpected loss of communication

    Power out conditionsPower out conditions

  • 8/6/2019 1b Introduction Stfbegn

    98/168

    ConversionTestConversionTest

    Testing of code that is used to convert dataTesting of code that is used to convert data

    from existing systems for use in the newlyfrom existing systems for use in the newly

    replaced systemsreplaced systems

  • 8/6/2019 1b Introduction Stfbegn

    99/168

    UsabilityTestUsabilityTest

    Testing the system for the usersTesting the system for the users

    to learn and use the product.to learn and use the product.

  • 8/6/2019 1b Introduction Stfbegn

    100/168

    ConfigurationTestConfigurationTest

    Examines an application's requirements for preExamines an application's requirements for pre--

    existing software, initial states andexisting software, initial states and

    configuration in order to maintain properconfiguration in order to maintain properfunctionality.functionality.

    SOFTWARE TESTING LIFECYCLE -

  • 8/6/2019 1b Introduction Stfbegn

    101/168

    SOFTWARETESTING LIFECYCLE -

    PHASES

    Requirements study

    Test Case Design and

    Development

    Test Execution

    Test Closure

    Test ProcessAnalysis

  • 8/6/2019 1b Introduction Stfbegn

    102/168

    Requirements studyRequirements study

    Testing Cycle starts with the study of clientsTesting Cycle starts with the study of clientsrequirements.requirements.

    Understanding of the requirements is veryUnderstanding of the requirements is veryessential for testing the product.essential for testing the product.

  • 8/6/2019 1b Introduction Stfbegn

    103/168

    Analysis & PlanningAnalysis & Planning

    Test objective and coverageTest objective and coverage

    Overall scheduleOverall schedule

    Standards and MethodologiesStandards and Methodologies

    Resources required, including necessaryResources required, including necessary

    trainingtraining

    Roles and responsibilities of the teamRoles and responsibilities of the team

    membersmembers

    Tools usedTools used

    Test Case Design and DevelopmentTest Case Design and Development

  • 8/6/2019 1b Introduction Stfbegn

    104/168

    TestCaseDesignandDevelopmentTestCaseDesignandDevelopment

    Component IdentificationComponent Identification

    Test Specification DesignTest Specification Design

    Test Specification ReviewTest Specification Review

    TestExecutionTestExecution

    Code ReviewCode Review Test execution and evaluationTest execution and evaluation

    Performance and simulationPerformance and simulation

  • 8/6/2019 1b Introduction Stfbegn

    105/168

    TestClosureTestClosure

    Test summary reportTest summary report

    Project DocumentationProject Documentation

    Test Process AnalysisTest Process Analysis

    Analysis done on the reports and improving theAnalysis done on the reports and improving theapplications performance by implementing newapplications performance by implementing newtechnology and additional features.technology and additional features.

    TEST PLANTEST PLAN

  • 8/6/2019 1b Introduction Stfbegn

    106/168

    TEST PLANTEST PLAN

    ObjectivesObjectives

    To create a set of testing tasks.To create a set of testing tasks.

    Assign resources to each testing task.Assign resources to each testing task.

    Estimate completion time for each testing task.Estimate completion time for each testing task.

    Document testing standards.Document testing standards.

  • 8/6/2019 1b Introduction Stfbegn

    107/168

    Purpose of preparingaTest PlanPurpose of preparingaTest Plan

  • 8/6/2019 1b Introduction Stfbegn

    108/168

    p p p gp p p g

    Validate the acceptability of a software product.Validate the acceptability of a software product.

    Help the people outside the test group to understandHelp the people outside the test group to understand

    why and how of product validation.why and how of product validation.

    ATest Plan should beATest Plan should be

    thorough enough (Overall coverage of test to bethorough enough (Overall coverage of test to be

    conducted)conducted)

    useful and understandable by the people inside anduseful and understandable by the people inside and

    outside the test group.outside the test group.

    ScopeScope

  • 8/6/2019 1b Introduction Stfbegn

    109/168

    pp

    The areas to be tested by the QA team.The areas to be tested by the QA team.

    Specify the areas which are out of scope (screens,Specify the areas which are out of scope (screens,

    database, mainframe processes etc).database, mainframe processes etc).

    Test ApproachTest Approach

    Details on how the testing is to be performed.Details on how the testing is to be performed.

    Any specific strategy is to be followed forAny specific strategy is to be followed for

    testing (including configuration management).testing (including configuration management).

    EntryCriteriaEntryCriteria

  • 8/6/2019 1b Introduction Stfbegn

    110/168

    yy

    Various steps to be performed before the start of aVarious steps to be performed before the start of a

    test i.e. Pretest i.e. Pre--requisites.requisites.E.g.E.g.

    Timely environment set upTimely environment set up

    Starting the web server/app serverStarting the web server/app server Successful implementation of the latest build etc.Successful implementation of the latest build etc.

    ResourcesResources

    List of the people involved in the project and theirList of the people involved in the project and theirdesignation etc.designation etc.

    Tasks/Responsibilities

  • 8/6/2019 1b Introduction Stfbegn

    111/168

    Tasks to be performed and responsibilities

    assigned to the various team members.

    ExitCriteria

    Contains tasks like

    Bringing down the system / serverRestoring system to pre-test environment

    Database refresh etc.

    Schedule / Milestones

    Deals with the final delivery date and the

    various milestones dates.

    Hardware / Software RequirementsHardware / Software Requirements

  • 8/6/2019 1b Introduction Stfbegn

    112/168

    qq

    Details ofPCs / servers required to install theDetails ofPCs / servers required to install the

    application or perform the testingapplication or perform the testing

    Specific software to get the applicationSpecific software to get the application

    running or to connect to the database etc.running or to connect to the database etc.

    Risks &Mitigation PlansRisks &Mitigation Plans

    List out the possible risks during testingList out the possible risks during testing

    Mitigation plans to implement incase the riskMitigation plans to implement incase the risk

    actually turns into a reality.actually turns into a reality.

    Tools to beusedTools to beused

  • 8/6/2019 1b Introduction Stfbegn

    113/168

    List the testing tools or utilitiesList the testing tools or utilities

    Eg.WinRunner, LoadRunner, Test Director,Eg.WinRunner, LoadRunner, Test Director,Rational Robot, QTP.Rational Robot, QTP.

    DeliverablesDeliverables

    Various deliverables due to the client at variousVarious deliverables due to the client at various

    points of time i.e. Daily / weekly / start of thepoints of time i.e. Daily / weekly / start of the

    project end of the project etc.project end of the project etc.

    These include test plans, test procedures, testThese include test plans, test procedures, test

    metric, status reports, test scripts etc.metric, status reports, test scripts etc.

  • 8/6/2019 1b Introduction Stfbegn

    114/168

    ReferencesReferences

    ProceduresProcedures

    Templates (Client specific or otherwise)Templates (Client specific or otherwise)

    Standards / Guidelines e.g. QviewStandards / Guidelines e.g. Qview

    Project related documents (RSD, ADD,Project related documents (RSD, ADD,

    FSD etc).FSD etc).

    AnnexureAnnexure

  • 8/6/2019 1b Introduction Stfbegn

    115/168

    Links to documents which have been / will beLinks to documents which have been / will be

    used in the course of testingused in the course of testingEg. Templates used for reports, test cases etc.Eg. Templates used for reports, test cases etc.

    Referenced documents can also be attached here.Referenced documents can also be attached here.

    SignSign--offoff

    Mutual agreement between the client and the QAMutual agreement between the client and the QA

    Team.Team.

    Both leads/managers signing their agreement onBoth leads/managers signing their agreement on

    the Test Plan.the Test Plan.

    G d T t PlG d T t Pl

  • 8/6/2019 1b Introduction Stfbegn

    116/168

    GoodTest PlansGoodTest Plans

    Developed and Reviewed early.Developed and Reviewed early.

    Clear, Complete and SpecificClear, Complete and Specific

    Specifies tangible deliverables that can beSpecifies tangible deliverables that can be

    inspected.inspected.

    Staff knows what to expect and when to expect it.Staff knows what to expect and when to expect it.

    Good Test PlansGood Test Plans

  • 8/6/2019 1b Introduction Stfbegn

    117/168

    GoodTest PlansGoodTest Plans

    Realistic quality levels for goalsRealistic quality levels for goals Includes time for planningIncludes time for planning

    Can be monitored and updatedCan be monitored and updated

    Includes user responsibilitiesIncludes user responsibilities

    Based on past experienceBased on past experience

    Recognizes learning curvesRecognizes learning curves

    TESTCASESTESTCASES

  • 8/6/2019 1b Introduction Stfbegn

    118/168

    TestcaseTestcase is defined asis defined as

    A set of test inputs, execution conditions andA set of test inputs, execution conditions and

    expected results, developed for a particularexpected results, developed for a particular

    objective.objective.

    Documentation specifying inputs, predictedDocumentation specifying inputs, predicted

    results and a set of execution conditions for a testresults and a set of execution conditions for a test

    item.item.

    Specific inputs that will be tried and theSpecific inputs that will be tried and thed th t ill b f ll d h thd th t ill b f ll d h th

  • 8/6/2019 1b Introduction Stfbegn

    119/168

    procedures that will be followed when theprocedures that will be followed when thesoftware tested.software tested.

    Sequence of one or more subtests executed asSequence of one or more subtests executed asa sequence as the outcome and/or final state ofa sequence as the outcome and/or final state ofone subtests is the input and/or initial state ofone subtests is the input and/or initial state ofthe next.the next.

    Specifies the pretest state of the AUT and itsSpecifies the pretest state of the AUT and its

    environment, the test inputs or conditions.environment, the test inputs or conditions.

    The expected result specifies what the AUTThe expected result specifies what the AUTshould produce from the test inputs.should produce from the test inputs.

    Good Test PlansGood Test Plans

  • 8/6/2019 1b Introduction Stfbegn

    120/168

    GoodTest PlansGoodTest Plans

    Developed and Reviewed early.Developed and Reviewed early.

    Clear, Complete and SpecificClear, Complete and Specific

    Specifies tangible deliverables that can beSpecifies tangible deliverables that can be

    inspected.inspected.

    Staff knows what to expect and when to expect it.Staff knows what to expect and when to expect it.

    Good Test PlansGood Test Plans

  • 8/6/2019 1b Introduction Stfbegn

    121/168

    GoodTest PlansGoodTest Plans

    Realistic quality levels for goalsRealistic quality levels for goals Includes time for planningIncludes time for planning

    Can be monitored and updatedCan be monitored and updated

    Includes user responsibilitiesIncludes user responsibilities

    Based on past experienceBased on past experience

    Recognizes learning curvesRecognizes learning curves

    TestCasesTestCases

  • 8/6/2019 1b Introduction Stfbegn

    122/168

    C

    ontentsC

    ontents

    Test plan reference idTest plan reference id

    Test caseT

    est case Test conditionTest condition

    Expected behaviorExpected behavior

    Good Test CasesGood Test Cases

  • 8/6/2019 1b Introduction Stfbegn

    123/168

    GoodTestCasesGoodTestCases

    Find

    Defects

    Find

    Defects

    Have high probability of finding a new defect.Have high probability of finding a new defect.

    Unambiguous tangible result that can beUnambiguous tangible result that can be

    inspected.inspected.

    Repeatable and predictable.Repeatable and predictable.

    GoodTestCasesGoodTestCases

  • 8/6/2019 1b Introduction Stfbegn

    124/168

    T

    raceable to requirements or design documentsT

    raceable to requirements or design documents Push systems to its limitsPush systems to its limits

    Execution and tracking can be automatedExecution and tracking can be automated

    Do not misleadDo not mislead

    FeasibleFeasible

    Defect LifeCycleDefect LifeCycle

  • 8/6/2019 1b Introduction Stfbegn

    125/168

    Whatis Defect?

    A defect is a variance from a desired

    product attribute.

    Two categories ofdefects are

    Variance from product specifications

    Variance from Customer/Userexpectations

    Variance from product specificationVariance from product specification

  • 8/6/2019 1b Introduction Stfbegn

    126/168

    Variance from product specificationVariance from product specification

    Product built varies from the product specified.Product built varies from the product specified.

    Variance from Customer/User specificationVariance from Customer/User specification

    A specification by the user not in the builtA specification by the user not in the built

    product, but something not specified has beenproduct, but something not specified has beenincluded.included.

    Defectcategories

  • 8/6/2019 1b Introduction Stfbegn

    127/168

    g

    Wrong

    The specifications have been implemented

    incorrectly.

    Missing

    A specified requirement is not in the built

    product.

    Extra

    A requirement incorporated into the product

    that was not specified.

    Defect LogDefect Log

  • 8/6/2019 1b Introduction Stfbegn

    128/168

    Defect ID numberDefect ID number

    Descriptive defect name and typeDescriptive defect name and type

    Source of defectSource of defect test case or other sourcetest case or other source

    Defect severityDefect severity

    Defect PriorityDefect Priority

    Defect status (e.g. New, open, fixed, closed,Defect status (e.g. New, open, fixed, closed,

    reopen, reject)reopen, reject)

    7.7. Date and time tracking for either the mostDate and time tracking for either the most

  • 8/6/2019 1b Introduction Stfbegn

    129/168

    recent status change, or for each change in therecent status change, or for each change in the

    status.status.8.8. Detailed description, including the stepsDetailed description, including the steps

    necessary to reproduce the defect.necessary to reproduce the defect.

    9.9. Component or program where defect was foundComponent or program where defect was found10.10. Screen prints, logs, etc. that will aid theScreen prints, logs, etc. that will aid the

    developer in resolution process.developer in resolution process.

    11.11. Stage of origination.Stage of origination.12.12. Person assigned to research and/or corrects thePerson assigned to research and/or corrects the

    defect.defect.

    Severity Vs PrioritySeverity Vs Priority

  • 8/6/2019 1b Introduction Stfbegn

    130/168

    SeverityVs PrioritySeverityVs Priority

    SeveritySeverityFactor that shows how bad the defect is andFactor that shows how bad the defect is and

    the impact it has on the productthe impact it has on the product

    PriorityPriorityBased upon input from users regardingBased upon input from users regarding

    which defects are most important to them,which defects are most important to them,

    and be fix

    ed first.and be fix

    ed first.

    Severity LevelsSeverity Levels

  • 8/6/2019 1b Introduction Stfbegn

    131/168

    Severity LevelsSeverity Levels

    CriticalCritical

    Major / HighMajor / High

    Average / MediumAverage / Medium

    Minor / lowMinor / low

    Cosmetic defectsCosmetic defects

    Severity LevelSeverity Level CriticalCritical

  • 8/6/2019 1b Introduction Stfbegn

    132/168

    An installation process which does not load aAn installation process which does not load acomponent.component.

    A missing menu option.A missing menu option.

    Security permission required to access a functionSecurity permission required to access a functionunder test.under test.

    Functionality does not permit for further testing.Functionality does not permit for further testing.

    Runtime Errors like JavaScript errors etc.Runtime Errors like JavaScript errors etc.

  • 8/6/2019 1b Introduction Stfbegn

    133/168

    pp

    Functionality Missed out / IncorrectFunctionality Missed out / IncorrectImplementation (MajorDeviation fromImplementation (MajorDeviation fromRequirements).Requirements).

    Performance Issues (If specified by Client).Performance Issues (If specified by Client).

    Browser incompatibility and Operating systemsBrowser incompatibility and Operating systemsincompatibility issues depending on the impactincompatibility issues depending on the impact

    of error.of error.

    Dead Links.Dead Links.

    Severity LevelSeverity Level Major / HighMajor / High

  • 8/6/2019 1b Introduction Stfbegn

    134/168

    Severity LevelSeverity Level Major / HighMajor / High

    Reboot the system.Reboot the system.

    The wrong field being updated.The wrong field being updated.

    An updated operation that fails to complete.An updated operation that fails to complete.

    Performance Issues (If not specified by Client).Performance Issues (If not specified by Client).

    Mandatory Validations for Mandatory Fields.Mandatory Validations for Mandatory Fields.

    Functionality incorrectly implemented (MinorFunctionality incorrectly implemented (Minor

  • 8/6/2019 1b Introduction Stfbegn

    135/168

    Functionality incorrectly implemented (MinorFunctionality incorrectly implemented (Minor

    D

    eviation from Requirements).D

    eviation from Requirements). Images, Graphics missing which hindersImages, Graphics missing which hinders

    functionality.functionality.

    Front End / Home Page Alignment issues.Front End / Home Page Alignment issues.

    Severity LevelSeverity Level Average / MediumAverage / Medium

    Incorrect/missing hot key operation.Incorrect/missing hot key operation.

    S it L lS it L l Mi / LMi / L

  • 8/6/2019 1b Introduction Stfbegn

    136/168

    Severity LevelSeverity Level Minor / LowMinor / Low

    Misspelled or ungrammatical textMisspelled or ungrammatical text

    Inappropriate or incorrect formatting (such asInappropriate or incorrect formatting (such as

    text font, size, alignment, color, etc.)text font, size, alignment, color, etc.) Screen Layout IssuesScreen Layout Issues

    Spelling Mistakes / Grammatical MistakesSpelling Mistakes / Grammatical Mistakes

    Documentation ErrorsDocumentation Errors

  • 8/6/2019 1b Introduction Stfbegn

    137/168

    Test ReportsTest Reports

  • 8/6/2019 1b Introduction Stfbegn

    138/168

    8 INTERIM REPORTS8 INTERIM REPORTS

    Functional Testing StatusFunctional Testing Status

    Functions Working TimelineFunctions Working Timeline

    Expected Vs Actual Defects Detected TimelineExpected Vs Actual Defects Detected TimelineDefects Detected Vs Corrected Gap TimelineDefects Detected Vs Corrected Gap Timeline

    Average Age ofDetected Defects by typeAverage Age ofDetected Defects by type

    Defect

    Distribution

    Defect

    Distribution

    Relative Defect DistributionRelative Defect Distribution

    Testing ActionTesting Action

    FunctionalTestingStatus Report

  • 8/6/2019 1b Introduction Stfbegn

    139/168

    Report shows percentage of the

    functions that are

    Fully Tested

    Tested with Open defects

    Not Tested

    FunctionsWorkingTimelineFunctionsWorkingTimeline

  • 8/6/2019 1b Introduction Stfbegn

    140/168

    Report shows the actual plan to have allReport shows the actual plan to have all

    functions verses the current status of thefunctions verses the current status of the

    functions working.functions working.

    Line graph is an ideal format.Line graph is an ideal format.

    Expected Vs Actual Defects DetectedExpected Vs Actual Defects Detected

  • 8/6/2019 1b Introduction Stfbegn

    141/168

    ExpectedVs. ActualDefects DetectedExpectedVs. ActualDefects Detected

    Analysis between the number of defects beingAnalysis between the number of defects being

    generated against the expected number ofgenerated against the expected number of

    defects expected from the planning stage.defects expected from the planning stage.

    Defects DetectedVs.Corrected GapDefects DetectedVs.Corrected Gap

  • 8/6/2019 1b Introduction Stfbegn

    142/168

    pp

    A line graph format that shows theA line graph format that shows the

    Number of defects uncovered verses theNumber of defects uncovered verses the

    number of defects being corrected andnumber of defects being corrected and

    accepted by the testing group.accepted by the testing group.

  • 8/6/2019 1b Introduction Stfbegn

    143/168

    DefectDistributionDefectDistribution

  • 8/6/2019 1b Introduction Stfbegn

    144/168

    Shows defect distribution by function or moduleShows defect distribution by function or moduleand the number of tests completed.and the number of tests completed.

    RelativeDefect

    DistributionRelative

    Defect

    Distribution

    Normalize the level of defects with theNormalize the level of defects with the

    previous reports generated.previous reports generated.

    Normalizing over the number of functions orNormalizing over the number of functions or

    lines of code shows a more accurate level oflines of code shows a more accurate level of

    defects.defects.

    Testing ActionTesting Action

  • 8/6/2019 1b Introduction Stfbegn

    145/168

    Report showsReport shows

    Possible shortfalls in testingPossible shortfalls in testing

    Number of severityNumber of severity--1 defects1 defects Priority of defectsPriority of defects

    Recurring defectsRecurring defects

    Tests behind scheduleTests behind schedule

    .and other information that present an accurate.and other information that present an accurate

    testing picturetesting picture

    METRICSMETRICS

  • 8/6/2019 1b Introduction Stfbegn

    146/168

    METRICSMETRICS

    2 Types

    Product metrics

    Process metrics

    P M t i

  • 8/6/2019 1b Introduction Stfbegn

    147/168

    Process Metrics

    Measures the characteristic of the

    methods

    techniques

    tools

  • 8/6/2019 1b Introduction Stfbegn

    148/168

    ProductMetrics

    Measures the characteristic of the

    documentation and code.

    TestMetrics

  • 8/6/2019 1b Introduction Stfbegn

    149/168

    User Participation = UserParticipation test timeVs. Total test time.

    PathTested =Number of path tested Vs. Totalnumber of paths.

    Acceptancecriteriatested = Acceptance criteriaverified Vs. Total acceptance criteria.

    T t t T t t V T t l t t

  • 8/6/2019 1b Introduction Stfbegn

    150/168

    Testcost = Test cost Vs. Total system cost.

    Costto locatedefect = Test cost / No. of defects

    located in the testing.

    Detected productiondefect = No. of defects

    detected in production / Application system size.

    Test Automation = Cost of manual test effort /

    Total test cost.

    CMMCMM Level 1Level 1 Initial LevelInitial Level

  • 8/6/2019 1b Introduction Stfbegn

    151/168

    The organizationThe organization

    Does not have an environment for developingDoes not have an environment for developing

    and maintaining software.and maintaining software.

    At the time of crises, projects usually stopAt the time of crises, projects usually stop

    using all planned procedures and revert to codingusing all planned procedures and revert to coding

    and testing.and testing.

    CMMCMM Level 2Level 2 RepeatablelevelRepeatablelevel

  • 8/6/2019 1b Introduction Stfbegn

    152/168

    Effective management process havingEffective management process having

    established which can beestablished which can be

    PracticedPracticed

    DocumentedDocumented

    EnforcedEnforced

    TrainedTrained

    MeasuredMeasured

    ImprovisedImprovised

    CMMCMM Level 3Level 3 DefinedlevelDefinedlevel

  • 8/6/2019 1b Introduction Stfbegn

    153/168

    Standard defined software engineering andStandard defined software engineering and

    management process for developing andmanagement process for developing and

    maintaining software.maintaining software.

    These processes are put together to make aThese processes are put together to make a

    coherent whole.coherent whole.

    CMMCMM Level 4Level 4 ManagedlevelManagedlevel

  • 8/6/2019 1b Introduction Stfbegn

    154/168

    Quantitative goals set for both software productsQuantitative goals set for both software products

    and processes.and processes.

    The organizational measurement plan involvesThe organizational measurement plan involves

    determining the productivity and quality for alldetermining the productivity and quality for all

    important software process activities across allimportant software process activities across all

    projects.projects.

    CMMCMM Level 5Level 5 OptimizinglevelOptimizinglevel

  • 8/6/2019 1b Introduction Stfbegn

    155/168

    Emphasis laid onEmphasis laid on

    Process improvementP

    rocess improvementTools to identify weaknesses existing in theirTools to identify weaknesses existing in their

    processesprocesses

    Make timely correctionsMake timely corrections

    Cost of Poor QualityCost of Poor Quality

  • 8/6/2019 1b Introduction Stfbegn

    156/168

    Total Quality Costs represent the differencebetween the actual (current) cost of a product

    or service and what the reduced cost would be

    if there were no possibility of substandardservice, failure to meet specifications, failure

    of products, or defects in their manufacture.

    Campanella, Principles of Quality Costs

    Prevention of Poor QualityPrevention of Poor Quality

  • 8/6/2019 1b Introduction Stfbegn

    157/168

  • 8/6/2019 1b Introduction Stfbegn

    158/168

    COQ ProcessCOQ Process

  • 8/6/2019 1b Introduction Stfbegn

    159/168

    1. Commitment2. COQ Team

    3. Gather data (COQ assessment)

    4. Pareto analysis5. Determine cost drivers

    6. Process Improvement Teams

    7. Monitor and measure

    8. Go back to step 3

    Generally

    Missing

  • 8/6/2019 1b Introduction Stfbegn

    160/168

    Wished I had understood that Cost of Quality stuff better

    TESTING STANDARDSTESTING STANDARDS

  • 8/6/2019 1b Introduction Stfbegn

    161/168

    External

    Standards

    External

    Standards

    Familiarity with and adoption of industry testFamiliarity with and adoption of industry test

    standards from organizations.standards from organizations.

    InternalStandardsInternalStandards

    Development and enforcement of the testDevelopment and enforcement of the test

    standards that testers must meet.standards that testers must meet.

    IEEESTANDARDSIEEESTANDARDS

  • 8/6/2019 1b Introduction Stfbegn

    162/168

    Institute ofElectrical and ElectronicsInstitute ofElectrical and Electronics

    Engineers designed an entire set of standardsEngineers designed an entire set of standards

    for software and to be followed by thefor software and to be followed by thetesters.testers.

    IEEEIEEEStandard Glossary of Software EngineeringStandard Glossary of Software Engineering

    T i lT i l

  • 8/6/2019 1b Introduction Stfbegn

    163/168

    TerminologyTerminology

    IEEEIEEEStandard for Software Quality Assurance PlanStandard for Software Quality Assurance Plan

    IEEEIEEEStandard for Software ConfigurationStandard for Software Configuration

    Management PlanManagement Plan

    IEEEIEEEStandard for Software for Software TestStandard for Software for Software Test

    DocumentationDocumentation

    IEEEIEEERecommended Practice for SoftwareRecommended Practice for Software

    Requirement SpecificationRequirement Specification

    IEEEIEEEStandard for Software Unit TestingStandard for Software Unit Testing

  • 8/6/2019 1b Introduction Stfbegn

    164/168

    IEEEIEEEStandard for Software Verification andStandard for Software Verification andValidationValidation

    IEEEIEEEStandard for Software ReviewsStandard for Software Reviews

    IEEEIEEERecommended practice for SoftwareRecommended practice for SoftwareDesign descriptionsDesign descriptions

    IEEEIEEEStandard Classification for SoftwareStandard Classification for SoftwareAnomaliesAnomalies

    IEEEIEEEStandard for Software ProductivityStandard for Software Productivity

  • 8/6/2019 1b Introduction Stfbegn

    165/168

    metricsmetrics

    IEEEIEEEStandard for Software ProjectStandard for Software Project

    Management plansManagement plans

    IEEEIEEEStandard for Software ManagementStandard for Software Management

    IEEEIEEEStandard for Software Quality MetricsStandard for Software Quality Metrics

    MethodologyMethodology

    Other standards..Other standards..

  • 8/6/2019 1b Introduction Stfbegn

    166/168

    ISOISOInternational Organization for StandardsInternational Organization for Standards

    SixSigmaSixSigmaZero Defect OrientationZero Defect Orientation

    SPICESPICESoftware Process Improvement andSoftware Process Improvement andCapability DeterminationCapability Determination

    NISTNISTNational Institute of Standards andNational Institute of Standards andTechnologyTechnology

    www.softwaretestinggenius.comwww.softwaretestinggenius.com

    A Storeho se of VastA Storeho se of Vast

  • 8/6/2019 1b Introduction Stfbegn

    167/168

    A Storehouse of VastA Storehouse of Vast

    Knowledge onKnowledge onMultiple AnswerInterview Questions / Quiz as used by

    Several MNCs to Evaluate New Testers

    and

    Hundreds ofInterview Preparation Questions on

    QuickTest Professional (QTP) , LoadRunner , SoftwareTesting & Quality Assurance

    >>>>>>>>>>>>>> www.softwaretestinggenius.com

  • 8/6/2019 1b Introduction Stfbegn

    168/168

    ThankYouThankYou