SlideShare a Scribd company logo
@roesslerj
and the
Sorcerer’s Stone
1
Dr. Jeremias Rößler
https://retest.de
@roesslerj2
@roesslerj3
@roesslerj4
@roesslerj5
passes
@roesslerj6
@roesslerj7
@roesslerj8
@roesslerj9
@roesslerj10
@roesslerj11
@roesslerj12
@roesslerj13
@roesslerj14
@roesslerj15
@roesslerj16
Live Demo: SW Changes
@roesslerj17
@roesslerj18
RecheckDriver
findElement(by.id())
FirefoxDriver
findElement(by.bestMatch())
GoldenMaster
@roesslerj19
Multilocators
@roesslerj20
@roesslerj21
Live Demo:
Unbreakable Changes
@roesslerj22
@roesslerj
automated
regression test
≠
test
23
@roesslerj
automated
regression test
=
version control
24
@roesslerj25
@roesslerj26
@roesslerj27
Close the Gap:
automated Tests
@roesslerj28
https://github.com/retest/recheck-web
@roesslerj
@roesslerjX
test
1.0
approve
1.1
diff
train
user
automate
@roesslerjX
https://github.com/retest/recheck-web
29
Summary
Difference Testing
little maintenance
no wasteful testing
yet more complete
Monkey-Testing:
cheaper
faster
multiplies manual tests
@roesslerj30
@roesslerj31
Oracle
Problem
@roesslerj32
@roesslerj33
@roesslerj
Oracle Problem
34
@roesslerj
Oracle Problem
35
@roesslerj36
How do you bring AIinto testing?
test automation?
@roesslerj37
Infinite-Monkey-Theorem:
A monkey hitting keys at random on a typewriter
for a long enough time
will type the complete works of William Shakespeare.
@roesslerj38
We replace the typewriter with a computer…
@roesslerj39
public static void main(String... args) throws Exception {
Robot robot = new Robot();
while (true) {
robot.mouseMove(random.nextInt(maxX), random.nextInt(maxY));
robot.mousePress(InputEvent.BUTTON1_DOWN_MASK);
robot.mouseRelease(InputEvent.BUTTON1_DOWN_MASK);
robot.delay(200);
for (char inputChar : randomString().toCharArray()) {
robot.keyPress((int) inputChar);
robot.keyRelease((int) inputChar);
robot.delay(10);
}
robot.keyPress(KeyEvent.VK_ENTER);
robot.keyRelease(KeyEvent.VK_ENTER);
}
}
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
@roesslerj40
DEMO
@roesslerj41
@roesslerj42
- gremlins.js
- NetFlix Chaos Monkey
- UI/Application Exerciser Monkey
@roesslerj43
@roesslerj44
@roesslerj
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14. 45
public static void main(String... args) throws Exception {
WebDriver driver = new FirefoxDriver();
driver.get("http://www.retest.de");
while (true) {
List<WebElement> links = driver.findElements(By.tagName("a"));
links.get(random.nextInt(links.size())).click();
Thread.sleep(500);
List<WebElement> fields =
driver.findElements(By.xpath("//input[@type='text']"));
WebElement field = fields.get(random.nextInt(fields.size()));
field.sendKeys(randomString());
Thread.sleep(500);
}
}
@roesslerj46
Intelligent Monkey
DEMO
@roesslerj47
@roesslerj48
@roesslerj49
@roesslerj50
@roesslerj51
Problem Space
Problem
Space
@roesslerj52
@roesslerj53
@roesslerj54
@roesslerj55
@roesslerj56
@roesslerj57
train
AI
Artificial
Neural Net
Genetic
Algorithm
AI
@roesslerj58
https://code.fb.com/developer-tools/sapienz-intelligent-automated-software-testing-at-scale/
@roesslerj59
test
1.0
approve
1.1
diff
train
user
automate
@roesslerj60
@roesslerj61
https://code.fb.com/developer-tools/finding-and-fixing-software-bugs-automatically-with-sapfix-and-sapienz/
Automatically Fixing Bugs
@roesslerj62
@roesslerj
@roesslerjX
test
1.0
approve
1.1
diff
train
user
automate
@roesslerjX
https://github.com/retest/recheck-web
63
Summary
Difference Testing
little maintenance
no wasteful testing
yet more complete
Monkey-Testing:
cheaper
faster
multiplies manual tests
@roesslerj64
roessler@retest.de
https://www.facebook.com/retest.de
http://retest.rocks

More Related Content

PDF
Testing without Assertions
PDF
Testing without assertions - #HUSTEF2019
PDF
Testing ohne assertions
PDF
Testing Without Assertions
PDF
Test Automation without Assertions
PDF
Wie man KI ins Testing bringt
PDF
Informationstechnik
PDF
Managing bias in data
Testing without Assertions
Testing without assertions - #HUSTEF2019
Testing ohne assertions
Testing Without Assertions
Test Automation without Assertions
Wie man KI ins Testing bringt
Informationstechnik
Managing bias in data

More from SAP SE (6)

PDF
Lightning Talk: When will AI take my Job as a Tester
PDF
How to apply AI to Testing
PDF
When will ai take my job as a tester
PDF
AI and the End of the World
PDF
Bei uns testen lauter Affen - Das Ende der Banensoftware
KEY
Isolating Failure Causes through Test Case Generation
Lightning Talk: When will AI take my Job as a Tester
How to apply AI to Testing
When will ai take my job as a tester
AI and the End of the World
Bei uns testen lauter Affen - Das Ende der Banensoftware
Isolating Failure Causes through Test Case Generation
Ad

Recently uploaded (20)

PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
L1 - Introduction to python Backend.pptx
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PDF
top salesforce developer skills in 2025.pdf
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
System and Network Administraation Chapter 3
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
Introduction to Artificial Intelligence
PDF
System and Network Administration Chapter 2
PPTX
history of c programming in notes for students .pptx
PDF
Understanding Forklifts - TECH EHS Solution
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PDF
medical staffing services at VALiNTRY
PPTX
Why Generative AI is the Future of Content, Code & Creativity?
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
wealthsignaloriginal-com-DS-text-... (1).pdf
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
L1 - Introduction to python Backend.pptx
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Upgrade and Innovation Strategies for SAP ERP Customers
top salesforce developer skills in 2025.pdf
How to Choose the Right IT Partner for Your Business in Malaysia
System and Network Administraation Chapter 3
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Introduction to Artificial Intelligence
System and Network Administration Chapter 2
history of c programming in notes for students .pptx
Understanding Forklifts - TECH EHS Solution
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
medical staffing services at VALiNTRY
Why Generative AI is the Future of Content, Code & Creativity?
Ad

recheck and the Sorcerer's Stone: Turning Selenium into Adamantium