SlideShare una empresa de Scribd logo
1 de 24
!




              Software Testing & Reliability
        !
                    A.A. 2010/2011

    JFREECHART

PROJECT PRESENTATION

Giardino Carmine , Nicolò Paternoster
CONTENT
                    •Project selection
Pt1: Coverage
                       •   Motivation

                       •   Research Question

                       •   Methods

                       •   Results
Pt2. Reliability
                    •Conclusions
                    •JModel demo
PROJECT SELECTION
•   Selected JFreeChart as open source project.

•   JFreeChart is an Open Source Java chart
    library that makes easy for developers to
    display professional quality charts in their
    applications

•   This project was chosen for high flexibility in
    maintainability and testing as mentioned in
    several blogs. In particular Testability Explorer
    ( http://www.testabilityexplorer.org/report )
    allowed us to find out some useful metrics.



•   Among the different modules we chose org.jfree.data. This is a base package for classes that
    represent different types of data.

•   The size of the module is 3167 LOCs and was computed using an automatic tool
Pt1: Coverage

•Original code coverage (74%) with the provided test suite
•204 tests, 0 errors, 0 failures
Pt1: Coverage
                            MOTIVATION
   “85% is a common number. People seem to pick it because that's the
   number other respectable companies use.
   I once asked someone from one of those other respectable companies
   why they used 85%. He said, "When our division started using
   coverage, we needed a number.Division X has a good reputation, so
   we thought we'd use the number they use."
   I didn't follow the trail back through Division X.
   I have the horrible feeling that, if I traced it all the way back to the
   Dawn of Time, I'd find someone who pulled 85% out of a hat ...”

                                                                          Brian Marick - 1999

                        Read the original article on: http://www.exampler.com/testing-com/writings/coverage.pdf
Pt1: Coverage
                       RESEARCH QUESTION
                 Are there statistical correlations between
                 statement coverage and the number of
                 failures detected?
                                           Goal:
                investigate if there is a relation between the number of total
                     failures in according to the percentage of coverage.

                                         Purpose:
                evaluate the influence of coverage over the software project.

                                      Quality focus:
                                     number of failures .

                                       Perspective:
                project manager willing to better understand the evolution of
                                       failure reports.
Pt1: Coverage
                         METHODS.1
                        Hypothesis Formulation
        H0 : Null Hypothesis
        There is no difference in the number of failure detected in according to
        the percentage of test coverage


        Ha : Alternative Hypothesis
        There is difference in the number of failure detected in according to
        the percentage of test coverage


                              Variable selection
                              Independent variable:
                 the main factor of the experiment is the
                 coverage percentage of testing (from 85.1 to 0)

                               Dependent variable:
                 number of failure detected
Pt1: Coverage

85.1%
                     METHODS.2
                                             Code coverage
                                               after our
                                              modifications




  Sub-test suites built to cover different
        percentage of statements
Pt1: Coverage
                                         RESULTS.1




•   The correlation shows a strong correspondence between the coverage percentage and total number of failures.
    The null hypothesis can be rejected since the p-value is almost zero with correlation coefficient of 0.93 by 95% of
    confidence interval which runs from 0.83 to 0.97. As we will see in the regression analysis too, when we increase
    the percentage of the coverage in the code, almost linearly the number of the failures detected increases
    proportionally.
Pt1: Coverage
                               RESULTS.2




   Regression line - Coefficients            Non constant error variance
                                     The plot shows how the linear regression fit better
          Slope: ~ 0.60              in the low coverage percentage then high coverage
          R2: ~ 0.85                 percentage.
Pt1: Coverage
                  RESULTS.3
        Statement Coverage vs. Failures Detected




                      Polynomial curve
Pt1: Coverage
                                    RESULTS.4
             Number of Unit Tests vs. Failures Detected




“... if we increase the number of unit test,the number of detected failures increases of less then one half “
Pt1: Coverage
                  RESULTS.5
        Number of Tests vs. Statement Coverage




                      logarithmic shape
Pt2: Reliability
A simulated environment with JFreeChart
Pt2. Reliability
                            MOTIVATION.1




Analyzing just one release we can focus upon a given time interval of the whole life to understand how the
                           number of defects behaves from an over testing time.
Pt2. Reliability
                        RESEARCH QUESTION
                   What is the reliability behaviour of the
                   selected software project?

                                            Goal:
                       predict the reliability in according to models.

                                          Purpose:
                       evaluate the reliability of the project over time.

                                      Quality focus:
                                     number of failures .

                                       Perspective:
           project manager willing to better understand the evolution of reliability
Pt2. Reliability
                       METHODS.1
                              Seeding Faults
  •23 Faults seeded
  •7.23 Fault/kLOC                •Proportionally distributed among classes
  •Different types of Fault       •Random positioning inside classes
                                  •Easy to enable/disable faults
Pt2. Reliability
                                        METHODS.2
                                                Failure detection
•Step1 : we created two java classes to help us in automating the work
•Step2 : inserted at the beginning of the JUnit test suite ( with 85.1%
coverage )   the instruction to start the timer : TestController.start();

•Step3 : we started executing tests with all faults activated, and          /** XXX FAILURE DETECTED */
progressively decrease the number of faults for each version.               FailureController.intercept(“failure description”) ;



•Step4 : reported times of failure occurrence on a table
•Step5 : run statistical test analysis with R
RESULTS.1




•Some faults are never executed during tests
•Not every faults executed caused a failure of the system (6 out of 22)
Pt2. Reliability
                              RESULTS.2
                          Comparison among models




          Among different models we chose Weibull more S-shaped
          model since it obtained the best R2 coefficient.
          The parameter values computed are:
           • a: 40
           • b: 0.146
           • c: 0.281
Pt2. Reliability
                   RESULTS.3
                               Case Study
CONCLUSIONS
•We believe that the right amount of code coverage is strictly dependent on
the project type

•According to the prediction made with the model used in the case study,
the number of failures after 5000 ms ( the double of the final time ) increases
of just the ~18%

•In the case of JFreeChart, that is a non-critical system, this means that the
product is almost ready to be shipped

•This analysis help us to plan the appropriate levels of support required for
defect correction after the software is released.

•With our tool is easy to make comparison among different models.
Pt2. Reliability
                                       JModel
      •A tool we developed in order to help engineers to analyze data
      •Produces a final report that shows how well the selected model fits real data,
      •Computes model´s parameters and allows the user to make predictions.
      •Integrates different technologies ( Java,HTML +css+js,R, bash scripting )




                               DEMO
!




                       THANK YOU
                   !




        Time for questions

paternoster.nicolo@gmail.com
carmine.giardino@gmail.com

Más contenido relacionado

La actualidad más candente

Early Detection of Collaboration Conflicts & Risks in Software Development
Early Detection of Collaboration Conflicts & Risks in Software DevelopmentEarly Detection of Collaboration Conflicts & Risks in Software Development
Early Detection of Collaboration Conflicts & Risks in Software DevelopmentRoopesh Jhurani
 
Cross-project defect prediction
Cross-project defect predictionCross-project defect prediction
Cross-project defect predictionThomas Zimmermann
 
52 - The Impact of Test Ownership and Team Structure on the Reliability and E...
52 - The Impact of Test Ownership and Team Structure on the Reliability and E...52 - The Impact of Test Ownership and Team Structure on the Reliability and E...
52 - The Impact of Test Ownership and Team Structure on the Reliability and E...ESEM 2014
 
Code Coverage and Test Suite Effectiveness: Empirical Study with Real Bugs in...
Code Coverage and Test Suite Effectiveness: Empirical Study with Real Bugs in...Code Coverage and Test Suite Effectiveness: Empirical Study with Real Bugs in...
Code Coverage and Test Suite Effectiveness: Empirical Study with Real Bugs in...Pavneet Singh Kochhar
 
SOFTWARE QUALITY ASSURANCE AND TESTING - SHORT NOTES
SOFTWARE QUALITY ASSURANCE AND TESTING - SHORT NOTESSOFTWARE QUALITY ASSURANCE AND TESTING - SHORT NOTES
SOFTWARE QUALITY ASSURANCE AND TESTING - SHORT NOTESsuthi
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)IJERD Editor
 
