что такое превентирование багов

Словарь тестировщика

что такое превентирование багов. Смотреть фото что такое превентирование багов. Смотреть картинку что такое превентирование багов. Картинка про что такое превентирование багов. Фото что такое превентирование багов

Баг (bug, дефект) — отклонение фактического результата (actual result) от ожидаемого результата (expected result).

Если проще, то это ошибка.

◓ Пример из жизни.
Смотрим мы прогноз погоды и слышим, что сейчас на улице тепло и солнечно. Мы ожидаем, что при выходе на улицу будет тепло и солнечно (ожидаемый результат). Выходим на улицу, а там холодно и все небо затянуто тучами (фактический результат). То есть мы ждали одного (ожидаемый результат), а получили совсем другое (фактический результат).

Если бы мы вышли на улицу и там было тепло и солнечно, то фактический результат совпал бы с ожидаем и, значит, багов нет и все работает как надо.

◆ Пример из работы.
Возьмем форму авторизации на сайте. Мы ожидаем, что введя в поле “Имя” и в поле “Пароль” те данные, под которыми мы регистрировались, произойдет вход в систему. Если этого не случается, то мы имеем дело с багом.

что такое превентирование багов. Смотреть фото что такое превентирование багов. Смотреть картинку что такое превентирование багов. Картинка про что такое превентирование багов. Фото что такое превентирование багов

Тестирование — это процесс, содержащий в себе все активности жизненного цикла, как динамические, так и статические, касающиеся планирования, подготовки и оценки программного продукта и связанных с этим результатов работ с целью определить, что они соответствуют описанным требованиям, показать, что они подходят для заявленных целей и для определения дефектов.

Если проще, то это процесс проверки работоспособности продукта и его пригодности к использованию. То есть это не просто поиск багов.

◓ Пример из жизни.
Нам дали на проверку кружку. Что мы будем делать? Сначала продумаем, как именно ее можно проверить и набросаем себе план. И только затем присудим к делу. Осмотрим ее снаружи, проверим на трещины, оценим качество рисунка. Уроним ее на пол, чтобы проверить на прочность. Нальем в нее холодную воду, теплую, кипяток, чтобы посмотреть не лопнет ли она. Возьмем ее в руки, оценим, удобно ли держать. После расскажем о результатах нашей работы создателю кружки.

То есть мы не просто ищем дефекты, а проверяем ее со всех сторон и оцениваем, точно ли ей будем удобно пользоваться и выполняет ли она все заявленные функции.

◆ Пример из работы.
Есть задача проверить корзину покупок. Опять же начинаем с планирования. Мы пробуем положить в нее товар, удалить, изменить количество, оцениваем удобство и так далее. После заносим все найденные баги в специальные документы (баг-репорты) и отправляем разработчику (программисту).

Обычно тестирование осуществляется на основании документации, но не всегда.

что такое превентирование багов. Смотреть фото что такое превентирование багов. Смотреть картинку что такое превентирование багов. Картинка про что такое превентирование багов. Фото что такое превентирование багов

Техническое задание (ТЗ) – документ, в котором зафиксированы требования к решениям, которые должны быть реализованы в ходе создания сайта или программного обеспечения.

Если проще, то это то, что пишет заказчик, когда хочет получить продукт.

◓ Пример из жизни.
Тесть решил построить дом для тещи и нанял для этого зятя (мужа дочери), который как раз работает инженером. У тестя есть свое видение этого дома. Он рисует и описывает его своими словами и передает мужу.

◆ Пример из работы.
Данный документ описывает, каким именно должен получиться продукт. Исходя из него мы понимаем, что это будет игра в виде фермы, тематика космос и т.д.

что такое превентирование багов. Смотреть фото что такое превентирование багов. Смотреть картинку что такое превентирование багов. Картинка про что такое превентирование багов. Фото что такое превентирование багов

Спецификация (specialization, спек) — детальное описание того, как должно работать ПО.

Если проще, то это описание технических свойств своего продукта (размеры, различные параметры, материалы, функции, etc).

