SlideShare a Scribd company logo
1 of 32
TEST TO CODE MAPPING
CODE COVERAGE BY AUTOMATED
AND MANUAL TESTS – EASY!
We made it,
but open-sourced
and free
Dmitriy Gumeniuk
QA Fest
Kyiv, September 2019
TEST TO CODE MAPPING
CODE COVERAGE BY AUTOMATED
AND MANUAL TESTS – EASY!
We made it,
but open-sourced
and free
Dmitriy Gumeniuk
QA Fest
Kyiv, September 2019
ASK QUESTIONS
TEST TO CODE MAPPING
CODE COVERAGE BY AUTOMATED
AND MANUAL TESTS – EASY!
We made it,
but open-sourced
and free
Dmitriy Gumeniuk
QA Fest
Kyiv, September 2019
Dmitriy Gumeniuk
Dmitriy Gumeniuk
13 do valuable things in IT
ReportPortal.io Product Owner
DelEx Conference Founder
THE NEW PRODUCT
COVERAGE?
COVERAGE
COVERAGE
=
ACTIONABLE
FEEDBACK
COVERAGE
@Test
public void myTest(){
//…
}
@Test
public void myTest(){
//…
}
@Test
public void myTest(){
//…
}
Test-to-Code mapping
Test-to-Code mapping benefits:
Test-to-Code mapping benefits:
Minimize regression testing scope
by proposing to run tests, mapped with modified methods
Test-to-Code mapping benefits:
Minimize regression testing scope
by proposing to run tests, mapped with modified methods
Reduce duplicating automated tests
by identifying equal code triggering with equal entry parameters
Test-to-Code mapping benefits:
Minimize regression testing scope
by proposing to run tests, mapped with modified methods
Reduce manual tests
by identifying equal tests In automated and manual scopes
Reduce duplicating automated tests
by identifying equal code triggering with equal entry parameters
Test-to-Code mapping benefits:
Minimize regression testing scope
by proposing to run tests, mapped with modified methods
Reduce manual tests
by identifying equal tests In automated and manual scopes
Collect production usage
to compare with tested areas
Reduce duplicating automated tests
by identifying equal code triggering with equal entry parameters
drill4j.github.io
t.me/drill4j
github.com/Drill4J
Drill4J
with CoveragePlugin
Drill4J: Test to Code Coverage
Drill4J is the tool for real-time application profiling that
doesn’t affect codebase. Provide ability to make white box
functional testing, via access to access to application
instructions and memory.
TEST TO CODE PLUGIN CAPABILILTIES
• Measure code coverage via any types of tests (manual,
automated, integration, performance, etc.)
• Build Code to Test mapping shows which test case
trigger which methods in app code, and vice versa.
• Suggest test cases to trigger, related to code change
• Track manual testing coverage
• Shows uncovered methods by regression
• Shows new methods uncovered by tests for code
change, highlighting it as potential risk
• Track production usage paths vs testing paths
21
DEMO TIME
ASK QUESTIONS
Drill4J based on:
JNI
Java Native Interface
Kotlin Native
JVMTI
JVM Tool Interface
Drill4J there is thanks to:
Viktor Bellavin
Denis Moiseev
Pavel Iarov Aleksandr Krupenin
Kristina Smirnova Natalia IarchukOlga Danilova
Igor Kuzminykh
Plugins
A N D T H E F U T U R E ?
New plugins fit perfectly in architecture.
CONFIDENTIAL | © 2019 EPAM Systems, Inc.
Plugins
• Exception Catcher:
Discover hidden exceptions
A N D T H E F U T U R E ?
Possible future plugins:
New plugins fit perfectly in architecture.
The first is Code Coverage Plugin.
CONFIDENTIAL | © 2019 EPAM Systems, Inc.
Plugins
• Exception Catcher:
Discover hidden exceptions
A N D T H E F U T U R E ?
Possible future plugins:
New plugins fit perfectly in architecture.
The first is Code Coverage Plugin.
CONFIDENTIAL | © 2019 EPAM Systems, Inc.
Plugins
A N D T H E F U T U R E ?
Possible future plugins:
New plugins fit perfectly in architecture.
The first is Code Coverage Plugin.
• Exception Catcher:
Discover hidden exceptions
• Memory status:
GC run time, number of launches, how
many objects collected, object types
CONFIDENTIAL | © 2019 EPAM Systems, Inc.
Plugins
A N D T H E F U T U R E ?
Possible future plugins:
New plugins fit perfectly in architecture.
The first is Code Coverage Plugin.
• Exception Catcher:
Discover hidden exceptions
• Memory status:
GC run time, number of launches, how
many objects collected, object types
• SQL:
Queries, number of records, return value
drill4j.github.io
t.me/drill4j
github.com/Drill4J
Drill4J
with CoveragePlugin
THANK YOU

