SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Downloaden Sie, um offline zu lesen
2
• ROLES
• Knowit Solutions Oy, Director of Training and Competences,
Lead Consultant, Trainer and Coach
• Secretary of ISTQB Executive Committee
• Treasurer of Finnish Software Testing Board (FiSTB)
• Children’s and testing author at Dragons Out Oy
• ACHIEVEMENTS
• Influencing testing since 1996
• Ranked in 100 most influential IT persons in Finland (Tivi
magazine)
• Great number of presentations in Finnish and international
conferences
• TestausOSY/FAST founding member.
• Co-author of Agile Testing Foundations book
• Regular blogger in Tivi-magazine
• EDUCATION
• ISTQB Expert Level Test Management & Advanced Full &
Agile Tester certified
• DASA DevOps, Scrum Master and SAFe certified
• SPICE provisionary assessor certified
• M.Sc.(Eng), Helsinki University of Technology (present Aalto
University), Otaniemi, Espoo
• Marketing studies, University of Wisconsin-Madison, the
USA.
BUSINESS DOMAINS
• Wide spread of business domain knowledge
• Embedded, Industry, Public,
• Training, Telecom, Commerce,
• Insurance, Banking, Pension
SERVICES
• ISTQB Advanced, Foundation and Agile Testing +
Knowit Quality Professional
• DASA DevOps
• Quality & Test process and organization
development, Metrics
• Agile testing, Scrum, Kanban, Lean
• Leadership
• Test automation, Mobile, Cloud, DevOps, AI
• Quality, Cost, Benefits.
Kari Kakkonen twitter.com/kkakkonen
linkedin.com/in/karikakkonen/
Dragonsout.com
Copyright Knowit Solutions Oy 2020 #TQS2020
2400
Employees, 150 in
Finland
In 5
countries
Sweden, Norway,
Denmark, Finland and
Germany
315 million
Turnover
Nasdaq
OMX Mid Cap
30 million
Profit, margin 9,6 %
Copyright Knowit Solutions Oy 2020 #TQS2020 3
• Artificial Intelligence (AI) in short
• Case of NASA code quality metrics
using AI
• Other AI and testing developments
Agenda
Copyright Knowit Solutions Oy 2020 #TQS2020 4
Drivers of artifical intelligence
1. Models everywhere.
2. Amount of data is exploding.
3. Manual analytics is slow and costly.
• Interest to automate analytics and
modeling is growing.
• Development speed of analytics
algorithms is accelerating.
• Algorithms, that automatically process
data to information, can produce data
and better models independently.
Figure: Amount of data in world. Forbes, 27 Nov. 2018.
Copyright Knowit Solutions Oy 2020 #TQS2020 5
Quality management as top use-case for AI
Source: AI software platform adoption survey, IDC, February 2019 [Percent of respondents: N=505]
Copyright Knowit Solutions Oy 2020 #TQS2020 6
• When talking about AI, it is
important to ask if we are
talking about modelling
humans or how to work in
ideal way.
• Machine learning is a sub-
category of AI, which
considers algorithms that
enable AI to learn ideal way to
work.
Artificial intelligence == machine learning?
Figure: Example of concepts related to AI.
Copyright Knowit Solutions Oy 2020 #TQS2020 7
Three methods of machine learning
Machine learning methods
Supervised Learning
• The aim is to learn
mapping from input to
output.
• Output is known by
supervisor.
Unsupervised Learning
• The aim is to find
”something interesting”.
• Output is not known
(known also as density
estimation in statistics).
Reinforcement Learning
• Seemingly good
solutions are
encouraged to
develop further.
AI literature review[1]
1 Reagan, A., et al., The emotional arcs of stories are dominated by six basic shapes, EPJ Data Science (2016).
Copyright Knowit Solutions Oy 2020 #TQS2020 8
No one tool for all
Copyright Knowit Solutions Oy 2020 #TQS2020
Performance
Amount of data, time, and computing power
• Linear discriminant
analysis
• Logistic regression
• Medium-sized ANNs
• Genetic algorithms
• Extreme learning
machines
• Convolution neural
networks
• Generative neural
networks
• Deep belief networks
• Recurrent neural
networks
• Simple neural networks
9
Planning
descriptions
Code Unit testing
Integration testing
System testing
Acceptance
testing
Definition
descriptions
Requirements
• Static methods
• Reviews
• Dynamic methods
• Test runs
Remember there are different kinds of testing
Copyright Knowit Solutions Oy 2020 #TQS2020 10
AI in software testing
Copyright Knowit Solutions Oy 2020 #TQS2020
• In static testing, several machine learning
algorithms can be used to measure code
quality.[1] NASA’s code review.
• In dynamic testing, model-based regression
tests can be replaced by algorithms that
generate test flows on-the-fly.[2] Chaos
monkey of Netflix.
• In maintenance testing, machine learning can
be used to plan more realistic statistical
models of how application is actually used.
Figure: Margaret Hamilton standing next
to source code of guidance system of
Apollo spacecraft.
www.nasa.gov/
11
Toolbox for AI
Copyright Knowit Solutions Oy 2020 #TQS2020 12
Code quality metrics: NASA case
Copyright Knowit Solutions Oy 2020 #TQS2020 13
• Detecting:
• abnormal behaviour
• new kind of customers
• etc.
Anomaly detection
Copyright Knowit Solutions Oy 2020 #TQS2020
Figure: Example of time series
14
• Several code quality metrics are currently
being used. The most popular ones have
been introduced in 1970.[1,2]
1 T.J. McCabe, A Complexity Measure, IEEE Transactions on Software Engineering (1976) SE-2, 4, 308.
2 M.H. Halstead, Elements of Software Science, Elsevier (1977).
3 N.E. Fenton, S.L. Pfleeger, Software Metrics: A Rigorous & Practical Approach, International Thompson Press (1997).
4 S.J. Sayyad, T.J. Menzies, The PROMISE Repository of Software Engineering Databases (2005).
• Goal is to provide feedback:
1. for developers about code quality.
2. for testers about needed test coverage.
3. for management about the development
project
• Although traditional metrics are extensively
used, benefit of using them has been
questioned.[3]
0
50
100
150
200
250
300
350
400
450
0 20 40 60 80 100 120
Numberoflines.
Cyclomatic complexity
Scattering of defects in NASA CM1 project
OK Defected
Figure: NASA Metrics Data Program, CM1 Project[4]
In real applications defected modules do not separate from
non-defected by standard metrics.
AI code quality metrics
Copyright Knowit Solutions Oy 2020 #TQS2020 15
AI review
Requirement
management
Code quality
analysis
Version
control
Test
management
Defect
management
AI code quality metrics
Copyright Knowit Solutions Oy 2020 #TQS2020 16
Developer
Product
Owner
Scrum team
Management AI review
AI code quality metrics
Copyright Knowit Solutions Oy 2020 #TQS2020 17
• Goal is to understand technical quality and test coverage of modules.
Also, goal is to guide and focus testing:
• Focusing technical debt reduction
• Found defects per module
• Guide for test coverage in automating system level testing.
AI code quality metrics
Copyright Knowit Solutions Oy 2020 #TQS2020
Requires that there is link from components (version control) and tests (test management) to feature descriptions and from reported defects to modules (observation control)
Module Developer Benchmark
(order.numb.)
Relative
risk
Number of
reported
bugs
Module_1 Jaakko 50 58 4
Module_2 Jaakko 4 5 1
Module_3 Mikko 180 95 7
SCRUM TEAM
18
• Goal is to provide overview:
• How fast the development is advancing
• Maturity for release
• Quality and technical debt of the software
• Defect probabilities
• Risks related to modifications of the
software.
AI code quality metrics
Copyright Knowit Solutions Oy 2020 #TQS2020
Interpretation:
• Module 5 has high defect probability and is
related to five most important features of
the application. This results into high risk in
release at this moment.
• Defect probability of module 10 has fallen
to acceptable level.
Start-up
phase
Development
phase
Maturing
phase
MANAGEMENT
19
1
2
𝑤 2
+ 𝐶 ෍
𝑖=1
𝑁
ξ𝑖
1-𝑦𝑖 𝑤, 𝑓(𝑥𝑖) + 𝑏 ≤ ξ𝑖
Minimize
Subject to with all values of i.
Quality metric 1
Qualitymetric2
• Machine learning approach was tested for NASA’s CM1
software repository[1].
• Support vector type of machine learning algorithm was
developed for this demonstration.
• This task can be solved by supervised machine learning
methods because both input (quality metrics) and output
(defects) is known.
• Goal is to find such hyperplane in multidimensional data
space that separate defected modules from non-
defected.
• Mathematically, problem can be described with algorithm:
AI-guided software testing, demonstration
Copyright Knowit Solutions Oy 2020 #TQS2020 20
0,0
0,2
0,4
0,6
0,8
Tested on real data against NASA CM1 project[1]
Performance(F)
Training set: 1595
Test set: 400
𝐹 =
2 ∗ 𝑎𝑐𝑐𝑢𝑟𝑎𝑐𝑦 ∗ 𝑟𝑒𝑐𝑎𝑙𝑙
𝑎𝑐𝑐𝑢𝑟𝑎𝑐𝑦 + 𝑟𝑒𝑐𝑎𝑙𝑙
AI-guided software testing, demonstration
Copyright Knowit Solutions Oy 2020 #TQS2020 21
Stages of execution
4. DEPLOYMENT AND UTILIZATION OF THE ALGORITHM
Monitoring and analysing results
2. DEFINING QUALITY METRICS
Defining quality and defect metrics
Building the metrics
3. DEFINING HOW RESULTS ARE PRESENTED
Defining who will use results and how
Building data visualization
1. DEFINING DATA SOURCES
From where data is collected
How will the data be collected
Copyright Knowit Solutions Oy 2020 #TQS2020 22
Other interesting developments in AI
and testing
Copyright Knowit Solutions Oy 2020 #TQS2020 23
• Enhanced automation
• Test automation
• Robotic Process Automation -> Intelligent automation
• AI-powered test automation
• Enhanced test selection
• Risk analysis
• Test case selection
• Code analysis
General direction at businesses
on AI and testing
Copyright Knowit Solutions Oy 2020 #TQS2020 24
• Start from screenshots
• Detect layout issues
• Cross-browser testing for differences
• Ignore invisible rendering, size, position differences
• Case: Applitools
• https://applitools.com / Visual AI
AI-powered comparison of visual elements
Copyright Knowit Solutions Oy 2020 #TQS2020 25
• AI-based test generation
• Checking functional differences
• Checking visual differences
• Automatically learning the test
automation
• For: regression testing after changes
• Case: retest
• Unfortunately a victim of Covid-19
• https://retest.de/ai-based-test-
generation/
AI with regression testing
Copyright Knowit Solutions Oy 2020 #TQS2020 26
• “World’s first”
• Go automatically through mobile apps
• Use general test cases
• Reinforcement learning
• Case: test.ai
• https://www.test.ai/
AI-powered mobile test automation platform
Copyright Knowit Solutions Oy 2020 #TQS2020 27
• Default tests to web sites
• Teach your own tests
• Running on containers in virtual
machines
• Use for regression testing, cross-
browser testing
• Case: Mabl
• https://www.mabl.com/
Auto-healing automated testing of web
Copyright Knowit Solutions Oy 2020 #TQS2020 28
• Build test through interface backed by ML
• Plain English
• New life for “record-playback”
• ML algorithms maintain the tests
• Case: Functionize
• https://www.functionize.com/
Intelligent testing
Copyright Knowit Solutions Oy 2020 #TQS2020 29
• Support test automation engine data selection with AI
• Can be used for testing with large quantities of data
• Can be used automating production as Robotic Process Automation
(RPA)
• Cases:
• Robot Framework test automation framework
• Aito AI tool
• https://robotframework.org/
• https://aito.ai/
• https://aito.ai/blog/machine-learning-in-robot-framework/
Automating tests or production with lots of
repetitive data
Copyright Knowit Solutions Oy 2020 #TQS2020 30
• Go through functionalities
• Identify risky areas
• Focus testing
• Case: Eggplant
• https://www.eggplantsoftwar
e.com/
Predict quality issues
Copyright Knowit Solutions Oy 2020 #TQS2020 31
• Analyze risk in commits to the code
• Select the tests that test the risky areas
• Reduce number of test cases needed to run
• Case: Appsurify
• https://appsurify.com/
Select most suitable test cases
Copyright Knowit Solutions Oy 2020 #TQS2020 32
• Power of open source
developers
• Machine learning
algorithms learn from the
community automatically
• Analyse code and
propose improvements
• Case: DeepCode
• https://www.deepcode.ai/
Code analysis using AI
Copyright Knowit Solutions Oy 2020 #TQS2020 33
• Trainings and certifications
• https://www.alliance4qualification.info/a4q-ai-and-software-testing
• https://www.brightest.org/en/certifications/AiU-Certified-Tester-in-Artificial-
Intelligence/
• Associations
• https://www.aitesting.org/
• www.istqb.org
• Standards
• ISO
• Focus on AI https://jtc1info.org/technology/artificial-intelligence/
• Under development: Testing of AI-based systems
https://www.iso.org/standard/79016.html?browse=tc
• IEEE
• https://ieeexplore.ieee.org/document/8705808
Promoting and teaching AI and testing
Copyright Knowit Solutions Oy 2020 #TQS2020 34
• https://www.pnsqc.org/wp-content/uploads/2018/09/38-Santiago-AI-
Driven-Test-Generation.pdf
• https://ieeexplore.ieee.org/document/8705808
Research
Copyright Knowit Solutions Oy 2020 #TQS2020 35
• AI-enabled testing is already a reality
• Many companies are enhancing their solutions with AI
• New companies are set up around AI
• AI can provide simplicity to complex software development projects.
• With AI, testing activities can be focused on high risk areas.
• With AI, test automation becomes more autonomous
• Testers are freed to created new tests
Conclusion
Copyright Knowit Solutions Oy 2020 #TQS2020 36
Thank You!
Twitter
@kkakkonen
Email
kari.kakkonen@knowit.fi

