+ All Categories
Home > Documents > Test Estimation Techniques - STeP-IN Forum

Test Estimation Techniques - STeP-IN Forum

Date post: 03-Feb-2022
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
60
STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects Estimation Techniques for Testing Projects V.K.Kripanand
Transcript

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Estimation Techniques for Testing Projects

V.K.Kripanand

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Table of ContentsEstimation

OverviewComponents of EstimationFactors for EstimationEstimation ModelTechniques in UseA discussion on techniquesKey Points and Future forward

Test Projects Estimation Why now?How is it Different?Why is it Important?Future Forward

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Table of ContentsEstimation Techniques for Testing Projects

Principles of EstimationBlack BoxWhite BoxPerformance TestingStress Testing Other TestingInfluencing Factors Team Dynamics

Worksheets to useTest Estimation WorksheetsOther Supplemental Worksheets

Summary

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Estimation

Topics OverviewComponents of EstimationFactors for EstimationEstimation ModelTechniques in UseA discussion on techniquesKey Points and Future forward

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Estimation

OverviewCurrent Estimation techniques are aplentyNo subscribed method adoptedExperience, plays a crucial role“Plug and Pray” – “Predict and Pray”Why do we need estimation at all?

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Components of EstimationManpower costCost of infrastructure Operational costs

Special softwareCommunicationTravel Training

OverheadsShared facilitiesInfrastructure overheadsCost of moneyCost of Electricity/welfare/overtime etc

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Factors for estimationMarket opportunity

Who the competition is?What is the opportunity now and in the future?

Contractual termsAre there penalty clauses?Is it phase wise delivery?

Volatility of requirementsHow standard is the requirement?What could be the change in requirements over time?

Past ExperienceHave we had a better or bitter experience?Have we delivered something similar in the past?

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Factors for estimationOrganizational strengths

Management supportStrength and expertise of the team

Skill setTalent pool of engineers and the expectations of the projectIn house training capabilityAbility to learn quickly

Ability to ramp up Can we ramp up our team in case we win the project?Option and flexibility to outsource?

TechnologyComplexityEnvironment – Onsite/OffsiteVirtual Testing

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Estimation Models

What is it?Estimation model is the combination of the technique and the factorsA predefined framework or template Adaptable with modifications

Build or use Models?Using existing models is a safe bet Derive and build your own models

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Techniques in usePricing to Win

What the customer wants to spendBased on budget not on functionality

Parkinson’s lawExpand to fill timeNo objective assessment

AnalogyDomain basedHugely dependent on past completed projects.

Expert JudgmentExperts of the domain and development practice are consultedAgreement on final estimate is an iterative process

Algorithmic cost modellingBased on historical cost informationSoftware metric information and a model determine the effort

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Some more…Pricing to win, Parkinson’s law, Expert judgment

May not be relevant in today’s contextAnalogy and Algorithmic models

Widely in useCOCOMO and its variants are a great example

Algorithmic approachBased on metrics and formulaeRepeatable and Re-usable

Function points, object pointsProvide a framework based input

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Some more…Estimation is not only about effort

Model reveals the importance of staff experience in software development As well as effort estimation, managers must estimate the calendar timeThe time required is independent of the number of people working on the projectStaff required <> (development time/required schedule)Phase of the project decides the people working on the project

Cost/schedule risk managementPerform computations with and without the risk being realized and see the size of the impact best/worst case estimates

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

A discussion on techniques…Each method has strengths and weaknessesEstimation should be based on several methodsIf these do not return approximately the same result, there is insufficient information availableSome action should be taken to find out more in order to make more accurate estimatesChallenges

When RS is incompleteComplete Details are not availableToo frequent changes to requirements

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Key Points and future forwardWhich Model to use?

Because no model is right, all models can be usefulDifferent techniques of cost estimation should be used

Factors that influenceProductivity, Individual aptitudeDomain experienceProject size, Tool support and Technology challenges

Use of specific modelsAlgorithmic cost estimation is difficult because of the need to estimate attributes of the finished productThe COCOMO model takes project, product, personnel and hardware attributes into account when predicting effort requiredAlgorithmic cost models support quantitative option analysisThe time to complete a project is not proportional to the number of people working on the project

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Key Points and future forwardFuture Forward

Put the best models in use and derive a standard templateLearn from past experiences and document the sameCollect metrics to use in future, not for name sakeJunk in – Junk out (Actual effort data is very crucial)With over 2 decades of collective experience, we should now retrospect with past dataCollaborate and co-operate to have a win-winCut across competitive lines….Adapt the same for different nature of projects – More about this later……

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Test Projects Estimation

