2. About myself
• Software Testing Team Leader and Resource
Manager at Epam Systems
• More than 11 years of experience in IT, 8 years
in automated testing
• Organizer of “Morning Coffee with Automation
engineers” meetups
• Past projects:
• Epam Systems – Hyperion-Oracle
• CompatibL – Sberbank, RMB
• Viber Media
• Contacts:
• ivan.katunou@gmail.com
3. Agreements
• Mostly for software test automation engineers
• Seniority levels differ
• Specific areas (Web UI, Web Services, Mobile, Desktop, etc.) not
covered
• Only main areas covered
• Some slides contain useful links to presentations, books, articles
7. Senior. General description
• Able to work on a module on one’s own, i.e. able to implement it
from the beginning till the end, able to ask the right question to the
right colleagues
9. English – B2
• To improve your English level significantly consider either attending
classes at a language school or studying with a tutor
• Watch movies/TV-series without subtitles
• “English Grammar in Use” is a rather good book to improve grammar
11. Processes
• Knowing and understanding processes you and your team follows is
crucial for a Senior. Majority of projects follow Agile way nowadays so
learn/refresh your knowledge of the following documents:
- Agile Manifesto;
- Agile principles;
- Scrum Guide.
• Books «Essential Scrum: A Practical Guide to the Most Popular Agile
Process (Addison-Wesley Signature Series (Cohn))» by Kenneth S.
Rubin, «Agile Testing: A Practical Guide for Testers and Agile Teams»
by Lisa Crispin
15. Test Pyramid
• It is important to know what it is, how and to what extent it is used at
your project
• Here you can find detailed information on it
• Presentations «Автоматизация тестирования: отбрасываем
лишнее и проверяем суть» Игоря Хрола, «Автотесты: такие же, но
лучше» Игоря Хрола, «Пирамида Тестирования через призму ROI
калькулятора и прочая геометрия» Антона Семенченко, «Ideal test
automation process or the full story about test pyramid» Николая
Алименкова
• Articles «Правильная автоматизация», «Automation QA — это
отдельная команда?»
17. Programming language basics. OOP
• Refresh your knowledge on basics of Java/.Net/Python/JavaScript,
learn on previously missed parts
• In case of Java, it is good to know Java 8 features since more and
more projects start leveraging it. Same applies to Python 3
• Books Java. Библиотека профессионала. Том 1. Основы Кея
Хорстмана, Язык программирования C# 6.0 и платформа .NET 4.6
Троелсена, CLR via C#. Программирование на платформе
Microsoft.NET Framework 4.5 на языке C# Рихтера, Изучаем Python
Марка Лутца
18. TAF at your project. How to develop one from
scratch?
19. TAF at your project. How to develop one from
scratch?
• Which tools, libraries, frameworks are used at your project? What
was the reason those ones were chosen? Are there any analogues?
What advantages and disadvantages do they have? Based on which
criteria they were chosen (e. g. supported platforms, programming
languages, paid/free/open source, community)?
• Which layers and modules are present at your TAF?
• Видео «Layers of Test Automation Framework»
• Article «Советы и рекомендации по развёртыванию процесса
автоматизация тестирования с нуля»
21. Improvements For Your TAF
• What kind of changes have you insisted on to improve existing
automation? How did it help?
• Presentation Николай Алименков «Как сделать ваши
функциональные тесты действительно быстрыми»
23. Build tools
• How can you use build tools for automation? Do you create projects
using build tools? Do you run tests by means of build tools? Do you
manage dependencies automatically? Spend some time investigating
how it is configured at your project.
• Maven documentation - Maven in 5 minutes, Maven Getting Started
Guide
25. Test Automation Library
• Which test automation library is used at your project? What
functionality of it do you use? What else could you use?
• TestNG documentation - TestNG Documentation, TestNG
Tutorialpoint, A Quick JUnit vs TestNG Comparison, TestNG Maven
Project Example, How to Execute TestNG Tests With Maven Build
27. Which tests to automate? Coverage
• Book Святослав Куликов «Тестирование программного
обеспечения. Базовый курс», раздел «3. Автоматизация
тестирования»
• Presentation Павел Стрункин «Когда стоит закончить
автоматизировать?»
31. Design Patterns
• It is crucial to know basic design patterns, categories, why can they be
useful
• Books «Design Patterns: Elements of Reusable Object-Oriented
Software», «Head First Design Patterns: A Brain-Friendly Guide»
(Java), «Паттерны проектирования на платформе .NET»,
«Refactoring: Improving the Design of Existing Code», «Refactoring to
Patterns»
32. Design Patterns in Automation
• Try to think of which of the base design patterns can be used in
automation. Which specific design patters exist in automation?
• Page Object – why do we need it? Explained here and there
• Presentations. Different kinds of page object - Алексей Виноградов
«Page Objects: лучше проще, да лучшe». Other design patterns in
automation - Николай Алименков «Design patterns in test
automation», Pawel Maciejewski «Test automation patterns – not
only Page Object», Вадим Зубович «Как не изобретать велосипед,
или паттерны проектирования для автотестов»
34. Programming Best Practices
• Playlist SOLID Principles.
• Books – «Clean Code: A Handbook of Agile Software Craftsmanship»
by Robert C. Martin, «Code Complete: A Practical Handbook of
Software Construction, Second Edition» by Steve McConell, «Head
First Design Patterns: A Brain-Friendly Guide», «Refactoring:
Improving the Design of Existing Code» by Martin Fowler, «Working
Effectively with Legacy Code» by Michael Feathers
38. Test Plan/Test Strategy
• Book Святослав Куликов «Тестирование программного
обеспечения. Базовый курс», раздел «2.6. Оценка трудозатрат,
планирование, отчетность»
40. CI Organization. Difference between CI/CD
• Do you have Continuous Integration at your project?
• Video Инструменты непрерывной интеграции, video playlist
Continuous Delivery 101.
42. Reporting tools (Report portal, Serenity,
Allure). Explain difference
• What kind of reporting is leveraged at your project? Why was it
chosen? Can you leverage another reporting tool with more useful
features?
• Presentation Дима Гуменюк - ReportPortal.io - visibility of test
automation status, metrics...
• Documentation Allure, Report Portal
44. Automation metrics
• Find out which metrics are being used at your project
• Presentation Антон Семенченко «Quality Assurance, Quality Control
и метрики Автоматизированного тестирования на пальцах»
• Article «Риски и метрики в автоматизации тестирования»
49. BDD
• Book «The Cucumber for Java Book: Behaviour-Driven Development
for Testers and Developers»
• Presentation Яков Крамаренко «Dont be fooled with BDD,
automation engineer! ;)»
53. Coding standards. (Google, Oracle, Microsoft)
• Usually existing code style is taken at a project and update it with
some minor changes. Companies like Google, Oracle, Microsoft have
their own standards. For example Google Java Style Guide. Usually
existing code style is taken at a project and update it with some minor
changes. Companies like Google, Oracle, Microsoft have their own
standards. For example Google Java Style Guide
• Find out what coding standard was chose at your project. Take a look
at the standards of the previously mentioned companies. What can
you add at your project?
55. Business communication
• It is important for a Senior engineer to be able to communicate with
customers fluently
• Видео Effective Communication Basics that Everyone Should Know!,
Business Correspondence (2/4)
56. Best advice
• If you want to grow further be proactive, show initiative, don’t be
afraid to take responsibility, accomplish tasks, learn continuously