SlideShare a Scribd company logo
Using the Machine to predict TestabilityMiguel Lopez - ALGORISMI
AgendaWho are we? Goal of the Presentation  Definition of Testability Some Machine Learning ConceptsPredict TestabilityConclusionQuestions/Answers
Algorismi is the Innovative Software Quality Company.Funded by IRSIB for R&D ProjectsExperienced Team : Operation,Development and DeploymentInnovation and Efficiency (cost / time)Our mission is to help you toDeliverBetter Software
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 CorporationChange 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 OfferX-TRAXOur Test Management tool.ScaleOur Code Auditing tool.SQA ServiceWho are we?5
Goal of the PresentationShow 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
TestabilityTestability 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 FactorTestability
Some Heuristics for Testability Heuristic #1 ReuseFavor 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 CouplingLoosely 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 MetricsTestability
Some Heuristics for Testability Reuse - Number of InterfacesAn interface in the Java programming language is an abstract type.
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 - AbstractnessAbstractness = Na/Ncwhere Na = Number of abstract classes in a packageNc = Number of concrete classes in a package.Abstractness = 0 means a completely concrete package.
Easy to test.
Abstractness = 1 means a completely abstract package.Testability
Some Heuristics for Testability Loose Coupling  Afferent Coupling between PackagesAfferent Coupling between packages (Ca) measures the total number of external classes coupled to classes of a package due to incoming coupling (coupling from classes external classes of the package, uses CBO definition of coupling).
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 CouplingEfferent Coupling between PackagesEfferent Coupling between packages (Ce) measures the total number of external classes coupled to classes of a package due to outgoing coupling (coupling to classes external classes of the package, uses Ce definition of coupling).
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 TestabilityWe will use a qualitative metric for testability: Testability Level.
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 ClubPredict 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 & StatisticsStatistics: focus on understanding data in terms of modelsStatistics: interpretability, hypothesis testingMachine Learning: greater focus on predictionMachine Learning: focus on the analysis of learningalgorithms : not just large dataset.Machine Learning
Ad

More Related Content

What's hot (19)

Learning in AI
Learning in AILearning in AI
Learning in AI
Minakshi Atre
 
Programming with GUTs
Programming with GUTsProgramming with GUTs
Programming with GUTs
catherinewall
 
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 regression
eSAT Publishing House
 
Sound Empirical Evidence in Software Testing
Sound Empirical Evidence in Software TestingSound Empirical Evidence in Software Testing
Sound Empirical Evidence in Software Testing
Jaguaraci 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 mutations
Tao 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 Intelligence
Experfy
 
Chaptr 7 (final)
Chaptr 7 (final)Chaptr 7 (final)
Chaptr 7 (final)
Nateshwar Kamlesh
 
Alanoud alqoufi inductive learning
Alanoud alqoufi inductive learningAlanoud alqoufi inductive learning
Alanoud alqoufi inductive learning
Alanoud 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 Candel
Sri Ambati
 
Ssbse12b.ppt
Ssbse12b.pptSsbse12b.ppt
Ssbse12b.ppt
Ptidej Team
 
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
IJSRD
 
Icsoc12 tooldemo.ppt
Icsoc12 tooldemo.pptIcsoc12 tooldemo.ppt
Icsoc12 tooldemo.ppt
Ptidej Team
 
Testing survey by_directions
Testing survey by_directionsTesting survey by_directions
Testing survey by_directions
Tao He
 
AI: Learning in AI
AI: Learning in AI AI: Learning in AI
AI: Learning in AI
DataminingTools Inc
 
Expert System With Python -1
Expert System With Python -1Expert System With Python -1
Expert System With Python -1
Ahmad 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 3
Roger Barga
 
Programming with GUTs
Programming with GUTsProgramming with GUTs
Programming with GUTs
catherinewall
 
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 regression
eSAT Publishing House
 
