Software Testing

158
Srihari Techsoft Srihari Techsoft Software Testing Software Testing An overview An overview

Transcript of Software Testing

Page 1: Software Testing

Srihari TechsoftSrihari Techsoft

Software TestingSoftware Testing

An overviewAn overview

Page 2: Software Testing

Srihari TechsoftSrihari Techsoft

Introduction & FundamentalsIntroduction & Fundamentals

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?

Page 3: Software Testing

Srihari TechsoftSrihari Techsoft

Most Common Software problemsMost Common Software problems Incorrect calculationIncorrect calculation Incorrect data edits & ineffective data Incorrect data edits & ineffective data

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

resultsresults Incorrect processing of data relationshipIncorrect processing of data relationship Incorrect coding / implementation of Incorrect coding / implementation of

business rulesbusiness rules Inadequate software performance Inadequate software performance

Page 4: Software Testing

Srihari TechsoftSrihari Techsoft

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 security

controls Incorrect file handling

Page 5: Software Testing

Srihari TechsoftSrihari Techsoft

Objectives of testingObjectives of testing Executing a program with the intent of Executing a program with the intent of

finding an finding an errorerror.. To check if the system meets the To check if the system meets the

requirements and be executed requirements and be executed successfully 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 is To check if the system does what it is

expected to do. expected to do.

Page 6: Software Testing

Srihari TechsoftSrihari Techsoft

Objectives of testingObjectives of testing

A good test case is one that has a A good test case is one that has a probability of finding an as yet undiscovered probability of finding an as yet undiscovered error.error.

A successful test is one that uncovers a yet A successful test is one that uncovers a yet undiscovered error.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 simple nor A good test should neither be too simple nor

too complex. too complex.

Page 7: Software Testing

Srihari TechsoftSrihari Techsoft

Objective of a Software TesterObjective of a Software Tester Find bugs as early as possible and make sure Find bugs as early as possible and make sure

they get fixed.they get fixed. To understand the application well.To understand the application well. Study the functionality in detail to find where the Study 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 every Study 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 is Create test cases in such a way that testing is

done to uncover the hidden bugs and also done to uncover the hidden bugs and also ensure that the software is usable and reliable ensure that the software is usable and reliable

Page 8: Software Testing

Srihari TechsoftSrihari Techsoft

VERIFICATION & VALIDATIONVERIFICATION & VALIDATION VerificationVerification - typically involves reviews and meeting - typically involves reviews and meeting to 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 and - typically involves actual testing and takes place after verifications are completed.takes place after verifications are completed.

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

Page 9: Software Testing

Srihari TechsoftSrihari Techsoft

TESTABILITYTESTABILITY

Operability Operability Observe-abilityObserve-abilityControllability Controllability Decomposability Decomposability StabilityStabilityUnderstandabilityUnderstandability

Page 10: Software Testing

Srihari TechsoftSrihari Techsoft

Plan

Do

Check

Action

Software Development Process Cycle

Page 11: Software Testing

Srihari TechsoftSrihari Techsoft

PLAN (P):PLAN (P): Device a plan. Define your objective and Device a plan. Define your objective and determine the strategy determine the strategy and supporting methods and supporting methods required to achieve that objective.required to achieve that objective.

DO (D):DO (D): Execute the plan. Create the conditions Execute the plan. Create the conditions and perform the necessary training to execute the and perform the necessary training to execute the plan.plan.

CHECK (C):CHECK (C): Check the results. Check to determine Check the results. Check to determine whether work is progressing according to the plan whether work is progressing according to the plan and whether the results are obtained.and whether the results are obtained.

ACTION (A):ACTION (A): Take the necessary and appropriate Take the necessary and appropriate action if checkup reveals that the work is not being action if checkup reveals that the work is not being performed according to plan or not as anticipated. performed according to plan or not as anticipated.

Page 12: Software Testing

Srihari TechsoftSrihari Techsoft

QUALITY PRINCIPLESQUALITY PRINCIPLES

Quality - the most important factor affecting an Quality - the most important factor affecting an organization’s long-term performance. organization’s long-term performance.

Quality - the way to achieve improved Quality - the way to achieve improved

productivity and competitiveness in productivity and competitiveness in any organization. any organization.

Quality - saves. It does not cost. Quality - saves. It does not cost.

Quality - is the solution to the problem, not a Quality - is the solution to the problem, not a problem.problem.

Page 13: Software Testing

Srihari TechsoftSrihari Techsoft

Cost of Quality

Prevention Cost

Amount spent before the product is actually built. Cost incurred on establishing methods and procedures, training workers, acquiring tools and planning for quality.

Appraisal costAmount spent after the product is built but before it is shipped to the user. Cost of inspection, testing, and reviews.

Page 14: Software Testing

Srihari TechsoftSrihari Techsoft

Failure Cost

Amount spent to repair failures.Cost associated with defective products that have been delivered to the user or moved into production, costs involve repairing products to make them fit as per requirement.

Page 15: Software Testing

Srihari TechsoftSrihari Techsoft

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 when non-conformance is detected.

An activity that establishes and evaluates the processes to produce the products.

An activity which verifies if the product meets pre-defined standards.

Page 16: Software Testing

Srihari TechsoftSrihari Techsoft

Quality AssuranceQuality Assurance Quality ControlQuality Control

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

Sets up measurements Sets up measurements programs to evaluate programs to evaluate processes.processes.

Verifies if specific Verifies if specific attributes are in a specific attributes are in a specific product or Serviceproduct or Service

Identifies weaknesses in Identifies weaknesses in processes and improves processes and improves them.them.

Identifies defects for the Identifies defects for the primary purpose of primary purpose of correcting defects.correcting defects.

Page 17: Software Testing

Srihari TechsoftSrihari Techsoft

QA is the responsibility of QA is the responsibility of the entire team.the entire team.

QC is the responsibility of the QC is the responsibility of the tester.tester.

Prevents the introduction of Prevents the introduction of issues or defectsissues or defects

Detects, reports and corrects Detects, reports and corrects defectsdefects

QA evaluates whether or not QA evaluates whether or not quality control is working forquality control is working for the primary purpose of the primary purpose of determining whether or not determining whether or not there is a weakness in the there is a weakness in the process.process.

QC evaluates if the application QC evaluates if the application is working for the primary is working for the primary purpose of determining if there purpose of determining if there is a flaw / defect in the is a flaw / defect in the functionalities.functionalities.

Responsibilities of QA and QC

Page 18: Software Testing

Srihari TechsoftSrihari Techsoft

QA improves the process QA improves the process that is applied to multiple that is applied to multiple products that will ever be products that will ever be produced by a process.produced by a process.

