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

  • Билет №39. Типы тестов. Разработка, управляемая тестами (Test Driven Development).

  • шпоргалка исис. Билет 1. Платформа Microsoft. Net Framework 0


    Скачать 151.37 Kb.
    НазваниеБилет 1. Платформа Microsoft. Net Framework 0
    Анкоршпоргалка исис.docx
    Дата29.07.2018
    Размер151.37 Kb.
    Формат файлаdocx
    Имя файлашпоргалка исис.docx
    ТипДокументы
    #22204
    страница8 из 8
    1   2   3   4   5   6   7   8

    Билет №38. Современные технологии тестирования. Основные понятия тестирования. Фазы и этапы тестирования.

    Тестирование является одним из наиболее устоявшихся способов обеспечения качества разработки программного обеспечения. С технической точки зрения тестирование заключается в выполнении приложения на некотором множестве исходных данных. Из сверке получаемых результатов с заранее известными (эталонными) с целью установить соответствие различных свойств и характеристик приложения заказанным свойствам. При разработки программ тестирование занимает 40 % от суммарной трудоемкости разработки продукта.

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

    Динамическое тестирование (собственно тестирование) осуществляет выявление ошибок только на выполняющейся программе с помощью специальных инструментов автоматизации тестирования (– Testbed или Testbench.)

    Фазы тестирования:

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

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

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

    Этапы тестирования:

    Каждая фаза тестирования включает в себя следующие этапы:

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

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

    3. Разработка тестов (тестового кода для тестируемой системы)

    4. Выполнение тестов: реализация тестовых циклов.

    5. Анализ результатов.


    Билет №39. Типы тестов. Разработка, управляемая тестами (Test Driven Development).

    Типы тестов:

    В тестовом плане определяются и документируются различные типы тестов. Типы тестирования по виду подсистемы или продукта:

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

    • Тестирование инсталляции включает тестирование сценариев первичной инсталляции системы, сценариев повторной инсталляции (поверх уже существующей копии), тестирование деинсталляции, тестирование инсталляции в условиях наличия ошибок в инсталлируемом пакете, в окружении или в сценарии и т.п.

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

    Типы тестирования по способу выбора входных значений:

    • Функциональное тестирование, при котором проверяется:

      • Покрытие функциональных требований.

      • Покрытие сценариев использования.

    • Стрессовое тестирование, при котором проверяются экстремальные режимы использования продукта.

    • Тестирование граничных значений.

    • Тестирование производительности.

    • Тестирование на соответствие стандартам.

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

    • Тестирование работы с окружением.

    • Тестирование работы на конкретной платформе



    Test Driven Development:

    • Разработка через тестирование (Test Driven Development – TDD) - процесс разработки программного обеспечения, который предусматривает написание и автоматизацию модульных тестов еще до момента написания соответствующих классов или модулей. Это гарантирует, что все обязанности любого элемента программного обеспечения определяются еще до того, как они будут закодированы.

    TDD определяет следующий порядок этапов программирования:

    • Красный – напишите небольшой тест, который не работает, а возможно, даже не компилируется.

    • Зеленый – заставьте тест работать как можно быстрее, при этом не думайте о правильности дизайна и чистоте кода. Напишите ровно столько кода, чтобы тест сработал.

    • Рефакторинг – удалите из написанного вами кода любое дублирование.

    • Освоив TDD, разработчики обнаруживают, что они пишут значительно больше тестов, чем раньше, и двигаются вперед маленькими шагами, которые раньше могли показаться бессмысленными.
    1   2   3   4   5   6   7   8


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