Sound Empirical Evidence in Software Testing
Sound Empirical Evidence in Software TestingSound Empirical Evidence in Software Testing
Sound Empirical Evidence in Software Testing
Jaguaraci 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 mutations
Tao 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 Intelligence
Experfy
 
Alanoud alqoufi inductive learning
Alanoud alqoufi inductive learningAlanoud alqoufi inductive learning
Alanoud alqoufi inductive learning
Alanoud 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 Candel
Sri 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 ANFIS
IJSRD
 
Icsoc12 tooldemo.ppt
Icsoc12 tooldemo.pptIcsoc12 tooldemo.ppt
Icsoc12 tooldemo.ppt
Ptidej Team
 
Testing survey by_directions
Testing survey by_directionsTesting survey by_directions
Testing survey by_directions
Tao He
 
Expert System With Python -1
Expert System With Python -1Expert System With Python -1
Expert System With Python -1
Ahmad 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 3
Roger Barga
 

Viewers also liked (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
WithTheBest
 
Predictive analytics: hot and getting hotter
Predictive analytics: hot and getting hotterPredictive analytics: hot and getting hotter
Predictive analytics: hot and getting hotter
The 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 Engineering
Alaa Hamouda
 
Defect Prevention & Predictive Analytics - XBOSoft Webinar
Defect Prevention & Predictive Analytics - XBOSoft WebinarDefect Prevention & Predictive Analytics - XBOSoft Webinar
Defect Prevention & Predictive Analytics - XBOSoft Webinar
XBOSoft
 
Machine learning in software testing
Machine learning in software testingMachine learning in software testing
Machine learning in software testing
Thoughtworks
 
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
Milind Kelkar
 
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
WithTheBest
 
Predictive analytics: hot and getting hotter
Predictive analytics: hot and getting hotterPredictive analytics: hot and getting hotter
Predictive analytics: hot and getting hotter
The 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 Engineering
Alaa Hamouda
 
Defect Prevention & Predictive Analytics - XBOSoft Webinar
Defect Prevention & Predictive Analytics - XBOSoft WebinarDefect Prevention & Predictive Analytics - XBOSoft Webinar
Defect Prevention & Predictive Analytics - XBOSoft Webinar
XBOSoft
 
Machine learning in software testing
Machine learning in software testingMachine learning in software testing
Machine learning in software testing
Thoughtworks
 
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
Milind Kelkar
 
Ad

Similar to 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
TEST Huddle
 
machinecanthink-160226155704.pdf
machinecanthink-160226155704.pdfmachinecanthink-160226155704.pdf
machinecanthink-160226155704.pdf
PranavPatil822557
 
But Did You Test It
But Did You Test ItBut Did You Test It
But Did You Test It
Ruth Blakely
 
Machine Can Think
Machine Can ThinkMachine Can Think
Machine Can Think
Rahul Jaiman
 
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
Rachel Davis
 
Object Oriented Testing
Object Oriented TestingObject Oriented Testing
Object Oriented Testing
AMITJain879
 
Chapter 3 SOFTWARE TESTING PROCESS
Chapter 3 SOFTWARE TESTING PROCESSChapter 3 SOFTWARE TESTING PROCESS
Chapter 3 SOFTWARE TESTING PROCESS
st. michael
 
Identifying and classifying unknown Network Disruption
Identifying and classifying unknown Network DisruptionIdentifying and classifying unknown Network Disruption
Identifying and classifying unknown Network Disruption
jagan477830
 
Testing 2 - Thinking Like A Tester
Testing 2 - Thinking Like A TesterTesting 2 - Thinking Like A Tester
Testing 2 - Thinking Like A Tester
ArleneAndrews2
 
Mis End Term Exam Theory Concepts
Mis End Term Exam Theory ConceptsMis End Term Exam Theory Concepts
Mis End Term Exam Theory Concepts
Vidya sagar Sharma
 
Effective unit testing
Effective unit testingEffective unit testing
Effective unit testing
Roberto Casadei
 
Testing frameworks
Testing frameworksTesting frameworks
Testing frameworks
Sakthi K
 
Testing
TestingTesting
Testing
nazeer pasha
 
Automatic for the People
Automatic for the PeopleAutomatic for the People
Automatic for the People
Andy 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.docx
justine1simpson78276
 
Exploratory Testing Explained
Exploratory Testing ExplainedExploratory Testing Explained
Exploratory Testing Explained
TechWell
 
AI: Learning in AI 2
AI: Learning in AI  2AI: Learning in AI  2
AI: Learning in AI 2
Datamining Tools
 
MIT521 software testing (2012) v2
MIT521   software testing  (2012) v2MIT521   software testing  (2012) v2
MIT521 software testing (2012) v2
Yudep 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 Applications
IRJET Journal
 
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
TEST Huddle
 
machinecanthink-160226155704.pdf
machinecanthink-160226155704.pdfmachinecanthink-160226155704.pdf
machinecanthink-160226155704.pdf
PranavPatil822557
 
But Did You Test It
But Did You Test ItBut Did You Test It
But Did You Test It
Ruth 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 Testing
Rachel Davis
 
Object Oriented Testing
Object Oriented TestingObject Oriented Testing
Object Oriented Testing
AMITJain879
 
Chapter 3 SOFTWARE TESTING PROCESS
Chapter 3 SOFTWARE TESTING PROCESSChapter 3 SOFTWARE TESTING PROCESS
Chapter 3 SOFTWARE TESTING PROCESS
st. michael
 
Identifying and classifying unknown Network Disruption
Identifying and classifying unknown Network DisruptionIdentifying and classifying unknown Network Disruption
Identifying and classifying unknown Network Disruption
jagan477830
 
Testing 2 - Thinking Like A Tester
Testing 2 - Thinking Like A TesterTesting 2 - Thinking Like A Tester
Testing 2 - Thinking Like A Tester
ArleneAndrews2
 
Mis End Term Exam Theory Concepts
Mis End Term Exam Theory ConceptsMis End Term Exam Theory Concepts
Mis End Term Exam Theory Concepts
Vidya sagar Sharma
 
Testing frameworks
Testing frameworksTesting frameworks
Testing frameworks
Sakthi K
 
Automatic for the People
Automatic for the PeopleAutomatic for the People
Automatic for the People
Andy 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.docx
justine1simpson78276
 
Exploratory Testing Explained
Exploratory Testing ExplainedExploratory Testing Explained
Exploratory Testing Explained
TechWell
 
MIT521 software testing (2012) v2
MIT521   software testing  (2012) v2MIT521   software testing  (2012) v2
MIT521 software testing (2012) v2
Yudep 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 Applications
IRJET Journal
 
Ad

Recently uploaded (20)

Why Slack Should Be Your Next Business Tool? (Tips to Make Most out of Slack)
Why Slack Should Be Your Next Business Tool? (Tips to Make Most out of Slack)Why Slack Should Be Your Next Business Tool? (Tips to Make Most out of Slack)
Why Slack Should Be Your Next Business Tool? (Tips to Make Most out of Slack)
Cyntexa
 
Artificial_Intelligence_in_Everyday_Life.pptx
Artificial_Intelligence_in_Everyday_Life.pptxArtificial_Intelligence_in_Everyday_Life.pptx
Artificial_Intelligence_in_Everyday_Life.pptx
03ANMOLCHAURASIYA
 
How to Build an AI-Powered App: Tools, Techniques, and Trends
How to Build an AI-Powered App: Tools, Techniques, and TrendsHow to Build an AI-Powered App: Tools, Techniques, and Trends
How to Build an AI-Powered App: Tools, Techniques, and Trends
Nascenture
 
Slack like a pro: strategies for 10x engineering teams
Slack like a pro: strategies for 10x engineering teamsSlack like a pro: strategies for 10x engineering teams
Slack like a pro: strategies for 10x engineering teams
Nacho Cougil
 
Top 5 Qualities to Look for in Salesforce Partners in 2025
Top 5 Qualities to Look for in Salesforce Partners in 2025Top 5 Qualities to Look for in Salesforce Partners in 2025
Top 5 Qualities to Look for in Salesforce Partners in 2025
Damco Salesforce Services
 
On-Device or Remote? On the Energy Efficiency of Fetching LLM-Generated Conte...
On-Device or Remote? On the Energy Efficiency of Fetching LLM-Generated Conte...On-Device or Remote? On the Energy Efficiency of Fetching LLM-Generated Conte...
On-Device or Remote? On the Energy Efficiency of Fetching LLM-Generated Conte...
Ivano Malavolta
 
Top-AI-Based-Tools-for-Game-Developers (1).pptx
Top-AI-Based-Tools-for-Game-Developers (1).pptxTop-AI-Based-Tools-for-Game-Developers (1).pptx
Top-AI-Based-Tools-for-Game-Developers (1).pptx
BR Softech
 
Cybersecurity Tools and Technologies - Microsoft Certificate
Cybersecurity Tools and Technologies - Microsoft CertificateCybersecurity Tools and Technologies - Microsoft Certificate
Cybersecurity Tools and Technologies - Microsoft Certificate
VICTOR MAESTRE RAMIREZ
 
IT488 Wireless Sensor Networks_Information Technology
IT488 Wireless Sensor Networks_Information TechnologyIT488 Wireless Sensor Networks_Information Technology
IT488 Wireless Sensor Networks_Information Technology
SHEHABALYAMANI
 
Build With AI - In Person Session Slides.pdf
Build With AI - In Person Session Slides.pdfBuild With AI - In Person Session Slides.pdf
Build With AI - In Person Session Slides.pdf
Google Developer Group - Harare
 
React Native for Business Solutions: Building Scalable Apps for Success
React Native for Business Solutions: Building Scalable Apps for SuccessReact Native for Business Solutions: Building Scalable Apps for Success
React Native for Business Solutions: Building Scalable Apps for Success
Amelia Swank
 
Harmonizing Multi-Agent Intelligence | Open Data Science Conference | Gary Ar...
Harmonizing Multi-Agent Intelligence | Open Data Science Conference | Gary Ar...Harmonizing Multi-Agent Intelligence | Open Data Science Conference | Gary Ar...
Harmonizing Multi-Agent Intelligence | Open Data Science Conference | Gary Ar...
Gary Arora
 
MEMS IC Substrate Technologies Guide 2025.pptx
MEMS IC Substrate Technologies Guide 2025.pptxMEMS IC Substrate Technologies Guide 2025.pptx
MEMS IC Substrate Technologies Guide 2025.pptx
IC substrate Shawn Wang
 
machines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdfmachines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdf
AmirStern2
 
Unlocking Generative AI in your Web Apps
Unlocking Generative AI in your Web AppsUnlocking Generative AI in your Web Apps
Unlocking Generative AI in your Web Apps
Maximiliano Firtman
 
Understanding SEO in the Age of AI.pdf
Understanding SEO in the Age of AI.pdfUnderstanding SEO in the Age of AI.pdf
Understanding SEO in the Age of AI.pdf
Fulcrum Concepts, LLC
 
May Patch Tuesday
May Patch TuesdayMay Patch Tuesday
May Patch Tuesday
Ivanti
 
Mastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B LandscapeMastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B Landscape
marketing943205
 
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Safe Software
 
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptxReimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
John Moore
 
Why Slack Should Be Your Next Business Tool? (Tips to Make Most out of Slack)
Why Slack Should Be Your Next Business Tool? (Tips to Make Most out of Slack)Why Slack Should Be Your Next Business Tool? (Tips to Make Most out of Slack)
Why Slack Should Be Your Next Business Tool? (Tips to Make Most out of Slack)
Cyntexa
 
Artificial_Intelligence_in_Everyday_Life.pptx
Artificial_Intelligence_in_Everyday_Life.pptxArtificial_Intelligence_in_Everyday_Life.pptx
Artificial_Intelligence_in_Everyday_Life.pptx
03ANMOLCHAURASIYA
 
How to Build an AI-Powered App: Tools, Techniques, and Trends
How to Build an AI-Powered App: Tools, Techniques, and TrendsHow to Build an AI-Powered App: Tools, Techniques, and Trends
How to Build an AI-Powered App: Tools, Techniques, and Trends
Nascenture
 
Slack like a pro: strategies for 10x engineering teams
Slack like a pro: strategies for 10x engineering teamsSlack like a pro: strategies for 10x engineering teams
Slack like a pro: strategies for 10x engineering teams
Nacho Cougil
 
Top 5 Qualities to Look for in Salesforce Partners in 2025
Top 5 Qualities to Look for in Salesforce Partners in 2025Top 5 Qualities to Look for in Salesforce Partners in 2025
Top 5 Qualities to Look for in Salesforce Partners in 2025
Damco Salesforce Services
 
On-Device or Remote? On the Energy Efficiency of Fetching LLM-Generated Conte...
On-Device or Remote? On the Energy Efficiency of Fetching LLM-Generated Conte...On-Device or Remote? On the Energy Efficiency of Fetching LLM-Generated Conte...
On-Device or Remote? On the Energy Efficiency of Fetching LLM-Generated Conte...
Ivano Malavolta
 
Top-AI-Based-Tools-for-Game-Developers (1).pptx
Top-AI-Based-Tools-for-Game-Developers (1).pptxTop-AI-Based-Tools-for-Game-Developers (1).pptx
Top-AI-Based-Tools-for-Game-Developers (1).pptx
BR Softech
 
Cybersecurity Tools and Technologies - Microsoft Certificate
Cybersecurity Tools and Technologies - Microsoft CertificateCybersecurity Tools and Technologies - Microsoft Certificate
Cybersecurity Tools and Technologies - Microsoft Certificate
VICTOR MAESTRE RAMIREZ
 
IT488 Wireless Sensor Networks_Information Technology
IT488 Wireless Sensor Networks_Information TechnologyIT488 Wireless Sensor Networks_Information Technology
IT488 Wireless Sensor Networks_Information Technology
SHEHABALYAMANI
 
React Native for Business Solutions: Building Scalable Apps for Success
React Native for Business Solutions: Building Scalable Apps for SuccessReact Native for Business Solutions: Building Scalable Apps for Success
React Native for Business Solutions: Building Scalable Apps for Success
Amelia Swank
 
Harmonizing Multi-Agent Intelligence | Open Data Science Conference | Gary Ar...
Harmonizing Multi-Agent Intelligence | Open Data Science Conference | Gary Ar...Harmonizing Multi-Agent Intelligence | Open Data Science Conference | Gary Ar...
Harmonizing Multi-Agent Intelligence | Open Data Science Conference | Gary Ar...
Gary Arora
 
MEMS IC Substrate Technologies Guide 2025.pptx
MEMS IC Substrate Technologies Guide 2025.pptxMEMS IC Substrate Technologies Guide 2025.pptx
MEMS IC Substrate Technologies Guide 2025.pptx
IC substrate Shawn Wang
 
machines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdfmachines-for-woodworking-shops-en-compressed.pdf
machines-for-woodworking-shops-en-compressed.pdf
AmirStern2
 
Unlocking Generative AI in your Web Apps
Unlocking Generative AI in your Web AppsUnlocking Generative AI in your Web Apps
Unlocking Generative AI in your Web Apps
Maximiliano Firtman
 
Understanding SEO in the Age of AI.pdf
Understanding SEO in the Age of AI.pdfUnderstanding SEO in the Age of AI.pdf
Understanding SEO in the Age of AI.pdf
Fulcrum Concepts, LLC
 
May Patch Tuesday
May Patch TuesdayMay Patch Tuesday
May Patch Tuesday
Ivanti
 
Mastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B LandscapeMastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B Landscape
marketing943205
 
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Safe Software
 
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptxReimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
Reimagine How You and Your Team Work with Microsoft 365 Copilot.pptx
John Moore
 

Using the Machine to predict Testability

  • 1. Using the Machine to predict TestabilityMiguel Lopez - ALGORISMI
  • 2. AgendaWho are we? Goal of the Presentation Definition of Testability Some Machine Learning ConceptsPredict TestabilityConclusionQuestions/Answers
  • 3. Algorismi is the Innovative Software Quality Company.Funded by IRSIB for R&D ProjectsExperienced Team : Operation,Development and DeploymentInnovation and Efficiency (cost / time)Our mission is to help you toDeliverBetter Software
  • 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 CorporationChange 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 OfferX-TRAXOur Test Management tool.ScaleOur Code Auditing tool.SQA ServiceWho are we?5
  • 9. Goal of the PresentationShow 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. TestabilityTestability 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 FactorTestability
  • 15. Some Heuristics for Testability Heuristic #1 ReuseFavor 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 CouplingLoosely 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 MetricsTestability
  • 18. Some Heuristics for Testability Reuse - Number of InterfacesAn interface in the Java programming language is an abstract type.
  • 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. Some Heuristics for Testability Reuse - AbstractnessAbstractness = Na/Ncwhere Na = Number of abstract classes in a packageNc = Number of concrete classes in a package.Abstractness = 0 means a completely concrete package.
  • 23. Abstractness = 1 means a completely abstract package.Testability
  • 24. Some Heuristics for Testability Loose Coupling Afferent Coupling between PackagesAfferent Coupling between packages (Ca) measures the total number of external classes coupled to classes of a package due to incoming coupling (coupling from classes external classes of the package, uses CBO definition of coupling).
  • 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. Some Heuristics for Testability Loose CouplingEfferent Coupling between PackagesEfferent Coupling between packages (Ce) measures the total number of external classes coupled to classes of a package due to outgoing coupling (coupling to classes external classes of the package, uses Ce definition of coupling).
  • 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. Metric for TestabilityWe will use a qualitative metric for testability: Testability Level.
  • 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 ClubPredict 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 & StatisticsStatistics: focus on understanding data in terms of modelsStatistics: interpretability, hypothesis testingMachine Learning: greater focus on predictionMachine Learning: focus on the analysis of learningalgorithms : not just large dataset.Machine Learning
  • 42. Simple Example - WeatherIn 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 - WeatherMachine Learning
  • 44. WEKA – ML SoftwareFor the Machine Learning, we use the software Weka.
  • 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. WEKA – ML SoftwareFound only on the islands of New Zealand, the Weka is a endangered flightless bird.Machine Learning
  • 49. Simple Example -WeatherTwo 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: rainyTemperature: 59°FHumidity: 89Windy: falseMachine Learning
  • 50. Simple Example -WeatherSee Demo WekaMachine Learning
  • 51. Metrics for Testability Predict Testability
  • 52. Metrics for Testability We will proceed the same way as in the weather example.
  • 53. OO Metrics are the attributes used to predict.
  • 55. Attribute to predict is testability.
  • 57. Data for TestabilityWe analyzed 9 packages of Java Application (Scale).
  • 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 FormatPredict Testability
  • 65. Simplistic ModelMetrics model is too simplistic.
  • 68.
  • 69. The testability fish-bone must be measured.
  • 70. Qualitative & Quantitative measures.Conclusion
  • 71. Automate ML ProcessMeasurement Process must be automated.
  • 72. Many Metrics Tools can be automated.
  • 73. Learning & Prediction processes must be automated.
  • 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
  翻译: