Файл: Виды тестирования. Планирование тестирования.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 09.11.2023

Просмотров: 273

Скачиваний: 5

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Лабораторная работа 3–4

Тема: виды тестирования. Планирование тестирования.

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

Задание: разработка Landing Page.

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

2. Разработать различные проверки в соответствии с классификацией видов тестирования для выбранного объекта реального мира. Результаты внести в таблицу 1.1.

3. Разработать композицию тестов для первой поставки программного обеспечения (build 1), состоящей из трех модулей (модуль 1, модуль 2, модуль 3).

4. Разработать композицию тестов для второй поставки программного обеспечения (build 2): исправлены заведенные дефекты, доставлена новая функциональность – модуль 4.

5. Разработать композицию тестов для третьей поставки программного обеспечения (build 3): заказчик решил расширять рынки сбыта и просит осуществить поддержку программного обеспечения на английском языке.

6. Разработать композицию тестов для четвертой поставки программного обеспечения (build 4): заказчик хочет убедиться, что программное обеспечение выдержит нагрузку в 2000 пользователей.

7. Оформить отчет и защитить лабораторную работу.
Таблица 1 – Тестовые проверки для различных видов тестирования

Объект тестирования: разработка Landing Page

Вид тестирования

Краткое определение вида тестирования

Тестовые проверки

Functional Testing

основанное на сравнительном анализе спецификации и функциональности компонента или системы

1. Продажа конкретного товара или услуги

2. Распространения программного обеспечения и инфопродуктов.

Safety Testing

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

1. Проверка соответствия сайта требованиям безопасности, в том числе наличия SSL-сертификата.

2. Проверка наличия бэкапов сайта и их регулярности создания.

3. Проверка корректности и безопасности работы с


Продолжение таблицы 1







приватными данными пользователей.

4. Проверка соответствия сайта стандартам безопасности для среды выполнения.

5. Проверка наличия и корректности использования механизмов защиты от вредоносного ПО и уязвимостей на сайте.

Security Testing

тестирование с целью оценить защищенность программного продукта от внешних воздействий (от проникновений). На практике зачастую под термином тестирование безопасности понимают в том числе и тестирование защищенности

Повреждение и восстановление. В случае, когда данные повреждаются или неправильно меняются авторизованным или не авторизованным пользователем, вы должны определить, насколько важной является процедура восстановления данных

Compatibility Testing

проверка работоспособности приложения в различных средах (браузеры и их версии, операционные системы, их типы, версии и разрядность). Виды тестирования совместимости: кроссбраузерное тестирование (различные браузеры или версии браузеров), кроссплатформенное тестирование (различные операционные системы или версии операционных систем)

1. Тестирование сайта в разных браузерах (IE, Firefox, Chrome, Safari и Opera)

2. Правильность отображения сайта. шрифта и изображения на других браузерах

3. Используемая версия HTML совместима с соответствующими версиями браузера

GUI Testing

тестирование,

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

-Наличие всех элементов;

-Их размер и цвет;

-Расположение относительно друг друга.

-Сравнение с макетом - метод наложения готового эталонного макета (обычно psd-файл) на приложение в экране браузера, все несовпадения можно рассматривать как ошибки

-Заголовки по всему приложению должны быть приведены к одному стандарту

-Кодировка (UTF8...)

Продолжение таблицы 1

Usability Testing

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

обратной связи и др.).

-Соответствует ли сайт ожиданиям конечного пользователя;

-Логичность интерфейса;

-Самое нужное «сверху»;

-Продуманная навигация;

-Локализация;

-Скорость работы сайта;

-Информативность (сообщения / обязательные поля);

-Возможность отмены действий пользователя;

-Help - должна быть инструкция, как работать с сайтом;

-Возможность печати (если нужно).

Accessibility Testing

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

Мобильность: как люди с проблемами мобильности получат доступ к вашему сайту?. Можете ли вы взаимодействовать со всеми элементами управления на своем веб-сайте? Вы можете видеть, какие элементы управления в настоящее время активны? Имеют ли смысл командные приказы? Если ответ отрицательный, вам необходимо улучшить поддержку клавиатуры.

Познание: Насколько сложны формы и меню на вашем веб-сайте? Соответствуют ли они контексту и легко ли их определить для людей с когнитивными проблемами? В каждом ли поле формы указано, что именно требуется от пользователей?

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

Слух: если на вашем сайте несколько видеороликов или аудиоклипов, есть ли у вас варианты для людей с


Продолжение таблицы 1







нарушениями слуха? Это включает в себя скрытые субтитры для видео или расшифровки стенограмм для подкастов, описаний продуктов или других аудиозаписей.

Видение: с другой стороны, поддерживает ли ваш сайт аудиоописания и включает ли контекстный текст, который позволяет ослабленным посетителям, использующим программное обеспечение для преобразования текста в голос, быстро находить то, что им нужно?

Internationalization Testing

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

