SlideShare una empresa de Scribd logo
1 de 19
Descargar para leer sin conexión
Agenda

• Background and Motivation
• qEstimation Analysis
  – Test Size Estimation (Test Case Point Analysis)
  – Test Effort Estimation
• Conclusion




                                                      2
Background

• Software estimation
   – process of determining the cost, time, staff, and other related
     attributes of software projects, often before work is performed
• Estimation is important for the success or failure of software
  projects
• Methods and Metrics
   –   Source Lines of Code (SLOC)
   –   Function Points
   –   Use Case Points
   –   Story Points
   – COCOMO
   – Expert Judgment



                                                                       3
Motivation

• Testing accounts for up to 50% of project effort [1]
• Current problems
   – estimates are done for the whole project rather than testing
     specific
   – lack of reliable methods designed for estimating size and effort
     of software testing
   – vague definitions of testing productivity
       • due to the lack of a size measure for software testing
• Our aim
   – To introduce a method for estimating the size of testing
     activities
   – To discuss methods to estimate testing effort using this size
     measure
   – To introduce a simple toolkit for this estimation process

                                                                     4
Agenda

• Background and Motivation
• qEstimation Analysis
  – Test Size Estimation (Test Case Point Analysis)
  – Test Effort Estimation
• Conclusion




                                                      5
qEstimation Analysis’ Principles

• Size reflects the mass and complexity of each test cycle
  of a testing project
• Test case’s complexity is based on
   – Number of checkpoints
   – Complexity of test setup or precondition
   – Complexity of test data
• Test Case Point (TCP) is used as size unit
   – representing the size of the most simple test case
• Calibration or model refinement is key to estimating
  effort
   – calibration based on feedback from different cycles within
     project or of similar projects
• Focusing on independent testing (V & V)

                                                                  6
qEstimation Analysis’ Process

Estimate size and effort of different test cycles of a same project:
 [Test Cycle i]
                  Count TCPs                   Estimate
     Test Case                       Counted                           Estimated
                   of all Test                  Testing
     Test Case                         Size
                                                 Effort
                                                                         Effort
                     Cases



                                                                                                Update
                                 Parameters                                                    Historical
                                                                                                 Data



                                  Calibrate
                                 Estimation    Historical Data of this Project
                                   Model
                                                Test Cycle      Size     Actual         Effort by
                                                                         Effort         Activity
                                                ….             ….       ….         ….
                                                Test cycle i   ….       ….         ….
                                                ….             ….       ….         ….


                                                                                                      7
Count Size of Test Cycle

• Size of a test cycle is the total of TCPs of all test cases to be
  executed in that test cycle

• Steps:
                     Count
                   Checkpoints


                                                    Adjust based on
  Test Case      Determine Set Up     Unadjusted
                                                       Test Type      TCPs
                    Complexity          TCPs
                                                       (optional)



                  Determine Test
                  Data Complexity




                                                                             8
Count Size of Test Cycle (cont’d)

• Checkpoints
   – Checkpoint is the condition in which the tester verifies
     whether the result produced by the target function
     matches the expected criterion
   – One test case consists of one or many checkpoints


     One checkpoint is counted as one TCP




                                                                9
Count Size of Test Cycle (cont’d)

• Test Setup or Precondition
   – Test setup specifies the condition to execute the test case
          • Include setup steps to prepare environment for testing
          • Mainly affect the cost to execute the test case
          • May be related to data prepared for the test case
   – Four levels of Test Setup complexity
          • Each is assigned a number of TCPs

   Number       Complexity                                                  Description
   of TCP(*)      Level
      0         None           •    The set up is not applicable or important to execute the test case
                               •    Or, the set up is just reused from the previous test case to continue the current test case
      1         Low            •    The condition for executing the test case is available with some simple modifications required
                               •    Or, some simple set-up steps are needed
      3         Medium         •    Some explicit preparation is needed to execute the test case
                               •    Or, The condition for executing is available with some additional modifications required
                               •    Or, some additional set-up steps are needed
      5         High           •    Heavy hardware and/or software configurations are needed to execute the test case


           (*) based on our survey of 18 senior QA engineers. You can adjust according to your project’s experience.

                                                                                                                                  10