QC improves the QC improves the development of a specific development of a specific product or service.product or service.

QA personnel should not QA personnel should not perform quality control perform quality control unless doing it to validate unless doing it to validate quality control is working.quality control is working.

QC personnel may perform QC personnel may perform quality assurance tasks if quality assurance tasks if and when required.and when required.

Responsibilities of QA and QC

Page 19: Software Testing

Srihari TechsoftSrihari Techsoft

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

Page 20: Software Testing

Srihari TechsoftSrihari Techsoft

The CMM is organized into five maturity level

Initial Level 1

Repeatable Level 2

Defined Level 3

Managed Level 4

Optimizing Level 5

Disciplined Process

Standard Consistence Process

Predictable Process

Continuous Improvement Process

Page 21: Software Testing

Srihari TechsoftSrihari Techsoft

Phases of SDLC

• Requirement Specification and Analysis• Design• Coding• Testing• Implementation• Maintenance

SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)

Page 22: Software Testing

Srihari TechsoftSrihari Techsoft

Requirement Specificationand Analysis

User Requirement Specification (USR)

Software Requirement Specification (SRS)

Page 23: Software Testing

Srihari TechsoftSrihari Techsoft

The output of SRS is the input of design phase.

Two types of design -

High Level Design (HLD)Low Level Design (LLD)

Design

Page 24: Software Testing

Srihari TechsoftSrihari Techsoft

List of modules and a brief description of each module.

Brief functionality of each module. Interface relationship among modules. Dependencies between modules (if A exists, B

exists etc). Database tables identified along with key

elements. Overall architecture diagrams along with

technology details.

High Level Design (HLD)

Page 25: Software Testing

Srihari TechsoftSrihari Techsoft

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 Level Design (LLD)

Page 26: Software Testing

Srihari TechsoftSrihari Techsoft

Breaking down the product into independent modules to arrive at micro levels.

2 different approaches followed in designing –

Top Down ApproachBottom Up Approach

The Design process

Page 27: Software Testing

Srihari TechsoftSrihari Techsoft

Top-down approach

Page 28: Software Testing

Srihari TechsoftSrihari Techsoft

Bottom-Up Approach

Page 29: Software Testing

Srihari TechsoftSrihari Techsoft

CodingDevelopers use the LLD document and write the code in the programming language specified.

TestingThe testing process involves development of a test plan, executing the plan and documenting the test results.

ImplementationInstallation of the product in its operational environment.

Page 30: Software Testing

Srihari TechsoftSrihari Techsoft

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 untested scenarios.

Upgrade – Upgrading the application to the newer versions of the software.

Enhancement - Adding some new features into the existing software.

Page 31: Software Testing

Srihari TechsoftSrihari Techsoft

SOFTWARE LIFE CYCLE MODELS

WATERFALL MODEL

V-PROCESS MODEL

SPIRAL MODEL

PROTOTYPE MODEL

INCREMENTAL MODEL

EVOLUTIONARY DEVELOPMENT MODEL

Page 32: Software Testing

Project ManagementProject Management

Project StaffingProject Staffing

Project PlanningProject Planning

Project SchedulingProject Scheduling

Page 33: Software Testing

Srihari TechsoftSrihari Techsoft

Project StaffingProject Staffing

Project budget may not allow to utilizeProject budget may not allow to utilize highly – paid staff.highly – paid staff.

Staff with the appropriate experience may not Staff with the appropriate experience may not be available.be available.

Page 34: Software Testing

Srihari TechsoftSrihari Techsoft

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 and Describes the approach, resources and schedule used for system validation.schedule used for system validation.

Configuration Configuration management planmanagement plan

Describes the configuration managementDescribes the configuration managementprocedures and structures to be used.procedures and structures to be used.

Maintenance Maintenance planplan

Predicts the maintenance requirements of the Predicts the maintenance requirements of the system/ maintenance costs and efforts system/ maintenance costs and efforts required.required.

Staff Staff development plandevelopment plan

Describes how the skills and experience ofDescribes how the skills and experience ofthe project team members will be developed.the project team members will be developed.

Page 35: Software Testing

Srihari TechsoftSrihari Techsoft

Project SchedulingProject Scheduling

Bar charts and Activity NetworksBar charts and Activity Networks

Scheduling problems Scheduling problems

Page 36: Software Testing

Srihari TechsoftSrihari Techsoft

RISK MANAGEMENTRISK MANAGEMENT

Risk identification Risk identification Risk Analysis Risk Analysis Risk Planning Risk Planning Risk MonitoringRisk Monitoring

Page 37: Software Testing

Srihari TechsoftSrihari Techsoft

RiskRisk RiskRisktypetype

DescriptionDescription

Staff Staff turnoverturnover

ProjectProject Experienced staff will leave the Experienced staff will leave the project before it is finished.project before it is finished.

ManagementManagementchangechange

ProjectProject There will be a change of There will be a change of organizational management with organizational management with different priorities.different priorities.

Hardware Hardware unavailabilityunavailability

ProjectProject Hardware which is essential for the Hardware which is essential for the project will not be delivered on project will not be delivered on schedule.schedule.

RequirementsRequirementschangechange

Project & Project & ProductProduct

There will be a larger number ofThere will be a larger number ofchanges to the requirements than changes to the requirements than anticipated.anticipated.

Page 38: Software Testing

Srihari TechsoftSrihari Techsoft

RiskRisk Risk Risk typetype

DescriptionDescription

Specification Specification delaysdelays

Project &Project &ProductProduct

Specifications of essential Specifications of essential interfaces are not available on interfaces are not available on schedule.schedule.

Size under Size under estimateestimate

Project & Project & ProductProduct

The size of the system has been The size of the system has been under estimated.under estimated.

CASE tool under CASE tool under performanceperformance

ProductProduct CASE tools which support the CASE tools which support the project do not perform as project do not perform as anticipated.anticipated.

Technology Technology change change

Business Business The underlying technology on The underlying technology on which the system is built is which the system is built is superseded by new technology.superseded by new technology.

Product Product competitioncompetition

Business Business A competitive product is A competitive product is marketed before the system is marketed before the system is completed.completed.

Page 39: Software Testing

Srihari TechsoftSrihari Techsoft

PC version

Initial system DEC version

VMS version

Unix version

Mainframe version

Workstation version

Configuration Management

Sun version

Page 40: Software Testing

Srihari TechsoftSrihari Techsoft

Configuration Management (CM) Standards

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

Page 41: Software Testing

Srihari TechsoftSrihari Techsoft

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.

Page 42: Software Testing

Srihari TechsoftSrihari Techsoft

