Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
TEST TO CODE MAPPING
CODE COVERAGE BY AUTOMATED
AND MANUAL TESTS – EASY!
We made it,
but open-sourced
and free
Dmitriy Gum...
TEST TO CODE MAPPING
CODE COVERAGE BY AUTOMATED
AND MANUAL TESTS – EASY!
We made it,
but open-sourced
and free
Dmitriy Gum...
TEST TO CODE MAPPING
CODE COVERAGE BY AUTOMATED
AND MANUAL TESTS – EASY!
We made it,
but open-sourced
and free
Dmitriy Gum...
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
R...
Test-to-Code mapping benefits:
Minimize regression testing scope
by proposing to run tests, mapped with modified methods
R...
Test-to-Code mapping benefits:
Minimize regression testing scope
by proposing to run tests, mapped with modified methods
R...
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. Provi...
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 Iarchuk...
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 ?...
CONFIDENTIAL | © 2019 EPAM Systems, Inc.
Plugins
• Exception Catcher:
Discover hidden exceptions
A N D T H E F U T U R E ?...
CONFIDENTIAL | © 2019 EPAM Systems, Inc.
Plugins
A N D T H E F U T U R E ?
Possible future plugins:
New plugins fit perfec...
CONFIDENTIAL | © 2019 EPAM Systems, Inc.
Plugins
A N D T H E F U T U R E ?
Possible future plugins:
New plugins fit perfec...
drill4j.github.io
t.me/drill4j
github.com/Drill4J
Drill4J
with CoveragePlugin
THANK YOU
QA Fest 2019. Дмитрий Гуменюк. Test to code mapping, code coverage by automated and manual tests, actionable coverage – ea...
Upcoming SlideShare
Loading in …5
×

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

70 views

Published on

Have you ever collected code coverage with tests? Most likely it was unit tests. But have you tried to collect them from automated tests, manual tests? What if you even had an incredible number of 100% coverage, does it give you any understanding? Can you make it actionable? In order to solve this issue - we wrote our own tooling, made it simple and pluggable, without app code affect, and accidentally did more than competitors, but open-sourced. With this talk, I will introduce the new tool, share our approach, describe benefits of test to code mapping, tell you how to make coverage numbers actionable, introduce first steps to try it at home, and will share our plans going forward and how we plan to shift black-box testing to white-box.

Published in: Education
  • Be the first to comment

  • Be the first to like this

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. 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. 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. 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
  4. 4. Dmitriy Gumeniuk
  5. 5. Dmitriy Gumeniuk 13 do valuable things in IT ReportPortal.io Product Owner DelEx Conference Founder
  6. 6. THE NEW PRODUCT
  7. 7. COVERAGE?
  8. 8. COVERAGE
  9. 9. COVERAGE
  10. 10. = ACTIONABLE FEEDBACK COVERAGE
  11. 11. @Test public void myTest(){ //… }
  12. 12. @Test public void myTest(){ //… } @Test public void myTest(){ //… }
  13. 13. Test-to-Code mapping
  14. 14. Test-to-Code mapping benefits:
  15. 15. Test-to-Code mapping benefits: Minimize regression testing scope by proposing to run tests, mapped with modified methods
  16. 16. 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
  17. 17. 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
  18. 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 Collect production usage to compare with tested areas Reduce duplicating automated tests by identifying equal code triggering with equal entry parameters
  19. 19. drill4j.github.io t.me/drill4j github.com/Drill4J Drill4J with CoveragePlugin
  20. 20. 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
  21. 21. DEMO TIME
  22. 22. ASK QUESTIONS
  23. 23. Drill4J based on: JNI Java Native Interface Kotlin Native JVMTI JVM Tool Interface
  24. 24. Drill4J there is thanks to: Viktor Bellavin Denis Moiseev Pavel Iarov Aleksandr Krupenin Kristina Smirnova Natalia IarchukOlga Danilova Igor Kuzminykh
  25. 25. Plugins A N D T H E F U T U R E ? New plugins fit perfectly in architecture.
  26. 26. 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.
  27. 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. 28. 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
  29. 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 • SQL: Queries, number of records, return value
  30. 30. drill4j.github.io t.me/drill4j github.com/Drill4J Drill4J with CoveragePlugin
  31. 31. THANK YOU

×