0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<ul><ul><li><ul><li><ul><li><a>Качество ПО оценивается тестировщиком по нескольким критериям:</a></li>
1
<ul><ul><li><ul><li><ul><li><a>Качество ПО оценивается тестировщиком по нескольким критериям:</a></li>
2
</ul></li>
2
</ul></li>
3
</ul></li>
3
</ul></li>
4
</ul><li><a>Круг обязанностей тестировщика</a></li>
4
</ul><li><a>Круг обязанностей тестировщика</a></li>
5
<li><a>Soft Skills тестировщика</a></li>
5
<li><a>Soft Skills тестировщика</a></li>
6
<li><a>Этапы и виды тестирования</a><ul><li><a>Модульное или юнит-тестирование (Unit Testing)</a></li>
6
<li><a>Этапы и виды тестирования</a><ul><li><a>Модульное или юнит-тестирование (Unit Testing)</a></li>
7
<li><a>Интеграционное тестирование</a></li>
7
<li><a>Интеграционное тестирование</a></li>
8
<li><a>Системное тестирование</a></li>
8
<li><a>Системное тестирование</a></li>
9
<li><a>Приемочное тестирование (User Acceptance Testing, UAT)</a></li>
9
<li><a>Приемочное тестирование (User Acceptance Testing, UAT)</a></li>
10
<li><a>Регрессионное тестирование</a></li>
10
<li><a>Регрессионное тестирование</a></li>
11
<li><a>Дымовое тестирование (Smoke Testing)</a></li>
11
<li><a>Дымовое тестирование (Smoke Testing)</a></li>
12
<li><a>Тестирование мобильных, веб-приложений и API</a></li>
12
<li><a>Тестирование мобильных, веб-приложений и API</a></li>
13
</ul></li>
13
</ul></li>
14
</ul><p>Тестировщик (инженер по тестированию, специалист по тестированию, ручной тестировщик, manual Test Engineer) - специалист, который занимается тестированием программного обеспечения с целью его проверки на соответствие требованиям. Кроме этого, целями тестирования являются оценка качества продукта и информирование команды о качестве. В задачи тестировщика входят:</p>
14
</ul><p>Тестировщик (инженер по тестированию, специалист по тестированию, ручной тестировщик, manual Test Engineer) - специалист, который занимается тестированием программного обеспечения с целью его проверки на соответствие требованиям. Кроме этого, целями тестирования являются оценка качества продукта и информирование команды о качестве. В задачи тестировщика входят:</p>
15
<ol><li>Анализ требований (собирается из документации - ТЗ, спецификации и из уст членов команды - например, менеджера и аналитика)</li>
15
<ol><li>Анализ требований (собирается из документации - ТЗ, спецификации и из уст членов команды - например, менеджера и аналитика)</li>
16
<li>Разработка тестовой документации (чек-листы, тест-кейсы, сьют-кейсы)</li>
16
<li>Разработка тестовой документации (чек-листы, тест-кейсы, сьют-кейсы)</li>
17
<li>Создание среды тестирования</li>
17
<li>Создание среды тестирования</li>
18
<li>Выполнение тестов</li>
18
<li>Выполнение тестов</li>
19
<li>Документирование результатов тестирования (в том числе заведение баг-репортов)</li>
19
<li>Документирование результатов тестирования (в том числе заведение баг-репортов)</li>
20
</ol><h5>Качество ПО оценивается тестировщиком по нескольким критериям:</h5>
20
</ol><h5>Качество ПО оценивается тестировщиком по нескольким критериям:</h5>
21
<ul><li>Функциональность - продукт решает заявленную бизнес-задачу.</li>
21
<ul><li>Функциональность - продукт решает заявленную бизнес-задачу.</li>
22
<li>Надежность - продолжает работать в условиях нехватки ресурсов (например, мобильное приложение при низком заряде устройства).</li>
22
<li>Надежность - продолжает работать в условиях нехватки ресурсов (например, мобильное приложение при низком заряде устройства).</li>
23
<li>Удобство использования (usability) - пользователь может достичь своей цели во время использования продукта максимально быстро и комфортно.</li>
23
<li>Удобство использования (usability) - пользователь может достичь своей цели во время использования продукта максимально быстро и комфортно.</li>
24
<li>Эффективность - приложение расходует ресурсы оптимально (например, расход приложением оперативной памяти).</li>
24
<li>Эффективность - приложение расходует ресурсы оптимально (например, расход приложением оперативной памяти).</li>
25
<li>Сопровождаемость - можно без особых трудностей разобраться, как работает ПО, чтобы его поддерживать.</li>
25
<li>Сопровождаемость - можно без особых трудностей разобраться, как работает ПО, чтобы его поддерживать.</li>
26
<li>Переносимость - возможно ли перенести на другую платформу, использовать в новом окружении.</li>
26
<li>Переносимость - возможно ли перенести на другую платформу, использовать в новом окружении.</li>
27
</ul><h2>Круг обязанностей тестировщика</h2>
27
</ul><h2>Круг обязанностей тестировщика</h2>
28
<p>Чтобы сформировать более полное представление о том, чем конкретно занимаются специалисты по тестированию, давайте подробнее рассмотрим их задачи.Мы уже упомянули главные<a>стадии тестирования</a>, за прохождение которых ответственен тестировщик:</p>
28
<p>Чтобы сформировать более полное представление о том, чем конкретно занимаются специалисты по тестированию, давайте подробнее рассмотрим их задачи.Мы уже упомянули главные<a>стадии тестирования</a>, за прохождение которых ответственен тестировщик:</p>
29
<p>Теперь посмотрим на список чаще всего встречающихся конкретных обязанностей и задач, которые предлагаются специалисту уровня Junior.</p>
29
<p>Теперь посмотрим на список чаще всего встречающихся конкретных обязанностей и задач, которые предлагаются специалисту уровня Junior.</p>
30
<ul><li>Анализ документации (например, в Confluence);</li>
30
<ul><li>Анализ документации (например, в Confluence);</li>
31
<li>Анализ и тестирование требований по проекту;</li>
31
<li>Анализ и тестирование требований по проекту;</li>
32
<li>Разработка и поддержка тестовой документации: написание чек-листов, тест-кейсов и сьют-кейсов, тест-планов;</li>
32
<li>Разработка и поддержка тестовой документации: написание чек-листов, тест-кейсов и сьют-кейсов, тест-планов;</li>
33
<li>Построение стратегии тестирования фич;</li>
33
<li>Построение стратегии тестирования фич;</li>
34
<li>Управление подготовкой тестовых сред;</li>
34
<li>Управление подготовкой тестовых сред;</li>
35
<li>Поднятие сервисов для локального тестирования;</li>
35
<li>Поднятие сервисов для локального тестирования;</li>
36
<li>Функциональное и регрессионное тестирование приложений и интеграции с другими приложениями;</li>
36
<li>Функциональное и регрессионное тестирование приложений и интеграции с другими приложениями;</li>
37
<li>Тестирование исправления багов (регрессионное тестирование);</li>
37
<li>Тестирование исправления багов (регрессионное тестирование);</li>
38
<li>Тестирование новых фич;</li>
38
<li>Тестирование новых фич;</li>
39
<li>Нагрузочные испытания обмена между оборудованием<a>и ПО</a>;</li>
39
<li>Нагрузочные испытания обмена между оборудованием<a>и ПО</a>;</li>
40
<li>Анализ результатов тестирования;</li>
40
<li>Анализ результатов тестирования;</li>
41
<li>Анализ причин возникновения ошибок для выявления места возникновения ошибки: фронтенд, бэкенд, смежные системы;</li>
41
<li>Анализ причин возникновения ошибок для выявления места возникновения ошибки: фронтенд, бэкенд, смежные системы;</li>
42
<li>Анализ, заведение и валидация дефектов, оформление дефектов в багтрекинговой системе (например, в Jira);</li>
42
<li>Анализ, заведение и валидация дефектов, оформление дефектов в багтрекинговой системе (например, в Jira);</li>
43
<li>Подготовка отчетной информации о статусе тестирования, участие во встречах по статусу разработки проекта.</li>
43
<li>Подготовка отчетной информации о статусе тестирования, участие во встречах по статусу разработки проекта.</li>
44
</ul><p>А также:</p>
44
</ul><p>А также:</p>
45
<ul><li>Взаимодействие с командой (менеджер, архитектор, аналитик, разработчик, DevOps, поддержка пользователей);</li>
45
<ul><li>Взаимодействие с командой (менеджер, архитектор, аналитик, разработчик, DevOps, поддержка пользователей);</li>
46
<li>Составление пользовательской документации для системы; </li>
46
<li>Составление пользовательской документации для системы; </li>
47
<li>Поддержка тестовой документации в актуальном состоянии;</li>
47
<li>Поддержка тестовой документации в актуальном состоянии;</li>
48
<li>Работа с базами данных и другими инструментами для тестирования.</li>
48
<li>Работа с базами данных и другими инструментами для тестирования.</li>
49
</ul><h2>Soft Skills тестировщика</h2>
49
</ul><h2>Soft Skills тестировщика</h2>
50
<ul><li>Аналитическое мышление: обработка и структурирование большого объема информации, формирование причинно-следственных связей, поиск взаимосвязей между объектами, формулирование выводов.</li>
50
<ul><li>Аналитическое мышление: обработка и структурирование большого объема информации, формирование причинно-следственных связей, поиск взаимосвязей между объектами, формулирование выводов.</li>
51
<li>Коммуникативные навыки, грамотное и ясное формулирование мыслей: аргументирование точки зрения, ясная постановка вопросов.</li>
51
<li>Коммуникативные навыки, грамотное и ясное формулирование мыслей: аргументирование точки зрения, ясная постановка вопросов.</li>
52
<li>Организационные навыки: планирование задач и времени, непрерывный анализ процессов и их улучшение, оценка рисков.</li>
52
<li>Организационные навыки: планирование задач и времени, непрерывный анализ процессов и их улучшение, оценка рисков.</li>
53
<li>Любопытство. Интерес, как все устроено.</li>
53
<li>Любопытство. Интерес, как все устроено.</li>
54
<li>Внимательность к деталям.</li>
54
<li>Внимательность к деталям.</li>
55
<li>Желание сделать продукт лучше.</li>
55
<li>Желание сделать продукт лучше.</li>
56
</ul><p>Хороший тестировщик ищет наиболее эффективные процессы для достижения цели, с акцентом на постоянное совершенствование. Отслеживает результаты работы и стремится оставаться эффективным, извлекая уроки как из успехов, так и из неудач. С готовностью принимает вызовы или трудные задачи. Самостоятельно разбирается с объемной и сложной информацией, чтобы эффективно решать поставленные задачи. Налаживает партнерские отношения с другими членами команды, обменивается информацией, демонстрирует уважение к идеям и вкладу других, не поддерживает мышление "мы против них".</p>
56
</ul><p>Хороший тестировщик ищет наиболее эффективные процессы для достижения цели, с акцентом на постоянное совершенствование. Отслеживает результаты работы и стремится оставаться эффективным, извлекая уроки как из успехов, так и из неудач. С готовностью принимает вызовы или трудные задачи. Самостоятельно разбирается с объемной и сложной информацией, чтобы эффективно решать поставленные задачи. Налаживает партнерские отношения с другими членами команды, обменивается информацией, демонстрирует уважение к идеям и вкладу других, не поддерживает мышление "мы против них".</p>
57
<h2>Этапы и виды тестирования</h2>
57
<h2>Этапы и виды тестирования</h2>
58
<p>Чтобы получить представление о рабочих циклах тестировщика, рассмотрим разные этапы и виды тестирования. Оговоримся, что классификации видов тестирования бывают различными, здесь не представлен исчерпывающий и единственно возможный список видов.</p>
58
<p>Чтобы получить представление о рабочих циклах тестировщика, рассмотрим разные этапы и виды тестирования. Оговоримся, что классификации видов тестирования бывают различными, здесь не представлен исчерпывающий и единственно возможный список видов.</p>
59
<h3><strong>Модульное или юнит-тестирование (Unit Testing)</strong></h3>
59
<h3><strong>Модульное или юнит-тестирование (Unit Testing)</strong></h3>
60
<p>Это тестирование не всей системы целиком, а отдельных ее компонентов. Выполняется для того, чтобы убедиться, что каждая часть кода дает ожидаемый результат. В соответствии с различными классификациями считается первым уровнем тестирования и часто выполняется самими разработчиками. На данном уровне баги относительно несложно локализовать и исправить.</p>
60
<p>Это тестирование не всей системы целиком, а отдельных ее компонентов. Выполняется для того, чтобы убедиться, что каждая часть кода дает ожидаемый результат. В соответствии с различными классификациями считается первым уровнем тестирования и часто выполняется самими разработчиками. На данном уровне баги относительно несложно локализовать и исправить.</p>
61
<h3><strong>Интеграционное тестирование</strong></h3>
61
<h3><strong>Интеграционное тестирование</strong></h3>
62
<p>В ходе интеграционного тестирования выполняют проверки того, насколько корректно взаимодействуют друг с другом отдельные компоненты. Такая необходимость возникает в том числе потому, что зачастую разные модули разрабатываются разными разработчиками параллельно. Интеграционное тестирование проводится с целью убедиться, что модули действуют как части целой системы, а не как отдельные компоненты. </p>
62
<p>В ходе интеграционного тестирования выполняют проверки того, насколько корректно взаимодействуют друг с другом отдельные компоненты. Такая необходимость возникает в том числе потому, что зачастую разные модули разрабатываются разными разработчиками параллельно. Интеграционное тестирование проводится с целью убедиться, что модули действуют как части целой системы, а не как отдельные компоненты. </p>
63
<h3><strong>Системное тестирование</strong></h3>
63
<h3><strong>Системное тестирование</strong></h3>
64
<p>На уровне системного тестирования, как понятно из названия, проводятся тесты, проверяющие всю систему целиком. Смысл этого вида тестирования состоит в том, чтобы протестировать программное обеспечение на различных входных данных, чтобы найти как можно больше багов. </p>
64
<p>На уровне системного тестирования, как понятно из названия, проводятся тесты, проверяющие всю систему целиком. Смысл этого вида тестирования состоит в том, чтобы протестировать программное обеспечение на различных входных данных, чтобы найти как можно больше багов. </p>
65
<h3><strong>Приемочное тестирование (</strong><strong>User Acceptance Testing, UAT</strong><strong>)</strong></h3>
65
<h3><strong>Приемочное тестирование (</strong><strong>User Acceptance Testing, UAT</strong><strong>)</strong></h3>
66
<p>На этом последнем этапе продукт тестируется непосредственно конечными пользователями - заинтересованными сторонами с целью проверки, удовлетворяет ли продукт заявленным требованиям.</p>
66
<p>На этом последнем этапе продукт тестируется непосредственно конечными пользователями - заинтересованными сторонами с целью проверки, удовлетворяет ли продукт заявленным требованиям.</p>
67
<p>И еще пару слов об одних из самых распространенных видах тестирования.</p>
67
<p>И еще пару слов об одних из самых распространенных видах тестирования.</p>
68
<h3><strong>Регрессионное тестирование</strong></h3>
68
<h3><strong>Регрессионное тестирование</strong></h3>
69
<p>Всякий раз, когда разработчики как-либо модифицируют функциональность, существует вероятность того, что эти обновления могут привести к неожиданному поведению системы. Его цель - убедиться, что внесенные изменения в программу не повлекли за собой появление новых багов или возвращение старых.</p>
69
<p>Всякий раз, когда разработчики как-либо модифицируют функциональность, существует вероятность того, что эти обновления могут привести к неожиданному поведению системы. Его цель - убедиться, что внесенные изменения в программу не повлекли за собой появление новых багов или возвращение старых.</p>
70
<h3><strong>Дымовое тестирование (Smoke Testing)</strong></h3>
70
<h3><strong>Дымовое тестирование (Smoke Testing)</strong></h3>
71
<p>Этими тестами покрывают наиболее важные функциональности системы. Цель состоит в том, чтобы убедиться, что критически важные части системы работают, как ожидается. В этом случае не проводится исчерпывающее тестирование всех компонентов. Это первое тестирование, которое совершается с новой сборкой. После того, как с помощью дымового тестирования убеждаются в то, что система в целом стабильна, приступают к следующему уровню тестирования.</p>
71
<p>Этими тестами покрывают наиболее важные функциональности системы. Цель состоит в том, чтобы убедиться, что критически важные части системы работают, как ожидается. В этом случае не проводится исчерпывающее тестирование всех компонентов. Это первое тестирование, которое совершается с новой сборкой. После того, как с помощью дымового тестирования убеждаются в то, что система в целом стабильна, приступают к следующему уровню тестирования.</p>
72
<h3>Тестирование мобильных, веб-приложений и API</h3>
72
<h3>Тестирование мобильных, веб-приложений и API</h3>
73
<p>Тестировщики могут заниматься<strong><a>тестированием веб-приложений</a></strong>, мобильных приложений, тестированием API. Для каждого случая будут свои вспомогательные инструменты. Для проведения тестирования веб-приложений используются инструменты веб-разработчика в браузере (Devtools), Charles/Fiddles для работы с HTTP(S)-трафиком, пригодятся знания об HTTP и основы верстки. </p>
73
<p>Тестировщики могут заниматься<strong><a>тестированием веб-приложений</a></strong>, мобильных приложений, тестированием API. Для каждого случая будут свои вспомогательные инструменты. Для проведения тестирования веб-приложений используются инструменты веб-разработчика в браузере (Devtools), Charles/Fiddles для работы с HTTP(S)-трафиком, пригодятся знания об HTTP и основы верстки. </p>
74
<p>Для мобильного тестирования в компаниях обычно содержится целый "парк" устройств разных производителей, моделей, размеров и разрешений экранов, с разными установленными на них ОС. В ситуациях, когда тестирование на реальном устройстве в силу каких-то причин провести не представляется возможным, пользуются приложением-эмулятором, например Android Studio, который позволяет создать устройства с различными характеристиками и имитировать необходимые действия и состояния. </p>
74
<p>Для мобильного тестирования в компаниях обычно содержится целый "парк" устройств разных производителей, моделей, размеров и разрешений экранов, с разными установленными на них ОС. В ситуациях, когда тестирование на реальном устройстве в силу каких-то причин провести не представляется возможным, пользуются приложением-эмулятором, например Android Studio, который позволяет создать устройства с различными характеристиками и имитировать необходимые действия и состояния. </p>
75
<p>Тестирование API относится к интеграционному виду тестирования (о котором рассказывали выше) и позволяет обнаружить баги в процессе взаимодействия разных систем. Также тестирование API может применяться, когда например<a>серверная часть</a>приложения уже готова, а клиент (фронт) еще в разработке. С помощью такого инструмента как Postman можно имитировать совершение запросов к серверу, как если бы это делал пользователь через пользовательский интерфейс, а также проверить, корректно ли взаимодействует сервер с базой данных. Также для тестирования API пригодятся знания о протоколе обмена данными SOAP, архитектурном стиле REST, форматах данных JSON и XML.</p>
75
<p>Тестирование API относится к интеграционному виду тестирования (о котором рассказывали выше) и позволяет обнаружить баги в процессе взаимодействия разных систем. Также тестирование API может применяться, когда например<a>серверная часть</a>приложения уже готова, а клиент (фронт) еще в разработке. С помощью такого инструмента как Postman можно имитировать совершение запросов к серверу, как если бы это делал пользователь через пользовательский интерфейс, а также проверить, корректно ли взаимодействует сервер с базой данных. Также для тестирования API пригодятся знания о протоколе обмена данными SOAP, архитектурном стиле REST, форматах данных JSON и XML.</p>
76
<p>Однако ручное тестирование - это начало, основа. Следующим шагом после налаживания четких процессов ручного тестирования во многих компаниях становится автоматизация тестов. OTUS предлагает несколько курсов, которые помогут погрузиться в нюансы автоматизации тестирования:</p>
76
<p>Однако ручное тестирование - это начало, основа. Следующим шагом после налаживания четких процессов ручного тестирования во многих компаниях становится автоматизация тестов. OTUS предлагает несколько курсов, которые помогут погрузиться в нюансы автоматизации тестирования:</p>
77
<ul><li><a>Автоматизация тестирования на JavaScript</a></li>
77
<ul><li><a>Автоматизация тестирования на JavaScript</a></li>
78
<li><a>Автоматизация тестирования на Java</a></li>
78
<li><a>Автоматизация тестирования на Java</a></li>
79
<li><a>Автоматизация тестирования на Python</a></li>
79
<li><a>Автоматизация тестирования на Python</a></li>
80
</ul><p>Также предлагаем ознакомиться с интересными статьями на тему тестирования ПО в блоге OTUS на Хабр:</p>
80
</ul><p>Также предлагаем ознакомиться с интересными статьями на тему тестирования ПО в блоге OTUS на Хабр:</p>
81
<ul><li><a>A/B Тестирование: Основы</a></li>
81
<ul><li><a>A/B Тестирование: Основы</a></li>
82
<li><a>Тестирование скриншотами</a></li>
82
<li><a>Тестирование скриншотами</a></li>
83
<li><a>Процесс автоматизированного тестирования за 10 шагов</a></li>
83
<li><a>Процесс автоматизированного тестирования за 10 шагов</a></li>
84
</ul><p>Ознакомиться с вакансиями для тестировщиков можно на<strong><a>Jooble</a></strong>. </p>
84
</ul><p>Ознакомиться с вакансиями для тестировщиков можно на<strong><a>Jooble</a></strong>. </p>
85
<a></a>
85
<a></a>