◓ Пример из жизни.
Зять читает желания тестя и на их основании уже рисует чертежи, выбирает материал, просчитывает его количество, продумывает как именно технически будет проведены коммуникации (вода, электричество, канализация) и так далее. И уже по этим готовым схемам строители начинают строить дом.

◆ Пример из работы.
На основании ТЗ прописывается, как это все реализовать с технической точки зрения. То есть по спецификации мы будем видеть, как именно должен работать наш продукт. В ней мы пропишем какие семена у нас будут, что из них вырастет, сколько времени займет рост, с помощью чего уже можно ускорить, сколько будут стоить сами семена и т.д.

(!) Все что не соответствует ТЗ и спецификации как раз и будет багом.

что такое превентирование багов. Смотреть фото что такое превентирование багов. Смотреть картинку что такое превентирование багов. Картинка про что такое превентирование багов. Фото что такое превентирование багов

Отчет о дефекте (bug report) — документ, содержащий отчет о любом недостатке в компоненте или системе, который может привести компонент или систему к невозможности выполнить требуемую функцию.
Его еще называют отчет об ошибке, баг-репорт.

Если проще, то это документ, в котором мы фиксируем найденный баг.

◓ Пример из жизни.
Вернемся к нашему забагованному прогнозу погоды. Что делать? Кому и как сообщить, что погода-то совсем не такая, как говорят? Надо просто написать отчет. Причем написать так, чтобы они поняли про какой именно район речь и что именно с этой погодой не так.

◆ Пример из работы.
На каждую найденную ошибку (баг) составляется отчет об ошибке. Данный отчет имеет определенный шаблон. У каждой компании может быть свой шаблон, но основные поля остаются неизменными. Именно этот шаблон позволяет разработчикам быстро ориентироваться и находить ошибку в коде.

что такое превентирование багов. Смотреть фото что такое превентирование багов. Смотреть картинку что такое превентирование багов. Картинка про что такое превентирование багов. Фото что такое превентирование багов

Система отслеживания ошибок (bug tracking system) — программа учета и/или контроля багов.
Ее обычно называют баг-трекер или баг-трекинг.

◓Пример из жизни.
Где вы храните информацию о всех ошибках, которые допустила ваша вторая половинка, чтобы при удобной возможности ей это припомнить? Если вы ее где-то записываете и храните в определенном месте, то считайте, что у вас есть система отслеживания ошибок.

◆ Пример из работы.
Каждая фирма использует свою систему учета. Это могут быть как специально разработанные программы, так и обычные гугл-таблицы. Суть в том, что в одном месте собраны все наши отчеты об ошибках и в любое время можно получить доступ к любому отчету и посмотреть пофикшен он или нет.

что такое превентирование багов. Смотреть фото что такое превентирование багов. Смотреть картинку что такое превентирование багов. Картинка про что такое превентирование багов. Фото что такое превентирование багов

Пофиксить — внести изменения, а именно исправления, в код программы.

Если проще, то это правка.

◓ Пример из жизни.
Жена сломала дверцу шкафа. Пошла к мужу, привела к дверце за руку, все показала (считайте, что предоставила баг-репорт с прикрепленным видео). Муж сел, там покрутил, тут постучал и дверца опять начала работать как положено. То есть муж исправил (пофиксил) шкаф.

◆ Пример из работы.
Мы создали баг-репорт и отправили в наш баг-трекер. Разработчик взял баг-репорт в работу, изучил его и внес изменения в код. То есть он исправил (пофиксил) код так, чтобы в продукте больше не было бага.

что такое превентирование багов. Смотреть фото что такое превентирование багов. Смотреть картинку что такое превентирование багов. Картинка про что такое превентирование багов. Фото что такое превентирование багов

Билд — версионированная сборка программного обеспечения.

Если проще, то это продукт или кусок продукта, который можно тестировать.

◓ Пример из жизни.
Зять строит дом для тещи. Уже готов каркас и пару комнат. Эти комнаты уже можно показать жене на проверку. Именно эти пару комнат, которые ей уже можно смотреть и оценивать — это и есть билд, который будет тестировать жена.

