It is widely accepted that AI is the future of testing. However, because a fault lies in the eye of the beholder, it is pretty unclear how to apply AI to testing—called the Oracle problem.
There are literally thousands of UI test automation tools. But due to high efforts for creation and maintenance, together with the brittleness and unreliability of the resulting tests, testing often remains a manual task (confirming the testing pyramid). Meanwhile Software testing accounts for 30%-40% of the budget of a typical software project.
However, there is a way to circumvent the oracle problem and use AI to not only find technical errors (i.e. crashes), but to generate tests for business functionality—autonomous automation. See how AI can be trained to generate tests that are optimized towards several goals and are even better than manually created ones.
Visit the future of testing and see how AI can help us create better software!
2. @roesslerj2
• “99% of respondents face some kind of challenge with
testing in agile development.”
• “Test automation tools are fundamental to achieving
the continuous testing approach required by DevOps.”
• “by 2021, 50% of enterprises will leverage intelligent
test automation driven by AI and machine learning.”
*Source: Gartner 2017, Magic Quadrant for Software Test Automation
3. @roesslerj3
Problem: Software Testing ist komplex und erzeugt viel manuellen Aufwand
Trends: DevOps, Agile, Shift Left
32%
34%
34%
35%
36%
37%
35%
40%
45%
The Automation Challenges
Capgemini: 40% of the total IT budget will be allocated to QA
+ Testing in 2019.
Ideate/
analyze/plan Design/
Develop/Build
Test
Release
High Interest
Medium Interest
Low Interest
Source: Forrester Research, Inc
We don't have the right automation tools
Challenge with the Test Data and Environment Availability
Delivery methodology doesn't support test automation
We have difficulties to integrate the different automation
tools together
Application functionality changes too frequently
We don't have the right automation testing
process/method
Lack of stability of test script
Lack of skilled and experience test automation resource
We have difficulties to automate because of use of multiple
development lifecycles
*Source: World Quality Report 2016-17
6. @roesslerj6
1 - 2 = ?
• -1 is mathematically correct
• 0 if I don’t want to payback gift certificates to costumers
• 23 if I’m working with hours
• 59 if I’m working with minutes or seconds
• Something between 27 and 30 if I’m working with days
• 11 if I am working with months
• exception if I am working with degrees Kelvin
52. @roesslerj52
// Use the RecheckDriver as a wrapper for your usual driver
driver = new RecheckDriver( new ChromeDriver() );
// Use the unbreakable recheck implementation.
re = new RecheckWebImpl();
// Single call instead of multiple assertions
re.check( driver, "index" );
// Will issue a warning, as the id has changed
driver.findElement( By.id( "intro-slider" ) );
53. @roesslerj53
*************** recheck warning ***************
The HTML id attribute used for element identification changed from 'intro-
slider' to 'introSlider'.
retest identified the element based on the persisted old state.
If you apply these changes to the state , your test will break.
Use `By.id("introSlider")` or `By.retestId("9c40281d-5655-4ffa-9c6d-
d079e01bb5a3")` to update your test.
54. @roesslerj54
Benefits of recheck:
- Reduce effort to create tests
- Reduce effort to maintain tests
- Tests are more complete
- Tests are less fragile