Iml v1.5 open-source version
Iml v1.5   open-source versionIml v1.5   open-source version
Iml v1.5 open-source versionJeanne P.
 
02 test automation functional testing (qtp)
02 test automation functional testing (qtp)02 test automation functional testing (qtp)
02 test automation functional testing (qtp)Siddireddy Balu
 
Finding latent code errors via machine learning over program ...
Finding latent code errors via machine learning over program ...Finding latent code errors via machine learning over program ...
Finding latent code errors via machine learning over program ...butest
 
A PARTICLE SWARM OPTIMIZATION TECHNIQUE FOR GENERATING PAIRWISE TEST CASES
A PARTICLE SWARM OPTIMIZATION TECHNIQUE FOR GENERATING PAIRWISE TEST CASESA PARTICLE SWARM OPTIMIZATION TECHNIQUE FOR GENERATING PAIRWISE TEST CASES
A PARTICLE SWARM OPTIMIZATION TECHNIQUE FOR GENERATING PAIRWISE TEST CASESKula Sekhar Reddy Yerraguntla
 
Effective and pragmatic test driven development by Andrew Rendell, Principal ...
Effective and pragmatic test driven development by Andrew Rendell, Principal ...Effective and pragmatic test driven development by Andrew Rendell, Principal ...
Effective and pragmatic test driven development by Andrew Rendell, Principal ...Valtech UK
 
