->
Независимо от того, какой проект, организация или подход, всегда есть место для документации. Хорошая документация — это находка, обеспечивающая полезную информацию о подходе, объеме, планах, проектах и результатах анализа, разработки и тестирования.
Ценность документации
Содержание
В структурированных проектах документы обычно считаются самостоятельными результатами. В Agile или непрерывных режимах документация может создаваться как побочный продукт большей или меньшей ценности.
Написание документов может быть основной деятельностью профессиональных технических писателей, но для большинства практиков это рутинная работа, какой бы полезной она ни была. В то время как написание документов может быть скучным для некоторых людей, реальная проблема с документацией заключается в том, что во многих случаях большая часть документации является просто пустой тратой времени. Он малоценен, устарел, неточен — или все три вместе.
Каждый менеджер по тестированию написал стратегии тестирования, которые люди не читали и не верили в них. Тестировщики пишут множество планов тестирования, сценариев и отчетов, и единственным содержанием, представляющим ценность для заинтересованных сторон, являются одностраничные сводки в начале или в конце.
У нас есть все письменные документы, которые, как мы знаем, малоценны и никто не будет их читать.
Это происходит из-за общих проблем с документацией, с которыми мы сталкиваемся в больших и малых проектах. Для каждого документа, который мы пишем, есть несколько вопросов, на которые мы должны ответить:
- Какой тип документа? Политика или стратегия, подход или план, дизайн или реализация, результат и интерпретация?
- Какова цель документа?
- Какой контент необходим для достижения этой цели?
- Какие источники знаний необходимы для создания контента?
- Если документ должен изменяться с течением времени, как он будет поддерживаться?
- Какой уровень детализации требуется?
Опасности шаблонов и вырезания/вставки
Если ваш проект определяет, что требуется определенный документ, скажем, план тестирования системы или реестр рисков, возникает соблазн найти готовый шаблон для этих (и многих других типов документов) в Интернете.
Некоторые шаблоны могут претендовать на соответствие какому-либо стандарту или соглашению, а также быть загруженными и использованными тысячи раз. Иногда может показаться, что шаблон точно соответствует вашей цели. Но, как мы увидим, даже если оглавление выглядит исчерпывающим, оно может навлечь на вас неприятности.
Также может случиться так, что вы или другие сотрудники вашей компании подготовили аналогичный документ для предыдущих проектов. У вас может возникнуть соблазн скопировать и переименовать этот документ, изменить ссылки на старый проект и соответствующим образом отредактировать содержимое.
Предупреждение. Судя по моему опыту независимого рецензента, это очень распространенная и часто реальная проблема.
Во-первых, обычно совершенно очевидно, что была сделана копия/редактирование. Язык, используемый в тексте, часто кажется оторванным от проекта, везде есть пробелы и лишний текст. Почему это?
Использование предварительно сформированного шаблона или существующего документа в качестве источника несет в себе несколько рисков:
- Он выглядит всеобъемлющим, но может включать неуместные темы и исключать другие важные.
- Он предоставляет заголовки для документа, но абсолютно не указывает, какое содержание подходит для каждого заголовка.
- Он может содержать текст, который выглядит пригодным для повторного использования и скопирован без изменений из предыдущего несвязанного проекта, но этот текст может произвести неправильное впечатление, быть неточным или неполным.
Использование шаблонов для получения заголовков и базового макета форматирования может быть полезным, но основная проблема с шаблонами заключается в следующем:
Искушение шаблонов состоит в том, чтобы слишком доверять им, а затем писать вафли для различных разделов. В конце концов, вы можете подумать, что документ ставит «галочку», и его все равно никто не прочитает. Риск шаблонов заключается в том, что вы перестаете думать и пишете документ, который не имеет большой ценности.
Типы тестовой документации
В этом разделе мы рассмотрим различные формы тестовой документации и обсудим некоторые аспекты структурированных или гибких/непрерывных проектов по сравнению с традиционным водопадом.
Основной набор тестовых документов, как правило, делится на следующие категории:
- Политика и стратегия (иногда называемая генеральным планом тестирования)
- Определение теста (также известное как спецификация или планы тестирования, что сбивает с толку)
- Тестовый дизайн
- Тестовые случаи
- Тестовые процедуры или сценарии
- Выполнение теста
- Расписание
- Бревно
- Отчет об испытаниях
Приведенный выше диапазон типов документов охватывает определение процесса тестирования, ключевые действия по определению и выполнению, а также отчетность.
Есть несколько других документов, связанных с тестированием, которые в более бюрократических средах будут включать определения тестовой среды и процессы управления, процедуры приемки, процессы управления инцидентами и т. д. (мы рассмотрим управление инцидентами в следующей статье).
Еще одним очевидным упущением из вышеизложенного является общий план или график тестовых мероприятий. Расписание на самом деле не является тестовым документом, это подмножество общего плана проекта для структурированного проекта (мы также рассмотрим планирование расписания в следующей статье, так что следите за обновлениями!).
Политика, стратегия, генеральный план тестирования
Цель |
|
Содержание |
|
Источники |
|
техническое обслуживание |
|
Соображения Agile/Continuous Стратегия тестирования для agile-проектов с использованием Scrum, например, скорее всего, будет довольно краткой и состоять всего из нескольких страниц (если они вообще документированы). Процесс тестирования может не иметь стадий, но, скорее всего, будет определение тестирования на разных уровнях. Например:
То, как инструменты используются при тестировании разработчиками (например, с использованием BDD или TDD), скорее всего, останется недокументированным, но ожидается, что команды разработчиков будут развивать подход и поддерживать связь с другими членами группы по мере того, как они будут вносить новый код. Роль тестировщика может заключаться в интерактивном тестировании функций по мере их выпуска разработчиками или в роли тренера по тестированию для остальной части команды. Подобно использованию инструментов и/или TDD, способ работы будет меняться со временем и, возможно, никогда не будет официально задокументирован. |
Определение теста (дизайн, случаи, процедуры)
Цель |
|
Содержание |
|
Источники |
|
техническое обслуживание |
|
Соображения Agile/Continuous Область определения тестов — это то место, где подход к Agile наиболее заметно отличается от структурированных проектов. Потенциально тестировщики, которые сосредотачиваются на функциях по мере их выпуска, могут вообще не создавать никакой документации. Это уместно, если, например, существует общесистемная политика или устав для тестирования функций. Скорее всего, будет краткий устав для тестирования каждой функции в сеансе исследовательского тестирования. Устав похож на план на короткий период исследования. Устав обычно определяет:
Инструменты и истории BDD в выбранном формате, например истории и сценарии в формате Cucumber или Gherkin, могут обеспечить прослеживаемость и содержание, которые обеспечивают схемы и процедуры тестирования. Каждый сценарий с пунктами «дано/когда/затем» идентифицирует предварительные условия, входные данные и постусловия. Они ссылаются на одну функцию, поэтому они обеспечивают минимальный тестовый пример/процедуру и прослеживаются, по крайней мере, до функций. Тесты, предназначенные для запуска с помощью инструментов, могут иметь или не иметь промежуточной документации. Команды больше полагаются на наблюдение за автоматизированными тестами и таблицами тестовых данных, используемых автоматизированными сценариями, чем на документированные проекты тестов. |
Выполнение теста (расписание, журнал)
Цель |
|
Содержание |
|
Источники |
|
техническое обслуживание |
|
Agile/непрерывные соображения Если гибкие/непрерывные проекты не обязывают к документам определения тестов, они в некоторой степени компенсируют это, поощряя тестировщиков вести более качественные журналы выполнения тестов. Там, где тестирование выполняется сеансами в соответствии с чартерами, ожидается, что тестировщик будет вести хорошие записи тестов, которые они проводят. Существует несколько специализированных инструментов для протоколирования тестов, которые представляют собой нечто большее, чем записные книжки, поэтому многие тестировщики используют простые текстовые редакторы, блокноты или записные книжки. Журналы, как правило, используются для записи всех значительных действий и наблюдений в сеансах, пока они их выполняют. Типичный журнал исследовательского тестирования должен содержать такие аспекты, как:
Когда тестировщики регистрируют свою активность в сеансе в ведении заметок или других инструментах, они используют некоторую разметку или другой предметно-ориентированный язык для структурирования своих заметок. Их можно проанализировать с помощью простых внутренних инструментов, чтобы предоставить сводку активности для использования в отчете о тестировании. Тесты, выполняемые инструментами (проприетарными или открытыми), автоматически ведут журналы. Обычно к этим журналам можно обращаться с помощью инструмента или написанных пользователем процедур. |
Отчет об испытаниях
Цель |
|
Содержание |
|
Источники |
|
техническое обслуживание |
|
Agile/постоянные соображенияЦель отчета о тестировании в гибком проекте может охватывать одну итерацию или спринт, тестирование для выпуска или этап тестирования более высокого уровня, такой как интеграция или общая приемка системы. Как бы то ни было, цель неизменна. Большая часть содержания отчета о тестировании будет из инструментов или заметок тестировщиков. Описательная сводка результатов пишется руководителем тестирования или тестировщиком для этапа тестирования меньшего масштаба. Как обычно, отчет, скорее всего, будет менее формальным, и в нем, вероятно, будет меньше необработанных данных, которые могли бы лечь в основу сложного анализа. Конечно, во время итерации ход итерации с точки зрения функций или историй, доставленных, протестированных и одобренных пользователями, может регистрироваться в инструменте или на общедоступной доске KanBan. Этим способом, заинтересованные стороны информируются о прогрессе на протяжении всей итерации, и меньше необходимости в официальном отчете в конце периода тестирования. Видимость прогресса является ключевой задачей для agile-команд. Например, при регулярных, возможно, ежедневных митингах вокруг Scrum-доски члены команды постоянно делятся своим пониманием прогресса, задают вопросы друг другу и постоянно согласовывают позицию (и следующие шаги). Таким образом, формальный отчет об испытаниях может никогда не потребоваться, потому что команда всегда информирована и актуальна. Если тестировщики ведут письменные заметки о своих действиях во время сеанса, то нет доступных анализируемых данных для представления автоматических отчетов, поэтому отчеты о сеансе и ходе выполнения могут быть представлены публично, визуально. Это требует высокой степени дисциплины и хороших коммуникативных навыков со стороны тестировщиков. |
Некоторые советы
Тема документации в проектах является деликатной как для тестировщиков, так и для других членов команды проекта.
Большинство людей считают написание документации рутиной.
Вот некоторые вещи, которые следует учитывать при разработке документации.
- Документация должна иметь четко определенную цель и аудиторию. Если вашей аудитории не нужна документация, они не будут ее читать. Если это не резонирует с их собственными целями, они не купятся на это.
- Как правило, лучше записывать запись действия до или во время его выполнения. Например, TDD захватывает тесты до написания кода. Журналы тестового сеанса должны записываться во время сеанса, а не записываться после него.
- Необходимые данные для записи аспекта тестирования могут быть минимальными. Например, для тестировщика может быть достаточно теста, зарегистрированного в записной книжке, но его нелегко проанализировать. Возможно, простой текстовый журнал с некоторой разметкой будет так же быстро записывать, но его также можно будет проанализировать с помощью специального инструмента.
- Процедуры тестирования могут вообще не понадобиться, если тестировщики хорошо знают тестируемую систему. Возможно, нужна только тестовая цель или устав. Подготовленные тестовые случаи могут быть минимально задокументированы в электронной таблице.
Ну наконец то
Необходимость — мать документации.
Если вы готовите исчерпывающую документацию для своих заинтересованных сторон, а они ее не читают, то это потому, что они не видят в ней ценности.
Лучше представить заинтересованному лицу чистый лист бумаги и вместе добавить темы, которые им нужно увидеть в документе, и работать с ними. Может быть, они просят кучу контента, но то, что им на самом деле нужно, довольно простое. Продолжайте спрашивать: «Зачем им это нужно?»

Спасибо, что прочитали, присоединяйтесь к нам!