More Related Content

More from QAFest

QA Fest 2019. Владимир Трандафилов. GUI automation of WEB application with SV...
QA Fest 2019. Владимир Трандафилов. GUI automation of WEB application with SV...QA Fest 2019. Владимир Трандафилов. GUI automation of WEB application with SV...
QA Fest 2019. Владимир Трандафилов. GUI automation of WEB application with SV...
QAFest
 
QA Fest 2019. Ірина Ярославцева. Майбутнє вже тут, або як тестувати систему о...
QA Fest 2019. Ірина Ярославцева. Майбутнє вже тут, або як тестувати систему о...QA Fest 2019. Ірина Ярославцева. Майбутнє вже тут, або як тестувати систему о...
QA Fest 2019. Ірина Ярославцева. Майбутнє вже тут, або як тестувати систему о...
QAFest
 
QA Fest 2019. Никита Кричко. Тестирование приложений, использующих ИИ
QA Fest 2019. Никита Кричко. Тестирование приложений, использующих ИИQA Fest 2019. Никита Кричко. Тестирование приложений, использующих ИИ
QA Fest 2019. Никита Кричко. Тестирование приложений, использующих ИИ
QAFest
 

More from QAFest (20)

QA Fest 2019. Владимир Трандафилов. GUI automation of WEB application with SV...
QA Fest 2019. Владимир Трандафилов. GUI automation of WEB application with SV...QA Fest 2019. Владимир Трандафилов. GUI automation of WEB application with SV...
QA Fest 2019. Владимир Трандафилов. GUI automation of WEB application with SV...
 
QA Fest 2019. Иван Крутов. Bulletproof Selenium Cluster
QA Fest 2019. Иван Крутов. Bulletproof Selenium ClusterQA Fest 2019. Иван Крутов. Bulletproof Selenium Cluster
QA Fest 2019. Иван Крутов. Bulletproof Selenium Cluster
 
QA Fest 2019. Николай Мижигурский. Миссия /*не*/выполнима: гуманитарий собесе...
QA Fest 2019. Николай Мижигурский. Миссия /*не*/выполнима: гуманитарий собесе...QA Fest 2019. Николай Мижигурский. Миссия /*не*/выполнима: гуманитарий собесе...
QA Fest 2019. Николай Мижигурский. Миссия /*не*/выполнима: гуманитарий собесе...
 
QA Fest 2019. Володимир Стиран. Чим раніше – тим вигідніше, але ніколи не піз...
QA Fest 2019. Володимир Стиран. Чим раніше – тим вигідніше, але ніколи не піз...QA Fest 2019. Володимир Стиран. Чим раніше – тим вигідніше, але ніколи не піз...
QA Fest 2019. Володимир Стиран. Чим раніше – тим вигідніше, але ніколи не піз...
 
QA Fest 2019. Дмитрий Прокопук. Mocks and network tricks in UI automation
QA Fest 2019. Дмитрий Прокопук. Mocks and network tricks in UI automationQA Fest 2019. Дмитрий Прокопук. Mocks and network tricks in UI automation
QA Fest 2019. Дмитрий Прокопук. Mocks and network tricks in UI automation
 
QA Fest 2019. Екатерина Дядечко. Тестирование медицинского софта — вызовы и в...
QA Fest 2019. Екатерина Дядечко. Тестирование медицинского софта — вызовы и в...QA Fest 2019. Екатерина Дядечко. Тестирование медицинского софта — вызовы и в...
QA Fest 2019. Екатерина Дядечко. Тестирование медицинского софта — вызовы и в...
 
QA Fest 2019. Катерина Черникова. Tune your P’s: the pop-art of keeping testa...
QA Fest 2019. Катерина Черникова. Tune your P’s: the pop-art of keeping testa...QA Fest 2019. Катерина Черникова. Tune your P’s: the pop-art of keeping testa...
QA Fest 2019. Катерина Черникова. Tune your P’s: the pop-art of keeping testa...
 
QA Fest 2019. Алиса Бойко. Какнезапутаться в коммуникативных сетях IT
QA Fest 2019. Алиса Бойко. Какнезапутаться в коммуникативных сетях ITQA Fest 2019. Алиса Бойко. Какнезапутаться в коммуникативных сетях IT
QA Fest 2019. Алиса Бойко. Какнезапутаться в коммуникативных сетях IT
 