Must.Kill.Mutants. Agile Testing Days 2017
Must.Kill.Mutants. Agile Testing Days 2017Must.Kill.Mutants. Agile Testing Days 2017
Must.Kill.Mutants. Agile Testing Days 2017Gerald Muecke
 
Quantifying Program Comprehension with Interaction Data [QSIC2014]
Quantifying Program Comprehension with Interaction Data [QSIC2014]Quantifying Program Comprehension with Interaction Data [QSIC2014]
Quantifying Program Comprehension with Interaction Data [QSIC2014]Roberto Minelli
 
Csqe sample exam 1 solutions 05.00.04
Csqe sample exam 1   solutions 05.00.04Csqe sample exam 1   solutions 05.00.04
Csqe sample exam 1 solutions 05.00.04binodrit98
 
A survey of fault prediction using machine learning algorithms
A survey of fault prediction using machine learning algorithmsA survey of fault prediction using machine learning algorithms
A survey of fault prediction using machine learning algorithmsAhmed Magdy Ezzeldin, MSc.
 
Optimal Selection of Software Reliability Growth Model-A Study
Optimal Selection of Software Reliability Growth Model-A StudyOptimal Selection of Software Reliability Growth Model-A Study
Optimal Selection of Software Reliability Growth Model-A StudyIJEEE
 
Promise 2011: "An Iterative Semi-supervised Approach to Software Fault Predic...
Promise 2011: "An Iterative Semi-supervised Approach to Software Fault Predic...Promise 2011: "An Iterative Semi-supervised Approach to Software Fault Predic...
Promise 2011: "An Iterative Semi-supervised Approach to Software Fault Predic...CS, NcState
 
Software Reliability Growth Model with Logistic- Exponential Testing-Effort F...
Software Reliability Growth Model with Logistic- Exponential Testing-Effort F...Software Reliability Growth Model with Logistic- Exponential Testing-Effort F...
Software Reliability Growth Model with Logistic- Exponential Testing-Effort F...IDES Editor
 
On The Relation of Test Smells to Software Code Quality
On The Relation of Test Smells to Software Code QualityOn The Relation of Test Smells to Software Code Quality
On The Relation of Test Smells to Software Code QualityDelft University of Technology
 

La actualidad más candente (20)

Early Detection of Collaboration Conflicts & Risks in Software Development
Early Detection of Collaboration Conflicts & Risks in Software DevelopmentEarly Detection of Collaboration Conflicts & Risks in Software Development
Early Detection of Collaboration Conflicts & Risks in Software Development
 
Cross-project defect prediction
Cross-project defect predictionCross-project defect prediction
Cross-project defect prediction
 
52 - The Impact of Test Ownership and Team Structure on the Reliability and E...
52 - The Impact of Test Ownership and Team Structure on the Reliability and E...52 - The Impact of Test Ownership and Team Structure on the Reliability and E...
52 - The Impact of Test Ownership and Team Structure on the Reliability and E...
 