Count Size of Test Cycle (cont’d)
• Test Data
  – Test Data is used to execute the test case
        • It can be generated at the test case execution time, sourced from previous tests, or
          generated by test scripts
        • Test data is test case specific, or general to a group of test cases

  – Four levels of Test Data complexity
        • Each is assigned a number of TCPs
   Number of TCP       Complexity                                               Description
       (*)               Level
        0            None               •    No test data preparation is needed

        1            Low                •    Simple test data is needed and can be created during the test case execution time
                                        •    Or, the test case uses a slightly modified version of existing test data and requires
                                             little or no effort to modify the test data
        3            Medium             •    Test data is deliberately prepared in advance with extra effort to ensure its
                                             completeness, comprehensiveness, and consistency
        6            High               •    Test data is prepared in advance with considerable effort to ensure its completeness,
                                             comprehensiveness, and consistency
                                        •    This could include using support tools to generate data and a database to store and
                                             manage test data
                                        •    Scripts may be required to generate test data
            (*) based on our survey of 18 senior QA engineers. You can adjust according to your project’s experience.
Count Size of Test Cycle (cont’d)

• Adjust TCPs based on Type of Test
   – This is an OPTIONAL step
   – Adjustment is based on types of test cases
       • Each type of test case is assigned a weight
       • Adjusted TCP of the test case = Counted TCP x Weight(*)




                                                                   (*) based on our survey of 18
                                                                   senior QA engineers. You can
                                                                   adjust according to your
                                                                   project’s experience.


                                                                                        12
Estimate Effort of Test Cycle

• Overview
   – Two estimation methods
      • Based on Test Velocity
      • Regression analysis of Size and Effort of completed test cycles
   – Effort distributed by activity
      •   Test Planning
      •   Test Analysis and Design               Each of these activities may
                                                 be performed multiple times
      •   Test Execution
      •   Test Tracking and Reporting




                                                                           13
Estimate Effort of Test Cycle (cont’d)

• Estimate Effort based on Test Velocity

   Effort(person-hour) = Size(TCP) / Test Velocity (TCP per person-hour)

   – Test Velocity is measured as TCP/person-hour
       • dependent on project
       • calculated based on data from completed test cycles
         of the same project




                                                                           14
Estimate Effort of Test Cycle (cont’d)

• Estimate effort using Linear Regression Analysis
   – Find out the equation of effort and size using similar completed test
     cycles of a project

                   100

                    90

                    80                                                                       Equation of
                    70                                                                       Size and Effort
                                                y = 0.0729x + 1.6408
     Effort (PM)




                    60

                    50

                    40                                                                       The data analysis tool like
                    30                                                                       Excel can be used to find
                    20
                                                                                             out the equation
                    10

                    0
                         0   100   200   300      400   500   600   700   800   900   1000
                                               Adjusted TCP




                                                                                                                15
Calibrate the qEstimation Estimation Model

• Calibration: a process adjusting parameters for a
  model using historical data or experiences
• With qEstimation, you can calibrate:
   (1) TCP assigned to each complexity level of Test Setup
   (2) TCP assigned to each complexity level of Test Data
   (3) Test Velocity
   (4) Effort distribution
   (5) Weights of test case types
• Process can be done with the help of tools

                       Tool Demo
                                                             16
Conclusion

• qEstimation Analysis is an agile approach to estimating
  size and effort of test cycle
   – Estimate Size in TCP
   – Estimate Effort using Test Velocity or Regression
   – An Excel toolkit to simplify the approach
• Advantages and experiences learned
   –   Easy to implement
   –   Reflecting real complexity of test cases
   –   Independent with the level of details of test cases
   –   Found useful for estimating testing effort