-создание продукта с учетом стандарта кодирования Unicode, который поддерживает практически все языки мира;

-создание возможности поддержки элементов сайта, которые невозможно локализовать стандартным образом (к примеру, вертикально расположенные иероглифы или написание арабских предложений справа налево);

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

Performance Testing

процесс тестирования с целью определения производительности программного продукта. В рамках тестирования производительности выделяют нагрузочное тестирование, объемное тестирование, тестирование стабильности и надежности, стрессовое тестирование

-Имитируем нагрузку пользователями (JMeter);

-Пробуем загрузить большие объемы данных, файлы, медиа;

-Нагружаем БД;

-Понижаем скорость инета (NetLimiter);

-Понижаем скорость передачи данных (Throttling);

-Тестируем восстановление системы после падений.

Stress Testing

вид тестирования производительности,

-определяют метрики и диапазон KPI;

Продолжение таблицы 1




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

-разрабатывают сценарии атак (превышение пропускной способности канала и пр.)

-специалисты организуют контролируемые DDoS-атаки на всех возможных уровнях,

постепенно наращивают нагрузку, например, с шагом 15-25% RPS (количество запросов за секунду),

-фиксируют текущий уровень устойчивости сайта,

-определяют предельные нагрузки, на которых сайт «ложится»,

-идентифицируют слабые места,

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

Negative Testing

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

-Проверить, как работает сайт, когда оно получает на вход «правильные» данные (чтоб узнать «что такое хорошо и что такое плохо» читаем документацию);

-Если все работает и работает правильно (т.е. именно так как описано в спецификации), следующим шагом является проверка граничных значений (т.е. там, где начинаются «правильные» данные и там где они заканчиваются);

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

Black Box Testing

тестирование системы без знания внутренней структуры и компонентов системы (у тестировщика нет доступа к внутренней структуре и коду приложения либо в процессе тестирования он не обращается к ним)

1. Проверка наличия и отображения логотипа на главной странице

2. Проверка наличия и отображения заголовка и подзаголовка на главной странице

3. Проверка наличия и отображения блоков с описанием услуг на главной странице


Продолжение таблицы 1







4. Проверка функциональности кнопок "Перейти к услугам" и "Перейти к прайсу"

5. Проверка функциональности кнопки "Оставить отзыв"

6. Проверка наличия и отображения блока с контактной информацией на главной странице

7. Проверка функциональности кнопки "Отправить сообщение" в блоке с контактной информацией.

Automated Testing

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

-Открытие новой вкладки или окна браузера, изменение размеров

-Поиск на странице веб-элемента с указанными параметрами

-Навигация между веб-страницами.

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

-Эмуляция действий пользователя

Unit/Component Testing

тестируются отдельные части (модули) системы

-Модульные тесты позволяют исправить ошибки на ранних этапах разработки и снизить затраты.

-Это помогает разработчикам лучше понимать кодовую базу проекта и позволяет им быстрее и проще вносить изменения в продукт.

-Хорошие юнит-тесты служат проектной документацией.

-Модульные тесты помогают с миграцией кода. Просто переносите код и тесты в новый проект и изменяете код, пока тесты не запустятся снова.

Integration Testing

тестируется взаимодействие между отдельными модулями

Настраивается веб-узел ТС.

Создается клиент тестового сервера для отправки запросов к приложению.

Продолжение таблицы 1







Выполняется шаг теста Подготовка: тестовое приложение готовит запрос.

Выполняется шаг теста Выполнение: клиент отправляет запрос и получает ответ.

Выполняется шаг теста Проверка: фактический ответ определяется как правильный или ошибочный на основе ожидаемого ответа.

Процесс продолжается до тех пор, пока не будут выполнены все тесты.

Выводятся результаты теста.



Контрольные вопросы

1. Что такое тестирование?

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

2. Что такое качество программного обеспечения?

Качество программного обеспечения – это совокупность характеристик программного обеспечения, относящихся к его способности удовлетворять установленные и предполагаемые потребности.

3. Что такое дефект?

Дефект – ключевой термин тестирования, означающий отклонение фактического результата от ожидаемого.

4. Назовите три условия обнаружения дефекта.

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

5. Какие существуют виды тестирования в зависимости от объекта тестирования? Дайте характеристику каждому.

Функциональное тестирование – тестирование, основанное на сравнительном анализе спецификации и функциональности компонента или системы.

Пограничные тестирования. Тестирование совместимости – проверка работоспособности приложения в различных средах.

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

6. Какие существуют виды функционального тестирования? Дайте характеристику каждому.

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

Тестирование защищенности – тестирование с целью оценить защищенность программного продукта от внешних воздействий (от проникновений). На практике зачастую под термином тестирование безопасности понимают в том числе и тестирование защищенности.

7. Какие существуют виды нефункционального тестирования? Дайте характеристику каждому.

Тестирование требований – проверка требований на соответствие основным атрибутам качества.

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

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

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