software developer in test. who's that?
TRANSCRIPT
Software Developer in Test Who's that?
Tymofii Sukhachov
10 years in industry
Both developer and QA experience
Mostly work with java and related technologies
Working at Booxware GmbH as SDET
http://www.roboqa.net
★ QA engineer evolution
★ Separation of concerns
★ Who is SDET?
Hi, I am a QA! Who I become in 8-10 years?
Developer? Scrum Master? Business Analyst?
There has always been a wall
Bringing QA inside a team has not removed it
Once requirements are clear ...
5th sprint ...
I heard Selenium is great
Do it
Why Selenium is popular?
11th sprint ...
Rely on our tests!They are … not stable
Why??!!
40 % of tests are now outdated
We have to test them manually again
This is moment Selenium stops being popular
Test automation is like a drugs good habit
An application is not a black box anymore
User Interface is not the only API
And Selenium is not the only way of testing :)
Tests can use the closest Interface
Test Pyramid follows that principle
Working with Developer
You are not a developer!
Think twice before changing production code
Responsibility Line
SDET
Developer
Do you want others trust on your tests?
Get involved into pair programming
Keep test and production code in one branch
Review pull requests
Try to understand the code and especially tests
Do not hesitate adding your comments to code
Code never lies
Separation of concerns
https://github.com/tsuhachev
seleniumcamp2017demo
{ "balance":94, "currency":"EUR"}
Wallet Service Currency Service
94 EUR
Retrieve my balance
/getRate
Does TDD work with SDET involved?
Short Iteration
So who is SDET?
You are Software Developer in Test
★ You know and understand an architecture of your system
★ Test design follows Test Pyramid principle
★ You work closely with developer implementing a tests
★ You can implement a test at any level of a Test Pyramid
★ Developer trusts and understands your tests
if
SDET vs Automation QA
SDET Profile
5+ years as QA
2+ java experience: Java Core, Collections, etc ...
Http, Rest/Soap, json, xml, html, css selectors, xpath
JUnit, Mockito, Wiremock, Hamcrest, AssertJ
SQL (most used queries: join, having, in etc ...)
Very preferable: Spring, Tomcat, Hibernate
Continuous Integration
http://www.roboqa.nethttps://github.com/tsuhachev/seleniumcamp2017demo