• Limitations and future improvements
   – A new approach
   – Need more empirical validations

                                                             17
Thank You
References

•   [1] Y. Yang, Q. Li, M. Li, Q. Wang, “An empirical analysis on distribution patterns of software
    maintenance effort”, International Conference on Software Maintenance, 2008, pp. 456-
    459
•   [2] N. Patel, M. Govindrajan, S. Maharana, S. Ramdas, “Test Case Point Analysis”, Cognizant
    Technology Solutions, White Paper, 2001
•   [3] QASymphony: www.qasymphony.com
•   [4] V. Lam, “Estimable”, Professional Tester,
    http://www.professionaltester.com/magazine/backissue/PT015/ProfessionalTester-
    July2012-Lam.pdf
•   [5] QASymphony, “Test Case Point Analysis”, White Paper and Tool
    http://www.qasymphony.com/white-papers.html

Más contenido relacionado

La actualidad más candente

Презентация
ПрезентацияПрезентация
Презентация
guest22d71d
 
TEST EXECUTION AND REPORTING
TEST EXECUTION AND REPORTINGTEST EXECUTION AND REPORTING
TEST EXECUTION AND REPORTING
suhasreddy1
 
software testing for beginners
software testing for beginnerssoftware testing for beginners
software testing for beginners
Bharathi Ashok
 
Testing metrics
Testing metricsTesting metrics
Testing metrics
prats12345
 
Testing artifacts test cases
Testing artifacts   test casesTesting artifacts   test cases
Testing artifacts test cases
Petro Chernii
 
Types of Software Testing
Types of Software TestingTypes of Software Testing
Types of Software Testing
Nishant Worah
 
Understand regression testing
Understand regression testingUnderstand regression testing
Understand regression testing
gaoliang641
 

La actualidad más candente (20)

Types of Testing
Types of TestingTypes of Testing
Types of Testing
 
Презентация
ПрезентацияПрезентация
Презентация
 
TEST EXECUTION AND REPORTING
TEST EXECUTION AND REPORTINGTEST EXECUTION AND REPORTING
TEST EXECUTION AND REPORTING
 
How to Test the Internet of Everything
How to Test the Internet of EverythingHow to Test the Internet of Everything
How to Test the Internet of Everything
 
SAP Testing
SAP TestingSAP Testing
SAP Testing
 
Measurement System Analysis
Measurement System AnalysisMeasurement System Analysis
Measurement System Analysis
 
software testing for beginners
software testing for beginnerssoftware testing for beginners
software testing for beginners
 
Test Process
Test ProcessTest Process
Test Process
 
Testing metrics
Testing metricsTesting metrics
Testing metrics
 
Chapter 4 measurement accuracy (1)
Chapter 4   measurement accuracy (1)Chapter 4   measurement accuracy (1)
Chapter 4 measurement accuracy (1)
 
Testing artifacts test cases
Testing artifacts   test casesTesting artifacts   test cases
Testing artifacts test cases
 
Soft quality & standards
Soft quality & standardsSoft quality & standards
Soft quality & standards
 
Mieke Gevers - Performance Testing in 5 Steps - A Guideline to a Successful L...
Mieke Gevers - Performance Testing in 5 Steps - A Guideline to a Successful L...Mieke Gevers - Performance Testing in 5 Steps - A Guideline to a Successful L...
Mieke Gevers - Performance Testing in 5 Steps - A Guideline to a Successful L...
 
Testing Experience Magazine Vol.14 June 2011
Testing Experience Magazine Vol.14 June 2011Testing Experience Magazine Vol.14 June 2011
Testing Experience Magazine Vol.14 June 2011
 
Application Testing
Application TestingApplication Testing
Application Testing
 
Test Life Cycle
Test Life CycleTest Life Cycle
Test Life Cycle
 
Types of Software Testing
Types of Software TestingTypes of Software Testing
Types of Software Testing
 
Understand regression testing
Understand regression testingUnderstand regression testing
Understand regression testing
 
