SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Tendances

Asymptotic Notations.pptx
Asymptotic Notations.pptxAsymptotic Notations.pptx
Asymptotic Notations.pptxSunilWork1
 
Configuration of SFTP Server on CentOS 8.pdf
Configuration of SFTP Server on CentOS 8.pdfConfiguration of SFTP Server on CentOS 8.pdf
Configuration of SFTP Server on CentOS 8.pdfKaan Aslandağ
 
LTE KPI Optimization - A to Z Abiola.pptx
LTE KPI Optimization - A to Z Abiola.pptxLTE KPI Optimization - A to Z Abiola.pptx
LTE KPI Optimization - A to Z Abiola.pptxssuser574918
 
M2000 operation-guide
M2000 operation-guideM2000 operation-guide
M2000 operation-guideVirak Sou
 
IMS Authentication with AKAv1 and AKAv2
IMS Authentication with AKAv1 and AKAv2 IMS Authentication with AKAv1 and AKAv2
IMS Authentication with AKAv1 and AKAv2 mohammad norozzudegan
 

Tendances (8)

Asymptotic Notations.pptx
Asymptotic Notations.pptxAsymptotic Notations.pptx
Asymptotic Notations.pptx
 
Configuration of SFTP Server on CentOS 8.pdf
Configuration of SFTP Server on CentOS 8.pdfConfiguration of SFTP Server on CentOS 8.pdf
Configuration of SFTP Server on CentOS 8.pdf
 
Présentation du Marché de Gros Lyon-Corbas
Présentation du Marché de Gros Lyon-CorbasPrésentation du Marché de Gros Lyon-Corbas
Présentation du Marché de Gros Lyon-Corbas
 
LTE KPI Optimization - A to Z Abiola.pptx
LTE KPI Optimization - A to Z Abiola.pptxLTE KPI Optimization - A to Z Abiola.pptx
LTE KPI Optimization - A to Z Abiola.pptx
 
M2000 operation-guide
M2000 operation-guideM2000 operation-guide
M2000 operation-guide
 
IMS Authentication with AKAv1 and AKAv2
IMS Authentication with AKAv1 and AKAv2 IMS Authentication with AKAv1 and AKAv2
IMS Authentication with AKAv1 and AKAv2
 
Lesson 02
Lesson 02Lesson 02
Lesson 02
 
Lte imp
Lte impLte imp
Lte imp
 

Plus de 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
 

Plus de 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 ДМИТРИЙ ГУМЕНЮК