Файл: Обеспечения Базовый курс (3е издание) Версия книги 2 от 17. 04. 2023.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 07.11.2023
Просмотров: 882
Скачиваний: 31
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
Свойства качественных отчётов о дефектах
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2023
Стр: 195/301
Отсутствие лишних действий и/или их длинных описаний. Чаще всего это свойство подразумевает, что не нужно в шагах по воспроизведению дефекта долго и по пунктам расписывать то, что можно заменить одной фразой:
Плохо
Хорошо
1.
Указать в качестве первого параметра при- ложения путь к папке с исходными файлами.
2.
Указать в качестве второго параметра при- ложения путь к папке с конечными файлами.
3.
Указать в качестве третьего параметра при- ложения путь к файлу журнала.
4.
Запустить приложение.
Дефект: приложение использует первый па- раметр командной строки и как путь к папке с исходными файлами, и как путь к папке с конечными файлами.
1.
Запустить приложение со всеми тремя кор- ректными параметрами (особенно обратить внимание, чтобы SOURCE_DIR и DESTINA-
TION_DIR не совпадали и не были вложены друг в друга в любом сочетании).
Дефект: приложение прекращает работу с сообщением «SOURCE_DIR and DESTINA-
TION_DIR may not be the same
!» (судя по всему, первый параметр командной строки используется для инициализации имён обоих каталогов.)
Вторая по частоте ошибка — начало каждого отчёта о дефекте с запуска при- ложения и подробного описания по приведению его в то или иное состояние.
Вполне допустимой практикой является написание в отчёте о дефекте приготовле- ний (по аналогии с тест-кейсами) или описание нужного состояния приложения в одном (первом) шаге.
Сравните:
Плохо
Хорошо
1.
Запустить приложение со всеми верными параметрами.
2.
Подождать более 30 минут.
3.
Передать на конвертацию файл допусти- мого формата и размера.
Дефект: приложение не обрабатывает файл.
Предусловие: приложение запущено и прора- ботало более 30 минут.
1.
Передать на конвертацию файл допусти- мого формата и размера.
Дефект: приложение не обрабатывает файл.
Отсутствие дубликатов. Когда в проектной команде работает большое ко- личество тестировщиков, может возникнуть ситуация, при которой один и тот же дефект будет описан несколько раз разными людьми. А иногда бывает так, что даже один и тот же тестировщик уже забыл, что когда-то давно уже обнаруживал некую проблему, и теперь описывает её заново. Избежать подобной ситуации поз- воляет следующий набор рекомендаций:
• Если вы не уверены, что дефект не был описан ранее, произведите поиск с помощью вашего инструментального средства управления жизненным цик- лом отчётов о дефектах.
• Пишите максимально информативные краткие описания (т.к. поиск в первую очередь проводят по ним). Если на вашем проекте накопится множество де- фектов с краткими описаниями в стиле «Кнопка не работает», вы потратите очень много времени, раз за разом перебирая десятки таких отчётов в поис- ках нужной информации.
• Используйте по максимуму возможности вашего инструментального сред- ства: указывайте в отчёте о дефекте компоненты приложения, ссылки на тре- бования, расставляйте теги и т.д. — всё это позволит легко и быстро сузить в будущем круг поиска.
• Указывайте в подробном описании дефекта текст сообщений от приложения, если это возможно. По такому тексту можно найти даже тот отчёт, в котором остальная информация приведена в слишком общем виде.
Свойства качественных отчётов о дефектах
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2023
Стр: 196/301
• Старайтесь по возможности участвовать в т.н. «собраниях по прояснению»
(clarification meetings
326
), т.к. пусть вы и не запомните каждый дефект или каж- дую пользовательскую историю дословно, но в нужный момент может воз- никнуть ощущение «что-то такое я уже слышал», которое заставит вас про- извести поиск и подскажет, что именно искать.
• Если вы обнаружили какую-то дополнительную информацию, внесите её в уже существующий отчёт о дефекте (или попросите сделать это его автора), но не создавайте отдельный отчёт.
Очевидность и понятность. Описывайте дефект так, чтобы у читающего ваш отчёт не возникло ни малейшего сомнения в том, что это действительно де- фект. Лучше всего это свойство достигается за счёт тщательного объяснения фак- тического и ожидаемого результата, а также указания ссылки на требование в поле
«Подробное описание».
Сравните:
Плохое подробное описание
Хорошее подробное описание
Приложение не сообщает об обнаруженных подкаталогах в каталоге SOURCE_DIR.
Приложение не уведомляет пользователя об обнаруженных в каталоге SOURCE_DIR подка- талогах, что приводит к необоснованным ожи- даниям пользователями обработки файлов в таких подкаталогах.
Act: приложение начинает (продолжает) ра- боту, если в каталоге SOURCE_DIR находятся подкаталоги.
Exp: в случае если в каталоге SOURCE_DIR приложение при запуске или в процессе работы обнаруживает пустой подкаталог, оно автома- тически его удаляет (
логично ли это?
), если же обнаружен непустой подкаталог, приложение прекращает работу с выводом сообщения
«Non-empty subfolder [имя подкаталога] in
SOURCE_DIR folder detected. Remove it manu- ally or restart application with --force_file_opera- tions key to remove automatically.
»
Req: UR.56.BF.4.c.
В первом случае после прочтения подробного описания очень хочется спро- сить: «И что? А оно разве должно уведомлять?» Второй же вариант подробного описания даёт чёткое пояснение, что такое поведение является ошибочным со- гласно текущему варианту требований. Более того, во втором варианте отмечен вопрос (а в идеале нужно сделать соответствующую отметку и в самом требова- нии), призывающий пересмотреть алгоритм корректного поведения приложения в подобной ситуации: т.е. мы не только качественно описываем текущую проблему, но и поднимаем вопрос о дальнейшем улучшении приложения.
Прослеживаемость. Из содержащейся в качественном отчёте о дефекте ин- формации должно быть понятно, какую часть приложения, какие функции и какие требования затрагивает дефект. Лучше всего это свойство достигается правиль- ным использованием возможностей инструментального средства управления отчё- тами о дефектах: указывайте в отчёте о дефекте компоненты приложения, ссылки на требования, тест-кейсы, смежные отчёты о дефектах (похожих дефектах; зави- симых и зависящих от данного дефектах), расставляйте теги и т.д.
326
Clarification meeting
. A discussion that helps the customers achieve “advance clarity” — consensus on the desired behavior of each story
— by asking questions and getting examples. [«Agile Testing», Lisa Crispin, Janet Gregory]
Свойства качественных отчётов о дефектах
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2023
Стр: 197/301
Некоторые инструментальные средства даже позволяют строить визуальные схемы на основе таких данных, что позволяет управление прослеживаемостью даже на очень больших проектах превратить из непосильной для человека задачи в тривиальную работу.
Отдельные отчёты для каждого нового дефекта. Существует два незыб- лемых правила:
• В каждом отчёте описывается ровно один дефект (если один и тот же де- фект проявляется в нескольких местах, эти проявления перечисляются в по- дробном описании).
• При обнаружении нового дефекта создаётся новый отчёт. Нельзя для опи- сания нового дефекта править старые отчёты, переводя их в состояние «от- крыт заново».
Нарушение первого правила приводит к объективной путанице, которую проще всего проиллюстрировать так: представьте, что в одном отчёте описано два дефекта, один из которых был исправлен, а второй — нет. В какое состояние пере- водить отчёт? Неизвестно.
Нарушение второго правила вообще порождает хаос: мало того, что теряется информация о ранее возникавших дефектах, так к тому же возникают проблемы со всевозможными метриками и банальным здравым смыслом. Именно во избежание этой проблемы на многих проектах правом перевода отчёта из состояния «закрыт» в состояние «открыт заново» обладает ограниченный круг участников команды.
Соответствие принятым шаблонам оформления и традициям. Как и в случае с тест-кейсами, с шаблонами оформления отчётов о дефектах проблем не возникает: они определены имеющимся образцом или экранной формой инстру- ментального средства управления жизненным циклом отчётов о дефектах. Но что касается традиций, которые могут различаться даже в разных командах в рамках одной компании, то единственный совет: почитайте уже готовые отчёты о дефек- тах, перед тем как писать свои. Это может сэкономить вам много времени и сил.
Логика создания эффективных отчётов о дефектах
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2023
Стр: 198/301
2.5.6.
Логика создания эффективных отчётов о дефектах
При создании отчёта о дефекте рекомендуется следовать следующему ал- горитму:
0.
Обнаружить дефект
☺
1.
Понять суть проблемы.
2.
Воспроизвести дефект.
3.
Проверить наличие описания найденного вами дефекта в системе управле- ния дефектами.
4.
Сформулировать суть проблемы в виде «что сделали, что получили, что ожи- дали получить».
5.
Заполнить поля отчёта, начиная с подробного описания.
6.
После заполнения всех полей внимательно перечитать отчёт, исправив не- точности и добавив подробности.
7.
Ещё раз перечитать отчёт, т.к. в пункте 6 вы точно что-то упустили
☺
Теперь — о каждом шаге подробнее.
Понять суть проблемы
Всё начинается именно с понимания происходящего с приложением. Только при наличии такого понимания вы сможете написать по-настоящему качественный отчёт о дефекте, верно определить важность дефекта и дать полезные рекоменда- ции по его устранению. В идеале отчёт о дефекте описывает именно суть про- блемы, а не её внешнее проявление.
Сравните два отчёта об одной и той же ситуации (приложение «Конвертер файлов» не различает файлы и символические ссылки на файлы, что приводит к серии аномалий в работе с файловой системой).
Плохой отчёт, при написании которого суть проблемы не понята:
Краткое описание
Подробное описание
Шаги по воспроизведению
Обрабатываются файлы вне
SOURCE_DIR.
Иногда по непонятным причинам приложение обрабатывает случай- ные файлы вне каталога
SOURCE_DIR.
Act: обрабатываются отдельные файлы вне SOURCE_DIR.
Exp: обрабатываются только файлы, находящиеся в
SOURCE_DIR.
Req:
ДС-2.1
К сожалению, не удалось обнару- жить последовательность шагов, приводящих к появлению этого дефекта.
Воспро-
изводи-
мость
Важность
Сроч-
ность
Симптом
Воз-
мож-
ность
обойти
Комментарий
Иногда
Высокая
Высокая
Некорректная операция
Нет
Логика создания эффективных отчётов о дефектах
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2023
Стр: 199/301
Хороший отчёт, при написании которого суть проблемы понята:
Краткое описание
Подробное описание
Шаги по воспроизведению
Приложение не раз- личает файлы и символические ссылки на файлы.
Если в каталог SOURCE_DIR поме- стить символическую ссылку на файл, возникает следующее ошибочное по- ведение: а) Если символическая ссылка указы- вает на файл внутри SOURCE_DIR, файл обрабатывается дважды, а в
DESTINATION_DIR перемещается как сам файл, так и символическая ссылка на него. б) Если символическая ссылка указы- вает на файл вне SOURCE_DIR, при- ложение обрабатывает этот файл, перемещает символическую ссылку и сам файл в DESTINATION_DIR, а за- тем продолжает обрабатывать файлы в каталоге, в котором изна- чально находился обработанный файл.
1 ... 24 25 26 27 28 29 30 31 ... 38
Act: приложение считает символиче- ские ссылки на файлы самими фай- лами (см. подробности выше).
Exp: в случае если в каталоге
SOURCE_DIR приложение обнаружи- вает символическую ссылку, оно пре- кращает работу с выводом сообщения
«Symbolic link [имя символической ссылки] in SOURCE_DIR folder de- tected. Remove it manually or restart ap- plication with --force_file_operations key to remove automatically.
»
Req: UR.56.BF.4.e.
1.
В произвольном месте со- здать следующую структуру каталогов:
/SRC/
/DST/
/X/
2.
Поместить в каталоги SRC и X несколько произвольных фай- лов допустимого формата и размера.
3.
Создать в каталоге SRC две символические ссылки: а) на любой из файлов внутри ката- лога SRC; б) на любой из файлов внутри каталога X.
4.
Запустить приложение.
Дефект: в каталог DST пере- мещены как файлы, так и сим- волические ссылки; содержи- мое каталога X обработано и перемещено в каталог DST.
Воспро-
изводи-
мость
Важность
Сроч-
ность
Симптом
Возмож-
ность
обойти
Комментарий
Всегда
Высокая
Обычная
Некор- ректная операция
Нет
Быстрый взгляд на код показал, что вместо is_file() используется file_exists().
Похоже, проблема в этом. Также этот дефект приво- дит к попытке обработать ката- логи как файлы (см. BR-999.99).
В алгоритме обработки
SOURCE_DIR явно есть логиче- ская ошибка: ни при каких усло- виях приложение не должно об- рабатывать файлы, находящиеся вне SOURCE_DIR, т.е. что-то не так с генерацией или проверкой полных имён файлов.
Логика создания эффективных отчётов о дефектах
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2023
Стр: 200/301
Воспроизвести дефект
Это действие не только поможет в дальнейшем правильно заполнить поле
«Воспроизводимость
{179}
», но и позволит избежать неприятной ситуации, в которой за дефект приложения будет принят некий кратковременный сбой, который (скорее всего) произошёл где-то в вашем компьютере или в иной части ИТ-инфраструктуры, не имеющей отношения к тестируемому приложению.
Проверить наличие описания найденного вами дефекта
Обязательно стоит проверить, нет ли в системе управления дефектами опи- сания именно того дефекта, который вы только что обнаружили. Это простое дей- ствие, не относящееся непосредственно к написанию отчёта о дефекте, но значи- тельно сокращающее количество отчётов, отклонённых с резолюцией «дубликат».
Сформулировать суть проблемы
Формулировка проблемы в виде «что сделали (шаги по воспроизведению), что получили (фактический результат в подробном описании), что ожидали полу- чить (ожидаемый результат в подробном описании)» позволяет не только подгото- вить данные для заполнения полей отчёта, но и ещё лучше понять суть проблемы.
В общем же случае формула «что сделали, что получили, что ожидали полу- чить» хороша по следующим причинам:
• Прозрачность и понятность: следуя этой формуле, вы готовите именно дан- ные для отчёта о дефекте, не скатываясь в пространные отвлечённые рас- суждения.
• Лёгкость верификации дефекта: разработчик, используя эти данные, может быстро воспроизвести дефект, а тестировщик после исправления дефекта удостовериться, что тот действительно исправлен.
• Очевидность для разработчиков: ещё до попытки воспроизведения дефекта видно, на самом ли деле описанное является дефектом, или тестировщик где-то ошибся, записав в дефекты корректное поведение приложения.
• Избавление от лишней бессмысленной коммуникации: подробные ответы на
«что сделали, что получили, что ожидали получить» позволяют решать про- блему и устранять дефект без необходимости запроса, поиска и обсуждения дополнительных сведений.
• Простота: на финальных стадиях тестирования с привлечением конечных пользователей можно ощутимо повысить эффективность поступающей об- ратной связи, если объяснить пользователям суть этой формулы и попро- сить их придерживаться её при написании сообщений об обнаруженных про- блемах.
Информация, полученная на данном этапе, становится фундаментом для всех дальнейших действий по написанию отчёта.