How to Become a Senior
Ivan Katunou
About myself
• More than 10 years of experience in IT
• Software Testing Team Leader and Resource
Manager at Epam Systems
• Organizer of “Morning Coffee with
Automation engineers” meetups
• Past projects:
• Epam Systems – Hyperion-Oracle
• CompatibL – Sberbank, RMB
• Viber Media
• Contacts:
• ivan.katunou@gmail.com
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
Congratulations! You are in IT now!
Where to learn from?
Too Much Information
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
Senior. General description
• EPAM Competency levels for automation engineer -
https://competency.epam.com/jobFunction?jobFunctionId=18
English – B2
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
Processes
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.
• (EPAM) Webinar Software Development Models and Methodologies.
• Books «Основы Scrum. Практическое руководство по гибкой
разработке ПО» С. Рубина, «Гибкое тестирование. Практическое
руководство для тестировщиков ПО и гибких команд», Лизы Криспин
Estimations
Estimations
• Knowing how to estimate time for accomplishing tasks
• (Epam) Webinar Estimations Advanced
Test Pyramid
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 — это
отдельная команда?»
Programming language basics. OOP
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
Марка Лутца
TAF at your project. How to develop one from
scratch?
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?
• Webinar (EPAM) Test Automation Framework building
• Presentation (EPAM) «Выбираем правильный движок для тестовых
сценариев при автоматизации тестов»
• Article «Советы и рекомендации по развёртыванию процесса
автоматизация тестирования с нуля»
Improvements For Your TAF
Improvements For Your TAF
• What kind of changes have you insisted on to improve existing
automation? How did it help?
• Presentation Николай Алименков «Как сделать ваши
функциональные тесты действительно быстрыми»
Build tools
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
• Webinars – (EPAM) Build Tools, (EPAM) Build Tools
Test Automation Library
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
• (EPAM) Webinar Unit testing frameworks for Java: TestNG /JUnit
Which tests to automate? Coverage
Which tests to automate? Coverage
• Book Святослав Куликов «Тестирование программного
обеспечения. Базовый курс», раздел «3. Автоматизация
тестирования»
• Presentation Павел Стрункин «Когда стоит закончить
автоматизировать?»
Databases
Databases
• Book Святослав Куликов «Работа с MySQL, MS SQL Server и Oracle в
примерах»
Design Patterns
Design Patterns
• It is crucial to know basic design patterns, categories, why can they be
useful
• Books «Приемы объектно-ориентированного проектирования.
Паттерны проектирования», «Паттерны проектирования» (Java),
«Паттерны проектирования на платформе .NET», «Рефакторинг.
Улучшение существующего кода», «Рефакторинг с
использованием шаблонов»
• (EPAM) Webinar Design Patterns
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», Вадим Зубович «Как не изобретать велосипед,
или паттерны проектирования для автотестов»
Programming Best Practices
Programming Best Practices
• (EPAM) Webinar SOLID
• Books – «Чистый код: создание, анализ и рефакторинг.
Библиотека программиста» Р. Мартина, «Совершенный код.
Мастер-класс» С. Макконела, «Паттерны проектирования» с
примерами на Java, «Рефакторинг. Улучшение существующего
кода» Мартина Фаулера, «Эффективная работа с унаследованным
кодом» М. Физерса
Types of Testing
Types of Testing
• Book Святослав Куликов «Тестирование программного
обеспечения. Базовый курс», раздел «2.3. Виды и направления
тестирования»
Test Plan/Test Strategy
Test Plan/Test Strategy
• Book Святослав Куликов «Тестирование программного
обеспечения. Базовый курс», раздел «2.6. Оценка трудозатрат,
планирование, отчетность»
CI Organization. Difference between CI/CD
CI Organization. Difference between CI/CD
• Do you have Continuous Integration at your project?
• (EPAM) Webinars - Infrastructure: Continuous Integration Concepts
(Jenkins) (Part 1/2), Infrastructure: Continuous Integration Concepts
(Jenkins) (Part 2/2), Continuous Integration with Jenkins
Reporting tools (Report portal, Serenity,
Allure). Explain difference
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
Automation metrics
Automation metrics
• Find out which metrics are being used at your project
• Presentation Антон Семенченко «Quality Assurance, Quality Control
и метрики Автоматизированного тестирования на пальцах»
Communication with developers, how did
they help you?
Git
Git
• Book Pro Git
• Course Git How To
BDD
BDD
• (EPAM) Webinars Architecture Aspects - BDD, BDD Frameworks
Overview
• Book «The Cucumber for Java Book: Behaviour-Driven Development
for Testers and Developers»
• Presentation Яков Крамаренко «Dont be fooled with BDD,
automation engineer! ;)»
Code review. How is it conducted?
Code review. How is it conducted?
• (EPAM) Webinar Code quality and Code review
Coding standards. (Google, Oracle, Microsoft)
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?
Leading teams, delegation
Leading teams, delegation
• Quite often Senior specialist is in charge of leading QA team at his/her
project so knowing the basics of management is important
• (EPAM) Webinars Leading Testing and Development Team Part 1,
Leading Testing and Development Team Part 2
Conflict management
Conflict management
• Understand how to behave in case of conflicts
• (EPAM) Webinar Conflict Management
Business communication
Business communication
• It is important for a Senior engineer to be able to communicate with
customers fluently
• (EPAM) Trainings Communications Basic, Business Correspondence
Part 1, Business Correspondence Part 2
Best advice
• If you want to grow further be proactive, show initiative, don’t be
afraid to take responsibility, accomplish tasks, learn continuously
Questions?

