Файл: Обеспечения Базовый курс (3е издание) Версия книги 2 от 17. 04. 2023.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 07.11.2023
Просмотров: 892
Скачиваний: 31
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
Указание в шагах воспроизведения информации, неважной для воспро-
изведения ошибки. Стремление прописать всё максимально подробно иногда принимает нездоровую форму, когда в отчёт о дефекте начинает попадать чуть ли не информация о погоде за окном и курс национальной валюты. Сравните:
Плохо
Хорошо
1.
Создать на диске «J:» каталог «Data».
2.
Разместить в созданном каталоге «Data» прилагаемые файлы «song1.mp3» разме- ром 999.99 Kb и «song2.mp3» размером
888.88 Kb.
3.
В поле «Где искать» указать «J:\Data».
4.
В выпадающем списке «Что искать» вы- брать «Аудиофайлы».
5.
Нажать кнопку «Искать».
Дефект: указанные в пункте 2 файлы не найдены.
1.
В произвольном месте на локальном диске разместить один (или более) файл с рас- ширением «.mp3».
2.
Установить параметры поиска («Что ис- кать» -> «Аудиофайлы», «Где искать» -> место расположения файла(ов) из пункта
1).
3.
Произвести поиск.
Дефект: приложение не обнаруживает файлы с расширением «.mp3».
Действительно ли для воспроизведения дефекта важно, чтобы поиск произ- водился на диске «J:»? Действительно ли важно производить поиск именно файлов с такими именами и размерами в таком каталоге? Возможно, в некоем бесконечно маловероятном случае и да, тогда вопрос снимается. Но, скорее всего, это совер- шенно не важно, и нет никакой необходимости записывать эту информацию. Для большей уверенности можно провести дополнительное исследование.
Отсутствие в шагах воспроизведения информации, важной для воспро-
изведения дефекта. Нет, мы не издеваемся, этот пункт действительно строго про- тивоположен предыдущему. Дефекты бывают разными. Очень разными. Иногда ка- кой-то ключевой «мелочи» не хватит, чтобы разработчику удалось воспроизвести дефект или даже просто понять его суть. Несколько реальных примеров (подчёрк- нуты те детали, отсутствие которых долго не позволяло воспроизвести дефект):
• Приложение не сохраняло пользовательские настройки в случае, если в пути к каталогу для их сохранения были пробелы (два и более подряд пробела).
• Приложение некорректно завершало работу при открытии файлов, размер которых не позволял прочитать их целиком в оперативную память, доступ- ный объём которой, в свою очередь, определяется значением параметра memory_limit в настройках среды исполнения.
• Приложение отображало неверную статистику работы пользователей, если в системе был хотя бы один пользователь, роль которого не была явно ука- зана (NULL-значение в таблице БД, неверная работа подзапроса).
Как понять, насколько подробно надо описывать такие детали? Исследова- нием. Мало просто обнаружить некий единичный случай неверного поведения при- ложения, нужно понять закономерность такого поведения и его источник. Тогда не- обходимая степень детализации становится очевидной.
Сюда же можно отнести пресловутую воспроизводимость «иногда». Нужно продолжать искать причины, смотреть код, консультироваться с коллегами, прово- дить дополнительные тесты, исследовать похожую функциональность в других ча- стях приложения, исследовать аналогичные приложения, «гуглить» и т.д. и т.п. Да, часть дефектов оказывается сильнее даже самых упорных тестировщиков, но вот процент таких дефектов можно очень сильно приблизить к нулю.
Типичные ошибки при написании отчётов о дефектах
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2023
Стр: 207/301
Игнорирование т.н. «последовательных дефектов». Иногда один дефект является следствием другого (допустим, файл повреждается при передаче на сер- вер, а затем приложение некорректно обрабатывает этот повреждённый файл). Да, если файл будет передан без повреждений, второй дефект может не проявиться.
Но может и проявиться в другой ситуации, т.к. проблема никуда не исчезла: прило- жение некорректно обрабатывает повреждённые файлы. Потому стоит описать оба дефекта.
Оценка трудозатрат, планирование и отчётность
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2023
Стр: 208/301
2.6.
Оценка трудозатрат, планирование и отчётность
2.6.1.
Планирование и отчётность
В главе «Логика создания эффективных проверок»
{152}
мы на примере «Кон- вертера файлов» рассуждали о том, как при минимальных трудозатратах получить максимальный эффект от тестирования. Это было достаточно просто, т.к. наше приложение смехотворно по своим масштабам. Но давайте представим, что тести- ровать приходится реальный проект, где требования в «страничном эквиваленте» занимают сотни и даже тысячи страниц. Также давайте вспомним главу «Подроб- ная классификация тестирования»
{69}
с её несколькими десятками видов тестирова- ния (и это без учёта того факта, что их можно достаточно гибко комбинировать, получая новые варианты) и подумаем, как применить все эти знания (и открывае- мые ими возможности) в крупном проекте.
Даже если допустить, что мы идеально знаем все технические аспекты пред- стоящей работы, неотвеченными остаются такие вопросы, как:
• Когда и с чего начать?
• Всё ли необходимое для выполнения работы у нас есть? Если нет, где взять недостающее?
• В какой последовательности выполнять разные виды работ?
• Как распределить ответственность между участниками команды?
• Как организовать отчётность перед заинтересованными лицами?
• Как объективно определять прогресс и достигнутые успехи?
• Как заранее увидеть возможные проблемы, чтобы успеть их предотвратить?
• Как организовать нашу работу так, чтобы при минимуме затрат получить мак- симум результата?
Эти и многие подобные им вопросы уже лежат вне технической области — они относятся к управлению проектом. Эта задача сама по себе огромна, потому мы рассмотрим лишь малую её часть, с которой многим тестировщикам приходится иметь дело, — планирование и отчётность.
Вспомним жизненный цикл тестирования
{27}
: каждая итерация начинается с планирования и заканчивается отчётностью, которая становится основой для пла- нирования следующей итерации — и так далее (см. рисунок 2.6.а). Таким образом, планирование и отчётность находятся в тесной взаимосвязи, и проблемы с одним из этих видов деятельности неизбежно приводят к проблемам с другим видом, а в конечном итоге и к проблемам с проектом в целом.
Рисунок 2.6.a — Взаимосвязь (взаимозависимость) планирования и отчётности
Работа
Отчётность
Планирование
Планирование и отчётность
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2023
Стр: 209/301
Если выразить эту мысль чётче и по пунктам, получается:
• Без качественного планирования не ясно, кому и что нужно делать.
• Когда не ясно, кому и что нужно делать, работа выполняется плохо.
• Когда работа выполнена плохо и не ясны точные причины, невозможно сде- лать правильные выводы о том, как исправить ситуацию.
• Без правильных выводов невозможно создать качественный отчёт о резуль- татах работы.
• Без качественного отчёта о результатах работы невозможно создать каче- ственный план дальнейшей работы.
• Всё. Порочный круг замкнулся. Проект умирает.
Казалось бы, так и в чём же сложность? Давайте будем хорошо планировать и писать качественные отчёты — и всё будет хорошо. Проблема в том, что соответ- ствующие навыки развиты в достаточной мере у крайне небольшого процента лю- дей. Если вы не верите, вспомните, как учили материал в ночь перед экзаменом, как опаздывали на важные встречи и… повторяли это раз за разом, так и не сделав выводов. (Если в вашей жизни такого не было, можно надеяться, что вам повезло оказаться в том небольшом проценте людей, у которых соответствующие навыки развиты хорошо.)
Корень проблемы состоит в том, что планированию и отчётности в школах и университетах учат достаточно поверхностно, при этом (увы) на практике часто вы- холащивая эти понятия до пустой формальности (планов, на которые никто не смотрит, и отчётов, которые никто не читает; опять же, кому-то повезло увидеть строго обратную ситуацию, но явно немногим).
Итак, к сути. Сначала рассмотрим классические определения.
Планирование (planning
327
)
— непрерывный процесс принятия управлен- ческих решений и методической организации усилий по их реализации с целью обеспечения качества некоторого процесса на протяжении дли- тельного периода времени.
К высокоуровневым задачам планирования относятся:
• снижение неопределённости;
• повышение эффективности;
• улучшение понимания целей;
• создание основы для управления процессами.
Отчётность (reporting
328
)
— сбор и распространение информации о ре- зультатах работы (включая текущий статус, оценку прогресса и прогноз развития ситуации).
К высокоуровневым задачам отчётности относятся:
• сбор, агрегация и предоставление в удобной для восприятия форме объек- тивной информации о результатах работы;
• формирование оценки текущего статуса и прогресса (в сравнении с планом);
• обозначение существующих и возможных проблем (если такие есть);
• формирование прогноза развития ситуации и фиксация рекомендаций по устранению проблем и повышению эффективности работы.
327
Planning is a continuous process of making entrepreneurial decisions with an eye to the future, and methodically organizing the effort needed to carry out these decisions. There are four basic reasons for project planning: to eliminate or reduce uncertainty; to improve efficiency of the operation; to obtain a better understanding of the objectives; to provide a basis for monitoring and controlling work. [«Project Management: A Systems Approach to Planning, Scheduling, and Controlling», Harold Kerzner]
328
Reporting
— collecting and distributing performance information (including status reporting, progress measurement, and fore- casting). [PMBOK, 3
rd edition]
Планирование и отчётность
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2023
Стр: 210/301
Как и было упомянуто ранее, планирование и отчётность относятся к области управления проектом, которая выходит за рамки данной книги.
Если вас интересуют детали, рекомендуется ознакомиться с двумя фун- даментальными источниками информации:
• «Project Management: A Systems Approach to Planning, Scheduling, and
Controlling», Harold Kerzner.
• PMBOK («Project Management Body of Knowledge»).
Мы же переходим к более конкретным вещам, с которыми приходится рабо- тать (пусть и на уровне использования, а не создания) даже начинающему тести- ровщику.
Тест-план и отчёт о результатах тестирования
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2023
Стр: 211/301
2.6.2.
Тест-план и отчёт о результатах тестирования
Тест-план
Тест-план (test plan
329
)
— документ, описывающий и регламентирующий перечень работ по тестированию, а также соответствующие техники и под- ходы, стратегию, области ответственности, ресурсы, расписание и ключе- вые даты.
К низкоуровневым задачам планирования в тестировании относятся:
• оценка объёма и сложности работ;
• определение необходимых ресурсов и источников их получения;
• определение расписания, сроков и ключевых точек;
• оценка рисков и подготовка превентивных контрмер;
• распределение обязанностей и ответственности;
• согласование работ по тестированию с деятельностью участников проектной команды, занимающихся другими задачами.
Как и любой другой документ, тест-план может быть качественным или обла- дать недостатками. Качественный тест-план обладает большинством свойств каче- ственных требований
{44}
, а также расширяет их набор следующими пунктами:
• Реалистичность (запланированный подход реально выполним).
• Гибкость (качественный тест-план не только является модифицируемым с точки зрения работы с документом, но и построен таким образом, чтобы при возникновении непредвиденных обстоятельств допускать быстрое измене- ние любой из своих частей без нарушения взаимосвязи с другими частями).
• Согласованность с общим проектным планом и иными отдельными планами
(например, планом разработки).
Тест-план создаётся в начале проекта и дорабатывается по мере необходи- мости на протяжении всего времени жизни проекта при участии наиболее квалифи- цированных представителей проектной команды, задействованных в обеспечении качества. Ответственным за создание тест-плана, как правило, является ведущий тестировщик («тест-лид»).
В общем случае тест-план включает следующие разделы (примеры их наполнения будут показаны далее, потому здесь — только перечисление).
• Цель (purpose). Предельно краткое описание цели разработки приложения
(частично это напоминает бизнес-требования
{39}
, но здесь информация пода-
ётся в ещё более сжатом виде и в контексте того, на что следует обращать первостепенное внимание при организации тестирования и повышения каче- ства).
• Области, подвергаемые тестированию (features to be tested). Перечень функций и/или нефункциональных особенностей приложения, которые будут подвергнуты тестированию. В некоторых случаях здесь также приводится приоритет соответствующей области.
• Области, не подвергаемые тестированию (features not to be tested). Пере- чень функций и/или нефункциональных особенностей приложения, которые не будут подвергнуты тестированию. Причины исключения той или иной об-
329
Test plan. A document describing the scope, approach, resources and schedule of intended test activities. It identifies amongst others test items, the features to be tested, the testing tasks, who will do each task, degree of tester independence, the test environment, the test design techniques and entry and exit criteria to be used, and the rationale for their choice, and any risks requiring contingency planning. It is a record of the test planning process. [ISTQB Glossary]
Тест-план и отчёт о результатах тестирования
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2023
Стр: 212/301 ласти из списка тестируемых могут быть самыми различными — от пре- дельно низкой их важности для заказчика до нехватки времени или иных ре- сурсов. Этот перечень составляется, чтобы у проектной команды и иных за- интересованных лиц было чёткое единое понимание, что тестирование та- ких-то особенностей приложения не запланировано — такой подход позво- ляет исключить появление ложных ожиданий и неприятных сюрпризов.
• Тестовая стратегия (test strategy
330
)
и подходы (test approach
331
).
Описание процесса тестирования с точки зрения применяемых методов, подходов, ви- дов тестирования, технологий, инструментальных средств и т.д.
• Критерии (criteria). Этот раздел включает следующие подразделы:
o
Приёмочные критерии, критерии качества (acceptance criteria
332
)
— любые объективные показатели качества, которым разрабатываемый продукт должен соответствовать с точки зрения заказчика или пользо- вателя, чтобы считаться готовым к эксплуатации. o
Критерии начала тестирования (entry criteria
333
)
— перечень условий, при выполнении которых команда приступает к тестированию. Нали- чие этого критерия страхует команду от бессмысленной траты усилий в условиях, когда тестирование не принесёт ожидаемой пользы. o
Критерии приостановки тестирования (suspension criteria
334
)
— пе- речень условий, при выполнении которых тестирование приостанав- ливается. Наличие этого критерия также страхует команду от бессмыс- ленной траты усилий в условиях, когда тестирование не принесёт ожи- даемой пользы.
o
Критерии возобновления тестирования (resumption criteria
335
)
— пе- речень условий, при выполнении которых тестирование возобновля- ется (как правило, после приостановки). o
Критерии завершения тестирования (exit criteria
336
)
— перечень условий, при выполнении которых тестирование завершается. Нали- чие этого критерия страхует команду как от преждевременного прекра- щения тестирования, так и от продолжения тестирования в условиях, когда оно уже перестаёт приносить ощутимый эффект.
• Ресурсы (resources). В данном разделе тест-плана перечисляются все необ- ходимые для успешной реализации стратегии тестирования ресурсы, кото- рые в общем случае можно разделить на:
o программные ресурсы (какое ПО необходимо команде тестировщиков, сколько копий и с какими лицензиями (если речь идёт о коммерческом
ПО));
330
Test strategy. A high-level description of the test levels to be performed and the testing within those levels (group of test activities that are organized and managed together, e.g. component test, integration test, system test and acceptance test) for an organi- zation or program (one or more projects). [ISTQB Glossary]
331
Test approach. The implementation of the test strategy for a specific project. It typically includes the decisions made that follow based on the (test) project’s goal and the risk assessment carried out, starting points regarding the test process, the test design techniques to be applied, exit criteria and test types to be performed. [ISTQB Glossary]
332
Acceptance criteria. The exit criteria that a component or system must satisfy in order to be accepted by a user, customer, or other authorized entity. [ISTQB Glossary]
333
Entry criteria. The set of generic and specific conditions for permitting a process to go forward with a defined task, e.g. test phase.
The purpose of entry criteria is to prevent a task from starting which would entail more (wasted) effort compared to the effort needed to remove the failed entry criteria. [ISTQB Glossary]
334
Suspension criteria. The criteria used to (temporarily) stop all or a portion of the testing activities on the test items. [ISTQB
Glossary]
335
Resumption criteria. The criteria used to restart all or a portion of the testing activities that were suspended previously. [ISTQB
Glossary]
336
изведения ошибки. Стремление прописать всё максимально подробно иногда принимает нездоровую форму, когда в отчёт о дефекте начинает попадать чуть ли не информация о погоде за окном и курс национальной валюты. Сравните:
Плохо
Хорошо
1.
Создать на диске «J:» каталог «Data».
2.
Разместить в созданном каталоге «Data» прилагаемые файлы «song1.mp3» разме- ром 999.99 Kb и «song2.mp3» размером
888.88 Kb.
3.
В поле «Где искать» указать «J:\Data».
4.
В выпадающем списке «Что искать» вы- брать «Аудиофайлы».
5.
Нажать кнопку «Искать».
Дефект: указанные в пункте 2 файлы не найдены.
1.
В произвольном месте на локальном диске разместить один (или более) файл с рас- ширением «.mp3».
2.
Установить параметры поиска («Что ис- кать» -> «Аудиофайлы», «Где искать» -> место расположения файла(ов) из пункта
1).
3.
Произвести поиск.
Дефект: приложение не обнаруживает файлы с расширением «.mp3».
Действительно ли для воспроизведения дефекта важно, чтобы поиск произ- водился на диске «J:»? Действительно ли важно производить поиск именно файлов с такими именами и размерами в таком каталоге? Возможно, в некоем бесконечно маловероятном случае и да, тогда вопрос снимается. Но, скорее всего, это совер- шенно не важно, и нет никакой необходимости записывать эту информацию. Для большей уверенности можно провести дополнительное исследование.
Отсутствие в шагах воспроизведения информации, важной для воспро-
изведения дефекта. Нет, мы не издеваемся, этот пункт действительно строго про- тивоположен предыдущему. Дефекты бывают разными. Очень разными. Иногда ка- кой-то ключевой «мелочи» не хватит, чтобы разработчику удалось воспроизвести дефект или даже просто понять его суть. Несколько реальных примеров (подчёрк- нуты те детали, отсутствие которых долго не позволяло воспроизвести дефект):
• Приложение не сохраняло пользовательские настройки в случае, если в пути к каталогу для их сохранения были пробелы (два и более подряд пробела).
• Приложение некорректно завершало работу при открытии файлов, размер которых не позволял прочитать их целиком в оперативную память, доступ- ный объём которой, в свою очередь, определяется значением параметра memory_limit в настройках среды исполнения.
• Приложение отображало неверную статистику работы пользователей, если в системе был хотя бы один пользователь, роль которого не была явно ука- зана (NULL-значение в таблице БД, неверная работа подзапроса).
Как понять, насколько подробно надо описывать такие детали? Исследова- нием. Мало просто обнаружить некий единичный случай неверного поведения при- ложения, нужно понять закономерность такого поведения и его источник. Тогда не- обходимая степень детализации становится очевидной.
Сюда же можно отнести пресловутую воспроизводимость «иногда». Нужно продолжать искать причины, смотреть код, консультироваться с коллегами, прово- дить дополнительные тесты, исследовать похожую функциональность в других ча- стях приложения, исследовать аналогичные приложения, «гуглить» и т.д. и т.п. Да, часть дефектов оказывается сильнее даже самых упорных тестировщиков, но вот процент таких дефектов можно очень сильно приблизить к нулю.
Типичные ошибки при написании отчётов о дефектах
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2023
Стр: 207/301
Игнорирование т.н. «последовательных дефектов». Иногда один дефект является следствием другого (допустим, файл повреждается при передаче на сер- вер, а затем приложение некорректно обрабатывает этот повреждённый файл). Да, если файл будет передан без повреждений, второй дефект может не проявиться.
Но может и проявиться в другой ситуации, т.к. проблема никуда не исчезла: прило- жение некорректно обрабатывает повреждённые файлы. Потому стоит описать оба дефекта.
Оценка трудозатрат, планирование и отчётность
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2023
Стр: 208/301
2.6.
Оценка трудозатрат, планирование и отчётность
2.6.1.
Планирование и отчётность
В главе «Логика создания эффективных проверок»
{152}
мы на примере «Кон- вертера файлов» рассуждали о том, как при минимальных трудозатратах получить максимальный эффект от тестирования. Это было достаточно просто, т.к. наше приложение смехотворно по своим масштабам. Но давайте представим, что тести- ровать приходится реальный проект, где требования в «страничном эквиваленте» занимают сотни и даже тысячи страниц. Также давайте вспомним главу «Подроб- ная классификация тестирования»
{69}
с её несколькими десятками видов тестирова- ния (и это без учёта того факта, что их можно достаточно гибко комбинировать, получая новые варианты) и подумаем, как применить все эти знания (и открывае- мые ими возможности) в крупном проекте.
Даже если допустить, что мы идеально знаем все технические аспекты пред- стоящей работы, неотвеченными остаются такие вопросы, как:
• Когда и с чего начать?
• Всё ли необходимое для выполнения работы у нас есть? Если нет, где взять недостающее?
• В какой последовательности выполнять разные виды работ?
• Как распределить ответственность между участниками команды?
• Как организовать отчётность перед заинтересованными лицами?
• Как объективно определять прогресс и достигнутые успехи?
• Как заранее увидеть возможные проблемы, чтобы успеть их предотвратить?
• Как организовать нашу работу так, чтобы при минимуме затрат получить мак- симум результата?
Эти и многие подобные им вопросы уже лежат вне технической области — они относятся к управлению проектом. Эта задача сама по себе огромна, потому мы рассмотрим лишь малую её часть, с которой многим тестировщикам приходится иметь дело, — планирование и отчётность.
Вспомним жизненный цикл тестирования
{27}
: каждая итерация начинается с планирования и заканчивается отчётностью, которая становится основой для пла- нирования следующей итерации — и так далее (см. рисунок 2.6.а). Таким образом, планирование и отчётность находятся в тесной взаимосвязи, и проблемы с одним из этих видов деятельности неизбежно приводят к проблемам с другим видом, а в конечном итоге и к проблемам с проектом в целом.
Рисунок 2.6.a — Взаимосвязь (взаимозависимость) планирования и отчётности
Работа
Отчётность
Планирование
Планирование и отчётность
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2023
Стр: 209/301
Если выразить эту мысль чётче и по пунктам, получается:
• Без качественного планирования не ясно, кому и что нужно делать.
• Когда не ясно, кому и что нужно делать, работа выполняется плохо.
• Когда работа выполнена плохо и не ясны точные причины, невозможно сде- лать правильные выводы о том, как исправить ситуацию.
• Без правильных выводов невозможно создать качественный отчёт о резуль- татах работы.
• Без качественного отчёта о результатах работы невозможно создать каче- ственный план дальнейшей работы.
• Всё. Порочный круг замкнулся. Проект умирает.
Казалось бы, так и в чём же сложность? Давайте будем хорошо планировать и писать качественные отчёты — и всё будет хорошо. Проблема в том, что соответ- ствующие навыки развиты в достаточной мере у крайне небольшого процента лю- дей. Если вы не верите, вспомните, как учили материал в ночь перед экзаменом, как опаздывали на важные встречи и… повторяли это раз за разом, так и не сделав выводов. (Если в вашей жизни такого не было, можно надеяться, что вам повезло оказаться в том небольшом проценте людей, у которых соответствующие навыки развиты хорошо.)
Корень проблемы состоит в том, что планированию и отчётности в школах и университетах учат достаточно поверхностно, при этом (увы) на практике часто вы- холащивая эти понятия до пустой формальности (планов, на которые никто не смотрит, и отчётов, которые никто не читает; опять же, кому-то повезло увидеть строго обратную ситуацию, но явно немногим).
Итак, к сути. Сначала рассмотрим классические определения.
Планирование (planning
327
)
— непрерывный процесс принятия управлен- ческих решений и методической организации усилий по их реализации с целью обеспечения качества некоторого процесса на протяжении дли- тельного периода времени.
К высокоуровневым задачам планирования относятся:
• снижение неопределённости;
• повышение эффективности;
• улучшение понимания целей;
• создание основы для управления процессами.
Отчётность (reporting
328
)
— сбор и распространение информации о ре- зультатах работы (включая текущий статус, оценку прогресса и прогноз развития ситуации).
К высокоуровневым задачам отчётности относятся:
• сбор, агрегация и предоставление в удобной для восприятия форме объек- тивной информации о результатах работы;
• формирование оценки текущего статуса и прогресса (в сравнении с планом);
• обозначение существующих и возможных проблем (если такие есть);
• формирование прогноза развития ситуации и фиксация рекомендаций по устранению проблем и повышению эффективности работы.
327
Planning is a continuous process of making entrepreneurial decisions with an eye to the future, and methodically organizing the effort needed to carry out these decisions. There are four basic reasons for project planning: to eliminate or reduce uncertainty; to improve efficiency of the operation; to obtain a better understanding of the objectives; to provide a basis for monitoring and controlling work. [«Project Management: A Systems Approach to Planning, Scheduling, and Controlling», Harold Kerzner]
328
Reporting
— collecting and distributing performance information (including status reporting, progress measurement, and fore- casting). [PMBOK, 3
rd edition]
Планирование и отчётность
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2023
Стр: 210/301
Как и было упомянуто ранее, планирование и отчётность относятся к области управления проектом, которая выходит за рамки данной книги.
Если вас интересуют детали, рекомендуется ознакомиться с двумя фун- даментальными источниками информации:
• «Project Management: A Systems Approach to Planning, Scheduling, and
Controlling», Harold Kerzner.
• PMBOK («Project Management Body of Knowledge»).
Мы же переходим к более конкретным вещам, с которыми приходится рабо- тать (пусть и на уровне использования, а не создания) даже начинающему тести- ровщику.
Тест-план и отчёт о результатах тестирования
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2023
Стр: 211/301
2.6.2.
Тест-план и отчёт о результатах тестирования
Тест-план
Тест-план (test plan
329
)
— документ, описывающий и регламентирующий перечень работ по тестированию, а также соответствующие техники и под- ходы, стратегию, области ответственности, ресурсы, расписание и ключе- вые даты.
К низкоуровневым задачам планирования в тестировании относятся:
• оценка объёма и сложности работ;
• определение необходимых ресурсов и источников их получения;
• определение расписания, сроков и ключевых точек;
• оценка рисков и подготовка превентивных контрмер;
• распределение обязанностей и ответственности;
• согласование работ по тестированию с деятельностью участников проектной команды, занимающихся другими задачами.
Как и любой другой документ, тест-план может быть качественным или обла- дать недостатками. Качественный тест-план обладает большинством свойств каче- ственных требований
{44}
, а также расширяет их набор следующими пунктами:
• Реалистичность (запланированный подход реально выполним).
• Гибкость (качественный тест-план не только является модифицируемым с точки зрения работы с документом, но и построен таким образом, чтобы при возникновении непредвиденных обстоятельств допускать быстрое измене- ние любой из своих частей без нарушения взаимосвязи с другими частями).
• Согласованность с общим проектным планом и иными отдельными планами
(например, планом разработки).
Тест-план создаётся в начале проекта и дорабатывается по мере необходи- мости на протяжении всего времени жизни проекта при участии наиболее квалифи- цированных представителей проектной команды, задействованных в обеспечении качества. Ответственным за создание тест-плана, как правило, является ведущий тестировщик («тест-лид»).
В общем случае тест-план включает следующие разделы (примеры их наполнения будут показаны далее, потому здесь — только перечисление).
• Цель (purpose). Предельно краткое описание цели разработки приложения
(частично это напоминает бизнес-требования
{39}
, но здесь информация пода-
ётся в ещё более сжатом виде и в контексте того, на что следует обращать первостепенное внимание при организации тестирования и повышения каче- ства).
• Области, подвергаемые тестированию (features to be tested). Перечень функций и/или нефункциональных особенностей приложения, которые будут подвергнуты тестированию. В некоторых случаях здесь также приводится приоритет соответствующей области.
• Области, не подвергаемые тестированию (features not to be tested). Пере- чень функций и/или нефункциональных особенностей приложения, которые не будут подвергнуты тестированию. Причины исключения той или иной об-
329
Test plan. A document describing the scope, approach, resources and schedule of intended test activities. It identifies amongst others test items, the features to be tested, the testing tasks, who will do each task, degree of tester independence, the test environment, the test design techniques and entry and exit criteria to be used, and the rationale for their choice, and any risks requiring contingency planning. It is a record of the test planning process. [ISTQB Glossary]
Тест-план и отчёт о результатах тестирования
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2023
Стр: 212/301 ласти из списка тестируемых могут быть самыми различными — от пре- дельно низкой их важности для заказчика до нехватки времени или иных ре- сурсов. Этот перечень составляется, чтобы у проектной команды и иных за- интересованных лиц было чёткое единое понимание, что тестирование та- ких-то особенностей приложения не запланировано — такой подход позво- ляет исключить появление ложных ожиданий и неприятных сюрпризов.
• Тестовая стратегия (test strategy
330
)
и подходы (test approach
331
).
Описание процесса тестирования с точки зрения применяемых методов, подходов, ви- дов тестирования, технологий, инструментальных средств и т.д.
• Критерии (criteria). Этот раздел включает следующие подразделы:
o
Приёмочные критерии, критерии качества (acceptance criteria
332
)
— любые объективные показатели качества, которым разрабатываемый продукт должен соответствовать с точки зрения заказчика или пользо- вателя, чтобы считаться готовым к эксплуатации. o
Критерии начала тестирования (entry criteria
333
)
— перечень условий, при выполнении которых команда приступает к тестированию. Нали- чие этого критерия страхует команду от бессмысленной траты усилий в условиях, когда тестирование не принесёт ожидаемой пользы. o
Критерии приостановки тестирования (suspension criteria
334
)
— пе- речень условий, при выполнении которых тестирование приостанав- ливается. Наличие этого критерия также страхует команду от бессмыс- ленной траты усилий в условиях, когда тестирование не принесёт ожи- даемой пользы.
o
Критерии возобновления тестирования (resumption criteria
335
)
— пе- речень условий, при выполнении которых тестирование возобновля- ется (как правило, после приостановки). o
Критерии завершения тестирования (exit criteria
336
)
— перечень условий, при выполнении которых тестирование завершается. Нали- чие этого критерия страхует команду как от преждевременного прекра- щения тестирования, так и от продолжения тестирования в условиях, когда оно уже перестаёт приносить ощутимый эффект.
• Ресурсы (resources). В данном разделе тест-плана перечисляются все необ- ходимые для успешной реализации стратегии тестирования ресурсы, кото- рые в общем случае можно разделить на:
o программные ресурсы (какое ПО необходимо команде тестировщиков, сколько копий и с какими лицензиями (если речь идёт о коммерческом
ПО));
330
Test strategy. A high-level description of the test levels to be performed and the testing within those levels (group of test activities that are organized and managed together, e.g. component test, integration test, system test and acceptance test) for an organi- zation or program (one or more projects). [ISTQB Glossary]
331
Test approach. The implementation of the test strategy for a specific project. It typically includes the decisions made that follow based on the (test) project’s goal and the risk assessment carried out, starting points regarding the test process, the test design techniques to be applied, exit criteria and test types to be performed. [ISTQB Glossary]
332
Acceptance criteria. The exit criteria that a component or system must satisfy in order to be accepted by a user, customer, or other authorized entity. [ISTQB Glossary]
333
Entry criteria. The set of generic and specific conditions for permitting a process to go forward with a defined task, e.g. test phase.
The purpose of entry criteria is to prevent a task from starting which would entail more (wasted) effort compared to the effort needed to remove the failed entry criteria. [ISTQB Glossary]
334
Suspension criteria. The criteria used to (temporarily) stop all or a portion of the testing activities on the test items. [ISTQB
Glossary]
335
Resumption criteria. The criteria used to restart all or a portion of the testing activities that were suspended previously. [ISTQB
Glossary]
336
1 ... 26 27 28 29 30 31 32 33 ... 38