Change Management

Keeping and managing the changes and ensuring that they are implemented in the most cost-effective way.

Page 43: Software Testing

Srihari TechsoftSrihari Techsoft

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)

Page 44: Software Testing

Srihari TechsoftSrihari Techsoft

VERSION AND RELEASE MANAGEMENT

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.

Page 45: Software Testing

Srihari TechsoftSrihari Techsoft

Versions/Variants/Releases Variant An instance of a system which is

functionally identical but non – functionally distinct from other instances of a system.

Versions An instance of a system, which is functionally distinct in some way from other system instances.

Release An instance of a system, which is distributed to users outside of the development team.

Page 46: Software Testing

Srihari TechsoftSrihari Techsoft

Page 47: Software Testing

Srihari TechsoftSrihari Techsoft

SOFTWARE TESTING LIFECYCLE - PHASES

• Requirements study

• Test Case Design and Development

• Test Execution

• Test Closure

• Test Process Analysis

Page 48: Software Testing

Srihari TechsoftSrihari Techsoft

Requirements studyRequirements study

Testing Cycle starts with the study of client’s Testing Cycle starts with the study of client’s requirements.requirements.

Understanding of the requirements is very Understanding of the requirements is very essential for testing the product.essential for testing the product.

Page 49: Software Testing

Srihari TechsoftSrihari Techsoft

Analysis & PlanningAnalysis & Planning

• Test objective and coverageTest objective and coverage• Overall scheduleOverall schedule• Standards and MethodologiesStandards and Methodologies• Resources required, including necessary Resources required, including necessary

trainingtraining• Roles and responsibilities of the team Roles and responsibilities of the team

membersmembers• Tools usedTools used

Page 50: Software Testing

Srihari TechsoftSrihari Techsoft

Test Case Design and Development Test Case Design and Development

• Component IdentificationComponent Identification• Test Specification DesignTest Specification Design• Test Specification ReviewTest Specification Review

Test ExecutionTest Execution

• Code ReviewCode Review• Test execution and evaluationTest execution and evaluation• Performance and simulationPerformance and simulation

Page 51: Software Testing

Srihari TechsoftSrihari Techsoft

Test ClosureTest Closure

• Test summary reportTest summary report• Project De-briefProject De-brief• Project DocumentationProject Documentation

Test Process AnalysisTest Process Analysis

Analysis done on the reports and improving Analysis done on the reports and improving the application’s performance by implementing the application’s performance by implementing new technology and additional features. new technology and additional features.

Page 52: Software Testing

Srihari TechsoftSrihari Techsoft

Page 53: Software Testing

Srihari TechsoftSrihari Techsoft

Testing Levels

•Unit testingUnit testing•Integration testing Integration testing •System testingSystem testing•Acceptance testingAcceptance testing

Page 54: Software Testing

Srihari TechsoftSrihari Techsoft

Unit testingUnit testing

The most ‘micro’ scale of testing.The most ‘micro’ scale of testing. Tests done on particular functions or code Tests done on particular functions or code

modules.modules. Requires knowledge of the internal program Requires knowledge of the internal program

design and code.design and code. Done by Programmers (not by testers).Done by Programmers (not by testers).

Page 55: Software Testing

Srihari TechsoftSrihari Techsoft

Unit testing

ObjectivesObjectives To test the function of a program or unit of To test the function of a program or unit of code such as a program or modulecode such as a program or module

To test internal logicTo test internal logic To verify internal designTo verify internal design To test path & conditions coverageTo test path & conditions coverage To test exception conditions & error To test exception conditions & error

handlinghandlingWhenWhen After modules are codedAfter modules are codedInputInput Internal Application DesignInternal Application Design

Master Test PlanMaster Test Plan Unit Test PlanUnit Test Plan

OutputOutput Unit Test ReportUnit Test Report

Page 56: Software Testing

Srihari TechsoftSrihari Techsoft

WhoWho DeveloperDeveloper

MethodsMethods White Box testing techniquesWhite Box testing techniquesTest Coverage techniquesTest Coverage techniques

ToolsTools DebugDebugRe-structureRe-structureCode AnalyzersCode AnalyzersPath/statement coverage toolsPath/statement coverage tools

EducationEducation Testing MethodologyTesting MethodologyEffective use of toolsEffective use of tools

Page 57: Software Testing

Srihari TechsoftSrihari Techsoft

Incremental integration testingIncremental integration testing

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

Application’s functionality aspects are required Application’s functionality aspects are required to be independent enough to work separately to be independent enough to work separately before completion of development.before completion of development.

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

Page 58: Software Testing

Srihari TechsoftSrihari Techsoft

Integration TestingIntegration Testing

Testing of combined parts of an application to Testing of combined parts of an application to determine their functional correctness.determine their functional correctness.

‘‘Parts’ can be Parts’ can be • code modulescode modules• individual applicationsindividual applications• client/server applications on a client/server applications on a

network.network.

Page 59: Software Testing

Srihari TechsoftSrihari Techsoft

Types of Integration TestingTypes of Integration Testing

• Big Bang testingBig Bang testing

• Top Down Integration testingTop Down Integration testing

• Bottom Up Integration testingBottom Up Integration testing

Page 60: Software Testing

Srihari TechsoftSrihari Techsoft

Integration testing

ObjectivesObjectives To technically verify proper To technically verify proper interfacing between modules, and interfacing between modules, and within sub-systemswithin sub-systems

WhenWhen After modules are unit testedAfter modules are unit testedInputInput Internal & External Application Internal & External Application

DesignDesign Master Test PlanMaster Test Plan Integration Test PlanIntegration Test Plan

OutputOutput Integration Test reportIntegration Test report

Page 61: Software Testing

Srihari TechsoftSrihari Techsoft

WhoWho DevelopersDevelopers

MethodsMethods White and Black Box White and Black Box techniquestechniquesProblem / Problem / Configuration Configuration ManagementManagement

ToolsTools DebugDebugRe-structureRe-structureCode AnalyzersCode Analyzers

EducationEducation Testing MethodologyTesting MethodologyEffective use of toolsEffective use of tools

Page 62: Software Testing

Srihari TechsoftSrihari Techsoft

System TestingSystem Testing

ObjectivesObjectives To verify that the system components perform To verify that the system components perform control functionscontrol functions

To perform inter-system testTo perform inter-system test To demonstrate that the system performs both To demonstrate that the system performs both

functionally and operationally as specifiedfunctionally and operationally as specified To perform appropriate types of tests relating To perform appropriate types of tests relating

to Transaction Flow, Installation, Reliability, to Transaction Flow, Installation, Reliability, Regression etc.Regression etc.

WhenWhen After Integration TestingAfter Integration Testing

InputInput Detailed Requirements & External Application Detailed Requirements & External Application DesignDesign

Master Test PlanMaster Test Plan System Test PlanSystem Test Plan

OutputOutput System Test ReportSystem Test Report

Page 63: Software Testing

Srihari TechsoftSrihari Techsoft

WhoWho Development Team and UsersDevelopment Team and Users

MethodsMethods Problem / Configuration Problem / Configuration ManagementManagement

ToolsTools Recommended set of toolsRecommended set of tools

EducationEducation Testing MethodologyTesting MethodologyEffective use of toolsEffective use of tools

Page 64: Software Testing

Srihari TechsoftSrihari Techsoft

Systems Integration Testing ObjectivesObjectives To test the co-existence of products and To test the co-existence of products and

applications that are required to perform applications that are required to perform together in the production-like operational together in the production-like operational environment (hardware, software, network) environment (hardware, software, network)

To ensure that the system functions together To ensure that the system functions together with all the components of its environment as a with all the components of its environment as a total systemtotal system

To ensure that the system releases can be To ensure that the system releases can be deployed in the current environmentdeployed in the current environment

WhenWhen After system testingAfter system testing Often performed outside of project life-cycleOften performed outside of project life-cycle

InputInput Test StrategyTest Strategy Master Test PlanMaster Test Plan Systems Integration Test PlanSystems Integration Test Plan

OutputOutput Systems Integration Test reportSystems Integration Test report

Page 65: Software Testing

Srihari TechsoftSrihari Techsoft

WhoWho System TestersSystem Testers

MethodsMethods White and Black Box techniquesWhite and Black Box techniquesProblem / Configuration Problem / Configuration ManagementManagement

ToolsTools Recommended set of toolsRecommended set of tools

EducationEducation Testing MethodologyTesting MethodologyEffective use of toolsEffective use of tools

Page 66: Software Testing

Srihari TechsoftSrihari Techsoft

Acceptance Testing

ObjectivesObjectives To verify that the system meets To verify that the system meets the user requirementsthe user requirements

WhenWhen After System TestingAfter System TestingInputInput Business Needs & Detailed Business Needs & Detailed

RequirementsRequirements Master Test PlanMaster Test Plan User Acceptance Test PlanUser Acceptance Test Plan

OutputOutput User Acceptance Test reportUser Acceptance Test report

Page 67: Software Testing

Srihari TechsoftSrihari Techsoft

WhoWho Users / End UsersUsers / End Users

MethodsMethods Black Box techniquesBlack Box techniquesProblem / Configuration Problem / Configuration ManagementManagement

ToolsTools Compare, keystroke capture & playback, Compare, keystroke capture & playback, regression testingregression testing

EducationEducation Testing MethodologyTesting MethodologyEffective use of toolsEffective use of toolsProduct knowledgeProduct knowledgeBusiness Release StrategyBusiness Release Strategy

Page 68: Software Testing

Srihari TechsoftSrihari Techsoft

TESTING METHODOLOGIES TESTING METHODOLOGIES AND TYPESAND TYPES

Page 69: Software Testing

Testing methodologiesTesting methodologies

Black box testingBlack box testing

White box testingWhite box testing

Incremental testingIncremental testing

Thread testingThread testing

Page 70: Software Testing

Srihari TechsoftSrihari Techsoft

Black box testingBlack box testing• No knowledge of internal design or code No knowledge of internal design or code

required.required.• Tests are based on requirements and Tests are based on requirements and

functionalityfunctionality White box testingWhite box testing• Knowledge of the internal program design Knowledge of the internal program design

and code required.and code required.• Tests are based on coverage of code Tests are based on coverage of code

statements,branches,paths,conditions. statements,branches,paths,conditions.

Page 71: Software Testing

Srihari TechsoftSrihari Techsoft

Incorrect or missing functionsIncorrect or missing functions Interface errorsInterface errors Errors in data structures or external database Errors in data structures or external database

accessaccess Performance errorsPerformance errors Initialization and termination errorsInitialization and termination errors

Black Box - testing techniqueBlack Box - testing technique

Page 72: Software Testing

Srihari TechsoftSrihari Techsoft

Black box / Functional testingBlack box / Functional testing

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

Page 73: Software Testing

Srihari TechsoftSrihari Techsoft

White box testing / Structural testingWhite box testing / Structural testing

Based on knowledge of internal logic of anBased on knowledge of internal logic of anapplication's codeapplication's code

Based on coverage of code statements, Based on coverage of code statements, branches, paths, conditionsbranches, paths, conditions

Tests are logic driven Tests are logic driven

Page 74: Software Testing

Srihari TechsoftSrihari Techsoft

Functional testingFunctional testing Black box type testing geared to functional Black 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 overall Black box type testing that is based on overall

requirements specifications; covering all combined requirements specifications; covering all combined parts of the system.parts of the system.

End-to-end testingEnd-to-end testing Similar to system testing; involves testing of a Similar to system testing; involves testing of a

complete application environment in a situation that complete application environment in a situation that mimics real-world use.mimics real-world use.

Page 75: Software Testing

Srihari TechsoftSrihari Techsoft

Sanity testingSanity testing

Initial effort to determine if a new software Initial effort to determine if a new software version is performing well enough to accept version is performing well enough to accept it for a major testing effort.it for a major testing effort.

Regression testingRegression testing

Re-testing after fixes or modifications of the Re-testing after fixes or modifications of the software or its environment.software or its environment.

Page 76: Software Testing

Srihari TechsoftSrihari Techsoft

Acceptance testingAcceptance testing

Final testing based on specifications of the Final testing based on specifications of the end-user or customer end-user or customer

Load testingLoad testing

Testing an application under heavy loads.Testing an application under heavy loads. Eg. Testing of a web site under a range of Eg. Testing of a web site under a range of

loads to determine, when the system response loads to determine, when the system response time degraded or fails.time degraded or fails.

Page 77: Software Testing

Srihari TechsoftSrihari Techsoft

Stress TestingStress Testing

Testing under unusually heavy loads, heavy Testing under unusually heavy loads, heavy repetition of certain actions or inputs, input of repetition of certain actions or inputs, input of large numerical values, large complex queries large numerical values, large complex queries to a database etc.to a database etc.

Term often used interchangeably with ‘load’ Term often used interchangeably with ‘load’ and ‘performance’ testing.and ‘performance’ testing.

Performance testingPerformance testing Testing how well an application complies to Testing how well an application complies to

performance requirements. performance requirements.

Page 78: Software Testing

