SlideShare uma empresa Scribd logo
1 de 41
Using the Machine to predict Testability Miguel Lopez - ALGORISMI
Agenda Who are we?  Goal of the Presentation   Definition of Testability  Some Machine Learning Concepts Predict Testability Conclusion Questions/Answers
Algorismi is the Innovative Software Quality Company. Funded by IRSIB for R&D Projects Experienced Team : Operation,Development and Deployment Innovation and Efficiency (cost / time) Our mission is to help you to ,[object Object]
Achieve Sustainable Growth
And to be prepared to change
By InnovatingWho are we? 3
Some Aphorisms displayed on our Walls “The world is changing very fast. Big will not beat small anymore. It will be the fast beating the slow.”  Rupert Murdoch, Chairman and CEO, News Corporation Change is inevitable, stability, and security a myth. Be prepared to change, to anticipate, provoke, participate ... but mostly avoid the subject. Who are we? 4
Software Quality Offer X-TRAX Our Test Management tool. Scale Our Code Auditing tool. SQA Service Who are we? 5
Goal of the Presentation Show how to use Machine Learning Algorithms in the test management. Based on a toy example, we show how to proceed. Very small example of what we do in our R&D team. We want you to probe this in your company. Who are we? 6
Testability Testability as a Set of Factors. ISO defines testability as “attributes of software that bear on the effort needed to validate the software product” [ISO/IEC 9126]. Various factors can contribute to testability (obvious). Which are the factors?
Testability Fish-Bone by [Binder]. Testability
Testability Factors [Blinder] Documentation: With regards to testing, requirements and specifications are of prime importance. Implementation: The implementation is the target of all testing, and thus the extent to which the implementation al- lows itself to be tested is a key factor of the testing effort. Testability
Testability Factors [Blinder] Test Suite: Factors of the test suite itself also determine the effort required to test. Desirable features of test suites are correctness, automated execution and reuse of test cases. Test Tools: The presence of appropriate test tools can alleviate many problems that originate in other parts of the ‘fish bone’ figure. Process Capability: The organizational structure, staff and resources supporting a certain activity are typically referred to collectively as a (business) process. Properties of the testing process obviously have great influence on the effort required to perform testing. Testability
Focus on Source Code Factor Testability
Some Heuristics for Testability  Heuristic #1 Reuse Favor modularity before reuse. Its better to have code duplicates than to delay testing of a component because required changes to a superclass or library class it depends on are pending. Heuristic: Give higher priority to the modularity of a system than to the reuse of components. Testability
Some Heuristics for Testability  Heuristic #2 Loose Coupling Loosely coupled software is one where each of its components has, or makes use of, little or no knowledge of the definitions of other separate components. Heuristic: Reduce the number of used classes. Testability
Some Heuristics for Testability  Heuristics and Object-Oriented Metrics Testability
Some Heuristics for Testability  Reuse - Number of Interfaces ,[object Object]
Interfaces are declared using the interface keyword, and may only contain method signatures and constant declarations.
Interfaces cannot be instantiated. A class that implements an interface must implement all of the methods described in the interface.Testability
Some Heuristics for Testability  Reuse - Abstractness Abstractness = Na/Nc where  Na = Number of abstract classes in a package Nc = Number of concrete classes in a package. ,[object Object]
Easy to test.
Abstractness = 1 means a completely abstract package.Testability
Some Heuristics for Testability  Loose Coupling   Afferent Coupling between Packages ,[object Object]
Each class counts only once. Zero if the package does not contain any classes or if external classes do not use the package's classes. Testability
Some Heuristics for Testability  Loose Coupling Efferent Coupling between Packages ,[object Object]
Each class counts only once. Zero if the package does not contain any classes or if external classes are not used by the package's classes. Testability
Metric for Testability ,[object Object]
Ordinal scale:
High : Highly testable (easy to test)
Medium: normal effort to test.
Low: Lowly testable (difficult to test)
Testability is related to unit testing effort.Testability
What’s Machine Learning ? Machine learning, a branch of artificial intelligence, is a scientific discipline that is concerned with the design and development of algorithms that allow computers to evolve behaviors based on empirical data. Data can be seen as examples that illustrate relations between observed variables. A major focus of machine learning research is to automatically learn to recognize complex patterns and make intelligent decisions based on data. Machine Learning
What’s Machine Learning ? Many approaches exist in the Machine Learning world. Neural networks, Bayesian networks, clustering,.. Machine Learning
Some ML Approaches – Decision Tree  Decision tree learning uses a decision tree as a predictive model which maps observations about an item to conclusions about the item's target value. Machine Learning
Some ML Approaches – Association Rule  Association rule learning is a method for discovering interesting relations between variables in large databases. A typical and widely-used example of association rule mining is Market Basket Analysis. Example: Association rule "If A and B  are purchased then C is purchased on the same trip" Machine Learning
Some ML Approaches – Neural Network  An artificial neural network (ANN), usually called "neural network" (NN), is a mathematical model or computational model that tries to simulate the structure and/or functional aspects of biological neural networks.  It consists of an interconnected group of artificial neurons and processes information using a connectionist approach to computation. They are usually used to model complex relationships between inputs and outputs or to find patterns in data. Example: Milan Lab: Soccer Club Predict injuries of the soccer player. Machine Learning
Some ML Approaches – Clustering  Cluster analysis or clustering is the assignment of a set of observations into subsets (called clusters) so that observations in the same cluster are similar in some sense. Clustering is a method of unsupervised learning, and a common technique for statistical data analysis. Machine Learning
Some ML Approaches – Clustering  A Bayesian network, belief network or directed acyclic graphical model is a probabilistic graphical model that represents a set of random variables and their conditional independencies via a directed acyclic graph (DAG).  For example, a Bayesian network could represent the probabilistic relationships between diseases and symptoms.  Machine Learning
Machine Learning & Statistics Statistics: focus on understanding data in terms of models Statistics: interpretability, hypothesis testing Machine Learning: greater focus on prediction Machine Learning: focus on the analysis of learning algorithms : not just large dataset. Machine Learning