Code Coverage and Test Suite Effectiveness: Empirical Study with Real Bugs in...
Code Coverage and Test Suite Effectiveness: Empirical Study with Real Bugs in...Code Coverage and Test Suite Effectiveness: Empirical Study with Real Bugs in...
Code Coverage and Test Suite Effectiveness: Empirical Study with Real Bugs in...
 
SOFTWARE QUALITY ASSURANCE AND TESTING - SHORT NOTES
SOFTWARE QUALITY ASSURANCE AND TESTING - SHORT NOTESSOFTWARE QUALITY ASSURANCE AND TESTING - SHORT NOTES
SOFTWARE QUALITY ASSURANCE AND TESTING - SHORT NOTES
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
 
Iml v1.5 open-source version
Iml v1.5   open-source versionIml v1.5   open-source version
Iml v1.5 open-source version
 
02 test automation functional testing (qtp)
02 test automation functional testing (qtp)02 test automation functional testing (qtp)
02 test automation functional testing (qtp)
 
Finding latent code errors via machine learning over program ...
Finding latent code errors via machine learning over program ...Finding latent code errors via machine learning over program ...
Finding latent code errors via machine learning over program ...
 
A PARTICLE SWARM OPTIMIZATION TECHNIQUE FOR GENERATING PAIRWISE TEST CASES
A PARTICLE SWARM OPTIMIZATION TECHNIQUE FOR GENERATING PAIRWISE TEST CASESA PARTICLE SWARM OPTIMIZATION TECHNIQUE FOR GENERATING PAIRWISE TEST CASES
A PARTICLE SWARM OPTIMIZATION TECHNIQUE FOR GENERATING PAIRWISE TEST CASES
 
Effective and pragmatic test driven development by Andrew Rendell, Principal ...
Effective and pragmatic test driven development by Andrew Rendell, Principal ...Effective and pragmatic test driven development by Andrew Rendell, Principal ...
Effective and pragmatic test driven development by Andrew Rendell, Principal ...
 
Must.Kill.Mutants. Agile Testing Days 2017
Must.Kill.Mutants. Agile Testing Days 2017Must.Kill.Mutants. Agile Testing Days 2017
Must.Kill.Mutants. Agile Testing Days 2017
 
Quantifying Program Comprehension with Interaction Data [QSIC2014]
Quantifying Program Comprehension with Interaction Data [QSIC2014]Quantifying Program Comprehension with Interaction Data [QSIC2014]
Quantifying Program Comprehension with Interaction Data [QSIC2014]
 
Csqe sample exam 1 solutions 05.00.04
Csqe sample exam 1   solutions 05.00.04Csqe sample exam 1   solutions 05.00.04
Csqe sample exam 1 solutions 05.00.04
 
A survey of fault prediction using machine learning algorithms
A survey of fault prediction using machine learning algorithmsA survey of fault prediction using machine learning algorithms
A survey of fault prediction using machine learning algorithms
 
Optimal Selection of Software Reliability Growth Model-A Study
Optimal Selection of Software Reliability Growth Model-A StudyOptimal Selection of Software Reliability Growth Model-A Study
Optimal Selection of Software Reliability Growth Model-A Study
 
Promise 2011: "An Iterative Semi-supervised Approach to Software Fault Predic...
Promise 2011: "An Iterative Semi-supervised Approach to Software Fault Predic...Promise 2011: "An Iterative Semi-supervised Approach to Software Fault Predic...
Promise 2011: "An Iterative Semi-supervised Approach to Software Fault Predic...
 
Software Reliability Growth Model with Logistic- Exponential Testing-Effort F...
Software Reliability Growth Model with Logistic- Exponential Testing-Effort F...Software Reliability Growth Model with Logistic- Exponential Testing-Effort F...
Software Reliability Growth Model with Logistic- Exponential Testing-Effort F...
 
On The Relation of Test Smells to Software Code Quality
On The Relation of Test Smells to Software Code QualityOn The Relation of Test Smells to Software Code Quality
On The Relation of Test Smells to Software Code Quality
 
Defect Age
Defect  AgeDefect  Age
Defect Age
 

Similar a Reliability Vs. Testing