QA Fest 2019. Святослав Логин. Как найти уязвимости в мобильном приложении
QA Fest 2019. Святослав Логин. Как найти уязвимости в мобильном приложенииQA Fest 2019. Святослав Логин. Как найти уязвимости в мобильном приложении
QA Fest 2019. Святослав Логин. Как найти уязвимости в мобильном приложении
 
QA Fest 2019. Катерина Шепелєва та Інна Оснач. Що українцям потрібно знати пр...
QA Fest 2019. Катерина Шепелєва та Інна Оснач. Що українцям потрібно знати пр...QA Fest 2019. Катерина Шепелєва та Інна Оснач. Що українцям потрібно знати пр...
QA Fest 2019. Катерина Шепелєва та Інна Оснач. Що українцям потрібно знати пр...
 
QA Fest 2019. Антон Серпутько. Нагрузочное тестирование распределенных асинхр...
QA Fest 2019. Антон Серпутько. Нагрузочное тестирование распределенных асинхр...QA Fest 2019. Антон Серпутько. Нагрузочное тестирование распределенных асинхр...
QA Fest 2019. Антон Серпутько. Нагрузочное тестирование распределенных асинхр...
 
QA Fest 2019. Петр Тарасенко. QA Hackathon - The Cookbook 22
QA Fest 2019. Петр Тарасенко. QA Hackathon - The Cookbook 22QA Fest 2019. Петр Тарасенко. QA Hackathon - The Cookbook 22
QA Fest 2019. Петр Тарасенко. QA Hackathon - The Cookbook 22
 
QA Fest 2019. Евгений Рудев. QA 3.0. New generation
QA Fest 2019. Евгений Рудев. QA 3.0. New generationQA Fest 2019. Евгений Рудев. QA 3.0. New generation
QA Fest 2019. Евгений Рудев. QA 3.0. New generation
 
QA Fest 2019. Ірина Ярославцева. Майбутнє вже тут, або як тестувати систему о...
QA Fest 2019. Ірина Ярославцева. Майбутнє вже тут, або як тестувати систему о...QA Fest 2019. Ірина Ярославцева. Майбутнє вже тут, або як тестувати систему о...
QA Fest 2019. Ірина Ярославцева. Майбутнє вже тут, або як тестувати систему о...
 
QA Fest 2019. Никита Кричко. Тестирование приложений, использующих ИИ
QA Fest 2019. Никита Кричко. Тестирование приложений, использующих ИИQA Fest 2019. Никита Кричко. Тестирование приложений, использующих ИИ
QA Fest 2019. Никита Кричко. Тестирование приложений, использующих ИИ
 
QA Fest 2019. Вячеслав Панкратов. Как выходить из тестирования и надо ли выхо...
QA Fest 2019. Вячеслав Панкратов. Как выходить из тестирования и надо ли выхо...QA Fest 2019. Вячеслав Панкратов. Как выходить из тестирования и надо ли выхо...
QA Fest 2019. Вячеслав Панкратов. Как выходить из тестирования и надо ли выхо...
 
QA Fest 2019. Saar Rachamim. Developing Tools, While Testing
QA Fest 2019. Saar Rachamim. Developing Tools, While TestingQA Fest 2019. Saar Rachamim. Developing Tools, While Testing
QA Fest 2019. Saar Rachamim. Developing Tools, While Testing
 
QA Fest 2019. Boni Garcia. Web and Mobile testing with Selenium, JUnit 5, and...
QA Fest 2019. Boni Garcia. Web and Mobile testing with Selenium, JUnit 5, and...QA Fest 2019. Boni Garcia. Web and Mobile testing with Selenium, JUnit 5, and...
QA Fest 2019. Boni Garcia. Web and Mobile testing with Selenium, JUnit 5, and...
 