Weitere ähnliche Inhalte

Was ist angesagt?

The Use of Development History in Software Refactoring Using a Multi-Objectiv...
The Use of Development History in Software Refactoring Using a Multi-Objectiv...The Use of Development History in Software Refactoring Using a Multi-Objectiv...
The Use of Development History in Software Refactoring Using a Multi-Objectiv...
Ali Ouni
 

Was ist angesagt? (12)

A framework for adoption of machine learning in industry for software defect ...
A framework for adoption of machine learning in industry for software defect ...A framework for adoption of machine learning in industry for software defect ...
A framework for adoption of machine learning in industry for software defect ...
 
On to code review lessons learned at microsoft
On to code review lessons learned at microsoftOn to code review lessons learned at microsoft
On to code review lessons learned at microsoft
 
ICSME 2016: Search-Based Peer Reviewers Recommendation in Modern Code Review
ICSME 2016: Search-Based Peer Reviewers Recommendation in Modern Code ReviewICSME 2016: Search-Based Peer Reviewers Recommendation in Modern Code Review
ICSME 2016: Search-Based Peer Reviewers Recommendation in Modern Code Review
 
Why is TDD so hard for Data Engineering and Analytics Projects?
Why is TDD so hard for Data Engineering and Analytics Projects?Why is TDD so hard for Data Engineering and Analytics Projects?
Why is TDD so hard for Data Engineering and Analytics Projects?
 