◆ Пример из работы.
Разработчик создает продукт. Часть кода уже написана и готова к проверки. Именно эту часть он и отдает тестировщикам на проверку.

что такое превентирование багов. Смотреть фото что такое превентирование багов. Смотреть картинку что такое превентирование багов. Картинка про что такое превентирование багов. Фото что такое превентирование багов

Релиз или RTM (англ. Release to manufacturing — промышленное издание) — издание продукта, готового к тиражированию.

Если проще, то это продукт, который видит конечный пользователь.
Можно сказать, что релиз — это билд, который команда разработчиков предоставляет наружу.

◓ Пример из жизни.
Зять закончил строить дом для тещи. Жена все протестировала. Теперь можно привозить тещу и поздравлять ее с новосельем. То есть готовый дом — это и есть релиз.

Также этот пример наглядно показывает насколько вообще важно тестирование и чем может закончиться ситуация, когда продукт вышел в релиз без этапа тестирования)

◆ Пример из работы.
Разработчик создал продукт. Тестировщик его проверил. Если все хорошо, то принимается решение отдать продукт конечному потребителю.

Источник

BYTEX BLOG

Андерклокинг — снижение частоты работы оборудования.

Баг (дефект) — недостаток компонента или системы, который может привести к отказу определенной функциональности.

Приоритет багов — важность той или иной ошибки в ПО:

Баг-репорт — документ, описывающий ситуацию или последовательность действий приведшую к некорректной работе объекта тестирования, с указанием причин и ожидаемого результата.

Валидация — определение соответствия разрабатываемого ПО ожиданиям и потребностям пользователя, требованиям к системе.

Верификация — процесс оценки системы или её компонентов с целью определения удовлетворяют ли результаты текущего этапа разработки условиям, сформированным в начале этого этапа.

Система отслеживания ошибок (англ. bug tracking system) — программа учета и/или контроля багов:

Тестирование — процесс проверки соответствия заявленных к продукту требований и реально реализованной функциональности, осуществляемый путем наблюдения за его работой в искусственно созданных ситуациях и на ограниченном наборе тестов, выбранных определенным образом.

Обеспечение качества (Quality Assurance, QA) — совокупность мероприятий, охватывающих все технологические этапы разработки, выпуска и эксплуатации программного обеспечения

Отладка (англ.Debugging) — процесс, позволяющий получить программное обеспечение, функционирующее с требующимися характеристиками в заданной области входных данных.

Ошибка (англ.Error) – действие, которое порождает неправильный результат.

Сбой (англ.Failure) – несоответствие фактического результата работы компонента или системы ожидаемому результату.

Классификация по типу тестирования:
Мобильное тестирование — тестирование мобильных приложений.
Консольное тестирование — тестирование приложений предназначенных для консолей.
Web-тестирование (Браузерное тестирование) — тестирование браузерных приложений.

Классификация по запуску кода на исполнение:
Статическое тестирование (англ.Static testing) — тестирование без запуска кода на исполнение.
Динамическое тестирование (англ. Dynamic testing) — тестирование с запуском кода на исполнение.

Классификация по доступу к коду и архитектуре ПО:
Черный ящик (англ. Black box) — тестировщику не известно как устроена тестируемая система.
Белый ящик (англ. White box) — тестировщику известно все детали реализации тестируемой системы.
Серый ящик (англ. Grey box) — тестировщику известно только некоторые особенности устройства тестируемой системы.

Классификация по степени автоматизации:
Ручное тестирование (англ. Manual testing) — тестирование ПО будучи его пользователем.
Автоматизированное тестирование (англ. Automated testing) — тестирование ПО при помощи специальных программ.

Классификация по принципу работы с приложением:
Позитивное тестирование (англ. Positive testing) — тестирование ПО на то, как оно должно работать.
Негативное тестирование (англ. Negative testing) — тестирование ПО на то, как оно не должно работать.