Topics The three W’s!Why now?How is it Different?What is Important?Future Forward

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Test Projects Estimation

The three W’sWhy?

Why the focus now on Test Projects?

How?How is this different from normal projects?

What?What are the important parameters to consider?

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Why Now? The market

Gartner estimates the worldwide software testing market at $13 BillionIndia is expected to touch $1 Billion by 2007

What we need now?Established Estimation TechniquesBuild large and skilled teamsRemove the fad of ‘Testing’ as a non-interesting job!Build frameworks and process methods specific to testingUse automation effectivelyLeverage the large talent poolIncubate talent with the relevant skills

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

How is it Different?Similar but not same!

Estimation techniques can be similarNature of Effort estimation is differentModels can be customized for Test ProjectsOverheads and factors are different

Test Projects have to consider theseAnalysis of test typesFactors for estimation are based on Development environment and test environment Demands on Skill, expertise and automation Technology and infrastructure requirements Domain knowledge

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

What is Important?Parameters to consider

Estimation methodsCan we derive from software estimation techniques

FrameworkIs there a framework that can be built?

Knowledge and know-how?Past Experience and know-how is crucialCan we learn from the past?Intelligence (metrics and data) from Projects is very important

TeamTeams play a crucial roleThey are the backbone of the executionWho else can predict accurately but themEstimation is not a individual effortIt is a team effort!

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Future ForwardLearn from the past

Put metrics to best useBuild a estimation model for testing projects

Use existing techniques to interpolate for testing projectsProcess Maturity

Build a model for quality of testing Build reusable assetsLeverage existing maturity models of the organization

People skill and talent poolIncubate new talentIdentify methods and techniques

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Estimation Techniques for Testing Projects

TopicsPrinciples of EstimationBlack BoxWhite BoxPerformance TestingStress Testing Other TestingInfluencing Factors Team Dynamics

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Principles of EstimationPrinciple of Estimation for testing projects shall be

Based on Software requirementsPrevious projectsMetrics

Estimation shallNever forget the pastBe recordedBe supported by toolsBe always verifiedConsider automation needsConsider people skills

Other Inputs to consider# of test cases/scenarios,# test cases per scenario, # of builds (for regression)

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Black BoxPointers for Estimation

Business CaseFunction pointsObject pointsRequirement SpecificationsDevelopment TimeEstimate versus ActualAutomationTest Bed ConditionsTechnology requirementsTest ReportingSkills

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Business CaseBusiness cases

Normal Scenario Test prescribed functionalityComplete Details are available

Domain specificDifferent types of domains require different calculationsSometimes a combination is to be usedNot all testing can be completedScope of testing could be restricted based on the domainCertain assumptions would have to be made

Challenges – Abnormal ScenarioDetails are not availableSpecifications are incomplete!

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Function PointsFunction points

Measure the size of a software application or project based on the number and complexity of user functions requested or deliveredThe calculation is objective.Function points are independent of the technology The calculation can be used early in the development cycleProductivity history on completed projects with similar characteristics can be usedThe measurement is meaningful to non-technical users.

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Function PointsFunction points and Testing

Can be used to estimate test effortEach function point can help in developing relevant test casesNature of Testing (Black Box, White Box) decide the test cases and their complexitiesFunction point complexity mapped with test case complexity help in deriving test estimationAre a good starting pointCombined with Requirement Specifications, Design and Analysis documents, help in arriving to near to actual test effortCould be the best starting point for “Test Case development”

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Object Points

Object PointsObject points are an alternative function-related measure to function points when 4Gls or similar languages are used for developmentThe number of raw objects are estimated, the complexity of each object is estimated, and the weighted total (Object-Point count) is computedHave nothing to do with objects in Object Oriented Programming

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Object PointsObject Points and Testing

Can be used to estimate test effortEach object point can help in developing relevant set of test cases or test suitesRe-usability, modularity can be built as against the FP based approachNature of Testing (Black Box, White Box) decide the test cases and their complexitiesObject points are most often than not used as indicators of estimationAccuracy on estimation is an iterative processIdeally suited if you have more than one testing project in the same domain

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Requirements SpecificationsRequirements Specifications