Paper CS
Paper CSPaper CS
Paper CS
 
Test plan
Test planTest plan
Test plan
 

Destacado (7)

Ch1 introduction
Ch1 introductionCh1 introduction
Ch1 introduction
 
Estimating & tendering
Estimating & tenderingEstimating & tendering
Estimating & tendering
 
Ch5 repetitive
Ch5 repetitiveCh5 repetitive
Ch5 repetitive
 
Manual ms excel 2007 nivel avanzado
Manual ms excel 2007 nivel avanzadoManual ms excel 2007 nivel avanzado
Manual ms excel 2007 nivel avanzado
 
3.estimating
3.estimating3.estimating
3.estimating
 
4.contracting
4.contracting4.contracting
4.contracting
 
Graficos
GraficosGraficos
Graficos
 

Similar a An Approach to estimate Software Testing

Mt s11 test_design
Mt s11 test_designMt s11 test_design
Mt s11 test_design
TestingGeeks
 
Presentation
PresentationPresentation
Presentation
SATYALOK
 
<p>Software Testing</p>
<p>Software Testing</p><p>Software Testing</p>
<p>Software Testing</p>
Atul Mishra
 
An overview to Software Testing
An overview to Software TestingAn overview to Software Testing
An overview to Software Testing
Atul Mishra
 
SWT2_tim.pptx
SWT2_tim.pptxSWT2_tim.pptx
SWT2_tim.pptx
BnhT27
 

Similar a An Approach to estimate Software Testing (20)

Bug deBug Chennai 2012 Talk - V3 analysis an approach for estimating software...
Bug deBug Chennai 2012 Talk - V3 analysis an approach for estimating software...Bug deBug Chennai 2012 Talk - V3 analysis an approach for estimating software...
Bug deBug Chennai 2012 Talk - V3 analysis an approach for estimating software...
 
Test Case Point Analysis
Test Case Point AnalysisTest Case Point Analysis
Test Case Point Analysis
 
[Vu Van Nguyen] Test Estimation in Practice
[Vu Van Nguyen]  Test Estimation in Practice[Vu Van Nguyen]  Test Estimation in Practice
[Vu Van Nguyen] Test Estimation in Practice
 
Database Unit Testing Made Easy with VSTS
Database Unit Testing Made Easy with VSTSDatabase Unit Testing Made Easy with VSTS
Database Unit Testing Made Easy with VSTS
 
Software engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit designSoftware engineering Testing technique,test case,test suit design
Software engineering Testing technique,test case,test suit design
 
Test case prioritization usinf regression testing.pptx
Test case prioritization usinf regression testing.pptxTest case prioritization usinf regression testing.pptx
Test case prioritization usinf regression testing.pptx
 
Test automation principles, terminologies and implementations
Test automation principles, terminologies and implementationsTest automation principles, terminologies and implementations
Test automation principles, terminologies and implementations
 
TMPA-2017: Regression Testing with Semiautomatic Test Selection for Auditing ...
TMPA-2017: Regression Testing with Semiautomatic Test Selection for Auditing ...TMPA-2017: Regression Testing with Semiautomatic Test Selection for Auditing ...
TMPA-2017: Regression Testing with Semiautomatic Test Selection for Auditing ...
 
Fundamentals of software 2 | Test Case | Test Suite | Test Plan | Test Scenario
Fundamentals of software 2 | Test Case | Test Suite | Test Plan | Test ScenarioFundamentals of software 2 | Test Case | Test Suite | Test Plan | Test Scenario
Fundamentals of software 2 | Test Case | Test Suite | Test Plan | Test Scenario
 
Mt s11 test_design
Mt s11 test_designMt s11 test_design
Mt s11 test_design
 
Class9_SW_Testing_Strategies.pdf
Class9_SW_Testing_Strategies.pdfClass9_SW_Testing_Strategies.pdf
Class9_SW_Testing_Strategies.pdf
 
Risk based testing and random testing
Risk based testing and random testingRisk based testing and random testing
Risk based testing and random testing
 