Классификация по уровню детализации приложения:
Интеграционное тестирование — тестирование взаимодействия и связей нескольких компонентов приложения.
Системное тестирование — это тестирование всего приложения от начала и до конца.
Модульное тестирование — тестирование на уровне отдельного функционального компонента приложения.

Классификация по целям и задачам:
Функциональное тестирование — проверка корректности работы функциональности приложения.
Нефункциональное тестирование — проверка нефункциональных особенностей приложения (удобство использования, совместимость, производительность, безопасность).
Инсталляционное тестирование — проверка протекания стадии инсталляции (установки) приложения.
Регрессионное тестирование — проверка на наличие багов, вызванных изменениями в приложении.
Повторное тестирование — выполнение тест-кейсов, которые ранее обнаружили дефекты, с целью подтверждения устранения дефектов.
Приёмочное тестирование — тестирование, направленное на проверку приложения с точки зрения конечного пользователя/заказчика
Тестирование удобства использования — тестирование, направленное на исследование того, насколько конечному пользователю понятно, как работать с продуктом, а также на то, насколько ему нравится использовать продукт.
Тестирование доступности — тестирование, направленное на исследование пригодности продукта к использованию людьми с ограниченными возможностями
Тестирование интерфейса — тестирование, направленное на проверку интерфейсов приложения или его компонентов.
Тестирование безопасности — тестирование, направленное на проверку способности приложения противостоять злонамеренным попыткам получения доступа к данным или функциям
Тестирование интернационализации — тестирование, направленное на проверку готовности продукта к работе с использованием различных языков и с учётом различных национальных и культурных особенностей.
Тестирование локализации — тестирование, направленное на проверку корректности и качества адаптации продукта к использованию на том или ином языке с учётом национальных и культурных особенностей.
Тестирование совместимости — тестирование, направленное на проверку способности приложения работать в указанном окружении (браузер, мобильное ус-во и т.д.).
Тестирование данных и баз данных — тестирование, направленное на исследование таких характеристик данных, как полнота, непротиворечивость, целостность, структурированность и т.д.
Тестирование использования ресурсов — совокупность видов тестирования, проверяющих эффективность использования приложением доступных ему ресурсов и зависимость результатов работы приложения от количества доступных ему ресурсов.
Сравнительное тестирование — тестирование, направленное на сравнительный анализ преимуществ и недостатков разрабатываемого продукта по отношению к его основным конкурентам.
Демонстрационное тестирование — формальный процесс демонстрации заказчику продукта с целью подтверждения, что продукт соответствует всем заявленным требованиям.
Избыточное тестирование — тестирование приложения со всеми возможными комбинациями всех возможных входных данных во всех возможных условиях выполнения.
Тестирование надёжности — тестирование способности приложения выполнять свои функции в заданных условиях.
Тестирование восстанавливаемости — тестирование способности приложения восстанавливать свои функции и заданный уровень производительности, а также восстанавливать данные в случае возникновения критической ситуации.
Тестирование отказоустойчивости — тестирование, заключающееся в эмуляции или реальном создании критических ситуаций с целью проверки способности приложения задействовать механизмы, предотвращающие нарушение работоспособности, производительности и повреждения данных.
Тестирование производительности — исследование показателей скорости реакции приложения на внешние воздействия при различной по характеру и интенсивности нагрузке.
Нагрузочное тестирование — исследование способности приложения сохранять заданные показатели качества при нагрузке в допустимых пределах и некотором превышении этих пределов/
Тестирование масштабируемости — исследование способности приложения увеличивать показатели производительности в соответствии с увеличением количества доступных приложению ресурсов.
Объёмное тестирование — исследование производительности приложения при обработке различных (как правило, больших) объёмов данных.
Стрессовое тестирование — исследование поведения приложения при нештатных изменениях нагрузки, значительно превышающих расчётный уровень.
Конкурентное тестирование — исследование поведения приложения в ситуации, когда ему приходится обрабатывать большое количество одновременно поступающих запросов, что вызывает конкуренцию между запросами за ресурсы (базу данных, память, канал передачи данных, дисковую подсистему и т.д.)
Фокус-тест (англ. Focus test) — тестирование, проводимое с целью получения первичной реакции игроков. Необходимо для оценки удобства использования и того, как продукт принимается целевой аудиторией или сторонними людьми.

