its codebase and its automated tests • each team needs to adhere to standards and guidelines from the community • release train testing every Monday • automated tests are integrated into the PR (unit, snapshot and functional)
for iOS and Android • Cucumber • tool that enables specifications to be written in natural language and executed • Ruby • programming language 02.08.2018 Elena Ivan
offers a way to write tests in a natural language, that anybody can understand, regardless of their technical knowledge • language is Gherkin • each test is called Scenario, and the tests are grouped into Features 02.08.2018 Elena Ivan
check what is wrong, why they are failing) • not enough knowledge was distributed into the teams • everybody was writing their tests in their own way • we didn't know how to communicate with each other, also remotely • low readability of the tests 02.08.2018 Elena Ivan
file contains description • Feature file doesn't contain duplicates or tests that extend each other • Feature doesn't contain commented or unclear steps and tests • Background steps were used where it makes sense Feature: Bookmarking events As an user I want to be able to bookmark the event I am interested in and un-bookmark it if I am no longer interested 02.08.2018 Elena Ivan
Test is as short as possible • Test is readable (even for an external reviewer) • Test has a clear outcome (assertion in the end of the test) • Given/When/Then/And order is correct 02.08.2018 Elena Ivan
when possible and makes sense • Test doesn't contain redundant steps (Then I am on … screen…) • No dependencies between tests • Single test run should be between 60-90 seconds 02.08.2018 Elena Ivan
• Execution time in the generated Cucumber report • Cucumber score (run ruby ../../cuke_sniffer.rb in the tests folder, and check html cuke_sniffer_result.html ) 02.08.2018 Elena Ivan