2. Samer Desouky
Testing
• ISTQB® Certified Tester (CTFL)
• ISTQB® Certified Agile Tester (CTFL-AT)
• ISTQB® Certified Test Analyst (CTAL-TA)
• ISTQB® Certified Test Manager (CTAL-TM)
• ASTQB® Certified Mobile Tester (CMT)
Process Improvement
• Certified Lean Six Sigma - Green Belt
Service Management
• Certified ITIL® Foundation
Project Management (Agile)
• Foundational Certification In Agile Scrum (FCAS)™
• Scrum Foundation Professional Certificate (SFPC)
• Kanban Foundation Certificate - KIKF™
BA - Management Information Systems B.Sc.
3. i, Robot 2004
IMDb 7.1/10
Set in Chicago in 2035, highly intelligent robots fill
public service positions throughout
the dystopian world, operating under three rules to
keep humans safe.
Detective Del Spooner (Smith) investigates the alleged
suicide of U.S. Robotics founder Alfred Lanning
(Cromwell) and believes that a human-like robot
called Sonny (Tudyk) murdered him.
4. AI – What?
A branch of computer science that
deals with the creation of intelligent
agents, which are systems that can
reason, learn, and act
autonomously.
AI research has been highly
successful in developing effective
techniques for solving a wide range
of problems.
5. The Crucial Point
Computing power and data availability.
Inspired by the human brain.
Identification of someone or something or
person from previous encounters or
knowledge.
R E C O G N I T I O N
6. AI – Evolution
Rule-based systems
• The simplest type of AI.
• Using a set of rules to make decisions.
• Customer is eligible for a loan.
Machine learning
• More advanced type of AI.
• Can learn from data and improve their performance over
time.
• Predict customer behaviour.
Deep learning
• Most advanced type of AI.
• Use artificial neural networks to learn from data which
inspired by the human brain, and they are able to learn
complex patterns from data.
• Diagnose diseases based on training on a dataset of medical
images.
7. AI – Evolution
Natural language processing
The ability of AI systems to understand and respond to
human language.
Computer vision
The is the ability of AI systems to see and understand the
world around them.
Robotics
Deals with the development of robots.
8. AI – How?
Google Translate: Use machine learning to translate text from one
language to another. It does this by training a model on a large
corpus of text in both languages. The model then learns to identify
the patterns in the text and use them to translate new text.
Amazon Rekognition: Use computer vision to identify and analyze
images and videos. It does this by identifying objects, faces, and
scenes in images and videos.
Tesla Autopilot: Tesla Autopilot uses a variety of AI techniques,
including computer vision, machine learning, and deep learning. It
uses these techniques to identify objects on the road, track other
cars, and control the car's speed and steering.
10. AI – How machine learn?
Supervised learning
• AI program is given a set of labeled data.
• The labels tell the program what the correct output should be for
each input.
• The program then learns to map inputs to outputs by adjusting its
parameters until it can correctly predict the output for new inputs.
Unsupervised learning
• AI program is given a set of unlabeled data.
• The program then learns to find patterns in the data without any
guidance from labels.
• This can be used for tasks such as clustering and dimensionality
reduction.
Reinforcement learning
• AI program is given a set of rewards and punishments.
• The program then learns to take actions that maximize its rewards.
• This can be used for tasks such as playing games and controlling
robots.
11. AI
Programs
vs
Other
Programs
• Can learn and adapt to new data, this means that they
can improve their performance over time.
• Can be used to solve a wider range of problems.
• Able to interact with user input in a more natural way
because AI programs can understand the context of
the input and respond in a way that is relevant to the
user.
AI Systems
• Typically designed to perform a specific task and once
they are trained, they cannot learn new things or
adapt to new situations.
• Only able to process the input and generate a
response based on a set of rules.
Conventional Systems
12. Is it new ?
The term "artificial
intelligence" was coined
in 1955 by John
McCarthy.
The first AI programs
were developed in the
1950s and 1960s.
AI research made
significant progress in
the 1970s and 1980s.
AI research slowed
down in the 1990s due
to a lack of funding.
AI research has picked
up again in the 2000s
and 2010s, due to
advances in computing
power.
AI is now being used in a
wide range of
applications, including
healthcare, finance, and
transportation.
13. Is it new ?
• 1950: Alan Turing publishes "Computing Machinery and Intelligence," which lays the foundation for AI research.
• 1956: The Dartmouth Summer Research Project on Artificial Intelligence is held, which is considered the beginning of AI research.
• 1957: John McCarthy, Marvin Minsky, and Claude Shannon found the Association for the Advancement of Artificial Intelligence
(AAAI).
• 1958: Frank Rosenblatt develops the Perceptron, a neural network that can learn to recognize patterns.
• 1966: Edward Feigenbaum develops Dendral, a program that can identify organic molecules.
• 1972: Terry Winograd develops STUDENT, a program that can understand natural language.
• 1980: Raj Reddy develops HEARSAY II, a speech recognition system that can understand spoken language.
• 1997: IBM's Deep Blue defeats world chess champion Garry Kasparov.
• 2011: Google's DeepMind defeats the world Go champion Lee Sedol.
• 2016: AlphaGo Zero, a new version of DeepMind's Go program, defeats AlphaGo by a score of 100-0.
• 2020: GPT-3, a large language model developed by OpenAI, is released. GPT-3 can generate text, translate languages, write different
kinds of creative content, and answer your questions in an informative way.
15. Let’s Play with GPT
Based on neural network models.
Uses a computational learning system
that uses a network of functions to
understand and translate a data input
of one form into a desired output.
Human-like text.
Generative Pre-trained Transformer
17. Let’s Play with GPT
Samer : I need test cases for this user story: "As a user I want to
register using different methods so I can access the services“.
GPT: Here are some test cases for the user story "As a user I want to
register using different methods so I can access the services“.
18. Let’s Play with GPT
Samer: What are the defects in the user story mentioned?
GPT: There are a few potential defects in the user story mentioned.
19. Let’s Play with GPT
Samer: So, why you design before analyze and identify defect in the
story?
GPT: There are a few reasons why it is important to design before
analyzing and identifying defects in a user story.
20. Let’s Play with GPT
Samer: This is wrong you must analyze and identify defect before
designing test to avoid rework.
GPT: You are correct, analyzing and identifying potential defects
in user stories before designing tests can help in preventing
rework.
21. Let’s Play
with GPT
The user story does not specify which services the
user will be able to access after registration.
The user story does not specify how users will be able
to verify their email addresses or phone numbers
after registration.
The user story does not specify how users will be able
to reset their passwords if they forget them.
These are just a few potential defects. The specific
defects that are present will vary depending on the
specific requirements of the application. It is
important to carefully review user stories and identify
any potential defects before the application is
developed.
22. Let’s Play with GPT
GPT can support test process activities
• Planning
• Analysis
• Design
• Implementation
• Execution
• Closure
24. What is AI Testing?
AI testing is the use of artificial intelligence (AI) to automate
and improve software testing.
Machine learning
• Machine learning can be used to identify potential
bugs by analyzing historical data, such as bug reports
and test results.
Natural language processing
• Natural language processing can be used to generate
test cases from natural language descriptions of
software requirements.
Robotics
• Robotics can be used to automate the execution of
test cases, freeing up human testers to focus on more
complex tasks.
25. Benefits
Increased efficiency
• AI can automate many of the manual tasks
involved in software testing, such as generating
test cases and analyzing test results. This can free
up human testers to focus on more complex
tasks, such as designing test cases and
interpreting test results.
Improved accuracy
• AI can identify potential bugs that would be
missed by human testers. This is because AI can
analyze data in a way that is not possible for
humans.
Reduced costs
• AI can help to reduce the cost of software testing
by automating many of the manual tasks involved.
26. Challenges
Data requirements
AI-based testing tools require large
amounts of data to train and learn.
This data can be difficult and
expensive to collect.
Interpretation of results
AI-based testing tools can generate
large amounts of data, which can be
difficult to interpret. This can make it
difficult to determine whether a
software system is working correctly.
Accuracy
AI-based testing tools are still under
development, and their accuracy can
vary. This means that human testers
may still be needed to verify the
results of AI-based testing.
27. What is Testing AI
Testing AI-based systems is a complex and challenging
task.
non-deterministic
They can produce different outputs for the same input.
This makes it difficult to predict how the system will
behave in all possible scenarios.
Trained on large amounts of data, which can be difficult
to reproduce in a testing environment.
28. Generic
Test
Types
Data testing
• Data testing is
used to test the
quality of the
data that is used
to train and test
the AI system.
Model testing
• Model testing is
used to test the
accuracy and
robustness of
the AI model on
a variety of data
sets and by
using different
evaluation
metrics.
Explainability
testing
• Explainability
testing is used
to test the
explainability of
the AI model.
• This is
important
because it
allows users to
understand how
the AI system
makes
decisions.
29. How AI support software testing
Identifying
potential
bugs
01
Generating
test cases
02
Automating
test
execution
03
Analyzing
test results
04
Providing
insights
05
30. How
AI
support
software
testing
• Google AI has developed a tool that can automatically generate
test cases for web applications. The tool uses natural language
processing to understand the requirements of the application
and then generates test cases that are tailored to those
requirements.
• IBM Watson has been used to identify potential bugs in software.
Watson can analyze historical data, such as bug reports and test
results, to identify patterns that may indicate the presence of
bugs.
• A company called TestIO has developed a tool that uses AI to
automate the execution of test cases. The tool can run test cases
on a variety of devices and browsers, and it can automatically
generate reports of the test results.
31. AI software testing tools and normal testing tools
Applitools
Applitools is an AI-powered test
automation platform that helps you
create and maintain automated tests
for your web and mobile
applications. Applitools uses AI to
identify visual differences between
expected and actual screenshots,
which can help you find bugs that
would otherwise be difficult to find.
Testim
Testim is an AI-powered test
automation platform that helps you
create and maintain automated tests
for your web and mobile
applications. Testim uses AI to
generate test cases from your
application's requirements, which
can help you save time and effort in
the test automation process.
Sauce Labs
Sauce Labs is a cloud-based platform
that provides a variety of testing
services, including automated
testing, manual testing, and
performance testing. Sauce Labs
uses AI to identify and fix bugs in
your applications before they reach
production.
32. AI software testing tools and normal testing tools
Selenium
Selenium is an open-source tool that
can be used to automate web-based
testing. Selenium can be used to
automate a variety of tasks, such as
logging in to a website, filling out
forms, and clicking on buttons.
JUnit
JUnit is an open-source unit testing
framework for Java. JUnit can be
used to automate unit tests, which
are tests that are designed to test
individual units of code.
TestNG
TestNG is an open-source unit testing
framework for Java. TestNG is similar
to JUnit, but it offers a number of
additional features, such as support
for data-driven testing and parallel
testing.
33. How AI impact testers career?
On the one hand
• AI can automate many of the tasks
that are currently performed by
testers such as test case
generation.
• This could lead to job losses in the
testing industry, as AI-powered
tools become more sophisticated
and capable.
On the other hand
• AI can also create new
opportunities for testers.
• AI can be used to identify and
prioritize bugs, which can free up
testers to focus on more creative
and strategic tasks.
• Additionally, AI can be used to
generate test cases, which can
save testers time and effort.
The impact of AI on testers' careers is a complex and evolving issue.
34. How AI impact testers career?
• Increased demand for skilled testers:
• As AI becomes more prevalent in the testing industry, there will be an increased
demand for skilled testers who can understand and work with AI-powered tools.
• Shift in focus:
• Testers may need to shift their focus from manual testing to more strategic
tasks, such as risk assessment and test case prioritization.
• New opportunities:
• AI can create new opportunities for testers, such as working with AI-powered
tools to develop and maintain automated tests.
35. Lessons testers can learn from AI impact
Become skilled in AI-powered tools AI-powered tools can automate many tasks and tester focus on more
strategic work.
Shift focus to strategic tasks
Testers need to shift their focus to more strategic tasks, such as risk
assessment and test case prioritization. This will require testers to
have a deep understanding of the software development process and
the ability to think critically about the risks involved in releasing new
software.
Become creative
AI can automate many of the tasks that testers currently perform, but
it cannot replace the need for creativity in testing. Think outside the
box and come up with new ways to test software. This will require
testers to be curious and willing to experiment.
36. Lessons testers can learn from AI impact
Stay up-to-date on the latest AI
trends
There are a number of conferences and online resources
that can help testers stay up-to-date on the latest AI trends.
Network with other testers Networking with other testers is a great way to learn about
new AI-powered tools and techniques.
Contribute to open source AI-
powered testing tools
There are a number of open source AI-powered testing tools
that can be used to improve the quality of software.
Contributing to these tools is a great way to learn about AI
and make a difference in the testing community.
37. The impact of AI on your careers is likely to be
positive or negative.
Be prepared for the changes that AI will bring.
1- Be skilled in AI-powered tools.
2- Shifting your focus to strategic tasks.
3- Be creative.
You can ensure that you are well-positioned for
success in the future.
Samer