Распространенные поисковые запросы, часть 4: "Как осуществляется тестирование?" |
06.07.2021 00:00 |
Автор: Ли Хокинс (Lee Hawkins) Это четвертая часть серии статей, в которой я отвечаю на самые популярные вопросы о тестировании согласно результатам автодополнения поисковой системы. В этой статье я разбираюсь с вопросом "Как осуществляется тестирование?" (и связанными с ним вопросами – "каковы методологии тестирования", "каков у тестирования жизненный цикл" и "как выглядит процесс тестирования"). Существует множество способов проведения тестирования – разные люди в разных организациях имеют разные представления о том, что такое "хорошее тестирование". Не поддавайтесь соблазну подумать, что существует "один верный способ" проводить тестирования? Это не так – не существует единственного, общепринятого, достоверного официального способа выполнить тестирования – и я считаю, что это хорошо. Поэтому вопрос, возможно, должен звучать как "Как может проводиться тестирование?" – и для ответа на этот вопрос очень важно понимать контекст. Джеймс Бах определяет "контекст" следующим образом: "Говоря о контексте, я имею в виду общность ситуации, влияющей на успех или провал предприятия". (Dictionary.com схожим образом определяет контекст как "набор обстоятельств или фактов, окружающих определенное событие или ситуацию"). Первый принцип тестирования на основе контекста гласит, что "ценность любой практики зависит от ее контекста". В этом случае ваш подход к тестированию медицинского прибора (где результатом бага может стать чья-то смерть) будет отличаться от тестирования сайта для местного бизнеса. Контекст тут разный, и эта разница очень важна. Несмотря на существование книг или сертификаций, рассказывающих о "тест-процессе" или методологии, вы должны оценить контекст вашей конкретной ситуации, чтобы оценить, есть ли в этих процессах и методологиях нечто ценное, что вы можете применить. Помните, что тестирование требует широкого спектра навыков и видов деятельности: работа с другими людьми, формулирование гипотез, создание и изменение стратегий, критическое мышление и оценка, поиск правильных людей в случае нужды в помощи, оценка, что все это может означать в плане риска, а затем – поиск способов передать эту информацию веско и убедительно. Нам нужно думать о тестировании, как о деятельности, достаточно гибкой для того, чтобы покрывать эти навыки и направления работы в множестве различных контекстов. Эта цитата с context-driven-testing.com хорошо, по моему мнению, об этом говорит: "Тестирующие на основе контекста выбирают свои тест-задачи, техники и результаты работы (включая тест-документацию), начиная с рассмотрения деталей конкретной ситуации, включая потребности заинтересованных лиц, которые заказывают тестирование. Суть тестирования на основе контекста – это подходящее для проекта применение навыков и оценочных суждений. Школа тестирования на основе контекста основывает этот подход к тестированию на гуманистических социальных и этических принципах". В целом тестирование на основе контекста гласит, что мы должны сделать работу наилучшим образом, располагая тем, что мы получили. Вместо того, чтобы пытаться применять "лучшие практики", мы принимаем как факт, что очень разные практики (и даже разные определения распространенных терминов тестирования) будут наилучшим образом работать при определенных обстоятельствах. Учитывая все вышесказанное, единственная методология тестирования, которую я готов рекомендовать – это Rapid Software Testing (RST), разработанная Джеймсом Бахом и Майклом Болтоном. RST – это не обязывающий процесс, это способ понять тестирование с фокусом на контексте и людях. Это ответственный подход к тестированию, ставящий во главу угла людей, занимающихся тестированием, и людей, которым необходимо тестирование. Это методология (в смысле "система методов"), поддерживающая инструменты (также известные как "автоматизация"), но делающая при этом упор на роли опытного технического персонала, руководящего и направляющего процессы. RST – не набор шаблонов и правил, это образ мыслей и набор навыков. Это способ понять тестирование; это набор того, что тестировщик умеет делать; и она включает подходы к эффективному лидерству в тестировании. https://rapid-software-testing.com/about-rapid-software-testing/ RST поэтому сильно отличается от многих господствующих процессов и методологий, с которыми вы могли столкнуться в поиске ответов на вопрос, как осуществляется тестирование – например, ISTQB и TMap. Про них часто говорят как про "фабричное тестирование", и отличное резюме того, чем они отличаются от RST, можно найти здесь. Учитывая, какими разными будут ваш контекст и тест-миссия в разных проектах разных организаций в разное время для разных заказчиков, способ "осуществления тестирования" обязан быть достаточно адаптивным и гибким, чтобы подстраиваться под очень разные ситуации. Любой формальный процесс или методология, пытающаяся указывать, как надо тестировать, будет, скорее всего, неоптимальной в вашем контексте – поэтому я предлагаю размышлять так, как это предлагается в RST, и адаптировать свой подход к тестированию в зависимости от вашего контекста. |