Presentation
PresentationPresentation
Presentation
 
<p>Software Testing</p>
<p>Software Testing</p><p>Software Testing</p>
<p>Software Testing</p>
 
An overview to Software Testing
An overview to Software TestingAn overview to Software Testing
An overview to Software Testing
 
New method introduction
New method introductionNew method introduction
New method introduction
 
Agile Acceptance testing with Fitnesse
Agile Acceptance testing with FitnesseAgile Acceptance testing with Fitnesse
Agile Acceptance testing with Fitnesse
 
SWT2_tim.pptx
SWT2_tim.pptxSWT2_tim.pptx
SWT2_tim.pptx
 
11 whiteboxtesting
11 whiteboxtesting11 whiteboxtesting
11 whiteboxtesting
 
Software testing part
Software testing partSoftware testing part
Software testing part
 

Más de Agile Vietnam

Agile Vietnam Five Core Concepts
Agile Vietnam Five Core ConceptsAgile Vietnam Five Core Concepts
Agile Vietnam Five Core Concepts
Agile Vietnam
 
Agile tour chris brown-leanstartup
Agile tour chris brown-leanstartupAgile tour chris brown-leanstartup
Agile tour chris brown-leanstartup
Agile Vietnam
 
Bdd agile requirements
Bdd agile requirementsBdd agile requirements
Bdd agile requirements
Agile Vietnam
 
Expeirence design-vietnam-agile tour
Expeirence design-vietnam-agile tourExpeirence design-vietnam-agile tour
Expeirence design-vietnam-agile tour
Agile Vietnam
 
Keynote agile-in-vietnam
Keynote agile-in-vietnamKeynote agile-in-vietnam
Keynote agile-in-vietnam
Agile Vietnam
 

Más de Agile Vietnam (18)

Hanoi, July2015 monthly event: Overcome obstacles to truly be a Scrum team
Hanoi, July2015 monthly event: Overcome obstacles to truly be a Scrum teamHanoi, July2015 monthly event: Overcome obstacles to truly be a Scrum team
Hanoi, July2015 monthly event: Overcome obstacles to truly be a Scrum team
 
[Hanoi, june 2015] one normal day of an agile developer
[Hanoi, june 2015] one normal day of an agile developer [Hanoi, june 2015] one normal day of an agile developer
[Hanoi, june 2015] one normal day of an agile developer
 
Example Agile Marketing
Example Agile MarketingExample Agile Marketing
Example Agile Marketing
 
Agile adoption
Agile adoptionAgile adoption
Agile adoption
 
Build up an agile community
Build up an agile communityBuild up an agile community
Build up an agile community
 
Sprint Zero in Scrum
Sprint Zero in ScrumSprint Zero in Scrum
Sprint Zero in Scrum
 
You thought you understood Product Backlog
You thought you understood Product BacklogYou thought you understood Product Backlog
You thought you understood Product Backlog
 
The Role of the Scrum Master
The Role of the Scrum MasterThe Role of the Scrum Master
The Role of the Scrum Master
 
Tuyên Ngôn Agile - Agile manifesto
Tuyên Ngôn Agile - Agile manifestoTuyên Ngôn Agile - Agile manifesto
Tuyên Ngôn Agile - Agile manifesto
 
Agile vietnam scrum coaching sessions
Agile vietnam scrum coaching sessionsAgile vietnam scrum coaching sessions
Agile vietnam scrum coaching sessions
 
From traditional software development process to scrum
From traditional software development process to scrumFrom traditional software development process to scrum
From traditional software development process to scrum
 
Agile Vietnam Five Core Concepts
Agile Vietnam Five Core ConceptsAgile Vietnam Five Core Concepts
Agile Vietnam Five Core Concepts
 
Agile tour chris brown-leanstartup
Agile tour chris brown-leanstartupAgile tour chris brown-leanstartup
Agile tour chris brown-leanstartup
 