Failure — сбой (причём не обязательно аппаратный) в работе компонента, всей программы или системы.

UX (англ. User eXperience — опыт пользователя) — ощущение, испытываемое пользователем во время использования цифрового продукта.

UI (англ. User Interface — пользовательский интерфейс) — это инструмент, позволяющий осуществлять взаимодействие «пользователь — приложение».

Анализ граничных значений (англ. Boundary Value Analysis — BVA). Анализ граничных значений может быть применен к полям, записям, файлам, или к любого рода сущностям имеющим ограничения.

Дымовое тестирование (англ. Smoke test) — короткий цикл тестов для подтверждения, что после сборки кода (нового или исправленного) приложение стартует и выполняет основные функции.

Исследовательское (ad-hoc) тестирование — это разработка и выполнения тестов в одно и то же время, что является противоположностью сценарного подхода.

Конфигурационное тестирование (англ. Configuration Testing) — специальный вид тестирования, направленный на проверку работы программного обеспечения при различных конфигурациях системы (заявленных платформах, поддерживаемых драйверах, при различных конфигурациях компьютеров и т.д.)

Матрица соответствия требований (англ. Traceability matrix) — это двумерная таблица, содержащая соответсвие функциональных требований (functional requirements) продукта и подготовленных тестовых сценариев (test cases).

Операционное тестирование (англ. Release Testing). Даже если система удовлетворяет всем требованиям, важно убедиться в том, что она удовлетворяет нуждам пользователя и выполняет свою роль в среде своей эксплуатации, как это было определено в бизнес модели системы.

Предугадывание ошибки (англ. Error Guessing — EG). Это когда тест аналитик использует свои знания системы и способность к интерпретации спецификации на предмет того, чтобы «предугадать» при каких входных условиях система может выдать ошибку.

Причина / Следствие (англ. Cause/Effect — CE). Это, как правило, ввод комбинаций условий (причин), для получения ответа от системы (Следствие).

Санитарное тестирование — это узконаправленное тестирование достаточное для доказательства того, что конкретная функция работает согласно заявленным в спецификации требованиям.

Серьезность (англ. Severity) — это атрибут, характеризующий влияние дефекта на работоспособность приложения.

Стадии разработки ПО — это этапы, которые проходят команды разработчиков ПО, прежде чем программа станет доступной для широко круга пользователей.

Пре-альфа (англ. Pre-alpha) — начальная стадия разработки. Период времени со старта разработки до выхода стадии Альфа. Также так называются программы, прошедшие стадию разработки, для первичной оценки функциональных возможностей в действии.

Альфа-тестирование (англ. Alpha testing) — имитация реальной работы с системой штатными разработчиками, либо реальная работа с системой потенциальными пользователями/заказчиком на ранней стадии разработки продукта, но в некоторых случаях может применяться для законченного продукта в качестве внутреннего приёмочного тестирования.

Бета-тестирование (англ. Beta testing) — интенсивное использование почти готовой версии продукта с целью выявления максимального числа ошибок в его работе для их последующего устранения перед окончательным выходом (релизом) продукта на рынок, к массовому потребителю.

Релиз-кандидат или RC (англ. Release candidate), Пре-релиз, иногда «гамма-версия» — стадия-кандидат на то, чтобы стать стабильной.

Релиз или RTM (англ. Release to manufacturing — промышленное издание) — издание продукта, готового к тиражированию.

Пост-релиз или Post-RTM (англ. Post-release to manufacturing) — издание продукта, у которого есть несколько отличий от RTM и помечается как самая первая стадия разработки следующего продукта.

Таблица принятия решений (англ. Decision table) — инструмент для упорядочения сложных бизнес требований, которые должны быть реализованы в продукте.

Тест-дизайн (англ. Test design) — это этап процесса тестирования ПО, на котором проектируются и создаются тестовые случаи (тест кейсы).

Тест-план (англ. Test Plan) — это документ, описывающий весь объем работ по тестированию, а также оценки рисков с вариантами их разрешения.

Тестирование взаимодействия (англ. Interoperability Testing) — это функциональное тестирование, проверяющее способность приложения взаимодействовать с одним и более компонентами или системами.

Тестирование сборки (англ. Build Verification Test) — тестирование направленное на определение соответствия, выпущенной версии, критериям качества для начала тестирования.

Тестирование пользовательского интерфейса (англ. UI Testing) — тестирование, выполняемое с целью определения, удобен ли некоторый искусственный объект (такой как веб-страница, пользовательский интерфейс или устройство) для его предполагаемого применения.

Тестовый случай (англ. Test Case) — это артефакт, описывающий совокупность шагов, конкретных условий и параметров, необходимых для проверки реализации тестируемой функции или её части.

Чек-лист (англ. Check list) — это документ, описывающий что должно быть протестировано.

Эквивалентное Разделение (англ. Equivalence Partitioning — EP). Как пример, у вас есть диапазон допустимых значений от 1 до 10, вы должны выбрать одно верное значение внутри интервала, скажем, 5, и одно неверное значение вне интервала — 0.

Z-конфликт (англ. Z-fighting) — наложение текстур друг на друга.

Оверклокинг (англ. Overclocking) — процесс увеличения частоты (и напряжения) компонента компьютера сверх штатных режимов с целью увеличения скорости его работы.

Источник

Blog Stats

Find me:

Product Manager and Business Systems Analyst

По той причне, что я периодически осуществляю функциональное тестирование, а так же взаимодействую с отделом тестирования, решил ознакомиться с теорией тестирования.

Моя первая книга – “test dot com” Романа Савина.

Как всегда – делаю себе пометки, попутно отмечая что следует читать.

Начну с терминологии:

Баг (bug) — это отклонение фактического результата (actual result) от ожидаемого результата (expected result). То есть у нас есть баг при наличии любого фактического результата, отличного от ожидаемого (после их поиска и сравнения). Логично, что источником ожидаемого результата является спецификация. Например, мы (аналитики) это пишем в сценариях использования: результатом будет бла-бла-бла. Оказывается, что это очень помогает тестировщикам. На всякий случай:

Спецификация (или spec — читается “спек”. Далее употребляется в мужском роде) — это детальное описание того, как должно работать ПО. То есть баг – отклонение от спецификации. Следует помнить, что в спецификациях уже могут быть заложены ошибки. У нас самих, впрочем, есть такое понятие, как тестирование требований (в виде ревью спецификаций).

Кстати, вот некоторые рекомендации:

Если программист написал нечто противоречащее здравому смыслу или стандарту, принятому в вашей компании, рапортуйте баг. Следует всё сохранять и записывать, как и у нас. От тестировщиков же можно ожидать запросов на изменение, призванных улучшить юзабилити системы. Если что-то не ясно, то тестировщиков просят дёргать всех окружающих,а ещё следовать устоявшимся правилам.

Цель тестирования — это нахождение багов до того, как их найдут пользователи. Кстати,один из критериев качества кода — это количество багов на 1000 строк кода. Количество багов, найденных до релиза, ничего не говорит об эффективности тестирования. Баги, найденные после релиза, — вот чего не должно быть. Кстати, вы никогда не сможете протестировать систему на 100%, вам просто не дадут на это времени.

Хорошая практика: после каждого релиза данные о багах классифицируются по заданным критериям и анализируются на предмет нахождения слабого звена в процессе разработки ПО. Критериями могут быть приоритет, функциональность, имя тестировщика и др. Если вы сможете улучшить ситуацию, то вы можете брать на себя функции QA.

QA — это забота о качестве в виде превентирования появления багов, тестирование — это забота о качестве в виде обнаружения багов до того, как их найдут пользователи. QA призвано улучшить ПО через улучшение процесса разработки ПО.