Srihari TechsoftSrihari Techsoft

Install/uninstall testingInstall/uninstall testing Testing of full,partial or upgrade Testing of full,partial or upgrade

install/uninstall process.install/uninstall process.Recovery testingRecovery testing

Testing how well a system recovers from Testing how well a system recovers from crashes, HW failures or other problems.crashes, HW failures or other problems.

Compatibility testingCompatibility testing Testing how well software performs in a Testing how well software performs in a

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

Page 79: Software Testing

Srihari TechsoftSrihari Techsoft

Exploratory testing / ad-hoc testingExploratory testing / ad-hoc testing Informal SW test that is not based on formal test Informal SW test that is not based on formal test

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

Comparison testingComparison testing Comparing SW strengths and weakness to Comparing SW strengths and weakness to

competing products.competing products.

Page 80: Software Testing

Srihari TechsoftSrihari Techsoft

Alpha testing•Testing 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 and problems need to be found before release.

Page 81: Software Testing

Srihari TechsoftSrihari Techsoft

Mutation testingMutation testing

To determining if a set of test data or test cases is To determining if a set of test data or test cases is useful, by deliberately introducing various bugs.useful, by deliberately introducing various bugs.

Re-testing with the original test data/cases to Re-testing with the original test data/cases to determine if the bugs are detected.determine if the bugs are detected.

Page 82: Software Testing

Srihari TechsoftSrihari Techsoft

Page 83: Software Testing

Srihari TechsoftSrihari Techsoft

White Box - testing techniqueWhite Box - testing technique All independent paths within a module have been All independent paths within a module have been

exercised at least onceexercised at least once

Exercise all logical decisions on their Exercise all logical decisions on their truetrue and and falsefalse sidessides

Execute all loops at their boundaries and within their Execute all loops at their boundaries and within their operational boundsoperational bounds

Exercise internal data structures to ensure their Exercise internal data structures to ensure their validity validity

Page 84: Software Testing

Srihari TechsoftSrihari Techsoft

This white box technique focuses on the validity This white box technique focuses on the validity of loop constructs. of loop constructs.

4 different classes of loops can be defined 4 different classes of loops can be defined • simple loops simple loops • nested loops nested loops • concatenated loopsconcatenated loops• Unstructured loops Unstructured loops

Loop Testing

Page 85: Software Testing

Srihari TechsoftSrihari Techsoft

Other White Box TechniquesOther White Box Techniques Statement CoverageStatement Coverage – execute all statements at least once– execute all statements at least once

Decision CoverageDecision Coverage – execute each decision direction at least once – execute each decision direction at least once

Condition CoverageCondition Coverage – execute each decision with all possible outcomes at – execute each decision with all possible outcomes at least once least once

Decision / ConditionDecision / Condition coverage coverage – execute all possible combinations of – execute all possible combinations of condition outcomes in each decision. condition outcomes in each decision.

Multiple condition CoverageMultiple condition Coverage – Invokes each point of entry at least once. – Invokes each point of entry at least once.Examples ……Examples ……

Page 86: Software Testing

Srihari TechsoftSrihari Techsoft

Statement Coverage – ExamplesStatement Coverage – Examples

Eg. A + BEg. A + B

If (A = 3) ThenIf (A = 3) Then B = X + YB = X + YEnd-IfEnd-If

While (A > 0) DoWhile (A > 0) DoRead (X)Read (X)A = A - 1A = A - 1

End-While-DoEnd-While-Do

Page 87: Software Testing

Srihari TechsoftSrihari Techsoft

Decision Coverage - ExampleDecision Coverage - ExampleIf A < 10 or A > 20 Then If A < 10 or A > 20 Then

B = X + YB = X + Y

Condition Coverage – ExampleCondition Coverage – ExampleA = X A = X If (A > 3) or (A < B) ThenIf (A > 3) or (A < B) Then

B = X + YB = X + YEnd-If-ThenEnd-If-Then

While (A > 0) and (Not EOF) DoWhile (A > 0) and (Not EOF) DoRead (X)Read (X)A = A - 1A = A - 1

End-While-DoEnd-While-Do

Page 88: Software Testing

Srihari TechsoftSrihari Techsoft

Incremental TestingIncremental Testing

A disciplined method of testing the interfaces A disciplined method of testing the interfaces between unit-tested programs as well as between unit-tested programs as well as between system components. between system components.

Involves adding unit-testing program module Involves adding unit-testing program module or component one by one, and testing each or component one by one, and testing each result and combination.result and combination.

Page 89: Software Testing

Srihari TechsoftSrihari Techsoft

There are two types of incremental testingThere are two types of incremental testing

Top-downTop-down – testing form the top of the – testing 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 hierarchical Modules are added in descending hierarchical order.order.

Bottom-upBottom-up – testing from the bottom of the – testing from the bottom of the hierarchy and works up to the top. Modules are hierarchy and works up to the top. Modules are added in ascending hierarchical order. added in ascending hierarchical order.

Page 90: Software Testing

Srihari TechsoftSrihari Techsoft

Testing Levels/ Testing Levels/ TechniquesTechniques

WhiteWhite BoxBox

BlackBlackBoxBox

Incre-Incre-mentalmental

ThreadThread

Unit TestingUnit Testing XX

Integration Integration TestingTesting XX XX

XX

System TestingSystem Testing XX

Acceptance Acceptance TestingTesting XX

Page 91: Software Testing

Major Testing TypesMajor Testing Types

Stress / Load TestingPerformance TestingRecovery TestingConversion TestingUsability TestingConfiguration Testing

Page 92: Software Testing

Srihari TechsoftSrihari Techsoft

Stress / Load TestStress / Load Test

Evaluates a system or component at or beyondEvaluates a system or component at or beyondthe limits of its specified requirements.the limits of its specified requirements.

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

how. how.

Page 93: Software Testing

Srihari TechsoftSrihari Techsoft

Performance TestPerformance Test

Evaluate the compliance of a system or Evaluate the compliance of a system or component with specified performance component with specified performance requirements. requirements.

Often performed using an automated test tool Often performed using an automated test tool to simulate large number of users. to simulate large number of users.

Page 94: Software Testing

Srihari TechsoftSrihari Techsoft

Recovery TestRecovery Test

Confirms that the system recovers from Confirms that the system recovers from expected or unexpected events without loss expected 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

Page 95: Software Testing

Srihari TechsoftSrihari Techsoft

Conversion TestConversion Test

Testing of code that is used to convert data Testing of code that is used to convert data from existing systems for use in the newly from existing systems for use in the newly replaced systems replaced systems

Page 96: Software Testing

