HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-02-26
1 <p>Само по себе тестирование - это дорогой процесс, поэтому все стремятся его удешевить. Теоретически, ради удешевления можно сократить зарплату тестировщиков, но это обязательно вызовет недовольство сотрудников и скажется на качестве тестирования.</p>
1 <p>Само по себе тестирование - это дорогой процесс, поэтому все стремятся его удешевить. Теоретически, ради удешевления можно сократить зарплату тестировщиков, но это обязательно вызовет недовольство сотрудников и скажется на качестве тестирования.</p>
2 <p>Поступать так радикально необязательно. Есть и другие способы оптимизировать тестирование, причем без потери качества. Именно эти способы мы рассмотрим в этом уроке.</p>
2 <p>Поступать так радикально необязательно. Есть и другие способы оптимизировать тестирование, причем без потери качества. Именно эти способы мы рассмотрим в этом уроке.</p>
3 <h2>Как оптимизировать тестирование</h2>
3 <h2>Как оптимизировать тестирование</h2>
4 <p>Рассмотрим самые распространенные способы оптимизировать затраты на тестирование без потери качества:</p>
4 <p>Рассмотрим самые распространенные способы оптимизировать затраты на тестирование без потери качества:</p>
5 <p><strong>Написание тест-кейсов</strong>. Они подробно описывают весь контекст, тем самым помогая быстрее проверять функциональность продукта. С тест-кейсами тестировщикам не нужно каждый раз вспоминать, что именно нужно проверить, как это проверить, где взять тестовые данные.</p>
5 <p><strong>Написание тест-кейсов</strong>. Они подробно описывают весь контекст, тем самым помогая быстрее проверять функциональность продукта. С тест-кейсами тестировщикам не нужно каждый раз вспоминать, что именно нужно проверить, как это проверить, где взять тестовые данные.</p>
6 <p><strong>Использование систем управления тестированием</strong>(<em>Test Management System</em>или<em>TMS</em>). Они ускоряют тестирование, позволяя тестировщикам легко находить нужные тест-кейсы и быстро проставлять статусы. Другими словами, такие системы автоматизируют рутинные задачи, что особенно важно, если приходится регулярно тестировать тысячи тест-кейсов.</p>
6 <p><strong>Использование систем управления тестированием</strong>(<em>Test Management System</em>или<em>TMS</em>). Они ускоряют тестирование, позволяя тестировщикам легко находить нужные тест-кейсы и быстро проставлять статусы. Другими словами, такие системы автоматизируют рутинные задачи, что особенно важно, если приходится регулярно тестировать тысячи тест-кейсов.</p>
7 <p><strong>Выбор значимых значений и авто-тесты</strong>. Чтобы тщательно проверить код, необязательно тестировать его со всеми возможными данными - достаточно выбрать только значимые значения. Будет еще эффективнее, если дополнить такой подход автоматизацией. Автоматические тесты выполняются быстро, без ошибок и без участия человека. Так они освобождают время тестировщика на более важные задачи.</p>
7 <p><strong>Выбор значимых значений и авто-тесты</strong>. Чтобы тщательно проверить код, необязательно тестировать его со всеми возможными данными - достаточно выбрать только значимые значения. Будет еще эффективнее, если дополнить такой подход автоматизацией. Автоматические тесты выполняются быстро, без ошибок и без участия человека. Так они освобождают время тестировщика на более важные задачи.</p>
8 <p><strong>Пирамида тестирования</strong>. Она помогает соблюдать верную иерархию уровней тестирования. Это эффективный инструмент с множеством нюансов, поэтому в подробностях мы обсудим его далее в курсе.</p>
8 <p><strong>Пирамида тестирования</strong>. Она помогает соблюдать верную иерархию уровней тестирования. Это эффективный инструмент с множеством нюансов, поэтому в подробностях мы обсудим его далее в курсе.</p>
9 <p><strong>Сдвиг тестирования влево</strong>. Это стратегия, при которой тестировщики очень рано подключаются к работе над продуктом. Чем раньше мы находим ошибки, тем проще их исправлять. Поэтому тестирование стоит начинать не после разработки, а раньше - на этапе обдумывания идеи, формирования требований и дизайна интерфейса. При сдвиге тестирования влево к финалу разработки в продукте почти не остается дефектов, поэтому продукт быстрее достигает рынка.</p>
9 <p><strong>Сдвиг тестирования влево</strong>. Это стратегия, при которой тестировщики очень рано подключаются к работе над продуктом. Чем раньше мы находим ошибки, тем проще их исправлять. Поэтому тестирование стоит начинать не после разработки, а раньше - на этапе обдумывания идеи, формирования требований и дизайна интерфейса. При сдвиге тестирования влево к финалу разработки в продукте почти не остается дефектов, поэтому продукт быстрее достигает рынка.</p>
10 <p><strong>Командная работа на каждом этапе</strong>. Чем больше специалистов задействовано на каждом этапе, тем меньше проблем в проекте. Для примера представим аналитика, который формирует требования к продукту в одиночку. Без участия разработчика, дизайнера и тестировщика он может упустить технические особенности, трудоемкие решения, сложные фичи и другие подводные камни. Все это приведет к дорогим и долгим исправлениям на поздних этапах.</p>
10 <p><strong>Командная работа на каждом этапе</strong>. Чем больше специалистов задействовано на каждом этапе, тем меньше проблем в проекте. Для примера представим аналитика, который формирует требования к продукту в одиночку. Без участия разработчика, дизайнера и тестировщика он может упустить технические особенности, трудоемкие решения, сложные фичи и другие подводные камни. Все это приведет к дорогим и долгим исправлениям на поздних этапах.</p>
11 <p>Будет эффективнее, если команда обсудит требования и учтет все детали заранее. В этом случае не придется переделывать продукт на поздних этапах - продукт быстрее выйдет на рынок.</p>
11 <p>Будет эффективнее, если команда обсудит требования и учтет все детали заранее. В этом случае не придется переделывать продукт на поздних этапах - продукт быстрее выйдет на рынок.</p>
12 <p><strong>Линтеры</strong>. В языке программирования Java есть<em>null pointer exception</em>- эта ошибка, которая останавливает программу, если какая-то функция обращается к объекту со значением null. Работать с подобными ошибками можно так - тестировщики ищут ошибку, находят ее, ставят задачу на исправление, а затем разработчики переписывают код.</p>
12 <p><strong>Линтеры</strong>. В языке программирования Java есть<em>null pointer exception</em>- эта ошибка, которая останавливает программу, если какая-то функция обращается к объекту со значением null. Работать с подобными ошибками можно так - тестировщики ищут ошибку, находят ее, ставят задачу на исправление, а затем разработчики переписывают код.</p>
13 <p>Но есть и более эффективный путь -<strong>линтер</strong>. Это программа, которая автоматически обнаруживает ошибки и предупреждает разработчика о них. С помощью линтеров разработчик пишет код и сразу отлаживает его. Так часть ошибок устраняется на раннем этапе, что экономит время тестировщика.</p>
13 <p>Но есть и более эффективный путь -<strong>линтер</strong>. Это программа, которая автоматически обнаруживает ошибки и предупреждает разработчика о них. С помощью линтеров разработчик пишет код и сразу отлаживает его. Так часть ошибок устраняется на раннем этапе, что экономит время тестировщика.</p>
14 <p><strong>Непрерывная интеграция и деплой</strong>. Есть еще один тип ошибок - ошибки конфигурации. Справиться с ними помогает Docker - инструмент непрерывной интеграции и деплоя. У него есть ядро своей операционной системы, поэтому приложение работает в одной конфигурации на разных операционных системах. Таким образом, Docker не только ускоряет тестирование, но и обеспечивает большую стабильность и качество приложения.</p>
14 <p><strong>Непрерывная интеграция и деплой</strong>. Есть еще один тип ошибок - ошибки конфигурации. Справиться с ними помогает Docker - инструмент непрерывной интеграции и деплоя. У него есть ядро своей операционной системы, поэтому приложение работает в одной конфигурации на разных операционных системах. Таким образом, Docker не только ускоряет тестирование, но и обеспечивает большую стабильность и качество приложения.</p>