Soft quality & standards
Soft quality & standardsSoft quality & standards
Soft quality & standardsPrince Bhanwra
 
Soft quality & standards
Soft quality & standardsSoft quality & standards
Soft quality & standardsPrince Bhanwra
 
Combinatorial testing ppt
Combinatorial testing pptCombinatorial testing ppt
Combinatorial testing pptKedar Kumar
 
STM-UNIT-1.pptx
STM-UNIT-1.pptxSTM-UNIT-1.pptx
STM-UNIT-1.pptxnischal55
 
Introduction to Software Testing
Introduction to Software TestingIntroduction to Software Testing
Introduction to Software TestingHenry Muccini
 
Software Reliability
Software ReliabilitySoftware Reliability
Software Reliabilityranapoonam1
 
A beginners guide to testing
A beginners guide to testingA beginners guide to testing
A beginners guide to testingPhilip Johnson
 
QUALITY METRICS OF TEST SUITES IN TESTDRIVEN DESIGNED APPLICATIONS
QUALITY METRICS OF TEST SUITES IN TESTDRIVEN DESIGNED APPLICATIONSQUALITY METRICS OF TEST SUITES IN TESTDRIVEN DESIGNED APPLICATIONS
QUALITY METRICS OF TEST SUITES IN TESTDRIVEN DESIGNED APPLICATIONSijseajournal
 
Requirements Based Testing
Requirements Based TestingRequirements Based Testing
Requirements Based TestingSSA KPI
 
Estimating test effort part 2 of 2
Estimating test effort part 2 of 2Estimating test effort part 2 of 2
Estimating test effort part 2 of 2Ian McDonald
 
Key Measurements For Testers
Key Measurements For TestersKey Measurements For Testers
Key Measurements For TestersQA Programmer
 
Utility of Test Coverage Metrics in TDD
Utility of Test Coverage Metrics in TDDUtility of Test Coverage Metrics in TDD
Utility of Test Coverage Metrics in TDDXP Conference India
 
Mutation Testing and MuJava
Mutation Testing and MuJavaMutation Testing and MuJava
Mutation Testing and MuJavaKrunal Parmar
 
Test Smarter: Efficient Coverage Metrics That Won't Leave You Exposed
Test Smarter: Efficient Coverage Metrics That Won't Leave You ExposedTest Smarter: Efficient Coverage Metrics That Won't Leave You Exposed
Test Smarter: Efficient Coverage Metrics That Won't Leave You ExposedSmartBear
 
MDD and the Tautology Problem: Discussion Notes.
MDD and the Tautology Problem: Discussion Notes.MDD and the Tautology Problem: Discussion Notes.
MDD and the Tautology Problem: Discussion Notes.Bob Binder
 
201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)Javier Gonzalez-Sanchez
 

Similar a Reliability Vs. Testing (20)

Soft quality & standards
Soft quality & standardsSoft quality & standards
Soft quality & standards
 
Soft quality & standards
Soft quality & standardsSoft quality & standards
Soft quality & standards
 
Combinatorial testing ppt
Combinatorial testing pptCombinatorial testing ppt
Combinatorial testing ppt
 
STM-UNIT-1.pptx
STM-UNIT-1.pptxSTM-UNIT-1.pptx
STM-UNIT-1.pptx
 
Introduction to Software Testing
Introduction to Software TestingIntroduction to Software Testing
Introduction to Software Testing
 
Software Reliability
Software ReliabilitySoftware Reliability
Software Reliability
 
A beginners guide to testing
A beginners guide to testingA beginners guide to testing
A beginners guide to testing
 
QUALITY METRICS OF TEST SUITES IN TESTDRIVEN DESIGNED APPLICATIONS
QUALITY METRICS OF TEST SUITES IN TESTDRIVEN DESIGNED APPLICATIONSQUALITY METRICS OF TEST SUITES IN TESTDRIVEN DESIGNED APPLICATIONS
QUALITY METRICS OF TEST SUITES IN TESTDRIVEN DESIGNED APPLICATIONS
 
Testing
TestingTesting
Testing
 
Requirements Based Testing
Requirements Based TestingRequirements Based Testing
Requirements Based Testing
 
Estimating test effort part 2 of 2
Estimating test effort part 2 of 2Estimating test effort part 2 of 2
Estimating test effort part 2 of 2
 
