Software Testing An overview
-
Upload
softwarecentral -
Category
Documents
-
view
3.874 -
download
2
Transcript of Software Testing An overview
Srihari TechsoftSrihari Techsoft
Software TestingSoftware Testing
An overviewAn overview
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?
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
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
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.
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 probability of finding an as yet undiscovered error.undiscovered error.
A successful test is one that uncovers a A 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 simple A good test should neither be too simple
nor too complex. nor too complex.
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
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.
Srihari TechsoftSrihari Techsoft
TESTABILITYTESTABILITY
Operability Operability Observe-abilityObserve-abilityControllability Controllability Decomposability Decomposability StabilityStabilityUnderstandabilityUnderstandability
Srihari TechsoftSrihari Techsoft
Plan
Do
Check
Action
Software Development Process Cycle
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.
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.
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.
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.
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.
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.
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
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
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
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
Srihari TechsoftSrihari Techsoft
Phases of SDLC
• Requirement Specification and Analysis• Design• Coding• Testing• Implementation• Maintenance
SOFTWARE DEVELOPMENT LIFE CYCLE (SDLC)
Srihari TechsoftSrihari Techsoft
Requirement Specificationand Analysis
User Requirement Specification (USR)
Software Requirement Specification (SRS)
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
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)
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)
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
Srihari TechsoftSrihari Techsoft
Top-down approach
Srihari TechsoftSrihari Techsoft
Bottom-Up Approach
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.
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.
Srihari TechsoftSrihari Techsoft
SOFTWARE LIFE CYCLE MODELS
WATERFALL MODEL
V-PROCESS MODEL
SPIRAL MODEL
PROTOTYPE MODEL
INCREMENTAL MODEL
EVOLUTIONARY DEVELOPMENT MODEL
Project ManagementProject Management
Project StaffingProject Staffing
Project PlanningProject Planning
Project SchedulingProject Scheduling
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.
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.
Srihari TechsoftSrihari Techsoft
Project SchedulingProject Scheduling
Bar charts and Activity NetworksBar charts and Activity Networks
Scheduling problems Scheduling problems
Srihari TechsoftSrihari Techsoft
RISK MANAGEMENTRISK MANAGEMENT
Risk identification Risk identification Risk Analysis Risk Analysis Risk Planning Risk Planning Risk MonitoringRisk Monitoring
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.
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.
Srihari TechsoftSrihari Techsoft
PC version
Initial system DEC version
VMS version
Unix version
Mainframe version
Workstation version
Configuration Management
Sun version
Srihari TechsoftSrihari Techsoft
Configuration Management (CM)
Standards
CM should be based on a set of standards,
which are applied within an organization.
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.
Srihari TechsoftSrihari Techsoft
Change Management
Keeping and managing the changes and
ensuring that they are implemented in the most
cost-effective way.
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)
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.
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.
Srihari TechsoftSrihari Techsoft
Srihari TechsoftSrihari Techsoft
SOFTWARE TESTING LIFECYCLE - PHASES
• Requirements study
• Test Case Design and Development
• Test Execution
• Test Closure
• Test Process Analysis
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.
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
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
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.
Srihari TechsoftSrihari Techsoft
Srihari TechsoftSrihari Techsoft
Testing Levels
•Unit testingUnit testing•Integration testing Integration testing •System testingSystem testing•Acceptance testingAcceptance 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).
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
handlinghandling
WhenWhen After modules are codedAfter modules are coded
InputInput Internal Application DesignInternal Application Design Master Test PlanMaster Test Plan Unit Test PlanUnit Test Plan
OutputOutput Unit Test ReportUnit Test Report
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
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.
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.
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
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 tested
InputInput Internal & External Application Internal & External Application DesignDesign
Master Test PlanMaster Test Plan Integration Test PlanIntegration Test Plan
OutputOutput Integration Test reportIntegration Test report
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
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
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
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
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
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 Testing
InputInput 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
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
Srihari TechsoftSrihari Techsoft
TESTING METHODOLOGIES TESTING METHODOLOGIES AND TYPESAND TYPES
Testing methodologiesTesting methodologies
Black box testingBlack box testing
White box testingWhite box testing
Incremental testingIncremental testing
Thread testingThread 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.
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
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
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
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.
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.
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 loads to determine, when the system response time degraded or fails.response time degraded or fails.
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.
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.
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.
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.
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.
Srihari TechsoftSrihari Techsoft
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
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
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 – execute each decision with all possible outcomes at least once at 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 ……
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
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
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.
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.
Srihari TechsoftSrihari Techsoft
Testing Levels/ Testing Levels/ TechniquesTechniques
WhiteWhite BoxBox
BlackBlackBoxBox
Incre-Incre-mentalmental
ThreadThread
Unit TestingUnit Testing XX
Integration Integration TestingTesting
XX XXXX
System TestingSystem Testing XX
Acceptance Acceptance TestingTesting
XX
Major Testing TypesMajor Testing Types
Stress / Load TestingPerformance TestingRecovery TestingConversion TestingUsability TestingConfiguration Testing
Srihari TechsoftSrihari Techsoft
Stress / Load TestStress / Load Test
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 and Determines the load under which it fails and
how. how.
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.
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
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
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.
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.
Srihari TechsoftSrihari Techsoft
SOFTWARE TESTING LIFECYCLE - PHASES
• Requirements study
• Test Case Design and Development
• Test Execution
• Test Closure
• Test Process Analysis
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.
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
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
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.
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.
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.
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.
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).
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.
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.
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.
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.
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).
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.
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.
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
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.
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 Sequence of one or more subtests executed as a sequence as the outcome and/or final state of a 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.
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.
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
Srihari TechsoftSrihari Techsoft
Test CasesTest Cases
ContentsContents
Test plan reference idTest plan reference id Test caseTest case Test conditionTest condition Expected behaviorExpected behavior
Srihari TechsoftSrihari Techsoft
Good Test CasesGood Test Cases
Find 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.
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
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
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.
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.
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)
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 found
10.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.
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
PriorityPriority
Based 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.
Srihari TechsoftSrihari Techsoft
Severity LevelsSeverity Levels
CriticalCritical Major / HighMajor / High Average / MediumAverage / Medium Minor / lowMinor / low Cosmetic defectsCosmetic defects
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.
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 incompatibility issues depending on the impact of error.of error.
Dead Links.Dead Links.
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.
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.
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
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
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
Functional Testing Status Report
Report shows percentage of the functions that are
•Fully Tested•Tested with Open defects•Not Tested
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.
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.
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.
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.
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.
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
METRICSMETRICS
2 Types
Product metrics
Process metrics
Srihari TechsoftSrihari Techsoft
Process Metrics
Measures the characteristic of the
• methods• techniques• tools
Srihari TechsoftSrihari Techsoft
Product Metrics
Measures the characteristic of the documentation and code.
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.
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.
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.
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
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.
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.
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
Srihari TechsoftSrihari Techsoft
TESTING STANDARDSTESTING STANDARDS
External 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.
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.
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 Standard for Software Configuration
Management PlanManagement Plan
IEEEIEEE – – Standard for Software for Software Test Standard for Software for Software Test
DocumentationDocumentation
IEEE IEEE – – Recommended Practice for Software Recommended Practice for Software
Requirement SpecificationRequirement Specification
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
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
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