Paul Gerrard - Advancing Testing Using Axioms - EuroSTAR 2010
Paul Gerrard - Advancing Testing Using Axioms - EuroSTAR 2010Paul Gerrard - Advancing Testing Using Axioms - EuroSTAR 2010
Paul Gerrard - Advancing Testing Using Axioms - EuroSTAR 2010
 
When Testing Meets Code Review: Why and How Developers Review Tests
When Testing Meets Code Review: Why and How Developers Review TestsWhen Testing Meets Code Review: Why and How Developers Review Tests
When Testing Meets Code Review: Why and How Developers Review Tests
 
Icsme 2021-keynote-creating-usable-and-useful-software-tools
Icsme 2021-keynote-creating-usable-and-useful-software-toolsIcsme 2021-keynote-creating-usable-and-useful-software-tools
Icsme 2021-keynote-creating-usable-and-useful-software-tools
 
7th sem it_CSVTU
7th sem it_CSVTU7th sem it_CSVTU
7th sem it_CSVTU
 
OW2Con 2013 - Measuring quality of software developments with Spago4Q
OW2Con 2013 - Measuring quality of software developments with Spago4QOW2Con 2013 - Measuring quality of software developments with Spago4Q
OW2Con 2013 - Measuring quality of software developments with Spago4Q
 