Srihari TechsoftSrihari Techsoft

Usability TestUsability Test

Testing the system for the users Testing the system for the users to learn and use the product. to learn and use the product.

Page 97: Software Testing

Srihari TechsoftSrihari Techsoft

Configuration TestConfiguration Test

Examines an application's requirements for pre-Examines an application's requirements for pre-existing software, initial states and existing software, initial states and configuration in order to maintain proper configuration in order to maintain proper functionality. functionality.

Page 98: Software Testing

Srihari TechsoftSrihari Techsoft

SOFTWARE TESTING LIFECYCLE - PHASES

• Requirements study

• Test Case Design and Development

• Test Execution

• Test Closure

• Test Process Analysis

Page 99: Software Testing

Srihari TechsoftSrihari Techsoft

Requirements studyRequirements study

Testing Cycle starts with the study of client’s Testing Cycle starts with the study of client’s requirements.requirements.

Understanding of the requirements is very Understanding of the requirements is very essential for testing the product.essential for testing the product.

Page 100: Software Testing

Srihari TechsoftSrihari Techsoft

Analysis & PlanningAnalysis & Planning

• Test objective and coverageTest objective and coverage• Overall scheduleOverall schedule• Standards and MethodologiesStandards and Methodologies• Resources required, including necessary Resources required, including necessary

trainingtraining• Roles and responsibilities of the team Roles and responsibilities of the team

membersmembers• Tools usedTools used

Page 101: Software Testing

Srihari TechsoftSrihari Techsoft

Test Case Design and Development Test Case Design and Development

• Component IdentificationComponent Identification• Test Specification DesignTest Specification Design• Test Specification ReviewTest Specification Review

Test ExecutionTest Execution

• Code ReviewCode Review• Test execution and evaluationTest execution and evaluation• Performance and simulationPerformance and simulation

Page 102: Software Testing

Srihari TechsoftSrihari Techsoft

Test ClosureTest Closure

• Test summary reportTest summary report• Project DocumentationProject Documentation

Test Process AnalysisTest Process Analysis

Analysis done on the reports and improving Analysis done on the reports and improving the application’s performance by implementing the application’s performance by implementing new technology and additional features. new technology and additional features.

Page 103: Software Testing

Srihari TechsoftSrihari Techsoft

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.

Page 104: Software Testing

A document that describes theA document that describes the scopescope approachapproach resourcesresources scheduleschedule

……of intended test activities. of intended test activities. Identifies the Identifies the

test itemstest items features to be testedfeatures to be tested testing taskstesting tasks task allotmenttask allotment risks requiring contingency planning.risks requiring contingency planning.

Page 105: Software Testing

Srihari TechsoftSrihari Techsoft

Purpose of preparing a Test PlanPurpose of preparing a Test Plan

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

Help the people outside the test group to understand Help the people outside the test group to understand ‘why’ and ‘how’ of product validation. ‘why’ and ‘how’ of product validation.

A Test Plan should beA Test Plan should be thorough enough (Overall coverage of test to be thorough enough (Overall coverage of test to be

conducted)conducted) useful and understandable by the people inside and useful and understandable by the people inside and

outside the test group.outside the test group.

Page 106: Software Testing

Srihari TechsoftSrihari Techsoft

ScopeScopeThe 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 ApproachDetails on how the testing is to be performed.Details on how the testing is to be performed.Any specific strategy is to be followed for Any specific strategy is to be followed for testing (including configuration management).testing (including configuration management).

Page 107: Software Testing

Srihari TechsoftSrihari Techsoft

Entry CriteriaEntry CriteriaVarious steps to be performed before the start of a Various steps to be performed before the start of a test i.e. Pre-requisites.test i.e. Pre-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.

ResourcesResourcesList of the people involved in the project and their List of the people involved in the project and their designation etc.designation etc.

Page 108: Software Testing

Srihari TechsoftSrihari Techsoft

Tasks/ResponsibilitiesTasks to be performed and responsibilities assigned to the various team members.

Exit CriteriaContains tasks like •Bringing down the system / server•Restoring system to pre-test environment•Database refresh etc.

Schedule / MilestonesDeals with the final delivery date and the various milestones dates.

Page 109: Software Testing

Srihari TechsoftSrihari Techsoft

Hardware / Software RequirementsHardware / Software RequirementsDetails of PC’s / servers required to install the Details of PC’s / servers required to install the application or perform the testingapplication or perform the testingSpecific software to get the application Specific 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 PlansList out the possible risks during testingList out the possible risks during testingMitigation plans to implement incase the risk Mitigation plans to implement incase the risk actually turns into a reality.actually turns into a reality.

Page 110: Software Testing

Srihari TechsoftSrihari Techsoft

Tools to be usedTools to be usedList the testing tools or utilities List the testing tools or utilities Eg.WinRunner, LoadRunner, Test Director, Eg.WinRunner, LoadRunner, Test Director, Rational Robot, QTP.Rational Robot, QTP.

DeliverablesDeliverablesVarious deliverables due to the client at various Various deliverables due to the client at various points of time i.e. Daily / weekly / start of the points 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, test These include test plans, test procedures, test metric, status reports, test scripts etc. metric, status reports, test scripts etc.

Page 111: Software Testing

Srihari TechsoftSrihari Techsoft

ReferencesReferences

ProceduresProceduresTemplates (Client specific or otherwise)Templates (Client specific or otherwise)Standards / Guidelines e.g. QviewStandards / Guidelines e.g. QviewProject related documents (RSD, ADD, Project related documents (RSD, ADD,

FSD etc).FSD etc).

Page 112: Software Testing

Srihari TechsoftSrihari Techsoft

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

used in the course of testing used in the course of testing Eg. 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.

Sign-offSign-off Mutual agreement between the client and the QAMutual agreement between the client and the QA

Team.Team. Both leads/managers signing their agreement on Both leads/managers signing their agreement on

the Test Plan.the Test Plan.

Page 113: Software Testing

Srihari TechsoftSrihari Techsoft

Good Test PlansGood Test Plans

Developed and Reviewed early.Developed and Reviewed early. Clear, Complete and SpecificClear, Complete and Specific Specifies tangible deliverables that can be Specifies 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.

Page 114: Software Testing

Srihari TechsoftSrihari Techsoft

Good Test PlansGood Test 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

Page 115: Software Testing

Srihari TechsoftSrihari Techsoft

TEST CASESTEST CASES

Test caseTest case is defined asis defined as A set of test inputs, execution conditions and A set of test inputs, execution conditions and

expected results, developed for a particular expected results, developed for a particular objective.objective.

