SlideShare a Scribd company logo
1 of 26
MACHINE LEARNING
SMART ANALYSISAI IN TESTING
MACHINE LEARNING
kNN and GradientBoosting
CATEGORIZE AND GROUP
FAILS
LEARNING SET
java.lang.AssertionError: Invalid Upc Service Navigation link redirection. expected [true] but
found [false]
org.testng.Assert.fail(Assert.java:94)
org.testng.Assert.failNotEquals(Assert.java:513)
org.testng.Assert.assertTrue(Assert.java:42)
my.project.web.tests.navigation.checkLinksFromServiceNavigationBarAreClickable(MainNavigatio
nServiceNavigationTest.java:61)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:100)
org.testng.internal.MethodInvocationHelper$1.runTestMethod(MethodInvocationHelper.java:189)
org.springframework.test.context.testng.AbstractTestNGSpringContextTests.run(AbstractTestNG
SpringContextTests.java:175)
org.testng.internal.MethodInvocationHelper.invokeHookable(MethodInvocationHelper.java:201)
org.testng.internal.Invoker.invokeMethod(Invoker.java:642)
org.testng.internal.Invoker.invokeTestMethod(Invoker.java:811)
org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1137)
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129)
org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)
org.testng.TestRunner.privateRun(TestRunner.java:753)
org.testng.TestRunner.run(TestRunner.java:607)
org.testng.SuiteRunner.runTest(SuiteRunner.java:368)
org.testng.SuiteRunner.runSequentially(SuiteRunner.java:363)
org.testng.SuiteRunner.privateRun(SuiteRunner.java:321)
org.testng.SuiteRunner.run(SuiteRunner.java:270)
org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
org.testng.TestNG.runSuitesSequentially(TestNG.java:1284)
org.testng.TestNG.runSuitesSequentially(TestNG.java:1280)
org.testng.TestNG.runSuitesLocally(TestNG.java:1209)
org.testng.TestNG.runSuites(TestNG.java:1124)
org.testng.TestNG.run(TestNG.java:1096)
my.project.web.ta.run.TestNgRunner.main(TestNgRunner.java:32)
java.lang.AssertionError: Invalid Upc Service Navigation link redirection. expected [true] but
found [false]
org.testng.Assert.fail(Assert.java:94)
org.testng.Assert.failNotEquals(Assert.java:513)
org.testng.Assert.assertTrue(Assert.java:42)
my.project.web.tests.navigation.checkLinksFromServiceNavigationBarAreClickable(MainNavigation
ServiceNavigationTest.java:61)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:100)
org.testng.internal.MethodInvocationHelper$1.runTestMethod(MethodInvocationHelper.java:189)
org.springframework.test.context.testng.AbstractTestNGSpringContextTests.run(AbstractTestNGS
pringContextTests.java:175)
org.testng.internal.MethodInvocationHelper.invokeHookable(MethodInvocationHelper.java:201)
org.testng.internal.Invoker.invokeMethod(Invoker.java:642)
org.testng.internal.Invoker.invokeTestMethod(Invoker.java:811)
org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1137)
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129)
org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)
org.testng.TestRunner.privateRun(TestRunner.java:753)
org.testng.TestRunner.run(TestRunner.java:607)
org.testng.SuiteRunner.runTest(SuiteRunner.java:368)
org.testng.SuiteRunner.runSequentially(SuiteRunner.java:363)
org.testng.SuiteRunner.privateRun(SuiteRunner.java:321)
org.testng.SuiteRunner.run(SuiteRunner.java:270)
org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
org.testng.TestNG.runSuitesSequentially(TestNG.java:1284)
org.testng.TestNG.runSuitesSequentially(TestNG.java:1280)
org.testng.TestNG.runSuitesLocally(TestNG.java:1209)
org.testng.TestNG.runSuites(TestNG.java:1124)
org.testng.TestNG.run(TestNG.java:1096)
my.project.web.ta.run.TestNgRunner.main(TestNgRunner.java:32)
95%
BUT THERE IS A LITTLE
THING
java.lang.AssertionError: Invalid Upc Service Navigation link redirection. expected [true] but found [false]
org.testng.Assert.fail(Assert.java:94)
org.testng.Assert.failNotEquals(Assert.java:513)
org.testng.Assert.assertTrue(Assert.java:42)
my.project.web.tests.navigation.checkLinksFromServiceNavigationBarAreClickable(MainNavigationServiceNavigationTest.java:61)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:498)
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:100)
org.testng.internal.MethodInvocationHelper$1.runTestMethod(MethodInvocationHelper.java:189)
org.springframework.test.context.testng.AbstractTestNGSpringContextTests.run(AbstractTestNGSpringContextTests.java:175)
org.testng.internal.MethodInvocationHelper.invokeHookable(MethodInvocationHelper.java:201)
org.testng.internal.Invoker.invokeMethod(Invoker.java:642)
org.testng.internal.Invoker.invokeTestMethod(Invoker.java:811)
org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1137)
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129)
org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)
org.testng.TestRunner.privateRun(TestRunner.java:753)
org.testng.TestRunner.run(TestRunner.java:607)
org.testng.SuiteRunner.runTest(SuiteRunner.java:368)
org.testng.SuiteRunner.runSequentially(SuiteRunner.java:363)
org.testng.SuiteRunner.privateRun(SuiteRunner.java:321)
org.testng.SuiteRunner.run(SuiteRunner.java:270)
org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
org.testng.TestNG.runSuitesSequentially(TestNG.java:1284)
org.testng.TestNG.runSuitesSequentially(TestNG.java:1280)
org.testng.TestNG.runSuitesLocally(TestNG.java:1209)
org.testng.TestNG.runSuites(TestNG.java:1124)
org.testng.TestNG.run(TestNG.java:1096)
my.project.web.ta.run.TestNgRunner.main(TestNgRunner.java:32)
java lang assertionError invalid upc service navigation
link redirection expected true found false
org testng assert fail assert java
org testng assert failnotequals assert java
org testng assert asserttrue assert java
my project tests checkLinksareclickable maintest java
2017-09-02 07:55:37TIME
Build #1 Build #2 Build #3 Build #4 Build #5
java.lang.AssertionError: Invalid Upc Service Navigation
link redirection. expected [true] but found [false]
org.testng.Assert.fail(Assert.java:94)
org.testng.Assert.failNotEquals(Assert.java:513)
org.testng.Assert.assertTrue(Assert.java:42)
my.project.tests.checkLinksAreClickable(MainTest.java:61)
java lang AssertionError Invalid Upc Service Navigation
link redirection expected true but found false
org testng Assert fail Assert java 94
org testng Assert failNotEquals Assert java 513
org testng Assert assertTrue Assert java 42
my project tests checkLinksAreClickable MainTest java 61
java lang assertionError invalid upc service navigation
link redirection expected true but found false
org testng assert fail assert java 94
org testng assert failnotequals assert java 513
org testng assert asserttrue assert java 42
my project tests checkLinksareclickable maintest java 61
java lang assertionError invalid upc service navigation
link redirection expected true found false
org testng assert fail assert java
org testng assert failnotequals assert java
org testng assert asserttrue assert java
my project tests checkLinksareclickable maintest java
REAL-TIME SEARCH
• OPEN SOURCED
• FULL TEXT SEARCH
• ~REAL-TIME
• SCALABLE
AssertionError Invalid Service expected found
AssertionError expected
Invalid
AssertionError Invalid found
expected found
Invalid expected
AssertionError Invalid
Service expected
expected found
expected found
4 5 2 7 5
TF - IDF
Жил-был в лесу заяц. Все зайцы были как зайцы: летом серые,
зимой белые. А этот и зимой и летом был одним цветом. И цвет этот
был ни белый, ни серый, а просто грязный, потому что заяц никогда
не умывался. Шел как-то он по тропинке, а навстречу ему лиса.- Ты
кто? – спрашивает лиса.- Заяц, - ответил заяц.- Не может быть, -
замотала головой лиса. – Я никогда таких зайцев не видела, таких
страшных не бывает! Может быть ты еж?- Почему? – удивился заяц.-
Потому что на тебе солома старая, и шерсть вся свалялась, на
иголки стала похожа. Заяц обиделся, но решил, что умываться не
будет.
TF = 6 / 100 =
0.06IDF = Log (10 000 000/ 1000) = 4
TF-IDF = 0.06 * 4 = 0.24
AssertionError
Invalid
Serviceexpected
found
N* exception
M* expected
HOW IT DONE
ELASTIC
Service-
analyzer
REPORT PORTAL
API
INDEX STRUCTURE
"mappings": map[string]interface{}{
"log": map[string]interface{}{
"properties": map[string]interface{}{
"message": map[string]interface{}{
"type": "text",
"analyzer": "standard",
},
"launch_name": map[string]interface{}{ "type": "keyword” },
"test_item": map[string]interface{}{ "type": "keyword” },
"issue_type": map[string]interface{}{ "type": "keyword” },
"log_level": map[string]interface{}{ "type": "integer” },
},
},
}
ANALYZER ANATOMY"analyzer": map[string]interface{}{
"character_filter":
"tokenizer":
"token_filters":
}
BOOL QUERY
return map[string]interface{}{
"size": 10,
"query": map[string]interface{}{
"bool": map[string]interface{}{
"must_not":
"must":
"should":
},
},
MUST NOT"must_not": map[string]interface{}{
"wildcard": map[string]interface{}{
"issue_type": "TI*",
},
},
MUST
"must": []interface{}{
map[string]interface{}{
"term": map[string]interface{}{
"log_level": 40000,
},
},
map[string]interface{}{
"exists": map[string]interface{}{
"field": "issue_type",
},
},
map[string]interface{}{
"more_like_this": map[string]interface{}{
"fields": []string{"message"},
"like": logMessage,
"minimum_should_match": "90%",
},
SHOULD
"should": map[string]interface{}{
"term": map[string]interface{}{
"launch_name": map[string]interface{}{
"value": launchName,
"boost": 2.0,
},
},
},
CHALLENGES
• IF NOBODY CHECK RESULT – IT DEGRADATE
• LEARNING ALWAYS NEEDS TRAINER
• IF MACHINE ERROR APPEARS - ERROR INFLUENCE GROWTHS
• NEED TO FLUSH TRAINING
OPEN SOURCED
GPL V3.0
GITHUB.COM/ REPORTPORTAL
REPORT PORTAL
REAL-TIME INTEGRATION
FEW HOURS
NO REFACTORING REQUIRED!
TestNG / JUnit
Xunit, NUnit2/3
VSTest
SpecFlow
jBehave
ScalaTest, Spock
Cucumber
Cucumber-JVM
Cucumber Ruby
Python PyTest
RobotFramework
JS Mocha, JS Jasmine
Protractor Node.JS
SoapUI / ReadyAPI
…
WHO IS THIS GUY?
Report Portal – Product Owner.
10 years with EPAM.
Development background.
Leading initiatives development at
Test Competency Center.
DZMITRY HUMIANIUK
EPAM Systems, Delivery Manager
ДМИТРИЙ ГУМЕНЮК
OPEN COMMUNITY
ReportPortal.io
GITHUB.COM/ REPORTPORTAL

More Related Content

What's hot

INTERPLANETARY INTERNET
INTERPLANETARY INTERNET INTERPLANETARY INTERNET
INTERPLANETARY INTERNET VQ
 
Plasma Antenna and its applications
Plasma Antenna and its applicationsPlasma Antenna and its applications
Plasma Antenna and its applicationsswetha samv
 
Types of klystron Amplifier
Types of klystron AmplifierTypes of klystron Amplifier
Types of klystron AmplifierNupurRathi7
 
jjPlus wireless power transfer overivew
jjPlus wireless power transfer overivewjjPlus wireless power transfer overivew
jjPlus wireless power transfer overivewGary Chi
 
Rf and microwave components and devices
Rf and microwave components and devicesRf and microwave components and devices
Rf and microwave components and devicesShankar Gangaju
 
Uniform plane wave equation
Uniform plane wave equationUniform plane wave equation
Uniform plane wave equationAwaab Fakih
 
Schelkunoff Polynomial Method for Antenna Synthesis
Schelkunoff Polynomial Method for Antenna SynthesisSchelkunoff Polynomial Method for Antenna Synthesis
Schelkunoff Polynomial Method for Antenna SynthesisSwapnil Bangera
 
RF Module Design - [Chapter 6] Power Amplifier
RF Module Design - [Chapter 6]  Power AmplifierRF Module Design - [Chapter 6]  Power Amplifier
RF Module Design - [Chapter 6] Power AmplifierSimen Li
 
Design and Simulation WDM
Design and Simulation WDMDesign and Simulation WDM
Design and Simulation WDMMuzahidul Islam
 
Differntial Input to Single Ended Output, Two stage Op-amp
Differntial Input to Single Ended Output, Two stage Op-ampDifferntial Input to Single Ended Output, Two stage Op-amp
Differntial Input to Single Ended Output, Two stage Op-ampKarthik Rathinavel
 
Iridium Satellite Communications System, Tsunami Warning System
Iridium Satellite Communications System, Tsunami Warning SystemIridium Satellite Communications System, Tsunami Warning System
Iridium Satellite Communications System, Tsunami Warning SystemDavid Regan
 

What's hot (20)

Wi-fi backscatter
Wi-fi backscatterWi-fi backscatter
Wi-fi backscatter
 
INTERPLANETARY INTERNET
INTERPLANETARY INTERNET INTERPLANETARY INTERNET
INTERPLANETARY INTERNET
 
Smart Antenna Report
Smart Antenna Report Smart Antenna Report
Smart Antenna Report
 
5G O-RAN 架構介紹
5G O-RAN 架構介紹5G O-RAN 架構介紹
5G O-RAN 架構介紹
 
Plasma Antenna and its applications
Plasma Antenna and its applicationsPlasma Antenna and its applications
Plasma Antenna and its applications
 
Vsat basic
Vsat basicVsat basic
Vsat basic
 
Types of klystron Amplifier
Types of klystron AmplifierTypes of klystron Amplifier
Types of klystron Amplifier
 
jjPlus wireless power transfer overivew
jjPlus wireless power transfer overivewjjPlus wireless power transfer overivew
jjPlus wireless power transfer overivew
 
3673 mosfet
3673 mosfet3673 mosfet
3673 mosfet
 
Rf and microwave components and devices
Rf and microwave components and devicesRf and microwave components and devices
Rf and microwave components and devices
 
Uniform plane wave equation
Uniform plane wave equationUniform plane wave equation
Uniform plane wave equation
 
Antenna basic
Antenna basicAntenna basic
Antenna basic
 
Schelkunoff Polynomial Method for Antenna Synthesis
Schelkunoff Polynomial Method for Antenna SynthesisSchelkunoff Polynomial Method for Antenna Synthesis
Schelkunoff Polynomial Method for Antenna Synthesis
 
RF Module Design - [Chapter 6] Power Amplifier
RF Module Design - [Chapter 6]  Power AmplifierRF Module Design - [Chapter 6]  Power Amplifier
RF Module Design - [Chapter 6] Power Amplifier
 
Design and Simulation WDM
Design and Simulation WDMDesign and Simulation WDM
Design and Simulation WDM
 
5G Shared Spectrum
5G Shared Spectrum5G Shared Spectrum
5G Shared Spectrum
 
Differntial Input to Single Ended Output, Two stage Op-amp
Differntial Input to Single Ended Output, Two stage Op-ampDifferntial Input to Single Ended Output, Two stage Op-amp
Differntial Input to Single Ended Output, Two stage Op-amp
 
Velosity saturation
Velosity saturationVelosity saturation
Velosity saturation
 
Quantum entaglement
Quantum entaglementQuantum entaglement
Quantum entaglement
 
Iridium Satellite Communications System, Tsunami Warning System
Iridium Satellite Communications System, Tsunami Warning SystemIridium Satellite Communications System, Tsunami Warning System
Iridium Satellite Communications System, Tsunami Warning System
 

More from Dmitriy Gumeniuk

Building functional Quality Gates with ReportPortal
Building functional Quality Gates with ReportPortalBuilding functional Quality Gates with ReportPortal
Building functional Quality Gates with ReportPortalDmitriy Gumeniuk
 
Self healing test automation with Healenium and Minimization of regression su...
Self healing test automation with Healenium and Minimization of regression su...Self healing test automation with Healenium and Minimization of regression su...
Self healing test automation with Healenium and Minimization of regression su...Dmitriy Gumeniuk
 
Test Gap Analysis and regression minimization with Drill4j. Observability on ...
Test Gap Analysis and regression minimization with Drill4j. Observability on ...Test Gap Analysis and regression minimization with Drill4j. Observability on ...
Test Gap Analysis and regression minimization with Drill4j. Observability on ...Dmitriy Gumeniuk
 
What's new in selenium grid 4.0 expected
What's new in selenium grid 4.0 expectedWhat's new in selenium grid 4.0 expected
What's new in selenium grid 4.0 expectedDmitriy Gumeniuk
 
How IntelliJ IDEA plugin can help you in QA Automation
How IntelliJ IDEA plugin can help you in QA AutomationHow IntelliJ IDEA plugin can help you in QA Automation
How IntelliJ IDEA plugin can help you in QA AutomationDmitriy Gumeniuk
 
Automation of Security scanning easy or cheese?
Automation of Security scanning easy or cheese?Automation of Security scanning easy or cheese?
Automation of Security scanning easy or cheese?Dmitriy Gumeniuk
 
Device manager server for android farm or running more than 30k tests every day
Device manager server for android farm or running more than 30k tests every dayDevice manager server for android farm or running more than 30k tests every day
Device manager server for android farm or running more than 30k tests every dayDmitriy Gumeniuk
 
Migrating to the serverless mindset
Migrating to the serverless mindsetMigrating to the serverless mindset
Migrating to the serverless mindsetDmitriy Gumeniuk
 
Building a self-service marketplace for Test Data (Dzmitry Humianiuk, Belarus)
Building a self-service marketplace for Test Data (Dzmitry Humianiuk, Belarus)Building a self-service marketplace for Test Data (Dzmitry Humianiuk, Belarus)
Building a self-service marketplace for Test Data (Dzmitry Humianiuk, Belarus)Dmitriy Gumeniuk
 
ReportPortal use cases presentation
 ReportPortal use cases presentation ReportPortal use cases presentation
ReportPortal use cases presentationDmitriy Gumeniuk
 
Applicabilitity of Machine Learning in Test Automation @ Delex Conf 2018, Minsk
Applicabilitity of Machine Learning in Test Automation @ Delex Conf 2018, MinskApplicabilitity of Machine Learning in Test Automation @ Delex Conf 2018, Minsk
Applicabilitity of Machine Learning in Test Automation @ Delex Conf 2018, MinskDmitriy Gumeniuk
 

More from Dmitriy Gumeniuk (11)

Building functional Quality Gates with ReportPortal
Building functional Quality Gates with ReportPortalBuilding functional Quality Gates with ReportPortal
Building functional Quality Gates with ReportPortal
 
Self healing test automation with Healenium and Minimization of regression su...
Self healing test automation with Healenium and Minimization of regression su...Self healing test automation with Healenium and Minimization of regression su...
Self healing test automation with Healenium and Minimization of regression su...
 
Test Gap Analysis and regression minimization with Drill4j. Observability on ...
Test Gap Analysis and regression minimization with Drill4j. Observability on ...Test Gap Analysis and regression minimization with Drill4j. Observability on ...
Test Gap Analysis and regression minimization with Drill4j. Observability on ...
 
What's new in selenium grid 4.0 expected
What's new in selenium grid 4.0 expectedWhat's new in selenium grid 4.0 expected
What's new in selenium grid 4.0 expected
 
How IntelliJ IDEA plugin can help you in QA Automation
How IntelliJ IDEA plugin can help you in QA AutomationHow IntelliJ IDEA plugin can help you in QA Automation
How IntelliJ IDEA plugin can help you in QA Automation
 
Automation of Security scanning easy or cheese?
Automation of Security scanning easy or cheese?Automation of Security scanning easy or cheese?
Automation of Security scanning easy or cheese?
 
Device manager server for android farm or running more than 30k tests every day
Device manager server for android farm or running more than 30k tests every dayDevice manager server for android farm or running more than 30k tests every day
Device manager server for android farm or running more than 30k tests every day
 
Migrating to the serverless mindset
Migrating to the serverless mindsetMigrating to the serverless mindset
Migrating to the serverless mindset
 
Building a self-service marketplace for Test Data (Dzmitry Humianiuk, Belarus)
Building a self-service marketplace for Test Data (Dzmitry Humianiuk, Belarus)Building a self-service marketplace for Test Data (Dzmitry Humianiuk, Belarus)
Building a self-service marketplace for Test Data (Dzmitry Humianiuk, Belarus)
 
ReportPortal use cases presentation
 ReportPortal use cases presentation ReportPortal use cases presentation
ReportPortal use cases presentation
 
Applicabilitity of Machine Learning in Test Automation @ Delex Conf 2018, Minsk
Applicabilitity of Machine Learning in Test Automation @ Delex Conf 2018, MinskApplicabilitity of Machine Learning in Test Automation @ Delex Conf 2018, Minsk
Applicabilitity of Machine Learning in Test Automation @ Delex Conf 2018, Minsk
 

ReportPortal.io - how to make machine learning categorize your test fails

  • 1.
  • 3. SMART ANALYSISAI IN TESTING MACHINE LEARNING kNN and GradientBoosting
  • 5. LEARNING SET java.lang.AssertionError: Invalid Upc Service Navigation link redirection. expected [true] but found [false] org.testng.Assert.fail(Assert.java:94) org.testng.Assert.failNotEquals(Assert.java:513) org.testng.Assert.assertTrue(Assert.java:42) my.project.web.tests.navigation.checkLinksFromServiceNavigationBarAreClickable(MainNavigatio nServiceNavigationTest.java:61) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java.lang.reflect.Method.invoke(Method.java:498) org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:100) org.testng.internal.MethodInvocationHelper$1.runTestMethod(MethodInvocationHelper.java:189) org.springframework.test.context.testng.AbstractTestNGSpringContextTests.run(AbstractTestNG SpringContextTests.java:175) org.testng.internal.MethodInvocationHelper.invokeHookable(MethodInvocationHelper.java:201) org.testng.internal.Invoker.invokeMethod(Invoker.java:642) org.testng.internal.Invoker.invokeTestMethod(Invoker.java:811) org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1137) org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129) org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112) org.testng.TestRunner.privateRun(TestRunner.java:753) org.testng.TestRunner.run(TestRunner.java:607) org.testng.SuiteRunner.runTest(SuiteRunner.java:368) org.testng.SuiteRunner.runSequentially(SuiteRunner.java:363) org.testng.SuiteRunner.privateRun(SuiteRunner.java:321) org.testng.SuiteRunner.run(SuiteRunner.java:270) org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) org.testng.TestNG.runSuitesSequentially(TestNG.java:1284) org.testng.TestNG.runSuitesSequentially(TestNG.java:1280) org.testng.TestNG.runSuitesLocally(TestNG.java:1209) org.testng.TestNG.runSuites(TestNG.java:1124) org.testng.TestNG.run(TestNG.java:1096) my.project.web.ta.run.TestNgRunner.main(TestNgRunner.java:32) java.lang.AssertionError: Invalid Upc Service Navigation link redirection. expected [true] but found [false] org.testng.Assert.fail(Assert.java:94) org.testng.Assert.failNotEquals(Assert.java:513) org.testng.Assert.assertTrue(Assert.java:42) my.project.web.tests.navigation.checkLinksFromServiceNavigationBarAreClickable(MainNavigation ServiceNavigationTest.java:61) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java.lang.reflect.Method.invoke(Method.java:498) org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:100) org.testng.internal.MethodInvocationHelper$1.runTestMethod(MethodInvocationHelper.java:189) org.springframework.test.context.testng.AbstractTestNGSpringContextTests.run(AbstractTestNGS pringContextTests.java:175) org.testng.internal.MethodInvocationHelper.invokeHookable(MethodInvocationHelper.java:201) org.testng.internal.Invoker.invokeMethod(Invoker.java:642) org.testng.internal.Invoker.invokeTestMethod(Invoker.java:811) org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1137) org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129) org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112) org.testng.TestRunner.privateRun(TestRunner.java:753) org.testng.TestRunner.run(TestRunner.java:607) org.testng.SuiteRunner.runTest(SuiteRunner.java:368) org.testng.SuiteRunner.runSequentially(SuiteRunner.java:363) org.testng.SuiteRunner.privateRun(SuiteRunner.java:321) org.testng.SuiteRunner.run(SuiteRunner.java:270) org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) org.testng.TestNG.runSuitesSequentially(TestNG.java:1284) org.testng.TestNG.runSuitesSequentially(TestNG.java:1280) org.testng.TestNG.runSuitesLocally(TestNG.java:1209) org.testng.TestNG.runSuites(TestNG.java:1124) org.testng.TestNG.run(TestNG.java:1096) my.project.web.ta.run.TestNgRunner.main(TestNgRunner.java:32) 95%
  • 6. BUT THERE IS A LITTLE THING java.lang.AssertionError: Invalid Upc Service Navigation link redirection. expected [true] but found [false] org.testng.Assert.fail(Assert.java:94) org.testng.Assert.failNotEquals(Assert.java:513) org.testng.Assert.assertTrue(Assert.java:42) my.project.web.tests.navigation.checkLinksFromServiceNavigationBarAreClickable(MainNavigationServiceNavigationTest.java:61) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java.lang.reflect.Method.invoke(Method.java:498) org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:100) org.testng.internal.MethodInvocationHelper$1.runTestMethod(MethodInvocationHelper.java:189) org.springframework.test.context.testng.AbstractTestNGSpringContextTests.run(AbstractTestNGSpringContextTests.java:175) org.testng.internal.MethodInvocationHelper.invokeHookable(MethodInvocationHelper.java:201) org.testng.internal.Invoker.invokeMethod(Invoker.java:642) org.testng.internal.Invoker.invokeTestMethod(Invoker.java:811) org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1137) org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129) org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112) org.testng.TestRunner.privateRun(TestRunner.java:753) org.testng.TestRunner.run(TestRunner.java:607) org.testng.SuiteRunner.runTest(SuiteRunner.java:368) org.testng.SuiteRunner.runSequentially(SuiteRunner.java:363) org.testng.SuiteRunner.privateRun(SuiteRunner.java:321) org.testng.SuiteRunner.run(SuiteRunner.java:270) org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86) org.testng.TestNG.runSuitesSequentially(TestNG.java:1284) org.testng.TestNG.runSuitesSequentially(TestNG.java:1280) org.testng.TestNG.runSuitesLocally(TestNG.java:1209) org.testng.TestNG.runSuites(TestNG.java:1124) org.testng.TestNG.run(TestNG.java:1096) my.project.web.ta.run.TestNgRunner.main(TestNgRunner.java:32)
  • 7. java lang assertionError invalid upc service navigation link redirection expected true found false org testng assert fail assert java org testng assert failnotequals assert java org testng assert asserttrue assert java my project tests checkLinksareclickable maintest java 2017-09-02 07:55:37TIME Build #1 Build #2 Build #3 Build #4 Build #5 java.lang.AssertionError: Invalid Upc Service Navigation link redirection. expected [true] but found [false] org.testng.Assert.fail(Assert.java:94) org.testng.Assert.failNotEquals(Assert.java:513) org.testng.Assert.assertTrue(Assert.java:42) my.project.tests.checkLinksAreClickable(MainTest.java:61) java lang AssertionError Invalid Upc Service Navigation link redirection expected true but found false org testng Assert fail Assert java 94 org testng Assert failNotEquals Assert java 513 org testng Assert assertTrue Assert java 42 my project tests checkLinksAreClickable MainTest java 61 java lang assertionError invalid upc service navigation link redirection expected true but found false org testng assert fail assert java 94 org testng assert failnotequals assert java 513 org testng assert asserttrue assert java 42 my project tests checkLinksareclickable maintest java 61 java lang assertionError invalid upc service navigation link redirection expected true found false org testng assert fail assert java org testng assert failnotequals assert java org testng assert asserttrue assert java my project tests checkLinksareclickable maintest java
  • 8. REAL-TIME SEARCH • OPEN SOURCED • FULL TEXT SEARCH • ~REAL-TIME • SCALABLE
  • 9. AssertionError Invalid Service expected found AssertionError expected Invalid AssertionError Invalid found expected found Invalid expected AssertionError Invalid Service expected expected found expected found 4 5 2 7 5
  • 10. TF - IDF Жил-был в лесу заяц. Все зайцы были как зайцы: летом серые, зимой белые. А этот и зимой и летом был одним цветом. И цвет этот был ни белый, ни серый, а просто грязный, потому что заяц никогда не умывался. Шел как-то он по тропинке, а навстречу ему лиса.- Ты кто? – спрашивает лиса.- Заяц, - ответил заяц.- Не может быть, - замотала головой лиса. – Я никогда таких зайцев не видела, таких страшных не бывает! Может быть ты еж?- Почему? – удивился заяц.- Потому что на тебе солома старая, и шерсть вся свалялась, на иголки стала похожа. Заяц обиделся, но решил, что умываться не будет. TF = 6 / 100 = 0.06IDF = Log (10 000 000/ 1000) = 4 TF-IDF = 0.06 * 4 = 0.24
  • 14. INDEX STRUCTURE "mappings": map[string]interface{}{ "log": map[string]interface{}{ "properties": map[string]interface{}{ "message": map[string]interface{}{ "type": "text", "analyzer": "standard", }, "launch_name": map[string]interface{}{ "type": "keyword” }, "test_item": map[string]interface{}{ "type": "keyword” }, "issue_type": map[string]interface{}{ "type": "keyword” }, "log_level": map[string]interface{}{ "type": "integer” }, }, }, }
  • 16. BOOL QUERY return map[string]interface{}{ "size": 10, "query": map[string]interface{}{ "bool": map[string]interface{}{ "must_not": "must": "should": }, },
  • 17. MUST NOT"must_not": map[string]interface{}{ "wildcard": map[string]interface{}{ "issue_type": "TI*", }, },
  • 18. MUST "must": []interface{}{ map[string]interface{}{ "term": map[string]interface{}{ "log_level": 40000, }, }, map[string]interface{}{ "exists": map[string]interface{}{ "field": "issue_type", }, }, map[string]interface{}{ "more_like_this": map[string]interface{}{ "fields": []string{"message"}, "like": logMessage, "minimum_should_match": "90%", },
  • 19. SHOULD "should": map[string]interface{}{ "term": map[string]interface{}{ "launch_name": map[string]interface{}{ "value": launchName, "boost": 2.0, }, }, },
  • 20. CHALLENGES • IF NOBODY CHECK RESULT – IT DEGRADATE • LEARNING ALWAYS NEEDS TRAINER • IF MACHINE ERROR APPEARS - ERROR INFLUENCE GROWTHS • NEED TO FLUSH TRAINING
  • 23. REAL-TIME INTEGRATION FEW HOURS NO REFACTORING REQUIRED! TestNG / JUnit Xunit, NUnit2/3 VSTest SpecFlow jBehave ScalaTest, Spock Cucumber Cucumber-JVM Cucumber Ruby Python PyTest RobotFramework JS Mocha, JS Jasmine Protractor Node.JS SoapUI / ReadyAPI …
  • 24. WHO IS THIS GUY? Report Portal – Product Owner. 10 years with EPAM. Development background. Leading initiatives development at Test Competency Center. DZMITRY HUMIANIUK EPAM Systems, Delivery Manager ДМИТРИЙ ГУМЕНЮК