Machine Learning Approach for Quality Assessment and Prediction in Large Soft...
Machine Learning Approach for Quality Assessmentand Prediction in Large Soft...Machine Learning Approach for Quality Assessmentand Prediction in Large Soft...
Machine Learning Approach for Quality Assessment and Prediction in Large Soft...
 
The Use of Development History in Software Refactoring Using a Multi-Objectiv...
The Use of Development History in Software Refactoring Using a Multi-Objectiv...The Use of Development History in Software Refactoring Using a Multi-Objectiv...
The Use of Development History in Software Refactoring Using a Multi-Objectiv...
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 

Ähnlich wie AI improves software testing by Kari Kakkonen at TQS

Ähnlich wie AI improves software testing by Kari Kakkonen at TQS (20)

AI improves software testing through test automation, test creation and test ...
AI improves software testing through test automation, test creation and test ...AI improves software testing through test automation, test creation and test ...
AI improves software testing through test automation, test creation and test ...
 
AI improves software testing to be more fault tolerant, focused and efficient
AI improves software testing to be more fault tolerant, focused and efficientAI improves software testing to be more fault tolerant, focused and efficient
AI improves software testing to be more fault tolerant, focused and efficient
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
AI for Software Engineering
AI for Software EngineeringAI for Software Engineering
AI for Software Engineering
 
Microsoft Office 365
Microsoft Office 365Microsoft Office 365
Microsoft Office 365
 
AI in the Enterprise
AI in the EnterpriseAI in the Enterprise
AI in the Enterprise
 
Leveraging AI and ML in Test Management Systems - DevOps Next
Leveraging AI and ML in Test Management Systems - DevOps NextLeveraging AI and ML in Test Management Systems - DevOps Next
Leveraging AI and ML in Test Management Systems - DevOps Next
 