Depict the functionality of the systemDetails the various components and their desired functionalityA good reference point to build test cases for both test to pass and test to failTest requirements are a good starting point if availableA well documented RS will have a good structure and a mature traceabilityCould be the basis for estimation and project planning of Test Projects

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Development TimeDevelopment of the System Under Test (SUT)

Time TakenTime taken to develop the SUT is keyIndicates the trend on overrun, complexityIf actual time is available, it validates the estimation further

Interviews If possible with development team members will provide indicators

Domain expertisePrior experience of Testing team and Development Team – a great PlusPast experience in testing similar projects

What to focus on – Test to pass or Test to fail?Indicator that decides estimation largely

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Estimate versus Actual

Estimate versus ActualActual effort spent is a key indicator

If each RS item can indicate the time taken, and time allocated, variance can be effectively usedMore about this in worksheet discussion

Actual metrics can provide indicationsComplexity can be arrived atTechnology obstacles can be previewedTricky and Sticky code portions and implementations can be exposedNature of effort required to break can be judged

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

AutomationAutomation

A key indicator in estimatingAutomation helps in regressionBut it always takes more time to build automation suitesTrade off – Automation to Individual non-repeatable testsAvoid automating when not deemed fitIncorporate estimations for automation based on repeatability, reusability factorsTest Harness creation, maintenance

Key to identifying estimatesOne time effort, but useless if it has no repeatabilityIf mandated, accommodate estimate to ensure that the overall estimate is not hurt

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Test Bed ConditionsComplimentary to Automation

Test bed needs more inputs if automation is involvedAutomation decides the nature of test bed creationTest Bed creation estimates have to consider

Initial and repeatable costsEnvironmental considerationsRemote testing Testing on live environmentsTechnology considerationsHardware and software pre-requisitesTime to execute

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Technology requirements

Technology challenges are always newNew technology, old domain has hidden challengesSupport from Development teams crucial for estimationChallenges

Training timeLearning curveAvailability of experienced handsTechnical know-how is a prime factor

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Test Reporting

Test Reporting is a major activityEstimates usually do not account for reportingReporting needs are based on process maturity and methodologiesInvolve your QA Team to identify reporting needs and evolve estimationsBuilding new reports or Bug DB involves development effortKeep the reporting simple if feasibleUse ‘Expert Judgment’ extensively

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

SkillsBuild your team skills continuously

Keep hiring the best mindsAllow good transition from projectsBuild Domain expertise and prepare your team for the same

Your estimate should allow time for skill buildingDelivering all the time is not funLearning, delivering and re-learning is the way forwardKeep the human factor on top-priority

Use an updated matrix of skillsUse an matrix to map your teams skillsUpdate the matrix regularlyAlways Interpolate your estimate with skill set matrix Build your own matrix that is suitable and “Keep it simple”

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Using a MatrixThe skill matrix can contain the following

ExperienceWork Experience, Roles, Domains worked on

SkillsSoft skillsTesting skills on standards, process, SDLC, Testing maturityTechnologyExecution skills on Manual testing, automated testing, script building, automated test executionAutomation tools expertise, functional, structural and others

Process MaturityTesting skills on planning, documentation, bug isolation, trackingDesign and development skills on black-box, white-box, static, dynamic testing, load testing, stress testing, etcConfiguration management knowledge

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Black box - SummarySummary

Use a combination of Function/Object points and Requirement SpecificationsArrive at test cases and the relevant test suitesFind about development time estimated and actualInterview development team to identify critical paths to testUnderstand automation strategy and build plans for test bed creation/maintenanceTest harness creation/maintenance should be accounted forFinalize your test results reporting techniques and account for the same in your estimateReview your skill matrix and map it to the estimate

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

White boxPointers for Estimation

Business CaseLines of CodeTypes of white box testing

StructuralCode ReviewCoding Standards

Language factorsTechnology considerationsSkillsTest ReportingAutomation

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Business Case

Business casesScenario for White Box TestingAdherence to StandardsToo buggy codeContractual requirementLegacy codeReverse or Re-Engineering

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Lines of Code

A major contributorLines of code is a decisive factor for estimation

Other contributorsComplexity, requirementAdherence to StandardsStructure of the codeTechnology consideration Programming Language

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Types of white box testingStructural

ContentReusabilityComponentsMaintainability

Code ReviewWalkthroughsDiscussionsPeer Review

Coding StandardsRegulatory StandardsInternal StandardsRules set by QA/Process teams

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Language factorsProgramming Language

Key factors to look forComplexityRulesAdherence to specificationsSupport of various StandardsA key indicator for building the estimation based on skills availableConventional, 3GL, 4GL and machine specific use of language