Bdd agile requirements
Bdd agile requirementsBdd agile requirements
Bdd agile requirements
 
Expeirence design-vietnam-agile tour
Expeirence design-vietnam-agile tourExpeirence design-vietnam-agile tour
Expeirence design-vietnam-agile tour
 
Keynote agile-in-vietnam
Keynote agile-in-vietnamKeynote agile-in-vietnam
Keynote agile-in-vietnam
 
Scrum Introduction Vietnam
Scrum Introduction VietnamScrum Introduction Vietnam
Scrum Introduction Vietnam
 
Tpl agile processes
Tpl agile processesTpl agile processes
Tpl agile processes
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Último (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

An Approach to estimate Software Testing

  • 1.
  • 2. Agenda • Background and Motivation • qEstimation Analysis – Test Size Estimation (Test Case Point Analysis) – Test Effort Estimation • Conclusion 2
  • 3. Background • Software estimation – process of determining the cost, time, staff, and other related attributes of software projects, often before work is performed • Estimation is important for the success or failure of software projects • Methods and Metrics – Source Lines of Code (SLOC) – Function Points – Use Case Points – Story Points – COCOMO – Expert Judgment 3
  • 4. Motivation • Testing accounts for up to 50% of project effort [1] • Current problems – estimates are done for the whole project rather than testing specific – lack of reliable methods designed for estimating size and effort of software testing – vague definitions of testing productivity • due to the lack of a size measure for software testing • Our aim – To introduce a method for estimating the size of testing activities – To discuss methods to estimate testing effort using this size measure – To introduce a simple toolkit for this estimation process 4
  • 5. Agenda • Background and Motivation • qEstimation Analysis – Test Size Estimation (Test Case Point Analysis) – Test Effort Estimation • Conclusion 5
  • 6. qEstimation Analysis’ Principles • Size reflects the mass and complexity of each test cycle of a testing project • Test case’s complexity is based on – Number of checkpoints – Complexity of test setup or precondition – Complexity of test data • Test Case Point (TCP) is used as size unit – representing the size of the most simple test case • Calibration or model refinement is key to estimating effort – calibration based on feedback from different cycles within project or of similar projects • Focusing on independent testing (V & V) 6
  • 7. qEstimation Analysis’ Process Estimate size and effort of different test cycles of a same project: [Test Cycle i] Count TCPs Estimate Test Case Counted Estimated of all Test Testing Test Case Size Effort Effort Cases Update Parameters Historical Data Calibrate Estimation Historical Data of this Project Model Test Cycle Size Actual Effort by Effort Activity …. …. …. …. Test cycle i …. …. …. …. …. …. …. 7
  • 8. Count Size of Test Cycle • Size of a test cycle is the total of TCPs of all test cases to be executed in that test cycle • Steps: Count Checkpoints Adjust based on Test Case Determine Set Up Unadjusted Test Type TCPs Complexity TCPs (optional) Determine Test Data Complexity 8
  • 9. Count Size of Test Cycle (cont’d) • Checkpoints – Checkpoint is the condition in which the tester verifies whether the result produced by the target function matches the expected criterion – One test case consists of one or many checkpoints One checkpoint is counted as one TCP 9
  • 10. Count Size of Test Cycle (cont’d) • Test Setup or Precondition – Test setup specifies the condition to execute the test case • Include setup steps to prepare environment for testing • Mainly affect the cost to execute the test case • May be related to data prepared for the test case – Four levels of Test Setup complexity • Each is assigned a number of TCPs Number Complexity Description of TCP(*) Level 0 None • The set up is not applicable or important to execute the test case • Or, the set up is just reused from the previous test case to continue the current test case 1 Low • The condition for executing the test case is available with some simple modifications required • Or, some simple set-up steps are needed 3 Medium • Some explicit preparation is needed to execute the test case • Or, The condition for executing is available with some additional modifications required • Or, some additional set-up steps are needed 5 High • Heavy hardware and/or software configurations are needed to execute the test case (*) based on our survey of 18 senior QA engineers. You can adjust according to your project’s experience. 10
  • 11. Count Size of Test Cycle (cont’d) • Test Data – Test Data is used to execute the test case • It can be generated at the test case execution time, sourced from previous tests, or generated by test scripts • Test data is test case specific, or general to a group of test cases – Four levels of Test Data complexity • Each is assigned a number of TCPs Number of TCP Complexity Description (*) Level 0 None • No test data preparation is needed 1 Low • Simple test data is needed and can be created during the test case execution time • Or, the test case uses a slightly modified version of existing test data and requires little or no effort to modify the test data 3 Medium • Test data is deliberately prepared in advance with extra effort to ensure its completeness, comprehensiveness, and consistency 6 High • Test data is prepared in advance with considerable effort to ensure its completeness, comprehensiveness, and consistency • This could include using support tools to generate data and a database to store and manage test data • Scripts may be required to generate test data (*) based on our survey of 18 senior QA engineers. You can adjust according to your project’s experience.
  • 12. Count Size of Test Cycle (cont’d) • Adjust TCPs based on Type of Test – This is an OPTIONAL step – Adjustment is based on types of test cases • Each type of test case is assigned a weight • Adjusted TCP of the test case = Counted TCP x Weight(*) (*) based on our survey of 18 senior QA engineers. You can adjust according to your project’s experience. 12
  • 13. Estimate Effort of Test Cycle • Overview – Two estimation methods • Based on Test Velocity • Regression analysis of Size and Effort of completed test cycles – Effort distributed by activity • Test Planning • Test Analysis and Design Each of these activities may be performed multiple times • Test Execution • Test Tracking and Reporting 13
  • 14. Estimate Effort of Test Cycle (cont’d) • Estimate Effort based on Test Velocity Effort(person-hour) = Size(TCP) / Test Velocity (TCP per person-hour) – Test Velocity is measured as TCP/person-hour • dependent on project • calculated based on data from completed test cycles of the same project 14
  • 15. Estimate Effort of Test Cycle (cont’d) • Estimate effort using Linear Regression Analysis – Find out the equation of effort and size using similar completed test cycles of a project 100 90 80 Equation of 70 Size and Effort y = 0.0729x + 1.6408 Effort (PM) 60 50 40 The data analysis tool like 30 Excel can be used to find 20 out the equation 10 0 0 100 200 300 400 500 600 700 800 900 1000 Adjusted TCP 15
  • 16. Calibrate the qEstimation Estimation Model • Calibration: a process adjusting parameters for a model using historical data or experiences • With qEstimation, you can calibrate: (1) TCP assigned to each complexity level of Test Setup (2) TCP assigned to each complexity level of Test Data (3) Test Velocity (4) Effort distribution (5) Weights of test case types • Process can be done with the help of tools Tool Demo 16
  • 17. Conclusion • qEstimation Analysis is an agile approach to estimating size and effort of test cycle – Estimate Size in TCP – Estimate Effort using Test Velocity or Regression – An Excel toolkit to simplify the approach • Advantages and experiences learned – Easy to implement – Reflecting real complexity of test cases – Independent with the level of details of test cases – Found useful for estimating testing effort • Limitations and future improvements – A new approach – Need more empirical validations 17
  • 19. References • [1] Y. Yang, Q. Li, M. Li, Q. Wang, “An empirical analysis on distribution patterns of software maintenance effort”, International Conference on Software Maintenance, 2008, pp. 456- 459 • [2] N. Patel, M. Govindrajan, S. Maharana, S. Ramdas, “Test Case Point Analysis”, Cognizant Technology Solutions, White Paper, 2001 • [3] QASymphony: www.qasymphony.com • [4] V. Lam, “Estimable”, Professional Tester, http://www.professionaltester.com/magazine/backissue/PT015/ProfessionalTester- July2012-Lam.pdf • [5] QASymphony, “Test Case Point Analysis”, White Paper and Tool http://www.qasymphony.com/white-papers.html