Mais conteúdo relacionado

Mais procurados

Programming with GUTs
Programming with GUTsProgramming with GUTs
Programming with GUTscatherinewall
 
Multi objective genetic algorithm for regression testing reduction
Multi objective genetic algorithm for regression testing reduction Multi objective genetic algorithm for regression testing reduction
Multi objective genetic algorithm for regression testing reduction eSAT Journals
 
Multi objective genetic algorithm for regression
Multi objective genetic algorithm for regressionMulti objective genetic algorithm for regression
Multi objective genetic algorithm for regressioneSAT Publishing House
 
Sound Empirical Evidence in Software Testing
Sound Empirical Evidence in Software TestingSound Empirical Evidence in Software Testing
Sound Empirical Evidence in Software TestingJaguaraci Silva
 
A software fault localization technique based on program mutations
A software fault localization technique based on program mutationsA software fault localization technique based on program mutations
A software fault localization technique based on program mutationsTao He
 
Automated parameter optimization should be included in future 
defect predict...
Automated parameter optimization should be included in future 
defect predict...Automated parameter optimization should be included in future 
defect predict...
Automated parameter optimization should be included in future 
defect predict...Chakkrit (Kla) Tantithamthavorn
 
Uncertain Knowledge and Reasoning in Artificial Intelligence
Uncertain Knowledge and Reasoning in Artificial IntelligenceUncertain Knowledge and Reasoning in Artificial Intelligence
Uncertain Knowledge and Reasoning in Artificial IntelligenceExperfy
 
Alanoud alqoufi inductive learning
Alanoud alqoufi inductive learningAlanoud alqoufi inductive learning
Alanoud alqoufi inductive learningAlanoud Alqoufi
 
H2O World - Top 10 Deep Learning Tips & Tricks - Arno Candel
H2O World - Top 10 Deep Learning Tips & Tricks - Arno CandelH2O World - Top 10 Deep Learning Tips & Tricks - Arno Candel
H2O World - Top 10 Deep Learning Tips & Tricks - Arno CandelSri Ambati
 
A Defect Prediction Model for Software Product based on ANFIS
A Defect Prediction Model for Software Product based on ANFISA Defect Prediction Model for Software Product based on ANFIS
A Defect Prediction Model for Software Product based on ANFISIJSRD
 
Icsoc12 tooldemo.ppt
Icsoc12 tooldemo.pptIcsoc12 tooldemo.ppt
Icsoc12 tooldemo.pptPtidej Team
 