Object oriented languagesIncreases complexityComponent based indices are to be verified

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Technology considerations

TechnologyPlays a crucial roleIdentifies what can be testedNon Testable portions or grey areas should be investigated and documentedChallenges

Training timeLearning curveAvailability of experienced handsConsider using technology experts if skill set is not available internally

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

SkillsDifferent needs from Black box Testing Skills

Usually developers with testing prowess is a safer betProgramming language expertise is a must.Good exposure to Software Engineering, metrics, quality indices are absolutely essentialExcellent analytical skills to avoid common pitfalls of misinterpreting code.Good knowledge about standards

Especially true for embedded/ Mission critical projectsAware of standards and its importance (E.g. DO178B)

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Test Reporting

Test Reporting is a major activityIdentify methods of reporting white box testing resultsAdhere to standards of reporting, if required

Very critical when testing against standards

Identify critical estimates for buildingSpecial reportsReporting templatesComprehensive detailing of white box errors

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Automation

AutomationProven to be at least 10 times more effectiveStatistical analysis can be much fasterReporting is usually much faster and effectiveCan reduce the need for

Variety of language skills Skilled individuals with knowledge of Adherence to standardsReporting mechanisms and templates

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

White Box - SummaryLines of Code plays an important roleProgramming Language is a key indicatorComplexity increases when the testing types are more than oneSkill demands are different from Black Box TestingTest results reporting is different Adherence to Standards and rules are of prime importanceAutomation reduces time

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Performance TestingPointers for Estimation

Business caseDomainNature of end users/usage patternsTest Case development is an ongoing processFramework based approach is best advisableUse of automation tools an important factorAutomation frameworks provide a lot of estimation built inTechnology challenges are highTest Bed Requirements are highTest Data requirements are highPreamble and post amble conditions are very stringent and extra focus is required

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Stress Testing

Pointers for EstimationBusiness CaseEstimation is very similar to performance testingDomain is crucialNature of end users/usage patternsCritical tests take precedenceTest Data requirements are highTechnology challenges are highTest Bed Requirements are highRepeatability is a key issue to handle

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Other Testing

“OPEN HOUSE” discussion

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Influencing FactorsHigh ComplexityStakeholders are manyExternal DependenciesLacking Skills in Domain, TechnologyHave to build new tools/frameworksExperimenting…Requirement of Hardware/Other infrastructureTest Data Legal contractual obligations

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Team DynamicsPeople, People and People

The ones who make Good test EngineersAnticipating the worst – Attitude hard to get, but should strive to find such attitudeShould be creative, testing is a creative work, however destructive the approaches are!Curiosity is important, but should not kill the cat!

Idea is to find bugs, isolate and report them

Skill set mix, is quite importantTechnical skills, inter-personal skills, soft skills, communication etc, all play a crucial role

Domain Experience, would be crucial

The team is likely to dilute, so keep the search on all the time

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Worksheets

Worksheets to useTest Estimation WorksheetOther Supplemental Worksheets

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Test Estimation Worksheet

Assimilates inputs from various estimation models to provide

Black Box testing estimationWhite Box testing estimationA basic building block A Collaborate platform to build a comprehensive worksheet

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

Other Supplemental Worksheets

Skill MatrixTest Bed ChecklistTechnology challenge checklistDomain expertise and past project inputs

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

SummaryUse existing models to suit your test project requirementsEstimations could be imprecise – but it’s ok!Wrong Estimations should be controllable!Re correct your estimate, if you have made a mistake – but do it earlyCollecting metrics and creating ‘Intelligence’ is crucial for success in the futurePrepare for changes and challenges on a continuous basisStart Early and Stay focused

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

SummaryMake your team understand dynamics of Test projects – all the timeAllow team participation wherever possibleCollaborate, retrospect and co-operateExperiment only on a small scaleBuild contingency and risk plans – but keep them trimmedGain Confidence of management with methodologies and processesPut your team first and not yourself – it is better in the long run

STEP-IN SUMMIT 2007 Estimation Techniques for Testing Projects

References and Acknowledgments

Acknowledgments

Team – QSITTeam – SAMGRAM, ChennaiTeam – RESOLVERS, Bangalore

References:

Software EngineeringIan Sommerville

Metrics and Models in Software EngineeringStephen H Kan

Critical Testing ProcessRex Black

And all the “Software Testing Minds” around the Globe


Recommended