Overcome
a
Frontier
● proud father
● SA in EPAM Systems
● Java is my primary programming language
● infected by AI disrupting power
● passionate about agile, clean code and devops
Agenda
● All we need is Quality
● Helpful ML
● Takeaways
● Q&A
What..?
● Team
● Sorry, no code
● Surprise..?
● Takeaways
Legacy
● Business critical 30+ years old application
● Based on IBM AS/400 and DB2
● Hundreds of stores with customizations
● Most of requirements were reverse engineered from
~6M LoC
What’s New
● Main requirement is like-for-like UI/UX
● Custom UI Framework to render “Green Screen” in browser
● New Platform based on Java and Spring Framework
● MariaDB for storage
● Lots of talents, time, hard work
All we need is
Quality
Gentleman’s Kit
● CI/CD
○ GitLab
○ Jenkins
○ SonarQube
○ Artifactory
○ Ansible
● Automated Testing
● Peer Code Review
S2S
● Designed to verify like-for-like
requirement
● Executes testing scenarios in legacy
and new apps one-by-one
● Compares screens
● Compares text reports
Legacy
Stories
Definition
New
New
Runner
Legacy
Runner
Legacy
Screen
New
Screen
Artifactory
Comparator
Report Portal
Screen 2 Screen
Report
● Designed for long-running and
full-of-heavy-calculation logic jobs
● Compares data after scenario execution
DB2DB
DB2DB
Legacy
Scenarios
New
ExecuteDump Dump
Snapshot 0 Snapshot 0`
ETL Execute
Snapshot 0``
Dump Compare
● Day
● Week
● Month
● Quarter
● Year
X in a Life
fbinfer.com
● A static analyzer for Java, C, C++, and
Objective-C
● Kills NPEs and many other issues
Mutation Testing
● State-of-the-art mutation testing tool
● Helps to assess automated tests
quality
DB Validator
● Post ETL
● Data validation from JPA Enum fields perspective
● Data Referential Integrity validation
○ From JPA Mapping perspective
○ From domain model DDL perspective
● Data validation from domain model attributes perspective
Spider
● Single step Serenity
● Navigation-driven
● Exploratory
New
Report Portal
Spider
Helpful ML
Bugs Clusterization
● ML Clustering
● JIRA issues export
● Improves assignment
process
Regression Shrink
● ML Clustering
● Execution extract
from Report Portal
● Improves tests
deduplication process
SpAIder
● PoC
● Reinforcement Learning
● OpenAI Gym environment
● AI agent is based on Soft Actor-Critic
Algorithm
Mocked
App
Report Portal
SpAIder
AI Agent
Spider
Runner
Gym Env
References
● PIT Mutation Testing
● FB Infer
● Soft Actor-Critic paper
● Affinity Propagation
Takeaways
● Don’t believe in “like-for-like“
● There is no constraints of what is possible
● Think out-of-the-box
● Act as a team
@webdizz
webdizz
http://webdizz.name
Enjoy no limits

Overcome a Frontier