Documentation specifying inputs, predicted Documentation specifying inputs, predicted results and a set of execution conditions for a test results and a set of execution conditions for a test item.item.

Page 116: Software Testing

Srihari TechsoftSrihari Techsoft

Specific inputs that will be tried and the Specific inputs that will be tried and the procedures that will be followed when the procedures that will be followed when the software tested. software tested.

Sequence of one or more subtests executed as a Sequence of one or more subtests executed as a sequence as the outcome and/or final state of sequence as the outcome and/or final state of one subtests is the input and/or initial state of one subtests is the input and/or initial state of the next.the next.

Specifies the pretest state of the AUT and its Specifies 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 AUT The expected result specifies what the AUT should produce from the test inputs. should produce from the test inputs.

Page 117: Software Testing

Srihari TechsoftSrihari Techsoft

Good Test PlansGood Test Plans

Developed and Reviewed early.Developed and Reviewed early. Clear, Complete and SpecificClear, Complete and Specific Specifies tangible deliverables that can be Specifies 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.

Page 118: Software Testing

Srihari TechsoftSrihari Techsoft

Good Test PlansGood Test 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

Page 119: Software Testing

Srihari TechsoftSrihari Techsoft

Test CasesTest Cases

ContentsContents

Test plan reference idTest plan reference id Test caseTest case Test conditionTest condition Expected behaviorExpected behavior

Page 120: Software Testing

Srihari TechsoftSrihari Techsoft

Good Test CasesGood Test CasesFind DefectsFind Defects

Have high probability of finding a new defect.Have high probability of finding a new defect. Unambiguous tangible result that can be Unambiguous tangible result that can be

inspected.inspected. Repeatable and predictable.Repeatable and predictable.

Page 121: Software Testing

Srihari TechsoftSrihari Techsoft

Good Test CasesGood Test Cases

Traceable to requirements or design documentsTraceable 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

Page 122: Software Testing

Defect Life CycleDefect Life Cycle

What is Defect?

A defect is a variance from a desired product attribute.

Two categories of defects are • Variance from product specifications• Variance from Customer/User expectations

Page 123: Software Testing

Srihari TechsoftSrihari Techsoft

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 built A specification by the user not in the built product, but something not specified has been product, but something not specified has been included. included.

Page 124: Software Testing

Srihari TechsoftSrihari Techsoft

Defect categories

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.

Page 125: Software Testing

Srihari TechsoftSrihari Techsoft

Defect LogDefect Log

• Defect ID numberDefect ID number• Descriptive defect name and typeDescriptive defect name and type• Source of defect – test case or other sourceSource of defect – test 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)

Page 126: Software Testing

Srihari TechsoftSrihari Techsoft

7.7. Date and time tracking for either the most Date and time tracking for either the most recent status change, or for each change in the recent status change, or for each change in the status.status.

8.8. Detailed description, including the steps Detailed 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 the Screen 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 the Person assigned to research and/or corrects the

defect.defect.

Page 127: Software Testing

Srihari TechsoftSrihari Techsoft

Severity Vs PrioritySeverity Vs PrioritySeveritySeverity

Factor that shows how bad the defect is Factor that shows how bad the defect is and the impact it has on the productand the impact it has on the product

PriorityPriorityBased upon input from users regarding Based upon input from users regarding which defects are most important to them, which defects are most important to them, and be fixed first.and be fixed first.

Page 128: Software Testing

Srihari TechsoftSrihari Techsoft

Severity LevelsSeverity Levels

CriticalCritical Major / HighMajor / High Average / MediumAverage / Medium Minor / lowMinor / low Cosmetic defectsCosmetic defects

Page 129: Software Testing

Srihari TechsoftSrihari Techsoft

Severity Level – CriticalSeverity Level – Critical

An installation process which does not load a An installation process which does not load a component.component.

A missing menu option.A missing menu option.

Security permission required to access a function Security permission required to access a function under test.under test.

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

Page 130: Software Testing

Srihari TechsoftSrihari Techsoft

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

Functionality Missed out / Incorrect Functionality Missed out / Incorrect Implementation (Major Deviation from Implementation (Major Deviation from Requirements).Requirements).

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

Browser incompatibility and Operating systems Browser incompatibility and Operating systems incompatibility issues depending on the impact of incompatibility issues depending on the impact of error.error.

Dead Links.Dead Links.

Page 131: Software Testing

Srihari TechsoftSrihari Techsoft

Severity Level – Major / HighSeverity Level – Major / 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.

Page 132: Software Testing

Srihari TechsoftSrihari Techsoft

Functionality incorrectly implemented (Minor Functionality incorrectly implemented (Minor Deviation from Requirements).Deviation from Requirements).

Images, Graphics missing which hinders Images, Graphics missing which hinders functionality.functionality.

Front End / Home Page Alignment issues.Front End / Home Page Alignment issues. Severity Level – Average / MediumSeverity Level – Average / Medium

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

Page 133: Software Testing

Srihari TechsoftSrihari Techsoft

Severity Level – Minor / LowSeverity Level – Minor / Low

Misspelled or ungrammatical textMisspelled or ungrammatical text Inappropriate or incorrect formatting (such as Inappropriate 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

Page 134: Software Testing

Srihari TechsoftSrihari Techsoft

Page Titles Missing Page Titles Missing Alt Text for ImagesAlt Text for Images Background Color for the Pages other than Background Color for the Pages other than

Home pageHome page Default Value missing for the fields requiredDefault Value missing for the fields required Cursor Set Focus and Tab Flow on the PageCursor Set Focus and Tab Flow on the Page Images, Graphics missing, which does not, Images, Graphics missing, which does not,

hinders functionalityhinders functionality

Page 135: Software Testing

Srihari TechsoftSrihari Techsoft

Test ReportsTest Reports8 INTERIM REPORTS8 INTERIM REPORTS

Functional Testing StatusFunctional Testing Status Functions Working TimelineFunctions Working Timeline Expected Vs Actual Defects Detected TimelineExpected Vs Actual Defects Detected Timeline Defects Detected Vs Corrected Gap TimelineDefects Detected Vs Corrected Gap Timeline Average Age of Detected Defects by typeAverage Age of Detected Defects by type Defect DistributionDefect Distribution Relative Defect DistributionRelative Defect Distribution Testing ActionTesting Action

Page 136: Software Testing

Functional Testing Status Report

Report shows percentage of the functions that are

•Fully Tested•Tested with Open defects•Not Tested

Page 137: Software Testing

Srihari TechsoftSrihari Techsoft

Functions Working TimelineFunctions Working Timeline

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.

Page 138: Software Testing

Srihari TechsoftSrihari Techsoft

Expected Vs. Actual Defects DetectedExpected Vs. Actual Defects 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.

Page 139: Software Testing

Srihari TechsoftSrihari Techsoft

Defects Detected Vs. Corrected GapDefects Detected Vs. Corrected Gap

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.

Page 140: Software Testing

Srihari TechsoftSrihari Techsoft

Average Age Detected Defects by TypeAverage Age Detected Defects by Type

Average days of outstanding defects by its Average days of outstanding defects by its severity type or level.severity type or level.

The planning stage provides the acceptableThe planning stage provides the acceptable open days by defect type. open days by defect type.

Page 141: Software Testing

Srihari TechsoftSrihari Techsoft

Defect DistributionDefect Distribution

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

Relative Defect DistributionRelative Defect Distribution

Normalize the level of defects with the Normalize 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 of lines of code shows a more accurate level of defects.defects.

Page 142: Software Testing

Srihari TechsoftSrihari Techsoft

Testing ActionTesting Action

Report showsReport shows Possible shortfalls in testingPossible shortfalls in testing Number of severity-1 defectsNumber of severity-1 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

Page 143: Software Testing

METRICSMETRICS

2 Types

Product metrics

Process metrics

Page 144: Software Testing

Srihari TechsoftSrihari Techsoft

Process Metrics

Measures the characteristic of the

• methods• techniques• tools

Page 145: Software Testing

Srihari TechsoftSrihari Techsoft

Product Metrics

Measures the characteristic of the documentation and code.

Page 146: Software Testing

Srihari TechsoftSrihari Techsoft

Test Metrics

User Participation = User Participation test time Vs. Total test time.

Path Tested = Number of path tested Vs. Total number of paths.

Acceptance criteria tested = Acceptance criteria verified Vs. Total acceptance criteria.

Page 147: Software Testing

Srihari TechsoftSrihari Techsoft

Test cost = Test cost Vs. Total system cost.

Cost to locate defect = Test cost / No. of defects located in the testing.

Detected production defect = No. of defects

detected in production / Application system size.

Test Automation = Cost of manual test effort / Total test cost.

Page 148: Software Testing

Srihari TechsoftSrihari Techsoft

CMM – Level 1 – Initial LevelCMM – Level 1 – Initial Level

The organization The organization

Does not have an environment for developing Does not have an environment for developing and maintaining software. and maintaining software.

At the time of crises, projects usually stop At the time of crises, projects usually stop using all planned procedures and revert to using all planned procedures and revert to coding and testing. coding and testing.

Page 149: Software Testing

Srihari TechsoftSrihari Techsoft

CMM – Level 2 – Repeatable levelCMM – Level 2 – Repeatable level

Effective management process having Effective management process having established which can be established which can be

PracticedPracticedDocumentedDocumentedEnforcedEnforcedTrainedTrainedMeasured Measured ImprovisedImprovised

Page 150: Software Testing

Srihari TechsoftSrihari Techsoft

CMM – Level 3 – Defined levelCMM – Level 3 – Defined level

Standard defined software engineering andStandard defined software engineering and management process for developing and management process for developing and maintaining software.maintaining software.

These processes are put together to make a These processes are put together to make a coherent whole. coherent whole.

Page 151: Software Testing

Srihari TechsoftSrihari Techsoft

CMM – Level 4 – Managed levelCMM – Level 4 – Managed level

Quantitative goals set for both software products Quantitative 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 all determining the productivity and quality for all important software process activities across all important software process activities across all projects.projects.

Page 152: Software Testing

Srihari TechsoftSrihari Techsoft

CMM – Level 5 – Optimizing levelCMM – Level 5 – Optimizing level

Emphasis laid on Emphasis laid on

Process improvementProcess improvementTools to identify weaknesses existing in theirTools to identify weaknesses existing in their processesprocessesMake timely correctionsMake timely corrections

Page 153: Software Testing

Srihari TechsoftSrihari Techsoft

TESTING STANDARDSTESTING STANDARDSExternal StandardsExternal Standards

Familiarity with and adoption of industry test Familiarity with and adoption of industry test standards from organizations.standards from organizations.

Internal StandardsInternal Standards

Development and enforcement of the test Development and enforcement of the test standards that testers must meet.standards that testers must meet.

Page 154: Software Testing

Srihari TechsoftSrihari Techsoft

IEEE STANDARDSIEEE STANDARDS

Institute of Electrical and Electronics Institute of Electrical and Electronics Engineers designed an entire set of standards Engineers designed an entire set of standards for software and to be followed by the for software and to be followed by the testers.testers.

Page 155: Software Testing

Srihari TechsoftSrihari Techsoft

IEEEIEEE – – Standard Glossary of Software Engineering Standard Glossary of Software Engineering

TerminologyTerminology

IEEEIEEE – – Standard for Software Quality Assurance PlanStandard for Software Quality Assurance Plan

IEEE IEEE – – Standard for Software Configuration Management Standard for Software Configuration Management

PlanPlan

IEEEIEEE – – Standard for Software for Software Test Standard for Software for Software Test

DocumentationDocumentation

IEEE IEEE – – Recommended Practice for Software Requirement Recommended Practice for Software Requirement

SpecificationSpecification

Page 156: Software Testing

Srihari TechsoftSrihari Techsoft

IEEE IEEE – – Standard for Software Unit TestingStandard for Software Unit Testing

IEEE IEEE – – Standard for Software Verification and Standard for Software Verification and ValidationValidation

IEEE IEEE – – Standard for Software ReviewsStandard for Software Reviews

IEEE IEEE – – Recommended practice for Software Recommended practice for Software Design descriptionsDesign descriptions

IEEE IEEE – – Standard Classification for Software Standard Classification for Software AnomaliesAnomalies

Page 157: Software Testing

Srihari TechsoftSrihari Techsoft

IEEEIEEE – – Standard for Software Productivity Standard for Software Productivity metricsmetrics

IEEEIEEE – – Standard for Software Project Standard for Software Project Management plansManagement plans

IEEE IEEE – – Standard for Software ManagementStandard for Software Management

IEEE IEEE – – Standard for Software Quality Metrics Standard for Software Quality Metrics MethodologyMethodology

Page 158: Software Testing

Srihari TechsoftSrihari Techsoft

Other standards…..Other standards…..

ISOISO – – International Organization for StandardsInternational Organization for Standards

Six SigmaSix Sigma – – Zero Defect OrientationZero Defect Orientation

SPICE SPICE – – Software Process Improvement and Software Process Improvement and Capability DeterminationCapability Determination

NIST NIST – – National Institute of Standards and National Institute of Standards and TechnologyTechnology