When AI and ML are tested alongside traditional features of an app, the defects are of a different nature. AI/ML creates a new set of defect classification that will invade the DevOps space, and this session addresses these new and modern types of defects, including data-related, stochastic, and interpretability defects.
3. 3 | DevOps Next 2020 perforce.com
Confidentiality Statement
The information contained in this document is strictly confidential, privileged, and
only for the information of the intended recipient. The information contained in this
document may not be otherwise used, disclosed, copied, altered, or distributed
without the prior written consent of Perforce Software, Inc.
4. ABOUT ME:
Tzvika Shahaf
• VP Product Management at Perfecto
• Software professional with over 12 years in product
management, development, and testing
• Expert in implementing and advising on test strategies for
Fortune 500 enterprises and leading tech companies
• http://linkedin.com/in/tzvikashahaf/
• @Tzvika_Shahaf
5. 5 | DevOps Next 2020 perforce.com
Today’s Agenda
1
2
Software Quality Defects Today and Common Root Causes
Introduction to the new Types of AI/ML Software Defects
3 How Should Teams Get Ready to The New Changes?
Q&A4
8. 8 | DevOps Next 2020 perforce.com
Root Cause of Today’s Digital Apps Defects
Web Apps
Mobile Apps
9. 9 | DevOps Next 2020 perforce.com
Introduction to 6 New Generation of Software Defects (AI/ML)
10. 10 | DevOps Next 2020 perforce.com
Software Defects within AI/ML Context – Ethics Type
From a developer view, this defect category means
that training the AI engine should also include a
dedicated set of rules and data that refers to ethics
and bias, depending on the target market segments,
geographies, and exposure of the app or website.
From a tester’s perspective, such a category needs to
be included in the test planning and classified upon
relevant detection of relevant issues. It will also
require the ability to perform all sorts of testing
within the lifecycle of the app (unit/APIs/UI/data
inputs, etc.).
Autonomous cars that can
gain insights into drivers
with pending
warrant/expired driving
license should be
acknowledged
11. 11 | DevOps Next 2020 perforce.com
Software Defects within AI/ML Context – Clustering Type
From a developer’s standpoint, the algorithms that are
being developed and used must be based on the right
characteristics. They must be trained based on large and
cohesive data sets.
From a test engineering standpoint, in addition to adding a
new category to the classified test failures, such a persona
must challenge as much as possible. This can be done
through testing and parallel data sets to obtain as many
outputs as possible in order to build trust in the clusters. In
addition, as the product matures, new clusters, as well as
data points will be added — this needs to be continuously
tested and fed into the testing processes
Source: GeeksforGeeks
When data is not labelled but can
be divided into groups based on
similarity, like organization of
pictures by faces without names,
where the human user must
assign names to groups, like
iPhoto on MacOS
12. 12 | DevOps Next 2020 perforce.com
Software Defects within AI/ML Context – Deterministic Type
Source: Interesting Engineering
From a developer perspective, they will need to
understand the limitations and constrains of the
algorithms in the edge cases and situations, and either
reroute the app to an alternative source, or avoid using
the algorithm altogether.
From a testing perspective, test engineers will need to
include the “human” scenarios in such use cases and
challenge the apps in various happy and negative paths
toward a trustworthy algorithm.
Meteorologists use a variety of sensors, satellites and
computer models to predict future weather patterns.
Combination of historical data, human processing, and AI can
help increase today’s 80% accuracy to a higher rate.
(example: IBM Deep Thunder AI).
13. 13 | DevOps Next 2020 perforce.com
Software Defects within AI/ML Context – Data Type
From a developer standpoint, the algorithms must be
trained with large and accurate sets of data that are
relevant to the problems being handled, as well as to be
solid enough to cover varying conditions. Such
algorithms need to also consider the entire failure types
like ethics, deterministic approaches, stochastics, and
more.
From a testing perspective, the entire test plan must
include the right level of scenarios that challenge the
apps and websites through various data points — good
or bad. The test plan must also place proper assertions
so that developers can understand the data-specific root
cause of failure. Maintaining the tests over time and
updating the test data is something that must be
included in the test planning.
Google recommends separation between the 2 , Source: Google Developers
14. 14 | DevOps Next 2020 perforce.com
Software Defects within AI/ML Context – Stochastic Type
From a developer standpoint, when they
develop the algorithm, it must leverage best
practices like P-Hacking (data phishing) or scope-
analysis to base outputs on mountains of data
until a correlation between variables is showing a
statistically consistent result.
From a test engineering perspective, testers
must model the applications in a way that they
are challenged by multiple variables from various
angles to test the reliability of the model,
relevancy of the outputs, and the consistency
over time and use cases. One of the common
failures around ML/AI algorithm are false positive
results. Testers should test the apps using
statistical approaches and pre-registered data.
15. 15 | DevOps Next 2020 perforce.com
Software Defects within AI/ML Context – Interpretability Type
Source: Analytics Vidhya
Interpretability is a paramount quality that machine learning
methods should aim to achieve if they are to be applied in
practice. If a model cannot prompt simple, relevant, and
understandable outputs to the clients, they won’t be used or
accepted by them.
From a developer standpoint, models must translate the
algorithm outputs in a meaningful and simple manner back to
the users. Once developers can achieve this objective, they
will get back relevant feedback from the users, together with
growth of usage and system adoption.
From a testing perspective, testers must focus on the business
outcomes of such embedded ML/AI algorithms, so the product
meets its purpose and drives back happy customers. Testing
for unclear strings, outputs of chatbots, translations problems,
context-related issues, and others must be covered and
reported back to the developers.
16. 16 | DevOps Next 2020 perforce.com
How to Get Ready to The New Categories?
Source: Fintech Circle
The key for success is to embed the
two types of defects into a single
defect management system together
with proper classification of the
defects so the developers can
distinguish the root cause and resolve
it fast
Homework
Try and classify the fintech AI use cases into some of the 6 categories
17. 17 | DevOps Next 2020 perforce.com
• Start exploring AI and ML relevant algorithms within your apps today
• Try and challenge the apps use cases where AI/ML are being utilized
• Embed tagging and relevant defect categories into your defect management system (Jira e.g.)
• Ensure that future test plans, suites, and processes are including these new approaches
Summary