Key Measurements For Testers
Key Measurements For TestersKey Measurements For Testers
Key Measurements For Testers
 
Utility of Test Coverage Metrics in TDD
Utility of Test Coverage Metrics in TDDUtility of Test Coverage Metrics in TDD
Utility of Test Coverage Metrics in TDD
 
Mutation Testing and MuJava
Mutation Testing and MuJavaMutation Testing and MuJava
Mutation Testing and MuJava
 
Test Smarter: Efficient Coverage Metrics That Won't Leave You Exposed
Test Smarter: Efficient Coverage Metrics That Won't Leave You ExposedTest Smarter: Efficient Coverage Metrics That Won't Leave You Exposed
Test Smarter: Efficient Coverage Metrics That Won't Leave You Exposed
 
MDD and the Tautology Problem: Discussion Notes.
MDD and the Tautology Problem: Discussion Notes.MDD and the Tautology Problem: Discussion Notes.
MDD and the Tautology Problem: Discussion Notes.
 
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
 
Rayleigh model
Rayleigh modelRayleigh model
Rayleigh model
 
201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)201008 Software Testing Notes (part 1/2)
201008 Software Testing Notes (part 1/2)
 
stm f.pdf
stm f.pdfstm f.pdf
stm f.pdf
 

Último

The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 

Último (20)

The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 

Reliability Vs. Testing

  • 1. ! Software Testing & Reliability ! A.A. 2010/2011 JFREECHART PROJECT PRESENTATION Giardino Carmine , Nicolò Paternoster
  • 2. CONTENT •Project selection Pt1: Coverage • Motivation • Research Question • Methods • Results Pt2. Reliability •Conclusions •JModel demo
  • 3. PROJECT SELECTION • Selected JFreeChart as open source project. • JFreeChart is an Open Source Java chart library that makes easy for developers to display professional quality charts in their applications • This project was chosen for high flexibility in maintainability and testing as mentioned in several blogs. In particular Testability Explorer ( http://www.testabilityexplorer.org/report ) allowed us to find out some useful metrics. • Among the different modules we chose org.jfree.data. This is a base package for classes that represent different types of data. • The size of the module is 3167 LOCs and was computed using an automatic tool
  • 4. Pt1: Coverage •Original code coverage (74%) with the provided test suite •204 tests, 0 errors, 0 failures
  • 5. Pt1: Coverage MOTIVATION “85% is a common number. People seem to pick it because that's the number other respectable companies use. I once asked someone from one of those other respectable companies why they used 85%. He said, "When our division started using coverage, we needed a number.Division X has a good reputation, so we thought we'd use the number they use." I didn't follow the trail back through Division X. I have the horrible feeling that, if I traced it all the way back to the Dawn of Time, I'd find someone who pulled 85% out of a hat ...” Brian Marick - 1999 Read the original article on: http://www.exampler.com/testing-com/writings/coverage.pdf
  • 6. Pt1: Coverage RESEARCH QUESTION Are there statistical correlations between statement coverage and the number of failures detected? Goal: investigate if there is a relation between the number of total failures in according to the percentage of coverage. Purpose: evaluate the influence of coverage over the software project. Quality focus: number of failures . Perspective: project manager willing to better understand the evolution of failure reports.
  • 7. Pt1: Coverage METHODS.1 Hypothesis Formulation H0 : Null Hypothesis There is no difference in the number of failure detected in according to the percentage of test coverage Ha : Alternative Hypothesis There is difference in the number of failure detected in according to the percentage of test coverage Variable selection Independent variable: the main factor of the experiment is the coverage percentage of testing (from 85.1 to 0) Dependent variable: number of failure detected
  • 8. Pt1: Coverage 85.1% METHODS.2 Code coverage after our modifications Sub-test suites built to cover different percentage of statements
  • 9. Pt1: Coverage RESULTS.1 • The correlation shows a strong correspondence between the coverage percentage and total number of failures. The null hypothesis can be rejected since the p-value is almost zero with correlation coefficient of 0.93 by 95% of confidence interval which runs from 0.83 to 0.97. As we will see in the regression analysis too, when we increase the percentage of the coverage in the code, almost linearly the number of the failures detected increases proportionally.
  • 10. Pt1: Coverage RESULTS.2 Regression line - Coefficients Non constant error variance The plot shows how the linear regression fit better Slope: ~ 0.60 in the low coverage percentage then high coverage R2: ~ 0.85 percentage.
  • 11. Pt1: Coverage RESULTS.3 Statement Coverage vs. Failures Detected Polynomial curve
  • 12. Pt1: Coverage RESULTS.4 Number of Unit Tests vs. Failures Detected “... if we increase the number of unit test,the number of detected failures increases of less then one half “
  • 13. Pt1: Coverage RESULTS.5 Number of Tests vs. Statement Coverage logarithmic shape
  • 14. Pt2: Reliability A simulated environment with JFreeChart
  • 15. Pt2. Reliability MOTIVATION.1 Analyzing just one release we can focus upon a given time interval of the whole life to understand how the number of defects behaves from an over testing time.
  • 16. Pt2. Reliability RESEARCH QUESTION What is the reliability behaviour of the selected software project? Goal: predict the reliability in according to models. Purpose: evaluate the reliability of the project over time. Quality focus: number of failures . Perspective: project manager willing to better understand the evolution of reliability
  • 17. Pt2. Reliability METHODS.1 Seeding Faults •23 Faults seeded •7.23 Fault/kLOC •Proportionally distributed among classes •Different types of Fault •Random positioning inside classes •Easy to enable/disable faults
  • 18. Pt2. Reliability METHODS.2 Failure detection •Step1 : we created two java classes to help us in automating the work •Step2 : inserted at the beginning of the JUnit test suite ( with 85.1% coverage ) the instruction to start the timer : TestController.start(); •Step3 : we started executing tests with all faults activated, and /** XXX FAILURE DETECTED */ progressively decrease the number of faults for each version. FailureController.intercept(“failure description”) ; •Step4 : reported times of failure occurrence on a table •Step5 : run statistical test analysis with R
  • 19. RESULTS.1 •Some faults are never executed during tests •Not every faults executed caused a failure of the system (6 out of 22)
  • 20. Pt2. Reliability RESULTS.2 Comparison among models Among different models we chose Weibull more S-shaped model since it obtained the best R2 coefficient. The parameter values computed are: • a: 40 • b: 0.146 • c: 0.281
  • 21. Pt2. Reliability RESULTS.3 Case Study
  • 22. CONCLUSIONS •We believe that the right amount of code coverage is strictly dependent on the project type •According to the prediction made with the model used in the case study, the number of failures after 5000 ms ( the double of the final time ) increases of just the ~18% •In the case of JFreeChart, that is a non-critical system, this means that the product is almost ready to be shipped •This analysis help us to plan the appropriate levels of support required for defect correction after the software is released. •With our tool is easy to make comparison among different models.
  • 23. Pt2. Reliability JModel •A tool we developed in order to help engineers to analyze data •Produces a final report that shows how well the selected model fits real data, •Computes model´s parameters and allows the user to make predictions. •Integrates different technologies ( Java,HTML +css+js,R, bash scripting ) DEMO
  • 24. ! THANK YOU ! Time for questions paternoster.nicolo@gmail.com carmine.giardino@gmail.com

Notas del editor

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. Whether the relationship is positive or negative\nThe strength of relationship\n
  7. to reveal statistically significant difference between the percentage of test coverage and number of faults we should reject the null hypothesis\n
  8. Improved testing coverage up to 85.1% to provide much data to analyse\n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. Critical aspect in developing software is reliability. In oder to attempt to provide information about it software models should be analysed.\n
  15. Focusing on one release we can understand the residual defects to provide information about if the software is reliable before it is shipped to costumer, and how much support should be arrange for with relative costs.\n
  16. \n
  17. \n
  18. \n
  19. \n
  20. The theory for this model is described by finite type categorisation, where the finite amount of code should have a finite number of defects.\nMoreover they assume that the defect detection rate is proportional to the number of defects in the code.\nTwo main representations: concave, s-shaped.\n
  21. Concave model where the we predicted the number of failure in 5000 ms will be 19 from 16 detected.\n
  22. \n
  23. \n
  24. \n