Тест-кейсы

Тест-кейсы похожи на наши, аналитиков, сценарии использования, определения и особенности я приведу ниже. Набор тест-кейсов (test caseы) является тест-комплектом (test suite).Процесс придумывания и написания тест-кейса называется созданием тест-кейса (test case generation). Процесс проверки тест кейса — исполнением тест-кейса (test case execution).

Тест кейс состоит из его ID, приоритета, Идеи (это описание конкретной вещи, проверяемой тест-кейсом), подготовительная часть, история редактирования, можно ещё указать приоритет. Ну и сам тест кейс выглядит так:

что такое превентирование багов. Смотреть фото что такое превентирование багов. Смотреть картинку что такое превентирование багов. Картинка про что такое превентирование багов. Фото что такое превентирование багов

Для удобства поддержки его следует модифицировать (в книге документ модифицировался многократно, здесь же я на этом остановлюсь):

что такое превентирование багов. Смотреть фото что такое превентирование багов. Смотреть картинку что такое превентирование багов. Картинка про что такое превентирование багов. Фото что такое превентирование багов

что такое превентирование багов. Смотреть фото что такое превентирование багов. Смотреть картинку что такое превентирование багов. Картинка про что такое превентирование багов. Фото что такое превентирование багов

Если результатов несколько, то фиксируйте, на каком шаге проверять результат. Напоминаю, что если требуется узнать о чем-то более подробно, то придется смотреть это в книге.

Теперь снова по определениям.

Совокупность тест-кейсов (находящихся, как правило, в одном документе), которые проверяют

• какую-то определенную часть нашего интернет-проекта(например, “Оплату”) и/или

• определенный спек (например, спек номер 1455 “Рассылкапользователям е-мейлов на основании истории заказов”),

называют тест-комплектом (test case suite).

Тест-кейс — это инструмент тестировщика, предназначенный для документирования и проверки одного или более ожидаемых результатов.

Шаги (procedure) — это часть тест-кейса, ведущая исполнителя тест-кейса к фактическому результату (выводу). Излишняядетализация может осложнить поддержку, а излишнееабстрагирование привести к непониманию того, как исполнитьтест-кейс.

Шаги для повторяющихся сценариев можно вынести в отдельный документ в локальной сети, и в тест-кейсе мы даем лишьссылку на этот документ.

Исполнение тест-кейса завершается либо положительным(pass), либо отрицательным (fail или баг. ) результатом. Причем именно отрицательный результат является желанным, так как мы нашли баг. Исполнение тест-кейса не является завершенным, если исполнитель не смог “пройти” все шаги.

Тест-кейс должен быть независим от других тест-кейсов из тогоже или любого другого тест-комплекта.

К плохому стилю относятся: а) зависимость тест-кейсов друг от друга; б) нечеткая формулировка шагов; в) нечеткая формулировка идеи тест-кейса и/или ожидаемого результата.

Хорошим стилем является создание нового тест-комплекта для новых тест-кейсов.

Создавая или модифицируя тест-кейсы, мы всегда должны помнить о том парне, который будет их исполнять после нас.

Состояние тест-кейса: “Новый”, “Измененный”, “Болеенедействителен”. Хорошая практика — не удалять (remove) отжившие свой век тест-кейсы (или целые тест-комплекты), а переносить их (move) в отдельную директорию, специальносозданную для таких пенсионеров.

Стоимость бага — это

• расходы компании, чтобы найти баг и исправить его до пе-редачи кода пользователю. Расходы компании поддаютсяприблизительной оценке;

• убытки, которые несет компания, потому что баг не былнайден до передачи кода пользователю.

Объективная оценка убытков в большинстве случаев невозможна.

Примечание. Часто ли при вводе адреса есть проверка, чтобы символ @ не был указан 2 раза?

Вывод

На этом я заканчиваю данный пост, продолжение будет несколько позже новой записью. Я прочитал только треть книги и определенно продолжу чтение. Могу вам её порекомендовать, она легко читается и лично для меня она явно полезна.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *