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

  • Основная цель тестирования

  • Тестирование

  • Специалист по контролю качества

  • Специалисты по тестированию

  • Разработчики (программисты)

  • Функциональное тестирование

  • Функциональные требования

  • Нагрузочное тестирование

  • Тестирование стабильности

  • Конфигурационное тестирование

  • Проверка эргономичности

  • Графический интерфейс пользователя

  • Основные вопросы тестирования

  • Тестирование чёрного ящика

  • Тестирование по стратегии белого ящика

  • Тестирование методом серого ящика

  • Автоматизированное тестирование ПО

  • Модульное тестирование (юнит-тестирование)

  • Интеграционное тестирование

  • Системное тестирование

  • Бета - тестирование Уровни тестирования

  • Тестирование. Тестирование ПО. Тестирование по


    Скачать 1.51 Mb.
    НазваниеТестирование по
    АнкорТестирование
    Дата28.02.2023
    Размер1.51 Mb.
    Формат файлаpdf
    Имя файлаТестирование ПО.pdf
    ТипДокументы
    #960359

    Тестирование ПО — процесс исследования ПО с целью получения информации о качестве продукта
    (ISO 9126)
    с учетом следующих составляющих:

    функциональность

    надёжность

    удобство использования (практичность)

    производительность (эффективность)

    удобство сопровождения

    переносимость (мобильность)
    Существует множество подходов к решению задачи тестирования ПО.

    Основная цель тестирования – доказательство того,
    что результат разработки соответствует предъявленным к нему требованиям.
    Процесс верификации проводится сверху вниз: от общих требований, заданных в ТЗ и/или спецификации на всю информационную систему до детальных требований на программные модули и их взаимодействие.

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

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

    Специалист по контролю качества -
    член проектной группы осуществляет взаимодействие с разработчиками, менеджером программы и специалистами по безопасности и сертификации, отслеживает общее качество ПО,
    соответствие ПО стандартам и спецификациям.
    Специалисты по тестированию
    участник команды разработчиков;
    определяет стратегию тестирования, тест-требования и тест-планы для каждого этапа проекта; выполняет тестирование системы, собирает и анализирует отчеты о прохождении тестирования
    Разработчики (программисты)
    выполняют юнит -тестирование.

    1)
    по объекту тестирования
    2)
    по знанию системы
    3)
    по степени автоматизации
    4)
    по степени изолированности компонентов
    5)
    по времени проведения тестирования

    Функциональное тестирование (functionaltesting)
    Тестирование производительности (perfomance/stresstesting)
    Тестирование удобства использования (usabilitytesting)
    Тестирование интерфейса пользователя (UI testing)
    Тестирование безопасности (securitytesting)
    Тестирование локализации (localizationtesting)
    Тестирование совместимости (compatibilitytesting)

    Функциональное тестирование — это тестирование ПО
    в целях проверки реализуемости функциональных требований, то есть способности ПО в определённых условиях решать задачи,
    нужные пользователям.
    Функциональные требования определяют, что именно делает
    ПО, какие задачи оно решает.
    Функциональные требования включают в себя:

    Функциональная пригодность (suitability).

    Точность (accuracy).

    Способность к взаимодействию (interoperability).

    Соответствие стандартам и правилам (compliance).

    Защищённость (security).

    В тестировании производительности различают следующие направления:

    нагрузочное (load)

    стресс (stress)

    тестирование стабильности (endurance or soak or stability)

    конфигурационное (configuration)
    Возможны два подхода к тестированию производительности программного обеспечения:
    1)
    в терминах рабочей нагрузки: ПО подвергается тестированию в
    ситуациях,
    соответствующих различным сценариям использования;
    2)
    в рамках бета-тестирования, когда система испытывается реальными конечными пользователями

    Нагрузочное
    тестирование

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

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

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

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

    Это проверка эргономичности — исследование, выполняемое с целью определения, удобен ли некоторый искусственный объект (такой как веб-страница,
    пользовательский интерфейс или устройство) для его предполагаемого применения.
    Проверка эргономичности измеряет эргономичность объекта или системы и сосредоточена на определённом объекте или небольшом наборе объектов, в то время как исследования взаимодействия человек-компьютер в
    целом

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

    Графический интерфейс пользователя (Graphical user interface, GUI) – разновидность пользовательского интерфейса, в котором элементы интерфейса (меню, кнопки, значки,
    списки и т. п.), представленные пользователю на дисплее, исполнены в виде графических изображений.
    Проверяется в целом общий вид приложения и в отдельности формы, расположенные на странице.
    Основные вопросы тестирования:

    Как выглядит интерфейс?

    Удобно ли пользователю нажимать на кнопки?

    Понятны ли иконки, читабелен ли текст,
    формат, шрифт?

    Какие акценты в каких местах будут располагаться и к чему привлекать внимание?
    Эти вопросы в ходе работы задавать нужно обязательно. Внешний вид приложения должен способствовать удобству и понятности продукта. Цвет использоваться как функциональный элемент и вызывать позитивные эмоции.

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


    Тестирование чёрного ящика (blackbox)

    Тестирование белого ящика (whitebox)

    Тестирование серого ящика (graybox)

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

    Пример:
    Тестировщик проводит тестирование веб-сайта, не зная особенностей его реализации, используя только предусмотренные разработчиком поля ввода и кнопки. Источник ожидаемого результата –
    спецификация.
    Поскольку это тип тестирования, по определению он может включать другие его виды. Тестирование черного ящика может быть как функциональным, так и нефункциональным. Функциональное тестирование предполагает проверку работы функций системы, а нефункциональное – соответственно, общие характеристики нашей программы.
    Преимущества:
    – тестирование производится с позиции конечного пользователя и может помочь обнаружить неточности и противоречия в спецификации;
    – тестировщику нет необходимости знать языки программирования и углубляться в особенности реализации программы;
    – тестирование может производиться специалистами, независимыми от отдела разработки, что помогает избежать предвзятого отношения;
    – можно начинать писать тест-кейсы, как только готова спецификация.
    Недостатки:
    – тестируется только очень ограниченное количество путей выполнения программы;
    – без четкой спецификации (а это скорее реальность на многих проектах) достаточно трудно составить эффективные тест-кейсы;
    – некоторые тесты могут оказаться избыточными, если они уже были проведены разработчиком на уровне модульного тестирования;
    Противоположностью техники черного ящика является тестирование методом белого ящика, речь о котором пойдет ниже.

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

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

    Тестирование
    методом
    серого
    ящика

    метод тестирования программного обеспечения,
    который предполагает, комбинацию White Box и
    Black Box подходов. То есть, внутреннее устройство программы нам известно лишь частично.
    Предполагается,
    например,
    доступ к
    внутренней структуре и алгоритмам работы ПО для написания максимально эффективных тест-кейсов,
    но само тестирование проводится с помощью техники черного ящика, то есть, с позиции пользователя.
    Эту технику тестирования также называют методом полупрозрачного ящика: что-то мы видим, а что-то – нет.

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


    Ручное тестирование

    Автоматизированное тестирование

    Полуавтоматизированное тестирование

    Ручное тестирование — часть процесса тестирования на этапе контроля качества в процессе разработки ПО.
    Оно производится тестировщиком без использования программных средств, для проверки программы или сайта путём моделирования действий пользователя. В роли тестировщиков могут выступать и обычные пользователи, сообщая разработчикам о найденных ошибках.
    Автоматизированное тестирование ПО — часть процесса тестирования на этапе контроля качества в процессе разработки.
    Оно использует программные средства для выполнения тестов и проверки результатов выполнения, что помогает сократить время тестирования и упростить его процесс.

    Модульное
    тестирование
    (юнит-тестирование)

    тестируется минимально возможный для тестирования компонент, например, отдельный класс или функция.
    Часто модульное тестирование осуществляется разработчиками ПО.
    Интеграционное
    тестирование

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

    Альфа - тестирование

    Тестирование при приёмке

    Тестирование новых функций

    Регрессионное тестирование

    Тестирование при сдаче
    Бета - тестирование

    Уровни тестирования


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