Как стать синьором

  • 1.
    How to Becomea Senior Ivan Katunou
  • 2.
    About myself • Morethan 10 years of experience in IT • Software Testing Team Leader and Resource Manager at Epam Systems • 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 forsoftware 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
  • 4.
  • 5.
  • 6.
  • 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
  • 8.
    Senior. General description •EPAM Competency levels for automation engineer - https://competency.epam.com/jobFunction?jobFunctionId=18
  • 9.
  • 10.
    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.
  • 12.
    Processes • Knowing andunderstanding 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. • (EPAM) Webinar Software Development Models and Methodologies. • Books «Основы Scrum. Практическое руководство по гибкой разработке ПО» С. Рубина, «Гибкое тестирование. Практическое руководство для тестировщиков ПО и гибких команд», Лизы Криспин
  • 13.
  • 14.
    Estimations • Knowing howto estimate time for accomplishing tasks • (Epam) Webinar Estimations Advanced
  • 15.
  • 16.
    Test Pyramid • Itis 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.
  • 18.
    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 Марка Лутца
  • 19.
    TAF at yourproject. How to develop one from scratch?
  • 20.
    TAF at yourproject. 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? • Webinar (EPAM) Test Automation Framework building • Presentation (EPAM) «Выбираем правильный движок для тестовых сценариев при автоматизации тестов» • Article «Советы и рекомендации по развёртыванию процесса автоматизация тестирования с нуля»
  • 21.
  • 22.
    Improvements For YourTAF • What kind of changes have you insisted on to improve existing automation? How did it help? • Presentation Николай Алименков «Как сделать ваши функциональные тесты действительно быстрыми»
  • 23.
  • 24.
    Build tools • Howcan 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 • Webinars – (EPAM) Build Tools, (EPAM) Build Tools
  • 25.
  • 26.
    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 • (EPAM) Webinar Unit testing frameworks for Java: TestNG /JUnit
  • 27.
    Which tests toautomate? Coverage
  • 28.
    Which tests toautomate? Coverage • Book Святослав Куликов «Тестирование программного обеспечения. Базовый курс», раздел «3. Автоматизация тестирования» • Presentation Павел Стрункин «Когда стоит закончить автоматизировать?»
  • 29.
  • 30.
    Databases • Book СвятославКуликов «Работа с MySQL, MS SQL Server и Oracle в примерах»
  • 31.
  • 32.
    Design Patterns • Itis crucial to know basic design patterns, categories, why can they be useful • Books «Приемы объектно-ориентированного проектирования. Паттерны проектирования», «Паттерны проектирования» (Java), «Паттерны проектирования на платформе .NET», «Рефакторинг. Улучшение существующего кода», «Рефакторинг с использованием шаблонов» • (EPAM) Webinar Design Patterns
  • 33.
    Design Patterns inAutomation • 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.
  • 35.
    Programming Best Practices •(EPAM) Webinar SOLID • Books – «Чистый код: создание, анализ и рефакторинг. Библиотека программиста» Р. Мартина, «Совершенный код. Мастер-класс» С. Макконела, «Паттерны проектирования» с примерами на Java, «Рефакторинг. Улучшение существующего кода» Мартина Фаулера, «Эффективная работа с унаследованным кодом» М. Физерса
  • 36.
  • 37.
    Types of Testing •Book Святослав Куликов «Тестирование программного обеспечения. Базовый курс», раздел «2.3. Виды и направления тестирования»
  • 38.
  • 39.
    Test Plan/Test Strategy •Book Святослав Куликов «Тестирование программного обеспечения. Базовый курс», раздел «2.6. Оценка трудозатрат, планирование, отчетность»
  • 40.
  • 41.
    CI Organization. Differencebetween CI/CD • Do you have Continuous Integration at your project? • (EPAM) Webinars - Infrastructure: Continuous Integration Concepts (Jenkins) (Part 1/2), Infrastructure: Continuous Integration Concepts (Jenkins) (Part 2/2), Continuous Integration with Jenkins
  • 42.
    Reporting tools (Reportportal, Serenity, Allure). Explain difference
  • 43.
    Reporting tools (Reportportal, 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.
  • 45.
    Automation metrics • Findout which metrics are being used at your project • Presentation Антон Семенченко «Quality Assurance, Quality Control и метрики Автоматизированного тестирования на пальцах»
  • 46.
    Communication with developers,how did they help you?
  • 47.
  • 48.
    Git • Book ProGit • Course Git How To
  • 49.
  • 50.
    BDD • (EPAM) WebinarsArchitecture Aspects - BDD, BDD Frameworks Overview • Book «The Cucumber for Java Book: Behaviour-Driven Development for Testers and Developers» • Presentation Яков Крамаренко «Dont be fooled with BDD, automation engineer! ;)»
  • 51.
    Code review. Howis it conducted?
  • 52.
    Code review. Howis it conducted? • (EPAM) Webinar Code quality and Code review
  • 53.
    Coding standards. (Google,Oracle, Microsoft)
  • 54.
    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.
  • 56.
    Leading teams, delegation •Quite often Senior specialist is in charge of leading QA team at his/her project so knowing the basics of management is important • (EPAM) Webinars Leading Testing and Development Team Part 1, Leading Testing and Development Team Part 2
  • 57.
  • 58.
    Conflict management • Understandhow to behave in case of conflicts • (EPAM) Webinar Conflict Management
  • 59.
  • 60.
    Business communication • Itis important for a Senior engineer to be able to communicate with customers fluently • (EPAM) Trainings Communications Basic, Business Correspondence Part 1, Business Correspondence Part 2
  • 61.
    Best advice • Ifyou want to grow further be proactive, show initiative, don’t be afraid to take responsibility, accomplish tasks, learn continuously
  • 62.