QA Fest 2019. Диана Пинчук. Тестирование аутентификации и авторизации (AuthN ...
QA Fest 2019. Диана Пинчук. Тестирование аутентификации и авторизации (AuthN ...QA Fest 2019. Диана Пинчук. Тестирование аутентификации и авторизации (AuthN ...
QA Fest 2019. Диана Пинчук. Тестирование аутентификации и авторизации (AuthN ...
 
QA Fest 2019. Андрей Солнцев. Selenide для профи
QA Fest 2019. Андрей Солнцев. Selenide для профиQA Fest 2019. Андрей Солнцев. Selenide для профи
QA Fest 2019. Андрей Солнцев. Selenide для профи
 

Recently uploaded

Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
AnaAcapella
 

Recently uploaded (20)

ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)Accessible Digital Futures project (20/03/2024)
Accessible Digital Futures project (20/03/2024)
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 

QA Fest 2019. Дмитрий Гуменюк. Test to code mapping, code coverage by automated and manual tests, actionable coverage – easy! We made it, open sourced and free!

  • 1. TEST TO CODE MAPPING CODE COVERAGE BY AUTOMATED AND MANUAL TESTS – EASY! We made it, but open-sourced and free Dmitriy Gumeniuk QA Fest Kyiv, September 2019
  • 2. TEST TO CODE MAPPING CODE COVERAGE BY AUTOMATED AND MANUAL TESTS – EASY! We made it, but open-sourced and free Dmitriy Gumeniuk QA Fest Kyiv, September 2019 ASK QUESTIONS
  • 3. TEST TO CODE MAPPING CODE COVERAGE BY AUTOMATED AND MANUAL TESTS – EASY! We made it, but open-sourced and free Dmitriy Gumeniuk QA Fest Kyiv, September 2019
  • 5. Dmitriy Gumeniuk 13 do valuable things in IT ReportPortal.io Product Owner DelEx Conference Founder
  • 11.
  • 16. Test-to-Code mapping benefits: Minimize regression testing scope by proposing to run tests, mapped with modified methods
  • 17. Test-to-Code mapping benefits: Minimize regression testing scope by proposing to run tests, mapped with modified methods Reduce duplicating automated tests by identifying equal code triggering with equal entry parameters
  • 18. Test-to-Code mapping benefits: Minimize regression testing scope by proposing to run tests, mapped with modified methods Reduce manual tests by identifying equal tests In automated and manual scopes Reduce duplicating automated tests by identifying equal code triggering with equal entry parameters
  • 19. Test-to-Code mapping benefits: Minimize regression testing scope by proposing to run tests, mapped with modified methods Reduce manual tests by identifying equal tests In automated and manual scopes Collect production usage to compare with tested areas Reduce duplicating automated tests by identifying equal code triggering with equal entry parameters
  • 21. Drill4J: Test to Code Coverage Drill4J is the tool for real-time application profiling that doesn’t affect codebase. Provide ability to make white box functional testing, via access to access to application instructions and memory. TEST TO CODE PLUGIN CAPABILILTIES • Measure code coverage via any types of tests (manual, automated, integration, performance, etc.) • Build Code to Test mapping shows which test case trigger which methods in app code, and vice versa. • Suggest test cases to trigger, related to code change • Track manual testing coverage • Shows uncovered methods by regression • Shows new methods uncovered by tests for code change, highlighting it as potential risk • Track production usage paths vs testing paths 21
  • 24. Drill4J based on: JNI Java Native Interface Kotlin Native JVMTI JVM Tool Interface
  • 25. Drill4J there is thanks to: Viktor Bellavin Denis Moiseev Pavel Iarov Aleksandr Krupenin Kristina Smirnova Natalia IarchukOlga Danilova Igor Kuzminykh
  • 26. Plugins A N D T H E F U T U R E ? New plugins fit perfectly in architecture.
  • 27. CONFIDENTIAL | © 2019 EPAM Systems, Inc. Plugins • Exception Catcher: Discover hidden exceptions A N D T H E F U T U R E ? Possible future plugins: New plugins fit perfectly in architecture. The first is Code Coverage Plugin.
  • 28. CONFIDENTIAL | © 2019 EPAM Systems, Inc. Plugins • Exception Catcher: Discover hidden exceptions A N D T H E F U T U R E ? Possible future plugins: New plugins fit perfectly in architecture. The first is Code Coverage Plugin.
  • 29. CONFIDENTIAL | © 2019 EPAM Systems, Inc. Plugins A N D T H E F U T U R E ? Possible future plugins: New plugins fit perfectly in architecture. The first is Code Coverage Plugin. • Exception Catcher: Discover hidden exceptions • Memory status: GC run time, number of launches, how many objects collected, object types
  • 30. CONFIDENTIAL | © 2019 EPAM Systems, Inc. Plugins A N D T H E F U T U R E ? Possible future plugins: New plugins fit perfectly in architecture. The first is Code Coverage Plugin. • Exception Catcher: Discover hidden exceptions • Memory status: GC run time, number of launches, how many objects collected, object types • SQL: Queries, number of records, return value