Quality engineering in the digital age... Why? How? (ASQF Keynote by Rik Mars...
Quality engineering in the digital age... Why? How? (ASQF Keynote by Rik Mars...Quality engineering in the digital age... Why? How? (ASQF Keynote by Rik Mars...
Quality engineering in the digital age... Why? How? (ASQF Keynote by Rik Mars...
 
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - TrivadisTechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
TechEvent 2019: Artificial Intelligence in Dev & Ops; Martin Luckow - Trivadis
 
How to test an AI application
How to test an AI applicationHow to test an AI application
How to test an AI application
 
Adopting Data Science and Machine Learning in the financial enterprise
Adopting Data Science and Machine Learning in the financial enterpriseAdopting Data Science and Machine Learning in the financial enterprise
Adopting Data Science and Machine Learning in the financial enterprise
 
Future of Software Testing
Future of Software TestingFuture of Software Testing
Future of Software Testing
 
How to analyze text data for AI and ML with Named Entity Recognition
How to analyze text data for AI and ML with Named Entity RecognitionHow to analyze text data for AI and ML with Named Entity Recognition
How to analyze text data for AI and ML with Named Entity Recognition
 
Practical model management in the age of Data science and ML
Practical model management in the age of Data science and MLPractical model management in the age of Data science and ML
Practical model management in the age of Data science and ML
 
Quality Engineering in today's cross-functTeams with TMAP
Quality Engineering in today's cross-functTeams with TMAPQuality Engineering in today's cross-functTeams with TMAP
Quality Engineering in today's cross-functTeams with TMAP
 
A Data Driven Roadmap to Enterprise AI Strategy (Sponsored by Contino) - AWS ...
A Data Driven Roadmap to Enterprise AI Strategy (Sponsored by Contino) - AWS ...A Data Driven Roadmap to Enterprise AI Strategy (Sponsored by Contino) - AWS ...
A Data Driven Roadmap to Enterprise AI Strategy (Sponsored by Contino) - AWS ...
 
Testing Metrics and why Managers like them
Testing Metrics and why Managers like themTesting Metrics and why Managers like them
Testing Metrics and why Managers like them
 
Value Stream Mapping – Stories From the Trenches
Value Stream Mapping – Stories From the TrenchesValue Stream Mapping – Stories From the Trenches
Value Stream Mapping – Stories From the Trenches
 
Ignatius Prasad Guntupalli
Ignatius Prasad GuntupalliIgnatius Prasad Guntupalli
Ignatius Prasad Guntupalli
 
Intro to Artificial Intelligence w/ Target's Director of PM
 Intro to Artificial Intelligence w/ Target's Director of PM Intro to Artificial Intelligence w/ Target's Director of PM
Intro to Artificial Intelligence w/ Target's Director of PM
 

Mehr von Kari Kakkonen

Mehr von Kari Kakkonen (20)

Kari Kakkonen Climate Impact of Software Testing
Kari Kakkonen Climate Impact of Software TestingKari Kakkonen Climate Impact of Software Testing
Kari Kakkonen Climate Impact of Software Testing
 
Climate Impact of Software Testing
Climate Impact of Software TestingClimate Impact of Software Testing
Climate Impact of Software Testing
 
Insights about children testing
Insights about children testingInsights about children testing
Insights about children testing
 
Climate Impact of Software Testing.pdf
Climate Impact of Software Testing.pdfClimate Impact of Software Testing.pdf
Climate Impact of Software Testing.pdf
 
Knights of Quality: Immersive talk about software testing
Knights of Quality: Immersive talk about software testingKnights of Quality: Immersive talk about software testing
Knights of Quality: Immersive talk about software testing
 
Climate Impact of Software Testing
Climate Impact of Software TestingClimate Impact of Software Testing
Climate Impact of Software Testing
 
Becoming MultiTalented Tester
Becoming MultiTalented TesterBecoming MultiTalented Tester
Becoming MultiTalented Tester
 
Becoming a Multitalented Tester - at KDS
Becoming a Multitalented Tester - at KDSBecoming a Multitalented Tester - at KDS
Becoming a Multitalented Tester - at KDS
 
How children learn software testing
How children learn software testingHow children learn software testing
How children learn software testing
 
Ohjelmistotestauksen opetuksen kokemuksia fantasiatarinan avulla
Ohjelmistotestauksen opetuksen kokemuksia fantasiatarinan avullaOhjelmistotestauksen opetuksen kokemuksia fantasiatarinan avulla
Ohjelmistotestauksen opetuksen kokemuksia fantasiatarinan avulla
 
Becoming Multitalented Tester - Kari Kakkonen
Becoming Multitalented Tester - Kari KakkonenBecoming Multitalented Tester - Kari Kakkonen
Becoming Multitalented Tester - Kari Kakkonen
 
How Children Learn Testing at Testit
How Children Learn Testing at TestitHow Children Learn Testing at Testit
How Children Learn Testing at Testit
 
How Children Learn Testing Kari Kakkonen Odin conference.pdf
How Children Learn Testing Kari Kakkonen Odin conference.pdfHow Children Learn Testing Kari Kakkonen Odin conference.pdf
How Children Learn Testing Kari Kakkonen Odin conference.pdf
 
Insights from children about testing at NTD2022
Insights from children about testing at NTD2022Insights from children about testing at NTD2022
Insights from children about testing at NTD2022
 
Insights from children about testing; how children who've read the Dragons O...
Insights from children about testing; how children who've read the Dragons O...Insights from children about testing; how children who've read the Dragons O...
Insights from children about testing; how children who've read the Dragons O...
 
Insights from children about testing; how children who've read the Dragons O...
Insights from children about testing; how children who've read the Dragons O...Insights from children about testing; how children who've read the Dragons O...
Insights from children about testing; how children who've read the Dragons O...
 
Insights from children about testing; how children who've read the Dragons Ou...
Insights from children about testing; how children who've read the Dragons Ou...Insights from children about testing; how children who've read the Dragons Ou...
Insights from children about testing; how children who've read the Dragons Ou...
 
Dragons Out Ohjelmistotestauksen oppia fantasian keinoilla (ITK-konferenssi)
Dragons Out Ohjelmistotestauksen oppia fantasian keinoilla (ITK-konferenssi)Dragons Out Ohjelmistotestauksen oppia fantasian keinoilla (ITK-konferenssi)
Dragons Out Ohjelmistotestauksen oppia fantasian keinoilla (ITK-konferenssi)
 
How Children Learn Testing with Dragons - KDS2021
How Children Learn Testing with Dragons - KDS2021How Children Learn Testing with Dragons - KDS2021
How Children Learn Testing with Dragons - KDS2021
 
How children learn testing with dragons at SEETEST 2021
How children learn testing with dragons at SEETEST 2021How children learn testing with dragons at SEETEST 2021
How children learn testing with dragons at SEETEST 2021
 

Kürzlich hochgeladen

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 

Kürzlich hochgeladen (20)

Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
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...
 
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
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 

AI improves software testing by Kari Kakkonen at TQS

  • 1.
  • 2. 2 • ROLES • Knowit Solutions Oy, Director of Training and Competences, Lead Consultant, Trainer and Coach • Secretary of ISTQB Executive Committee • Treasurer of Finnish Software Testing Board (FiSTB) • Children’s and testing author at Dragons Out Oy • ACHIEVEMENTS • Influencing testing since 1996 • Ranked in 100 most influential IT persons in Finland (Tivi magazine) • Great number of presentations in Finnish and international conferences • TestausOSY/FAST founding member. • Co-author of Agile Testing Foundations book • Regular blogger in Tivi-magazine • EDUCATION • ISTQB Expert Level Test Management & Advanced Full & Agile Tester certified • DASA DevOps, Scrum Master and SAFe certified • SPICE provisionary assessor certified • M.Sc.(Eng), Helsinki University of Technology (present Aalto University), Otaniemi, Espoo • Marketing studies, University of Wisconsin-Madison, the USA. BUSINESS DOMAINS • Wide spread of business domain knowledge • Embedded, Industry, Public, • Training, Telecom, Commerce, • Insurance, Banking, Pension SERVICES • ISTQB Advanced, Foundation and Agile Testing + Knowit Quality Professional • DASA DevOps • Quality & Test process and organization development, Metrics • Agile testing, Scrum, Kanban, Lean • Leadership • Test automation, Mobile, Cloud, DevOps, AI • Quality, Cost, Benefits. Kari Kakkonen twitter.com/kkakkonen linkedin.com/in/karikakkonen/ Dragonsout.com Copyright Knowit Solutions Oy 2020 #TQS2020
  • 3. 2400 Employees, 150 in Finland In 5 countries Sweden, Norway, Denmark, Finland and Germany 315 million Turnover Nasdaq OMX Mid Cap 30 million Profit, margin 9,6 % Copyright Knowit Solutions Oy 2020 #TQS2020 3
  • 4. • Artificial Intelligence (AI) in short • Case of NASA code quality metrics using AI • Other AI and testing developments Agenda Copyright Knowit Solutions Oy 2020 #TQS2020 4
  • 5. Drivers of artifical intelligence 1. Models everywhere. 2. Amount of data is exploding. 3. Manual analytics is slow and costly. • Interest to automate analytics and modeling is growing. • Development speed of analytics algorithms is accelerating. • Algorithms, that automatically process data to information, can produce data and better models independently. Figure: Amount of data in world. Forbes, 27 Nov. 2018. Copyright Knowit Solutions Oy 2020 #TQS2020 5
  • 6. Quality management as top use-case for AI Source: AI software platform adoption survey, IDC, February 2019 [Percent of respondents: N=505] Copyright Knowit Solutions Oy 2020 #TQS2020 6
  • 7. • When talking about AI, it is important to ask if we are talking about modelling humans or how to work in ideal way. • Machine learning is a sub- category of AI, which considers algorithms that enable AI to learn ideal way to work. Artificial intelligence == machine learning? Figure: Example of concepts related to AI. Copyright Knowit Solutions Oy 2020 #TQS2020 7
  • 8. Three methods of machine learning Machine learning methods Supervised Learning • The aim is to learn mapping from input to output. • Output is known by supervisor. Unsupervised Learning • The aim is to find ”something interesting”. • Output is not known (known also as density estimation in statistics). Reinforcement Learning • Seemingly good solutions are encouraged to develop further. AI literature review[1] 1 Reagan, A., et al., The emotional arcs of stories are dominated by six basic shapes, EPJ Data Science (2016). Copyright Knowit Solutions Oy 2020 #TQS2020 8
  • 9. No one tool for all Copyright Knowit Solutions Oy 2020 #TQS2020 Performance Amount of data, time, and computing power • Linear discriminant analysis • Logistic regression • Medium-sized ANNs • Genetic algorithms • Extreme learning machines • Convolution neural networks • Generative neural networks • Deep belief networks • Recurrent neural networks • Simple neural networks 9
  • 10. Planning descriptions Code Unit testing Integration testing System testing Acceptance testing Definition descriptions Requirements • Static methods • Reviews • Dynamic methods • Test runs Remember there are different kinds of testing Copyright Knowit Solutions Oy 2020 #TQS2020 10
  • 11. AI in software testing Copyright Knowit Solutions Oy 2020 #TQS2020 • In static testing, several machine learning algorithms can be used to measure code quality.[1] NASA’s code review. • In dynamic testing, model-based regression tests can be replaced by algorithms that generate test flows on-the-fly.[2] Chaos monkey of Netflix. • In maintenance testing, machine learning can be used to plan more realistic statistical models of how application is actually used. Figure: Margaret Hamilton standing next to source code of guidance system of Apollo spacecraft. www.nasa.gov/ 11
  • 12. Toolbox for AI Copyright Knowit Solutions Oy 2020 #TQS2020 12
  • 13. Code quality metrics: NASA case Copyright Knowit Solutions Oy 2020 #TQS2020 13
  • 14. • Detecting: • abnormal behaviour • new kind of customers • etc. Anomaly detection Copyright Knowit Solutions Oy 2020 #TQS2020 Figure: Example of time series 14
  • 15. • Several code quality metrics are currently being used. The most popular ones have been introduced in 1970.[1,2] 1 T.J. McCabe, A Complexity Measure, IEEE Transactions on Software Engineering (1976) SE-2, 4, 308. 2 M.H. Halstead, Elements of Software Science, Elsevier (1977). 3 N.E. Fenton, S.L. Pfleeger, Software Metrics: A Rigorous & Practical Approach, International Thompson Press (1997). 4 S.J. Sayyad, T.J. Menzies, The PROMISE Repository of Software Engineering Databases (2005). • Goal is to provide feedback: 1. for developers about code quality. 2. for testers about needed test coverage. 3. for management about the development project • Although traditional metrics are extensively used, benefit of using them has been questioned.[3] 0 50 100 150 200 250 300 350 400 450 0 20 40 60 80 100 120 Numberoflines. Cyclomatic complexity Scattering of defects in NASA CM1 project OK Defected Figure: NASA Metrics Data Program, CM1 Project[4] In real applications defected modules do not separate from non-defected by standard metrics. AI code quality metrics Copyright Knowit Solutions Oy 2020 #TQS2020 15
  • 16. AI review Requirement management Code quality analysis Version control Test management Defect management AI code quality metrics Copyright Knowit Solutions Oy 2020 #TQS2020 16
  • 17. Developer Product Owner Scrum team Management AI review AI code quality metrics Copyright Knowit Solutions Oy 2020 #TQS2020 17
  • 18. • Goal is to understand technical quality and test coverage of modules. Also, goal is to guide and focus testing: • Focusing technical debt reduction • Found defects per module • Guide for test coverage in automating system level testing. AI code quality metrics Copyright Knowit Solutions Oy 2020 #TQS2020 Requires that there is link from components (version control) and tests (test management) to feature descriptions and from reported defects to modules (observation control) Module Developer Benchmark (order.numb.) Relative risk Number of reported bugs Module_1 Jaakko 50 58 4 Module_2 Jaakko 4 5 1 Module_3 Mikko 180 95 7 SCRUM TEAM 18
  • 19. • Goal is to provide overview: • How fast the development is advancing • Maturity for release • Quality and technical debt of the software • Defect probabilities • Risks related to modifications of the software. AI code quality metrics Copyright Knowit Solutions Oy 2020 #TQS2020 Interpretation: • Module 5 has high defect probability and is related to five most important features of the application. This results into high risk in release at this moment. • Defect probability of module 10 has fallen to acceptable level. Start-up phase Development phase Maturing phase MANAGEMENT 19
  • 20. 1 2 𝑤 2 + 𝐶 ෍ 𝑖=1 𝑁 ξ𝑖 1-𝑦𝑖 𝑤, 𝑓(𝑥𝑖) + 𝑏 ≤ ξ𝑖 Minimize Subject to with all values of i. Quality metric 1 Qualitymetric2 • Machine learning approach was tested for NASA’s CM1 software repository[1]. • Support vector type of machine learning algorithm was developed for this demonstration. • This task can be solved by supervised machine learning methods because both input (quality metrics) and output (defects) is known. • Goal is to find such hyperplane in multidimensional data space that separate defected modules from non- defected. • Mathematically, problem can be described with algorithm: AI-guided software testing, demonstration Copyright Knowit Solutions Oy 2020 #TQS2020 20
  • 21. 0,0 0,2 0,4 0,6 0,8 Tested on real data against NASA CM1 project[1] Performance(F) Training set: 1595 Test set: 400 𝐹 = 2 ∗ 𝑎𝑐𝑐𝑢𝑟𝑎𝑐𝑦 ∗ 𝑟𝑒𝑐𝑎𝑙𝑙 𝑎𝑐𝑐𝑢𝑟𝑎𝑐𝑦 + 𝑟𝑒𝑐𝑎𝑙𝑙 AI-guided software testing, demonstration Copyright Knowit Solutions Oy 2020 #TQS2020 21
  • 22. Stages of execution 4. DEPLOYMENT AND UTILIZATION OF THE ALGORITHM Monitoring and analysing results 2. DEFINING QUALITY METRICS Defining quality and defect metrics Building the metrics 3. DEFINING HOW RESULTS ARE PRESENTED Defining who will use results and how Building data visualization 1. DEFINING DATA SOURCES From where data is collected How will the data be collected Copyright Knowit Solutions Oy 2020 #TQS2020 22
  • 23. Other interesting developments in AI and testing Copyright Knowit Solutions Oy 2020 #TQS2020 23
  • 24. • Enhanced automation • Test automation • Robotic Process Automation -> Intelligent automation • AI-powered test automation • Enhanced test selection • Risk analysis • Test case selection • Code analysis General direction at businesses on AI and testing Copyright Knowit Solutions Oy 2020 #TQS2020 24
  • 25. • Start from screenshots • Detect layout issues • Cross-browser testing for differences • Ignore invisible rendering, size, position differences • Case: Applitools • https://applitools.com / Visual AI AI-powered comparison of visual elements Copyright Knowit Solutions Oy 2020 #TQS2020 25
  • 26. • AI-based test generation • Checking functional differences • Checking visual differences • Automatically learning the test automation • For: regression testing after changes • Case: retest • Unfortunately a victim of Covid-19 • https://retest.de/ai-based-test- generation/ AI with regression testing Copyright Knowit Solutions Oy 2020 #TQS2020 26
  • 27. • “World’s first” • Go automatically through mobile apps • Use general test cases • Reinforcement learning • Case: test.ai • https://www.test.ai/ AI-powered mobile test automation platform Copyright Knowit Solutions Oy 2020 #TQS2020 27
  • 28. • Default tests to web sites • Teach your own tests • Running on containers in virtual machines • Use for regression testing, cross- browser testing • Case: Mabl • https://www.mabl.com/ Auto-healing automated testing of web Copyright Knowit Solutions Oy 2020 #TQS2020 28
  • 29. • Build test through interface backed by ML • Plain English • New life for “record-playback” • ML algorithms maintain the tests • Case: Functionize • https://www.functionize.com/ Intelligent testing Copyright Knowit Solutions Oy 2020 #TQS2020 29
  • 30. • Support test automation engine data selection with AI • Can be used for testing with large quantities of data • Can be used automating production as Robotic Process Automation (RPA) • Cases: • Robot Framework test automation framework • Aito AI tool • https://robotframework.org/ • https://aito.ai/ • https://aito.ai/blog/machine-learning-in-robot-framework/ Automating tests or production with lots of repetitive data Copyright Knowit Solutions Oy 2020 #TQS2020 30
  • 31. • Go through functionalities • Identify risky areas • Focus testing • Case: Eggplant • https://www.eggplantsoftwar e.com/ Predict quality issues Copyright Knowit Solutions Oy 2020 #TQS2020 31
  • 32. • Analyze risk in commits to the code • Select the tests that test the risky areas • Reduce number of test cases needed to run • Case: Appsurify • https://appsurify.com/ Select most suitable test cases Copyright Knowit Solutions Oy 2020 #TQS2020 32
  • 33. • Power of open source developers • Machine learning algorithms learn from the community automatically • Analyse code and propose improvements • Case: DeepCode • https://www.deepcode.ai/ Code analysis using AI Copyright Knowit Solutions Oy 2020 #TQS2020 33
  • 34. • Trainings and certifications • https://www.alliance4qualification.info/a4q-ai-and-software-testing • https://www.brightest.org/en/certifications/AiU-Certified-Tester-in-Artificial- Intelligence/ • Associations • https://www.aitesting.org/ • www.istqb.org • Standards • ISO • Focus on AI https://jtc1info.org/technology/artificial-intelligence/ • Under development: Testing of AI-based systems https://www.iso.org/standard/79016.html?browse=tc • IEEE • https://ieeexplore.ieee.org/document/8705808 Promoting and teaching AI and testing Copyright Knowit Solutions Oy 2020 #TQS2020 34
  • 36. • AI-enabled testing is already a reality • Many companies are enhancing their solutions with AI • New companies are set up around AI • AI can provide simplicity to complex software development projects. • With AI, testing activities can be focused on high risk areas. • With AI, test automation becomes more autonomous • Testers are freed to created new tests Conclusion Copyright Knowit Solutions Oy 2020 #TQS2020 36