Болезни Военный билет Призыв

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

Тест (от английского test - «испытание», «проверка») - стандартизированные, краткие, ограниченные во времени испытания, предназначенные для установления количественных и качественных индивидуальных различий.

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

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

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

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

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

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





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

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

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

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

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

Параметры тестирования, задания, изображения к заданиям - все хранится в одном файле теста. Никаких баз данных, никаких лишних файлов - один тест – один файл. Файл с тестом зашифрован и сжат.

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

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

Более подробную информацию о программе, а так же последнюю версию программы Вы можете найти по адресу http://mytest.klyaksa.net - раздел информационно-образовательного портала Клякс@.net , посвященный этой программе. Вопросы, предложения, сообщения об ошибках, свои тесты присылайте по e-mail: [email protected] или задавайте на форуме в разделе "компьютерное тестирование ".

Все права на программу MyTest принадлежат её автору. Автор программы: Башлаков Александр Сергеевич, г.Унеча, Брянской обл.

Программа MyTest распространяется бесплатно (Freeware ). Любое образовательное учреждение, учитель и ученик могут бесплатно использовать программу на основе лицензионного соглашения без каких либо денежных отчислений. Для получения более подробной информации об правах использования и распространения программы смотрите лицензионное соглашение.

Сайт программы -


Полный текст материала MyTest - лучшая бесплатная российская программа создания тестов смотрите в скачиваемом файле .
На странице приведен фрагмент.

Виктор Батырев

  • Игорь Гапонов

  • Теперь, чтобы провести аттестацию 206 человек, достаточно собрать в iSpring Suite электронный тест, загрузить в СДО и назначить сотрудникам.

    Система автоматически формирует сводную таблицу успеваемости и показывает имена всех двоечников. Проверка занимает два месяца.

    Наталья Соболева

    руководитель учебного центра AG Experts

  • Мы создаем интерактивные тесты и лекции для финансовых специалистов

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

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

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

    Светлана Засухина

    менеджер, Академия PwC

    Регулярное тестирование помогает держать сотрудников «в тонусе» и влияет на рост продаж

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

    Чтобы «просканировать» все регионы, с онлайн-тестированием хватает двух дней.

    Мы видим уровень подготовки в каждом регионе и можем быстро устранить «болевые точки». Благодаря регулярной аттестации все торговые представители работают по одним корпоративным стандартам.

    Виктор Батырев

    менеджер по операционному управлению Johnson & Johnson

    Мы сократили срок адаптации менеджера по продажам с 8 недель до 3

    Два года назад аттестация была тяжелой рутиной. Подготовить бумажные тесты для 20-30 человек, собрать всех в одном месте, после проверить все ответы вручную. С появлением eLearning бумажные опросники мы заменили электронными тестами. Теперь мне достаточно собрать в iSpring Suite электронный тест, загрузить в СДО и назначить сразу всем сотрудникам по России.

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

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

    Игорь Гапонов

    руководитель учебного центра Honeywell

    Электронные тесты ускоряют аттестацию в 6 раз

    Раньше плановая аттестация шла 12 месяцев: разные регионы, часовые пояса, загруженность. Сперва я собеседовала каждого сотрудника через Skype. После они по удаленному доступу подключались к моему компьютеру и решали тест в Excel. Кто-то списывал, кто-то спорил. В итоге проверка все равно не давала объективной оценки.

  • SunRav TestOfficePro – программное обеспечение для контроля и проверки знаний. Позволяет создавать тесты разного уровня сложности и направленности; проводить тестирование эффективно и с комфортом для пользователей и для организаторов.

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

    SunRav TestOfficePro

    Программа SunRav TestOfficePro внесена в Единый реестр российских программ для электронных вычислительных машин и баз данных.

    Компьютерное тестирование знаний

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

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

    В программу входят

    • tMaker – программа для создания тестов. Возможно сопровождение вопросов и ответов изображением, анимацией, аудио и видео роликами. Составлять и редактировать тесты в этой программе может пользователь компьютера с любым уровнем подготовки. Доступен импорт тестов, созданных в текстовом редакторе (например, в MS Word) или редакторе электронных таблиц (например, в MS Excel).
    • tTester – программа для проведения тестирования. Имеет максимально простой интерфейс. Обширные настройки и параметры командной строки позволяют приспособить ее работу под любые требования.
    • tAdmin – программа для управления пользователями и обработки результатов компьютерного тестирования. Дает возможность просматривать/печатать результаты, а также создавать, редактировать, экспортировать, печатать отчеты по тестированию групп и/или отдельных пользователей. Возможно создание матрицы ответов.

    Основные возможности SunRav TestOfficePro

    Создание тестов. Работа с тестовыми заданиями

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

    • Многообразие типов вопросов. Программа позволяет использовать в тестах 5 типов вопросов:
      1. Одиночный выбор . Один вариант ответа из нескольких предложенных.
      2. Множественный выбор . Один или несколько вариантов ответа из нескольких предложенных.
      3. Открытый вопрос . Пользователь должен ввести ответ с клавиатуры. Создатель теста может использовать мощный язык шаблонов, позволяющий правильно оценить ответ пользователя.
      4. Соответствие . Пользователю нужно упорядочить высказывания в двух списках так, чтобы они соответствовали друг другу.
      5. Упорядоченный список . Расставить ответы в списке в определенном порядке.

    • Адаптивные тесты. Порядок следования вопросов может быть не только линейным, но и зависеть от ответов пользователя.
    • Использование тем . Программа может разбить тест на несколько тем. Оценивать знания можно как по каждой теме в отдельности, так и по тесту в целом.
    • Комментарии к вопросу. Каждый вопрос может быть снабжен комментарием с инструкцией по тестированию, подсказкой, информацией о правильном ответе и т.п.
    • Варианты реакций на ответ пользователя :
      1. Отсутствие реакции – пользователю предлагается ответить на следующий вопрос.
      2. Сообщение о том, что пользователь ответил правильно или неправильно.
      3. Показ любого документа, связанного с вопросом. В нем, в частности, можно подробно объяснить причину неправильного ответа и предоставить дополнительный материал, который позволит глубже изучить вопрос.

    • Вес вопроса и вариантов ответа. Каждый вопрос и вариант ответа может иметь свой "вес". Это позволяет начислять пользователю больше баллов за правильные ответы на сложные вопросы и меньше баллов – за ответы на легкие вопросы.
    • Визуализация . Программа позволяет вставлять изображения, формулы, схемы, таблицы, аудио и видеофайлы, HTML документы и любые OLE документы. Встроенный в tMaker текстовый редактор для написания тестов по функциям напоминает привычный многим MS Word.

    Обеспечение объективности тестирования

    • Настройка процесса тестирования. Администратор может:
      1. Запретить выходить из программы до окончания тестирования.
      2. Отключить доступ к рабочему столу и панели задач.
      3. Закрыть программу после прохождения одного теста.

    • Случайные вопросы . Вопросы в тесте можно перемешивать. Кроме того, создатель теста может определить, сколько вопросов из каждой темы получит пользователь. Допустим, тема состоит из 300 вопросов. Если выбрать случайным образом только 30 вопросов, то тестируемые получат совершенно разные наборы вопросов из одного и того же теста. Варианты ответов к каждому вопросу можно также перемешать. Таким образом, при достаточно большом количестве вопросов тестируемый не может бездумно воспользоваться предварительным знанием теста, с заранее известной последовательностью вопросов и ответов. Примечание: описываемая функция задается выбором "Экзаменационный режим" в настройках, см документацию к программе .
    • Введение временных рамок. Тестирование можно ограничить по времени – как для теста, так и для каждого вопроса. Количество времени, выделяемое для каждого вопроса, может быть разным.
    • Настройка видимой в ходе тестирования информации. В программе можно определить, нужно ли показывать пользователю:
      1. Количество правильных ответов.
      2. Время до окончания тестирования.

    • Ограничение на количество попыток тестирования. В программе можно выставить предельное количество прохождения одного теста.
    • Отслеживание попыток тестирования в программе

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

    Тестирование, редактор и журнал тестирования

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

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

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

    Защита тестов и их результатов

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

    В архиве MyTestX:
    • программа MyTestX 10.2;
    • модуль тестирования для терминальных классов;
    • модуль для создания автономных тестов;
    • программа для импорта тестов из текстовых файлов в формат программы MyTestX 10.2;
    • программы для преобразования тестов для MyTestX из одного устаревшего формата в другой.

    Официальный сайт: http://mytest.klyaksa.net
    Операционные системы: Windows All
    Поддерживаемые языки: Многоязычная платформа включая русский
    Версия: 10.2.0.3
    Лицензия: freeware (бесплатно )

    Размер файла 16,9 Мб
    Пароль на архив loadboard

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

    Статическое – анализ текста программы

    Динамическое – анализ контролируемого выполнения

    Методы тестирования – совокупность правил, регламентирующих последовательность шагов по тестированию

    Критерии тестирования – оценки, позволяющие судить о достаточности выполненного тестирования

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

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

    Особенности

    1) Частое отсутствие полностью определенного эталона, которому должны соответствовать результаты

    2) Высокая сложность программ исключает исчерпывающее тестирование (проверка всех возможных маршрутов выполнения)

    3) Невысокая формализация критериев завершения тестирования

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

    1) Нельзя планировать тестирование в предположении, что ошибки отсутствуют

    2) Следует избегать тестирования программы ее автором

    3) Описание предполагаемых значений результатов должно быть неотъемлемой частью теста

    4) Тесты для неправильных входных данных следует разрабатывать также тщательно, как и для правильных

    5) Следует понимать, сто вероятность наличия необнаруженных ошибок пропорциональна числу уже обнаруженных

    6) Не следует выбрасывать тесты, даже если программа уже не используется

    Объекты тестирования. Категории тестов

    1) Спецификации программных модулей, групп программ и программных комплексов

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

    Согласованность интерфейсов программных компонент (для групп программ и комплексов)

    2) Программные модули

    Структура

    Преобразование данных, выполняемое модулем

    Полнота функций, выполняемых модулем

    3) Группы программ, объединенные для решения законченной функциональной задачи

    То же, что и для модулей

    Интерфейс между программами

    4) Программный комплекс, используемый для решения нескольких функциональных задач

    Полнота решения функциональных задач

    Функционирование программ в критических ситуациях

    Тестирование потребления ресурсов

    Оценка надежности работы комплекса

    Эффективность защиты от искажения общих данных

    5) Программное средство, сдаваемое в опытную эксплуатацию

    То же, что и для 4)

    Удобство инсталляции рабочей версии программы

    Проверка работы при изменении конфигурации оборудования

    Проверка наличия и корректности документации

    Испытание на соответствие техническому заданию

    6) Программное средство на стадии сопровождения

    Удобство модификации, типа расширения функциональности и повышения эффективности

    1 – Спецификации

    2 – Модули

    3 – Группы программ

    4 – Программные комплексы на стадии отладки

    5 – Программные комплексы как продукты

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

    Особенности нисходящего тестирования:

    Достоинства:

    С самого начала выполняется проверка главных функций – концептуальная проверка

    Недостатки:

    Необходимость разработки заглушек, часто достаточно интеллектуальных

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

    Особенности восходящего тестирования

    Достоинства:

    Для тестирования используются готовые модули нижних уровней

    Недостатки:

    Необходимость разработки тест-драйверов для управления работой нижних уровней с верхних

    Отложенная проверка основной концепции функционирования комплекса

    1) Модульное тестирование. Включает проверку:

    Корректности структуры модуля

    Корректности основных конструктивных компонент

    Полноты и качества реализации функций обработки данных

    Структурная корректность проверяется структурными методами по принципу «белого ящика»

    2) Интеграционное тестирование. Проверка:

    Корректности объединения модулей в группу или комплекс программ

    Проводится на основе 2-х подходов:

    Монолитное тестирование, при котором модули сразу объединяются в единый комплекс и после этого вместе тестируются

    Инкрементальное (пошаговое), модули подключаются друг к другу последовательно (снизу вверх или сверху вниз)

    Использует структурную проверку подключаемых модулей и функциональную проверку полноты и качества реализации функций. Функциональные проверки осуществляются по принципу «черного ящика»

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

    Тестирование функциональности

    Стрессовое тестирование (тестирование на повышенных нагрузках по использованным ресурсам)

    Тестирование безопасности (защита от несанкционированного доступа)

    Тестирование восстановления при сбоях

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

    Статистика ошибок в программных продуктах по типам.

    Методы тестирования

    Все методы делятся на две неравнозначных группы:

    Статическое (ручное)

    Динамическое (машинное)

    Основные методы ручного:

    Инспекция кода

    Сквозной просмотр

    Методы динамического:

    Структурные

    Функциональные

    Методы статического тестирования

    Общая черта – они используют визуальный контроль программы по ее тексту группой из 3-4 человек, один из которых автор программы. Целью проверки является обнаружение ошибок, но не их устранение. Основная концепция – наличие ошибок не есть вина автора программы, а несовершенство средств разработки программы и сложность программы как некоторой системы. При нормальном проведении статические методы тестирования позволяют обнаруживать 30-70% первоначальных ошибок в программе. Они, в отличие от машинных, позволяют обнаруживать типовые группы ошибок автора.

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

    2) программа анализируется по типовому списку часто встречающихся ошибок:

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

    Ошибки описания данных, соответствие заданных типов и значений

    Ошибки вычислений

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

    Ошибки интерфейса (ошибки, связанные с взаимодействием частей друг с другом)

    Ошибки ввода/вывода

    Результат инспекции кода:

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

    Динамическое тестирование

    Структурное тестирование программных модулей

    При структурном тестировании проверяется

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

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

    Тестирование на основе потока управления

    Вводят критерии отбора элементов для тестирования:

    1) покрытие операторов (покрытие вершин УГП, покрытие строк кода). Необходимо проверить выполнение каждого оператора хотя бы один раз. Нужно реализовать путь a-c-e (например при тестовом наборе a=2, b=0, x=3, результат x=2.5). Не проверяется прохождение пути a-b-d. Не проверяются отдельные условия, например OR вместо &. Является самым слабым критерием и используется только при первоначальной проверке.

    2) Покрытие ветвей (решений). Необходимо проверить каждую дугу выполнения программы. Этот критерий включает в себя предыдущий.

    1) Покрытьдугиa-c-e, a-b-d

    2) Покрытьдугиa-c-d, a-b-e. A=3, B=0, X=3иA=2, B=1, X=1

    Не выполняет обнаружения всех ошибок, например, если вместо x>1 будет x<1. Критерий не является исчерпывающим

    3) Критерий покрытия условий. Каждое условие, используемое в программе должно выполняться хотя бы один раз. Используются следующие условия: A>1, B=0, A=2, x>1. Нужно реализовать проверки: A>1, A<=1, B=0, B!=0, A=2, A!=2, x>1, x<=1. Для проверки этого достаточно следующей пары тестов: (A=1, B=0, X=3) идет по пути a-b-e и (A=2, B=1, x=1) идет по пути a-b-e. Оба теста проверяют один и тот же путь.

    4) Комбинированный критерий «условий/решений», который должен проверять все условия в программе и хотя бы один раз пройти по каждой дуге.

    Следующие тестовые наборы: (A=2, B=0, x=4) a-c-e, (A=1, B=1, x=1) a-b-d.

    5) Комбинаторное покрытие условий. Должны быть покрыты следующие комбинации условий:

    (2) A>1, B!=0

    (3) A<=1, B=0

    (4) A<=1, B!=0

    (6) A=2, x<=1

    (7) A!=2, x>1

    (8) A!=2, x<=1

    Тестовые наборы:

    (A=2, B=0, x=4) (1,5)

    (A=2, B=1, x=1) (2, 6)

    (A=1, B=0, x=2) (3, 7)

    (A=1, B=1, x=1) (4, 8)

    6) Критерий покрытия вызовов. Обеспечивает проверку корректности вызова каждой процедуры или функции в программе.

    7) Критерий покрытия путей. Применяется в ограниченном варианте, когда при использовании циклов рассматриваются только отдельные варианты проверки цикла: тело цикла не выполняется ни разу, тело цикла выполняется один раз, тело цикла выполняется k раз (k<=n – максимально возможное число повторений), тело цикла выполняется n раз, тело цикла выполняется n+1 раз. Является очень сложным и громоздким, применяется только при очень тщательном тестировании.

    Структурное тестирование на основе потока данных

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

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

    Для каждой вершины i УГП можно определить множество def(i) – данных, определенных в этой вершине и множество use(i) – данных, используемых в этой вершине.

    Для тестирования надо выделить DU цепочки, которые имеют следующий вид DU=(Data, i, j), Data – данное, i – вершина, в которой создается данное, j – вершина, в которой используется данное.

    Для нашего примера множество DU цепочек:

    DU={(a, 1, 4), (b, 1, 3), (b, 1, 6), (c, 4, 6)}.

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

    Для цепочки (a, 1, 4) путь 1-2-3-4. По информационному графу программы порождается путь в управляющем графе программы, который тестируется. Этот способ называется «стратегия требуемых пар»

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

    Функциональное тестирование (ФТ)

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

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

    1) некорректные или отсутствующие функции

    2) ошибки интерфейса

    3) ошибки потребления ресурсов (превышение занимаемых памяти или времени выполнения)

    4) ошибки инициализации или завершения программы

    Для проведения ФТ необходимо иметь: наборы входных данных, приводящих к аномалиям выполнения программы, наборы выходных данных, позволяющих обнаруживать дефекты в работе программы.

    Методы ФТ должны обеспечивать:

    1) сокращение необходимого числа тестовых вариантов (проверки выполняются динамически)

    2) выявлять классы ошибок, а не отдельные ошибки

    Методы ФТ как правило применяются на более поздних стадиях тестирования, чем структурные.

    Метод разбиения на классы эквивалентности.

    Область входных данных разбивается на классы эквивалентности (КлЭ), представляющие собой набор данных с общими свойствами, обработка которых программой производится совершенно одинаково. При обработке используются одни и те же операторы и одни и те же связи. КлЭ делятся на правильные (допустимые) и неправильные. КлЭ определяются по спецификации на программу, например следующим образом: 20000<=x<=80000, правильный КлЭ - 20000<=x<=80000, 2 неправильных КлЭ – x<20000, x>80000. Разработка тестов состоит из 2 этапов:

    1) разбиение на КлЭ

    2) построение тестов

    Выделение КлЭ по спецификации – процесс эвристический

    1) если проверяемое входное данное представлено в виде диапазона значений, то строится один правильный класс (внутри диапазона) и два неправильных

    2) если конкретное значение, то строится один правильный и два неправильных КлЭ

    3) если входное условие описывает множество значений m={a,b,c}, то строится по одному правильному классу для каждого из значений и один неправильный класс для значений, не принадлежащих множеству (m!=a)&(m!=b)&(m!=c)

    Построение тестов.

    1) Каждому КлЭ присваивается уникальный номер

    2) Строятся тесты для правильных КлЭ, чтобы каждый тест покрывал как можно больше этих классов

    3) Строятся тесты для неправильных классов, которые должны быть индивидуальны, поскольку проверки с ошибочными входами могут скрывать друг друга.

    Анализ граничных условий.

    Метод является развитием предыдущего в том смысле, что под граничными условиями понимаются ситуации, возникающие на границах входных и выходных КлЭ.

    Отличается от предыдущего

    1) при выборе элементов КлЭ используются значения на и вблизи границ классов -1.0<=x<=1.0 x={-1.0, 1.0, -1.01, 1.01}

    2) метод должен рассматривать не только входные, но КлЭ для выходных значений.

    Общее правило использования метода:

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

    2) если обрабатывается определенное количество файлов в заданном диапазоне, то построить тесты для граничных значений файлов, на 1 больше и меньше верхней и нижней границы соответственно

    3) применить подходы 1, 2 для каждого из выходных значений

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

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

    Метод функциональных диаграмм (метод диаграмм причинно-следственных связей ДПС)

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

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

    Методика построения функциональных диаграмм

    1) спецификация разбивается на «рабочие участки», т.е. такие участки, для которых диаграмма не будет слишком громоздкой

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

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

    Для представления диаграмм используются следующие базовые символы:

    Задана спецификация. Файл обновляется, если символ, считываемый в позиции 1 равен а А или Б, а символ в позиции 2 стоит цифра. Если первый символ ошибочный, то сообщение Х1, если второй не цифра, то сообщение Х2.

    1) символ в позиции 1 равен А

    2) символ в позиции 1 равен Б

    3) символ в позиции 2 цифра

    Следствия

    1) файл обновляется

    2) выдается сообщение Х1

    3) выдается сообщение Х2

    В приведенной диаграмме есть проблема: никак не ограничено применение причин 1 и 2.

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

    Е – не могут быть одновременно

    I – не могут быть одновременно 0

    R – требует (a=1, то и b=1)

    M – запрещает (a=1, то b=0)

    С учетом этого:

    Генерация таблицы решений

    Использование столбцов таблицы решений в качестве тестов

    Генерация таблицы решений:

    1) Формируются строки, соответствующие причинам и следствиям

    2) Выбирается некоторое следствие, которое имеет значение 1

    3) Находятся комбинации причин, которые обеспечивают такое значение следствия

    Незаполненные элементы строк причин могут принимать любые значения

    Используемые тесты будут иметь следующий вид

    Метод, основанный на предположении об ошибке (метод отрицательного тестирования)

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

    1) запуск на другой платформе

    2) перестановка значений в файле

    3) отсутствие данных в БД

    4) неверные или отсутствующие значения параметров конфигурации

    Общая стратегия разработки тестов

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

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

    Критерии завершения тестирования

    Обычно применяется 3 группы

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

    2) критерии, основанные на экспертных оценках возможного числа ошибок, имеющихся в программе данного класса и целевого назначения.

    3) критерий, основанный на временной диаграмме тестирования для каждой фазы разработки программы