Главная страница
Навигация по странице:

  • ЮЗАБИЛИТИ-ТЕСТИРОВАНИЕ

  • УДК 004.415.53(076) ББК 32.972.1я73 ISBN 978-985-543-349-2

  • Лабораторная работа №1 Виды тестирования. Планирование тестирования

  • юзабилити тестирование. Юзабилититестирование программного обеспечения


    Скачать 3.74 Mb.
    НазваниеЮзабилититестирование программного обеспечения
    Анкорюзабилити тестирование
    Дата19.03.2022
    Размер3.74 Mb.
    Формат файлаpdf
    Имя файлаюзабилити тестирование.pdf
    ТипДокументы
    #404690
    страница1 из 5
      1   2   3   4   5

    Министерство образования Республики Беларусь
    Учреждение образования
    «Белорусский государственный университет информатики и радиоэлектроники»
    Факультет компьютерного проектирования
    Кафедра инженерной психологии и эргономики
    ЮЗАБИЛИТИ-ТЕСТИРОВАНИЕ
    ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
    Рекомендовано УМО по образованию
    в области информатики и радиоэлектроники
    для специальности 1-58 01 01 «Инженерно-психологическое обеспечение
    информационных технологий», направлений специальности
    1-40 05 01-09 «Информационные системы и технологии
    (в обеспечении промышленной безопасности)»
    и 1-40 05 01-10 «Информационные системы и технологии
    (в бизнес-менеджменте)» в качестве пособия
    Минск БГУИР 2017

    УДК 004.415.53(076)
    ББК 32.972.1я73
    Ю20
    А в т о р ы:
    М. М. Меженная, Т. В. Гордейчук, М. М. Борисик, О. С. Медведев, И. Ф. Киринович
    Р е ц е н з е н т ы: кафедра интеллектуальных систем
    Белорусского национального технического университета
    (протокол №11 от 17.05.2016); заведующий лабораторией биоинформатики государственного научного учреждения «Объединенный институт проблем информатики Национальной академии наук Беларуси», кандидат технических наук, доцент И. Э. Том; заведующая кафедрой программного обеспечения информационных технологий учреждения образования «Белорусский государственный университет информатики и радиоэлектроники», кандидат технических наук, доцент
    Н. В. Лапицкая
    Юзабилити-тестирование программного обеспечения : пособие /
    Ю20 М. М. Меженная [и др.]. – Минск : БГУИР, 2017. – 72 с. : ил.
    ISBN 978-985-543-349-2.
    Посвящено вопросам анализа, планирования, проведения тестовых испытаний и оценки качества программного обеспечения на всех стадиях его жизненного цикла.
    УДК 004.415.53(076)
    ББК 32.972.1я73
    ISBN 978-985-543-349-2 © УО «Белорусский государственный университет информатики и радиоэлектроники», 2017

    3
    Содержание
    Введение ............................................................................................................................4
    Лабораторная работа №1
    Виды тестирования. Планирование тестирования ........................................................5
    Лабораторная работа №2
    Разработка требований .................................................................................................. 15
    Лабораторная работа №3
    Тестирование требований ............................................................................................. 22
    Лабораторная работа №4
    Тестирование программного обеспечения: разработка тестов ................................. 30
    Лабораторная работа №5
    Поиск и документирование дефектов .......................................................................... 47
    Лабораторная работа №6
    Документирование результатов тестирования ........................................................... 56
    Лабораторная работа №7
    Тестирование юзабилити .............................................................................................. 62
    Литература ...................................................................................................................... 71

    4
    Введение
    Настоящее пособие направлено на получение студентами теоретических знаний и практических навыков по современным технологиям тестирования про- граммного обеспечения и включает основные разделы знаний, необходимые для специалистов по обеспечению качества программных продуктов:

    классификация видов тестирования;

    планирование тестирования;

    разработка и тестирование требований к программному обеспечению;

    разработка тестов;

    поиск и описание дефектов;

    оценка качества и документирование результатов тестирования.
    Подробно рассмотрены особенности юзабилити-тестрирования, направлен- ного на повышение эффективности человеко-компьютерного взаимодействия по- средством разработки эргономичных интерфейсов.
    Пообие содержит базовые проверки графического интерфейса пользователя и функциональности программного обеспечения, примеры рабочей и отчетной те- стовой документации, поясняющие иллюстрации.
    Авторы выражают особую благодарность компании A1QA ЗАО «Техноло- гии качества» и лично Надежде Кныш, компании «EPAM Systems» и лично Свято- славу Куликову за обучающие материалы и консультативную помощь.

    5
    Лабораторная работа №1
    Виды тестирования. Планирование тестирования
    Цель: изучить классификацию видов тестирования, разработать проверки для различных видов тестирования, научиться планировать тестовые активности в за- висимости от особенностей поставляемой на тестирование функциональности.
    План занятия:
    1. Изучить теоретические сведения.
    2. Выполнить практическое задание по лабораторной работе.
    3. Оформить отчет и ответить на контрольные вопросы.
    Теоретические сведения
    Тестирование (Testing) – процесс анализа программного средства и сопут- ствующей документации с целью выявления дефектов и повышения качества про- дукта [1].
    Конечной целью тестирования является предоставление пользователю каче- ственного программного обеспечения (ПО) [2].
    Качество (Quality) – степень, с которой компонент, система или процесс соот- ветствует зафиксированным требованиям и/или ожиданиям и нуждам пользовате- ля или заказчика [3].
    Дефект (defect, bug, ошибка) – ключевой термин тестирования, означающий отклонение фактического результата от ожидаемого. Для обнаружения дефекта необходимо выполнить три условия: знать фактический результат, знать ожидае- мый результат, зафиксировать факт разницы между фактическим и ожидаемым результатом.
    Процесс тестирования как процесс поиска дефектов сводится к следующей последовательности действий:
    1. Узнаем ожидаемый результат.
    2. Узнаем фактический результат.
    3. Сравниваем ожидаемый и фактический результаты.
    Источником ожидаемого результата является спецификация – детальное опи- сание того, как должно работать ПО.
    В общем случае любой дефект представляет собой отклонение от специфика- ции. Важно обнаружить эти дефекты до того, как их найдут конечные пользователи.
    Тестирование можно классифицировать по очень большому количеству при- знаков. Далее приведен обобщенный список видов тестирования по различным основаниям.

    6 1. Виды тестирования в зависимости от объекта тестирования: функциональ- ные, пограничные, нефункциональные (рисунок 1.1).
    Рисунок 1.1 – Классификация видов тестирования в зависимости от объекта
    Рассмотрим функциональные виды тестирования.
    Функциональное тестирование (Functional Testing) – тестирование, основан- ное на сравнительном анализе спецификации и функциональности компонента или системы.
    Тестирование безопасности (Safety Testing)– тестирование программного продукта с целью определить его способность при использовании оговоренным образом оставаться в рамках приемлемого риска причинения вреда здоровью, биз- несу, программам, собственности или окружающей среде.

    7
    Тестирование защищенности (Security Testing)– тестирование с целью оце- нить защищенность программного продукта от внешних воздействий (от проник- новений). На практике зачастую под термином тестирование безопасности пони- мают в том числе и тестирование защищенности.
    Рассмотрим пограничные виды тестирования.
    Тестирование совместимости (Compatibility Testing)проверка работоспо- собности приложения в различных средах (браузеры и их версии, операционные системы, их типы, версии и разрядность). Виды тестирования совместимости: кроссбраузерное тестирование (различные браузеры или версии браузеров), крос- сплатформенное тестирование (различные операционные системы или версии операционных систем).
    Рассмотрим нефункциональные виды тестирования, направленные на провер- ку характеристик или свойств программы (внешний вид, удобство использования, скорость работы и т. п.).
    Тестирование требований (Requirements Testing) – проверка требований на соответствие основным атрибутам качества.
    Тестирование прототипа (Prototype Testing) – метод выявления структурных, логических ошибок и ошибок проектирования на ранней стадии развития продук- та до начала фактической разработки.
    Тестирование пользовательского интерфейса (GUI Testing) – тестирование, выполняемое путем взаимодействия с системой через графический интерфейс пользователя (правописание выводимой информации; расположение и выравнива- ние элементов GUI; соответствие названий форм/элементов GUI их назначению; унификация стиля, цвета, шрифта; окна сообщений; изменение размеров окна, по- ведение курсора и горячие клавиши).
    Тестирование удобства использования (Usability Testing) – тестирование с це- лью определения степени понятности, легкости в изучении и использовании, при- влекательности программного продукта для пользователя при условии использо- вания в заданных условиях эксплуатации (на этом уровне обращают внимание на визуальное оформление, навигацию, логичность, наличие обратной связи и др.).
    Тестирование доступности (Accessibility Testing) – тестирование, которое определяет степень легкости, с которой пользователи с ограниченными способно- стями могут использовать систему или ее компоненты.
    Тестирование интернационализации (Internationalization Testing) – тестирова- ние адаптации продукта к языковым и культурным особенностям целого ряда ре- гионов, в которых потенциально может использоваться продукт.
    Тестирование локализации (Localization Testing) – тестирование адаптации продукта к языковым и культурным особенностям конкретного региона, отлично- го от того, в котором разрабатывался продукт.

    8
    Тестирование производительности (Performance Testing) – процесс тестиро- вания с целью определения производительности программного продукта. В рам- ках тестирования производительности выделяют нагрузочное тестирование, объ- емное тестирование, тестирование стабильности и надежности, стрессовое тести- рование.
    Нагрузочное тестирование (Performance and Load Testing) – вид тестирования производительности, проводимый с целью оценки поведения компонента или си- стемы при возрастающей нагрузке, например количестве параллельных пользова- телей и/или операций, а также определения, какую нагрузку может выдержать компонент или система.
    Объемное тестирование (Volume Testing) – позволяет получить оценку произ- водительности при увеличении объемов данных в базе данных приложения.
    Тестирование стабильности и надежности (Stability/Reliability Testing) – поз- воляет проверять работоспособность приложения при длительном (многочасовом) тестировании со средним уровнем нагрузки.
    Стрессовое тестирование (Stress Testing) – вид тестирования производитель- ности, оценивающий систему или компонент на граничных значениях рабочих нагрузок, или за их пределами, или же в состоянии ограниченных ресурсов, таких как память или доступ к серверу.
    Тестирование на отказ и восстановление (Failover and Recovery Testing) – те- стирование при помощи эмуляции отказов системы или реально вызываемых от- казов в управляемом окружении.
    Тестирование установки (Installability Testing) и лицензирования – процесс тестирования установки программного продукта.Включает формальный тест про- граммы установки приложения (проверка пользовательского интерфейса, навига- ции, удобства использования, соответствия общепринятым стандартам оформле- ния);функциональный тест программы установки;тестирование механизма ли- цензирования и функций защиты от пиратства;проверку стабильности приложе- ния после установки.
    2. Виды тестирования в зависимости от знания кода: белый ящик, серый ящик, черный ящик.
    Белый ящик (White Box Testing) – тестирование, основанное на анализе внут- ренней структуры компонентов или системы (у тестировщика есть доступ к внут- ренней структуре и коду приложения).
    Черный ящик (Black Box Testing) – тестирование системы без знания внут- ренней структуры и компонентов системы (у тестировщика нет доступа к внут- ренней структуре и коду приложения либо в процессе тестирования он не обраща- ется к ним).

    9
    Серый ящик (Grey Box Testing) – комбинация методов белого и черного ящи- ка, состоящая в том, что у тестировщика есть доступ только к некоторой части внутренней структуры и кода приложения.
    3. Виды тестирования в зависимости от степени автоматизации: ручное, ав- томатизированное тестирование.
    Ручное тестирование – такое тестирование, в котором тест-кейсы выполняют- ся тестировщиком вручную без использования средств автоматизации.
    Автоматизированное тестирование (Automated Testing) – набор техник, под- ходов и инструментальных средств, позволяющий исключить человека из выпол- нения некоторых задач в процессе тестирования. Тест-кейсы частично или полно- стью выполняет специальное инструментальное средство.
    4. Виды тестирования в зависимости от степени изолированности тестируе- мых компонентов: модульное, интеграционное, системное тестирование.
    Модульное тестирование (Unit/Component Testing) – тестируются отдельные части (модули) системы.
    Интеграционное тестирование (Integration Testing) – тестируется взаимодей- ствие между отдельными модулями.
    Системное тестирование (System Testing) – тестируется работоспособность системы в целом.
    5. Виды тестирования в зависимости от подготовленности:
    интуитивное те- стирование, исследовательское тестирование, тестирование по документации.
    Интуитивное тестирование выполняется без подготовки к тестам, без опреде- ления ожидаемых результатов, проектирования тестовых сценариев.
    Исследовательское тестирование – метод проектирования тестовых сценариев во время выполнения этих сценариев.
    Тестирование по документации – тестирование по подготовленным тестовым сценариям, руководству по осуществлению тестов.
    6. Виды тестирования в зависимости от места и времени проведения тестиро- вания: приемочное тестирование, альфа-тестирование, бета-тестирование.
    Приемочное тестирование (User Acceptance Testing, UAT) – формальное те- стирование по отношению к потребностям, требованиям и бизнес-процессам пользователя, проводимое с целью определения соответствия системы критериям приемки и предоставления возможности пользователям, заказчикам или иным ав- торизованным лицам решать, принимать систему или нет.
    Альфа-тестирование (Alpha Testing) – моделируемое или действительное функциональное тестирование, выполняется в организации, разрабатывающей продукт, но не проектной командой (это может быть независимая команда тести- ровщиков, потенциальные пользователи, заказчики). Альфа-тестирование часто применяется к коробочному программному обеспечению в качестве внутреннего приемочного тестирования.

    10
    Бета-тестирование (Beta Testing) – эксплуатационное тестирование потенци- альными или существующими клиентами/заказчиками на внешней стороне (в сре- де, где продукт будет использоваться), никак не связанными с разработчиками, с целью определения, действительно ли компонент или система удовлетворяет тре- бованиям клиента/заказчика и вписывается в бизнес-процессы. Бета-тестирование часто проводится как форма внешнего приемочного тестирования готового про- граммного обеспечения для того, чтобы получить отзывы рынка.
    7. Виды тестирования в зависимости от глубины тестового покрытия: Smoke,
    MAT, AT.
    Тестовое покрытие – одна из метрик оценки качества тестирования, пред- ставляющая из себя плотность покрытия тестами требований либо исполняемого кода.
    Smoke Test – поверхностное тестирование для определения пригодности сборки для дальнейшего тестирования, должно покрывать базовые функции про- граммного обеспечения; уровень качества: Acceptable/Unacceptable.
    Minimal Acceptance Test (MAT, Positive Test) – тестирование системы или ее части только на корректных данных/сценариях; уровень качества:
    High/Medium/Low.
    Acceptance Test (AT) – полное тестирование системы или ее части как на кор- ректных (Positive Test), так и на некорректных данных/сценариях (Negative Test); уровень качества: High/Medium/Low. Тест на этом уровне покрывает все возмож- ные сценарии тестирования: проверку работоспособности модулей при вводе кор- ректных значений; проверку при вводе некорректных значений; использование форматов данных, отличных от тех, которые указаны в требованиях; проверку ис- ключительных ситуаций, сообщений об ошибках; тестирование на различных комбинациях входных параметров; проверку всех классов эквивалентности; те- стирование граничных значений интервалов; сценарии, не предусмотренные спе- цификацией и т. д.
    8. Виды тестирования в зависимости от тестовых активностей: NFT, RT, DV.
    Данная классификация тестирования иначе называется видами тестирования в за- висимости от ширины тестового покрытия.
    Тестирование новых функциональностей (New Feature Test, NFT) – опреде- ление качества поставленной на тестирование новой функциональности, которая ранее не тестировалась. Данный тип тестирования включает в себя: проведение полного теста (АТ) непосредственно новой функциональности; тестирование но- вой функциональности на соответствие документации; проверку всевозможных взаимодействий ранее реализованной функциональности с новыми модулями и функциями.

    11
    Регрессионное тестирование (Regression Testing, RT) проводится с целью оценки качества ранее реализованной функциональности. Включает в себя про- верку стабильности ранее реализованной функциональности после внесения изме- нений, например добавления новой функциональности, исправление дефектов, оп- тимизация кода, разворачивание приложения на новом окружении. Регрессионное тестирование выполняется на уровнях MAT, AT.
    Валидация дефектов (Defect Validation, DV) – проверка результатов исправ- ления дефектов; может включать элементы регрессионного тестирования; уровень проверки не определяется.
    Процесс тестирования программного продукта включает следующие этапы:
    1. Планирование тестирования.
    2. Разработка рабочей тестовой документации (тестов).
    3. Исполнение тестирования.
    Планирование тестирования включает изучение и анализ предмета тестиро- вания, составление тест-плана. На стадии планирования тестирования перед те- стировщиком стоит задача поиска компромисса между объемом тестирования, ко- торый возможен в теории, и объемом тестирования, который возможен на практи- ке. Результирующий тест-план представляет собой документ, описывающий и ре- гламентирующий перечень работ по тестированию, а также соответствующие тех- ники и подходы, стратегию, области ответственности, ресурсы, расписание и клю- чевые даты.
    Разработка тестов, как правило, выполняется до реализации программного обеспечения, основываясь исключительно на спецификации к программному про- дукту.
    Выполнение тестирования начинается после поставки первой версии про- граммного продукта и представляет собой практический поиск дефектов с исполь- зованием тестовой документации, составленной ранее, а также контроль исправ- ления обнаруженных дефектов.
    Для всех программных продуктов выполняют следующие типы тестов и их композиции.
    Для первой поставки программного обеспечения рекомендуется проводить
    Smoke + NFT
    AT
    готовой функциональности: поверхностное тестирование (Smoke
    Test) выполняется для определения пригодности сборки для дальнейшего тестиро- вания; полное тестирование системы или ее части как на корректных, так и на не- корректных данных/сценариях (Acceptance Test, AT) позволяет обнаружить де- фекты и внести запись о них в багтрэкинговую систему.
    Для последующих поставок программного обеспечения композиции тестов могут быть следующими.

    12
    Если не была добавлена новая функциональность, то DV + RT
    MAT
    . То есть выполняется проверка исправления дефектов программистом (Defect Validation,
    DV), а также проверка работоспособности остальной функциональности после ис- правления дефектов на позитивных сценариях (Minimal Acceptance Test, MAT).
    Если была добавлена новая функциональность, то
    Smoke + DV + NFT
    AT
    + RT
    MAT
    . В частности, выполняется поверхностное тестиро- вание (Smoke Test), проверка исправления дефектов программистом (Defect Vali- dation, DV), тестирование новых функциональностей (New Feature Testing, NFT), проверка старых функциональностей, т. е. регрессионное тестирование (Regression
    Test).
    Если была добавлена новая функциональность, то возможен также вариант
    DV + NFT
    AT
    + RT
    MAT
    , т. е. без выполнения Smoke Test.
    Таким образом, для второй и последующих поставок обобщенная схема ком- позиции тестов выглядит следующим образом:
    Smoke + DV + (NFT
    AT
    ) + RT
    MAT
    В зависимости от типа и специфики приложения (web, desktop, mobile) вы- полняют специализированные тесты (например, кроссбраузерное или кроссплат- форменное тестирование, тестирование локализации и интернационализации и др.).
    Практическое задание:
    1. Выбрать объект реального мира (например, карандаш, стол, чашка, клавиа- тура, сумка и др.) с целью последующей разработки тестовых проверок для него.
    2. Разработать различные проверки в соответствии с классификацией видов тестирования для выбранного объекта реального мира. Результаты внести в таб- лицу 1.1.
    3. Разработать композицию тестов для первой поставки программного обес- печения (build 1), состоящей из трех модулей (модуль 1, модуль 2, модуль 3).
    4. Разработать композицию тестов для второй поставки программного обес- печения (build 2): исправлены заведенные дефекты, доставлена новая функцио- нальность – модуль 4.
    5. Разработать композицию тестов для третьей поставки программного обес- печения (build 3): заказчик решил расширять рынки сбыта и просит осуществить поддержку программного обеспечения на английском языке.
    6. Разработать композицию тестов для четвертой поставки программного обеспечения (build 4): заказчик хочет убедиться, что программное обеспечение выдержит нагрузку в 2000 пользователей.
    7. Оформить отчет и защитить лабораторную работу.

    13
    Таблица 1.1 – Тестовые проверки для различных видов тестирования
      1   2   3   4   5


    написать администратору сайта