Testing survey by_directions
Testing survey by_directionsTesting survey by_directions
Testing survey by_directionsTao He
 
Expert System With Python -1
Expert System With Python -1Expert System With Python -1
Expert System With Python -1Ahmad Hussein
 
Towards a Better Understanding of the Impact of Experimental Components on De...
Towards a Better Understanding of the Impact of Experimental Components on De...Towards a Better Understanding of the Impact of Experimental Components on De...
Towards a Better Understanding of the Impact of Experimental Components on De...Chakkrit (Kla) Tantithamthavorn
 
Barga Data Science lecture 3
Barga Data Science lecture 3Barga Data Science lecture 3
Barga Data Science lecture 3Roger Barga
 

Mais procurados (19)

Learning in AI
Learning in AILearning in AI
Learning in AI
 
Programming with GUTs
Programming with GUTsProgramming with GUTs
Programming with GUTs
 
Multi objective genetic algorithm for regression testing reduction
Multi objective genetic algorithm for regression testing reduction Multi objective genetic algorithm for regression testing reduction
Multi objective genetic algorithm for regression testing reduction
 
Multi objective genetic algorithm for regression
Multi objective genetic algorithm for regressionMulti objective genetic algorithm for regression
Multi objective genetic algorithm for regression
 
Sound Empirical Evidence in Software Testing
Sound Empirical Evidence in Software TestingSound Empirical Evidence in Software Testing
Sound Empirical Evidence in Software Testing
 
A software fault localization technique based on program mutations
A software fault localization technique based on program mutationsA software fault localization technique based on program mutations
A software fault localization technique based on program mutations
 
Automated parameter optimization should be included in future 
defect predict...
Automated parameter optimization should be included in future 
defect predict...Automated parameter optimization should be included in future 
defect predict...
Automated parameter optimization should be included in future 
defect predict...
 
Uncertain Knowledge and Reasoning in Artificial Intelligence
Uncertain Knowledge and Reasoning in Artificial IntelligenceUncertain Knowledge and Reasoning in Artificial Intelligence
Uncertain Knowledge and Reasoning in Artificial Intelligence
 
Chaptr 7 (final)
Chaptr 7 (final)Chaptr 7 (final)
Chaptr 7 (final)
 
Alanoud alqoufi inductive learning
Alanoud alqoufi inductive learningAlanoud alqoufi inductive learning
Alanoud alqoufi inductive learning
 
H2O World - Top 10 Deep Learning Tips & Tricks - Arno Candel
H2O World - Top 10 Deep Learning Tips & Tricks - Arno CandelH2O World - Top 10 Deep Learning Tips & Tricks - Arno Candel
H2O World - Top 10 Deep Learning Tips & Tricks - Arno Candel
 
Ssbse12b.ppt
Ssbse12b.pptSsbse12b.ppt
Ssbse12b.ppt
 
A Defect Prediction Model for Software Product based on ANFIS
A Defect Prediction Model for Software Product based on ANFISA Defect Prediction Model for Software Product based on ANFIS
A Defect Prediction Model for Software Product based on ANFIS
 
Icsoc12 tooldemo.ppt
Icsoc12 tooldemo.pptIcsoc12 tooldemo.ppt
Icsoc12 tooldemo.ppt
 
Testing survey by_directions
Testing survey by_directionsTesting survey by_directions
Testing survey by_directions
 
AI: Learning in AI
AI: Learning in AI AI: Learning in AI
AI: Learning in AI
 
Expert System With Python -1
Expert System With Python -1Expert System With Python -1
Expert System With Python -1
 
Towards a Better Understanding of the Impact of Experimental Components on De...
Towards a Better Understanding of the Impact of Experimental Components on De...Towards a Better Understanding of the Impact of Experimental Components on De...
Towards a Better Understanding of the Impact of Experimental Components on De...
 
Barga Data Science lecture 3
Barga Data Science lecture 3Barga Data Science lecture 3
Barga Data Science lecture 3
 

Destaque

What Every Software Engineer Should Know About Machine Learning - Peter Norvig
What Every Software Engineer Should Know About Machine Learning - Peter NorvigWhat Every Software Engineer Should Know About Machine Learning - Peter Norvig
What Every Software Engineer Should Know About Machine Learning - Peter NorvigWithTheBest
 
Predictive analytics: hot and getting hotter
Predictive analytics: hot and getting hotterPredictive analytics: hot and getting hotter
Predictive analytics: hot and getting hotterThe Marketing Distillery
 
Predictive Performance Testing: Integrating Statistical Tests into Agile Deve...
Predictive Performance Testing: Integrating Statistical Tests into Agile Deve...Predictive Performance Testing: Integrating Statistical Tests into Agile Deve...
Predictive Performance Testing: Integrating Statistical Tests into Agile Deve...Tom Kleingarn
 
Machine Learning in Software Engineering
Machine Learning in Software EngineeringMachine Learning in Software Engineering
Machine Learning in Software EngineeringAlaa Hamouda
 
Defect Prevention & Predictive Analytics - XBOSoft Webinar
Defect Prevention & Predictive Analytics - XBOSoft WebinarDefect Prevention & Predictive Analytics - XBOSoft Webinar
Defect Prevention & Predictive Analytics - XBOSoft WebinarXBOSoft
 
Machine learning in software testing
Machine learning in software testingMachine learning in software testing
Machine learning in software testingThoughtworks
 
Automated testing of software applications using machine learning edited
Automated testing of software applications using machine learning   editedAutomated testing of software applications using machine learning   edited
Automated testing of software applications using machine learning editedMilind Kelkar
 

Destaque (7)

What Every Software Engineer Should Know About Machine Learning - Peter Norvig
What Every Software Engineer Should Know About Machine Learning - Peter NorvigWhat Every Software Engineer Should Know About Machine Learning - Peter Norvig
What Every Software Engineer Should Know About Machine Learning - Peter Norvig
 
Predictive analytics: hot and getting hotter
Predictive analytics: hot and getting hotterPredictive analytics: hot and getting hotter
Predictive analytics: hot and getting hotter
 
Predictive Performance Testing: Integrating Statistical Tests into Agile Deve...
Predictive Performance Testing: Integrating Statistical Tests into Agile Deve...Predictive Performance Testing: Integrating Statistical Tests into Agile Deve...
Predictive Performance Testing: Integrating Statistical Tests into Agile Deve...
 
Machine Learning in Software Engineering
Machine Learning in Software EngineeringMachine Learning in Software Engineering
Machine Learning in Software Engineering
 
Defect Prevention & Predictive Analytics - XBOSoft Webinar
Defect Prevention & Predictive Analytics - XBOSoft WebinarDefect Prevention & Predictive Analytics - XBOSoft Webinar
Defect Prevention & Predictive Analytics - XBOSoft Webinar
 
Machine learning in software testing
Machine learning in software testingMachine learning in software testing
Machine learning in software testing
 
Automated testing of software applications using machine learning edited
Automated testing of software applications using machine learning   editedAutomated testing of software applications using machine learning   edited
Automated testing of software applications using machine learning edited
 

Semelhante a Using the Machine to predict Testability

Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010
Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010
Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010TEST Huddle
 
machinecanthink-160226155704.pdf
machinecanthink-160226155704.pdfmachinecanthink-160226155704.pdf
machinecanthink-160226155704.pdfPranavPatil822557
 
But Did You Test It
But Did You Test ItBut Did You Test It
But Did You Test ItRuth Blakely
 
Different Methodologies For Testing Web Application Testing
Different Methodologies For Testing Web Application TestingDifferent Methodologies For Testing Web Application Testing
Different Methodologies For Testing Web Application TestingRachel Davis
 
Object Oriented Testing
Object Oriented TestingObject Oriented Testing
Object Oriented TestingAMITJain879
 
Chapter 3 SOFTWARE TESTING PROCESS
Chapter 3 SOFTWARE TESTING PROCESSChapter 3 SOFTWARE TESTING PROCESS
Chapter 3 SOFTWARE TESTING PROCESSst. michael
 
Identifying and classifying unknown Network Disruption
Identifying and classifying unknown Network DisruptionIdentifying and classifying unknown Network Disruption
Identifying and classifying unknown Network Disruptionjagan477830
 
Testing 2 - Thinking Like A Tester
Testing 2 - Thinking Like A TesterTesting 2 - Thinking Like A Tester
Testing 2 - Thinking Like A TesterArleneAndrews2
 
Mis End Term Exam Theory Concepts
Mis End Term Exam Theory ConceptsMis End Term Exam Theory Concepts
Mis End Term Exam Theory ConceptsVidya sagar Sharma
 
Testing frameworks
Testing frameworksTesting frameworks
Testing frameworksSakthi K
 
Automatic for the People
Automatic for the PeopleAutomatic for the People
Automatic for the PeopleAndy Zaidman
 
Robust Fault-Tolerant Training Strategy Using Neural Network to Perform Funct...
Robust Fault-Tolerant Training Strategy Using Neural Network to Perform Funct...Robust Fault-Tolerant Training Strategy Using Neural Network to Perform Funct...
Robust Fault-Tolerant Training Strategy Using Neural Network to Perform Funct...Eswar Publications
 
Annotated Bibliography .Guidelines Annotated Bibliograph.docx
Annotated Bibliography  .Guidelines Annotated Bibliograph.docxAnnotated Bibliography  .Guidelines Annotated Bibliograph.docx
Annotated Bibliography .Guidelines Annotated Bibliograph.docxjustine1simpson78276
 
Exploratory Testing Explained
Exploratory Testing ExplainedExploratory Testing Explained
Exploratory Testing ExplainedTechWell
 
MIT521 software testing (2012) v2
MIT521   software testing  (2012) v2MIT521   software testing  (2012) v2
MIT521 software testing (2012) v2Yudep Apoi
 
IRJET - A Survey on Machine Learning Algorithms, Techniques and Applications
IRJET - A Survey on Machine Learning Algorithms, Techniques and ApplicationsIRJET - A Survey on Machine Learning Algorithms, Techniques and Applications
IRJET - A Survey on Machine Learning Algorithms, Techniques and ApplicationsIRJET Journal
 

Semelhante a Using the Machine to predict Testability (20)

Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010
Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010
Peter Zimmerer - Passion For Testing, By Examples - EuroSTAR 2010
 
machinecanthink-160226155704.pdf
machinecanthink-160226155704.pdfmachinecanthink-160226155704.pdf
machinecanthink-160226155704.pdf
 
But Did You Test It
But Did You Test ItBut Did You Test It
But Did You Test It
 
Machine Can Think
Machine Can ThinkMachine Can Think
Machine Can Think
 
Different Methodologies For Testing Web Application Testing
Different Methodologies For Testing Web Application TestingDifferent Methodologies For Testing Web Application Testing
Different Methodologies For Testing Web Application Testing
 
Object Oriented Testing
Object Oriented TestingObject Oriented Testing
Object Oriented Testing
 
Chapter 3 SOFTWARE TESTING PROCESS
Chapter 3 SOFTWARE TESTING PROCESSChapter 3 SOFTWARE TESTING PROCESS
Chapter 3 SOFTWARE TESTING PROCESS
 
Identifying and classifying unknown Network Disruption
Identifying and classifying unknown Network DisruptionIdentifying and classifying unknown Network Disruption
Identifying and classifying unknown Network Disruption
 
Testing 2 - Thinking Like A Tester
Testing 2 - Thinking Like A TesterTesting 2 - Thinking Like A Tester
Testing 2 - Thinking Like A Tester
 
Mis End Term Exam Theory Concepts
Mis End Term Exam Theory ConceptsMis End Term Exam Theory Concepts
Mis End Term Exam Theory Concepts
 
Effective unit testing
Effective unit testingEffective unit testing
Effective unit testing
 
Testing frameworks
Testing frameworksTesting frameworks
Testing frameworks
 
Testing
TestingTesting
Testing
 
Automatic for the People
Automatic for the PeopleAutomatic for the People
Automatic for the People
 
Robust Fault-Tolerant Training Strategy Using Neural Network to Perform Funct...
Robust Fault-Tolerant Training Strategy Using Neural Network to Perform Funct...Robust Fault-Tolerant Training Strategy Using Neural Network to Perform Funct...
Robust Fault-Tolerant Training Strategy Using Neural Network to Perform Funct...
 
Annotated Bibliography .Guidelines Annotated Bibliograph.docx
Annotated Bibliography  .Guidelines Annotated Bibliograph.docxAnnotated Bibliography  .Guidelines Annotated Bibliograph.docx
Annotated Bibliography .Guidelines Annotated Bibliograph.docx
 
Exploratory Testing Explained
Exploratory Testing ExplainedExploratory Testing Explained
Exploratory Testing Explained
 
AI: Learning in AI 2
AI: Learning in AI  2AI: Learning in AI  2
AI: Learning in AI 2
 
MIT521 software testing (2012) v2
MIT521   software testing  (2012) v2MIT521   software testing  (2012) v2
MIT521 software testing (2012) v2
 
IRJET - A Survey on Machine Learning Algorithms, Techniques and Applications
IRJET - A Survey on Machine Learning Algorithms, Techniques and ApplicationsIRJET - A Survey on Machine Learning Algorithms, Techniques and Applications
IRJET - A Survey on Machine Learning Algorithms, Techniques and Applications
 

Último

[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.pdfhans926745
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
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 BusinessPixlogix Infotech
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
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.pdfsudhanshuwaghmare1
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
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 slidevu2urc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
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...Enterprise Knowledge
 

Último (20)

[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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
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
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
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...
 

Using the Machine to predict Testability

  • 1. Using the Machine to predict Testability Miguel Lopez - ALGORISMI
  • 2. Agenda Who are we? Goal of the Presentation Definition of Testability Some Machine Learning Concepts Predict Testability Conclusion Questions/Answers
  • 3.
  • 5. And to be prepared to change
  • 7. Some Aphorisms displayed on our Walls “The world is changing very fast. Big will not beat small anymore. It will be the fast beating the slow.” Rupert Murdoch, Chairman and CEO, News Corporation Change is inevitable, stability, and security a myth. Be prepared to change, to anticipate, provoke, participate ... but mostly avoid the subject. Who are we? 4
  • 8. Software Quality Offer X-TRAX Our Test Management tool. Scale Our Code Auditing tool. SQA Service Who are we? 5
  • 9. Goal of the Presentation Show how to use Machine Learning Algorithms in the test management. Based on a toy example, we show how to proceed. Very small example of what we do in our R&D team. We want you to probe this in your company. Who are we? 6
  • 10. Testability Testability as a Set of Factors. ISO defines testability as “attributes of software that bear on the effort needed to validate the software product” [ISO/IEC 9126]. Various factors can contribute to testability (obvious). Which are the factors?
  • 11. Testability Fish-Bone by [Binder]. Testability
  • 12. Testability Factors [Blinder] Documentation: With regards to testing, requirements and specifications are of prime importance. Implementation: The implementation is the target of all testing, and thus the extent to which the implementation al- lows itself to be tested is a key factor of the testing effort. Testability
  • 13. Testability Factors [Blinder] Test Suite: Factors of the test suite itself also determine the effort required to test. Desirable features of test suites are correctness, automated execution and reuse of test cases. Test Tools: The presence of appropriate test tools can alleviate many problems that originate in other parts of the ‘fish bone’ figure. Process Capability: The organizational structure, staff and resources supporting a certain activity are typically referred to collectively as a (business) process. Properties of the testing process obviously have great influence on the effort required to perform testing. Testability
  • 14. Focus on Source Code Factor Testability
  • 15. Some Heuristics for Testability Heuristic #1 Reuse Favor modularity before reuse. Its better to have code duplicates than to delay testing of a component because required changes to a superclass or library class it depends on are pending. Heuristic: Give higher priority to the modularity of a system than to the reuse of components. Testability
  • 16. Some Heuristics for Testability Heuristic #2 Loose Coupling Loosely coupled software is one where each of its components has, or makes use of, little or no knowledge of the definitions of other separate components. Heuristic: Reduce the number of used classes. Testability
  • 17. Some Heuristics for Testability Heuristics and Object-Oriented Metrics Testability
  • 18.
  • 19. Interfaces are declared using the interface keyword, and may only contain method signatures and constant declarations.
  • 20. Interfaces cannot be instantiated. A class that implements an interface must implement all of the methods described in the interface.Testability
  • 21.
  • 23. Abstractness = 1 means a completely abstract package.Testability
  • 24.
  • 25. Each class counts only once. Zero if the package does not contain any classes or if external classes do not use the package's classes. Testability
  • 26.
  • 27. Each class counts only once. Zero if the package does not contain any classes or if external classes are not used by the package's classes. Testability
  • 28.
  • 30. High : Highly testable (easy to test)
  • 32. Low: Lowly testable (difficult to test)
  • 33. Testability is related to unit testing effort.Testability
  • 34. What’s Machine Learning ? Machine learning, a branch of artificial intelligence, is a scientific discipline that is concerned with the design and development of algorithms that allow computers to evolve behaviors based on empirical data. Data can be seen as examples that illustrate relations between observed variables. A major focus of machine learning research is to automatically learn to recognize complex patterns and make intelligent decisions based on data. Machine Learning
  • 35. What’s Machine Learning ? Many approaches exist in the Machine Learning world. Neural networks, Bayesian networks, clustering,.. Machine Learning
  • 36. Some ML Approaches – Decision Tree Decision tree learning uses a decision tree as a predictive model which maps observations about an item to conclusions about the item's target value. Machine Learning
  • 37. Some ML Approaches – Association Rule Association rule learning is a method for discovering interesting relations between variables in large databases. A typical and widely-used example of association rule mining is Market Basket Analysis. Example: Association rule "If A and B are purchased then C is purchased on the same trip" Machine Learning
  • 38. Some ML Approaches – Neural Network An artificial neural network (ANN), usually called "neural network" (NN), is a mathematical model or computational model that tries to simulate the structure and/or functional aspects of biological neural networks. It consists of an interconnected group of artificial neurons and processes information using a connectionist approach to computation. They are usually used to model complex relationships between inputs and outputs or to find patterns in data. Example: Milan Lab: Soccer Club Predict injuries of the soccer player. Machine Learning
  • 39. Some ML Approaches – Clustering Cluster analysis or clustering is the assignment of a set of observations into subsets (called clusters) so that observations in the same cluster are similar in some sense. Clustering is a method of unsupervised learning, and a common technique for statistical data analysis. Machine Learning
  • 40. Some ML Approaches – Clustering A Bayesian network, belief network or directed acyclic graphical model is a probabilistic graphical model that represents a set of random variables and their conditional independencies via a directed acyclic graph (DAG). For example, a Bayesian network could represent the probabilistic relationships between diseases and symptoms. Machine Learning
  • 41. Machine Learning & Statistics Statistics: focus on understanding data in terms of models Statistics: interpretability, hypothesis testing Machine Learning: greater focus on prediction Machine Learning: focus on the analysis of learning algorithms : not just large dataset. Machine Learning
  • 42. Simple Example - Weather In the weather example, we want to predict the weather conditions to play outside. According to 4 variables (outlook,temperature, humidity, windy), we ask the following question: Can the children play in the garden? Machine Learning
  • 43. Simple Example - Weather Machine Learning
  • 44.
  • 45. Weka is an open source project of the Machine Learning Group at University of Waikato.
  • 46. They have incorporated several standard ML techniques into a software "workbench" called WEKA, for Waikato Environment for Knowledge Analysis.
  • 47. But what is a Weka?Machine Learning
  • 48.
  • 49. Simple Example -Weather Two steps process: Train the machine: build the decision tree based upon a data set. Predict on new data set: load the decision tree and ask for a new data set. Question: Can the children play outside with the following weather conditions: Outlook: rainy Temperature: 59°F Humidity: 89 Windy: false Machine Learning
  • 50. Simple Example -Weather See Demo Weka Machine Learning
  • 51. Metrics for Testability Predict Testability
  • 52.
  • 53. OO Metrics are the attributes used to predict.
  • 55. Attribute to predict is testability.
  • 57.
  • 58. For each package, we compute the different metrics with the Eclipse plugin Metrics.
  • 63. For each package, we assess the testability level of the package.Predict Testability
  • 64. Data for Testability: ARFF Format Predict Testability
  • 65.
  • 68.
  • 69. The testability fish-bone must be measured.
  • 70. Qualitative & Quantitative measures.Conclusion
  • 71.
  • 72. Many Metrics Tools can be automated.
  • 73. Learning & Prediction processes must be automated.
  • 75.
  • 78. Bibliography [Blinder] R. Binder. Design for testability in object-oriented systems. Comm. of the ACM, 37(9):87–101, 1994. Predicting Class Testability using Object-Oriented Metrics, M. Bruntink and A. van Deursen. Data mining: practical machine learning tools and techniques Par Ian H. Witten,Eibe Frank