Основные положения классической теории тестов. Основные положения тестирования. Надежность тестов и пути ее определения

Основы теории тестов 1. Основные понятия теории тестов 2. Надежность тестов и пути ее определения

Контрольные вопросы 1. Что называется тестом? 2. Какие требования предъявляются к тесту? 3. Какие тесты называются аутентичными? 4. Что называется надежностью теста? 5. Перечислить причины, вызывающие вариацию результатов при повторном тестировании. 6. В чем отличие внутриклассовой вариации от межклассовой? 7. Как практически определить надежность теста? 8. В чем отличие согласованности тестов от стабильности? 9. В чем заключается эквивалентность тестов? 10. Что такое гомогенный комплекс тестов? 11. Что такое гетерогенный комплекс тестов? 12. Пути повышения надежности тестов.

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

Требования тестов: n Информативность - степень точности, с которой он измеряет свойство (качество, способность, характеристику), для оценки которой используется. n Надежность - степень совпадения результатов при повторном тестировании одних и тех же людей в одинаковых условиях. Согласованность - (разные люди, но одинаковые приборы и одинаковые условия). n n Стандартность условий - (однаковые условия при повторных измерениях). n Наличие системы оценок - (перевод в систему оценок. Как в школе 5 -4 -3. . .).

Тесты, удовлетворяющие требованиям надежности и информативности, называют добротными или аутентичными (греч. аутентико - достоверным образом)

Процесс испытаний называется тестированием; полученное в итоге измерения числовое значение - результатом тестирования (или результатом теста). Например, бег 100 м - это тест, процедура проведения забегов и хронометража - тестирование, время забега - результат теста.

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

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

Один и тот же тест, примененный к одним и тем же исследуемым, должен дать в одинаковых условиях совпадающие результаты (если только не изменились сами исследуемые). Однако при самой строгой стандартизации и точной аппаратуре результаты тестирования всегда несколько варьируют. Например, исследуемый, только что показавший в тесте становой динамометрии результат 215 к. Г, при повторном выполнении показывает лишь 190 к. Г.

Надежность тестов и пути ее определения Надежностью теста называется степень совпадения результатов при повторном тестировании одних и тех же людей (или других объектов) в одинаковых условиях.

Вариацию результатов при повторном тестировании называют внутри индивидуальной, или внутри групповой, либо внутриклассовой. Четыре основные причины вызывают эту вариацию: 1. Изменение состояния исследуемых (утомление, врабатывание, «научение» , изменение мотивации, концентрации внимания и т. п.). 2. Неконтролируемые изменения внешних условий и аппаратуры (температура, ветер, влажность, напряжение в электросети, присутствие посторонних лиц и т. п.), т. е. все то, что объединяется термином “случайная ошибка измерения”.

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

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

Если зарегистрировать у исследуемых их результаты в какомлибо тесте, повторяя этот тест в разные дни, причем каждый день делать по несколько попыток, периодически меняя экспериментаторов, то будут иметь место вариации: а) от испытуемого к испытуемому; n б) ото дня ко дню; n в) от экспериментатора к экспериментатору; n г) от попытки к попытке. Дисперсионный анализ дает возможность выделить и оценить эти вариации. n

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

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

Если все тесты, входящие в какойлибо комплекс тестов, высоко эквивалентны, он называется гомогенным. Весь этот комплекс измеряет одно какое -то свойство моторики человека (например, комплекс, состоящий из прыжков с места в длину, вверх и тройного; оценивается уровень развития скоростно-силовых качеств). Если в комплексе нет эквивалентных тестов, то есть тесты, входящие в него, измеряют разные свойства, то он называется гетерогенным (например, комплекс, состоящий из становой динамометрии, прыжка вверх по Абалакову, бега на 100 м).

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

Области применения, цели и задачи тестирования ПО разнообразны, поэтому тестирование оценивается и объясняется по-разному. Иногда и самим тестировщикам бывает сложно объяснить, что такое тестирование ПО "as is". Возникает путаница.

Для распутывания этой путаницы Алексей Баранцев (практик, тренер и консалтер в тестировании ПО; выходец из Института системного программирования Российской академии наук) предваряет свои тренинги по тестированию вводным видео про основные положения тестирования.

Мне кажется, что в этом докладе лектор смог наиболее адекватно и взвешенно объяснить «что такое тестирование» с точки зрения ученого и программиста. Странно, что этот текст еще не появлялся на хабре.

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

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

Уважаемые коллеги,

Сначала попробуем понять, чем тестирование НЕ является.

Тестирование не разработка ,

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

Тем не менее, тестирование - это не деятельность по разработке программного обеспечения.

Тестирование не анализ ,

И не деятельность по сбору и анализу требований.

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

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

Несмотря на то, что во многих организациях есть такая роль, как «тест-менеджер». Конечно же, тестировщиками надо управлять. Но само по себе тестирование управлением не является.

Тестирование не техписательство ,

Однако тестировщикам приходится документировать свои тесты и свою работу.

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

Деятельность значима только тогда, когда она востребована, то есть тестировщики должны что-то производить «на экспорт». Что они делают «на экспорт»?

Дефекты, описания дефектов, или отчеты о тестировании? Частично это правда.

Но это не вся правда.

Главная деятельность тестировщиков

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

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

Но эта вещь очень значимая, и, наверное, единственная наиболее значимая составляющая деятельности тестировщиков.

Существует наука - «теория систем ». В ней определяется такое понятие как «обратная связь».

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

И та, и другая разновидности обратной связи равноценно важны.

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

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

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

К слову, отсюда и произрастает понимание того, что тестировщики не отвечают за качество. Они помогают тем, кто за него отвечает.

Синонимы термина «тестирование»

С точки зрения того, что тестирование - это предоставление отрицательной обратной связи, всемирно известная аббревиатура QA (англ. Quality Assurance - Обеспечение качества) синонимом термина «тестирование» уж совершенно точно НЕ является.

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

А вот «контроль качества» - Quality Control, можно считать в широком смысле синонимом для термина «тестирование», потому что контроль качества это и есть предоставление обратной связи в самых разных ее разновидностях, на самых разных этапах программного проекта.

Иногда тестирование подразумевается как некоторая отдельная форма контроля качества.

Путаница приходит из истории развития тестирования. В разное время под термином «тестирование» подразумевались различные действия, которые можно разделить на 2 больших класса: внешние и внутренние.

Внешние определения

Определения, которые в разное время дали Майерс, Бейзер, Канер, описывают тестирование как раз с точки зрения его ВНЕШНЕЙ значимости. То есть, с их точки зрения, тестирование - это деятельность, которая предназначена ДЛЯ чего-то, а не состоит из чего-то. Все три этих определения можно обобщить как предоставление отрицательной обратной связи.

Внутренние определения

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

Такие определения конструктивно объясняют, ЧТО представляет из себя деятельность по тестированию, но не дают ни малейшего представления о том, ДЛЯ ЧЕГО нужно тестирование, для чего потом будут использоваться все полученные результаты проверки соответствия между реальным поведением программы и ее ожидаемым поведением.

тестирование - это

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

Общая схема тестирования примерно следующая:

  1. Тестировщик на входе получает программу и/или требования.
  2. Он с ними что-то делает, наблюдает за работой программы в определенных, искуственно созданных им ситуациях.
  3. На выходе он получает информацию о соответствиях и несоответствиях.
  4. Далее эта информация используется для того, чтобы улучшить уже существующую программу. Либо для того, чтобы изменить требования к еще только разрабатываемой программе.

Что такое тест

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

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

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

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

2.И, во-вторых, он наблюдает за поведением программы и сравнивает то, что он видит с тем, что ожидается.

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

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

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

Вот это и есть тестирование.

Другие классификации видов тестирования

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

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

Иногда используются также некоторые другие термины, такие, как «компонентное тестирование», но я предпочитаю выделять именно эти три, по причине того, что технологическое разделение на модульное и системное тестирование не имеет большого смысла. На разных уровнях могут использоваться одни и те же инструменты, одни и те же техники. Разделение условно.

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

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

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

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

Комбинируем:

То есть, можно говорить о модульном тестировании функциональности.

Можно говорить о системном тестировании функциональности.

Можно говорить о модульном тестировании, например, эффективности.

Можно говорить о системном тестировании эффективности.

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

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

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

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

Классификацию по целям удобно выполнять с использованием «магического квадрата», который был изначально придуман Брайаном Мариком и потом улучшен Эри Тенненом.

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

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

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

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

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

Так вот, исходя из классификации по целям, модульное тестирование у нас оказывается в левом нижнем квадранте, а все остальные квадранты - это системное тестирование.

Спасибо за внимание.

Математические основы теории конструирования тестов

Типы тестовых заданий

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

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

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

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

    Задание с выбором. Текст задания состоит из вопроса. Для выбора предлагаются несколько вариантов ответа, из которых один или несколько являются правильными.

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

    Задание на установление правильной последовательности.

    Задание на установление соответствия. Формулировка задания содер-жит два перечня. Слева, как правило, приводятся элементы множества, содержащие постановку проблемы, справа – элементы, подлежащие выбору. Элементы левого множества нумеруются, правого – обозначаются буквами. Желательно, чтобы второе множество содержало большее число элементов по сравнению с первым множеством. При этом каждому эле-менту первого множества соответствует один или несколько элементов второго множества.

    Задание с развернутым ответом.

Этапы разработки теста

    Формулировка цели и объекта исследования.

Кто, что и почему подлежит тестированию

    Разработка содержания тестирования.

Изучение требований образовательного стандарта, содержания учебников.

Составление спецификации теста:

    Выделение разделов (тем) и их процентного содержания в тесте

    Выбор типов заданий

    Определение уровней овладения знаниями и умениями:

    1 уровень

    Знание определений основных понятий дисциплины, а также основных утверждений о методах дисциплины

    2 уровень

    Знание основных формул и алгоритмов; умение применять их при решении стандартных задач

    3 уровень

    Применение полученных знаний для решения нетипичных задач

  1. Определение примерного количества заданий в тесте и распределение этого количества по типам заданий.

    Разработка заданий.

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

    Экспертиза сырого теста.

Целью экспертизы является выявление и исправление некорректных и непонятных формулировок. В результате из теста могут быть удалены какие-либо задания (поэтому рекомендуется заданий).

    Апробация.

    Расчет характеристик заданий и теста.

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

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

Среднее выборочное (среднее арифметическое ) для совокупности индивидуальных баллов Х 1 , Х 2 , …, Х K группы K испытуемых вычисляется по формуле

.

Подсчет дисперсии основан на вычислении отклонений каждого значения показателя от среднего арифметического в распределении:

.

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

Завершает расчёт характеристик теста оценка надёжности теста. Для вычисления коэффициента надёжности можно использовать формулу коэффициента Кьюдера-Ричардсона (только в случае, когда все веса заданий равны единице) :

.

Чтобы по значению коэффициента дать качественную оценку надежности теста, используют следующую таблицу:

Значение коэффициента надежности

Оценка надежности

неудовлетворительная

удовлетворительная

отличная

Оценка трудности j-го задания рассчитывается по формуле

.

Заметим, что чем легче задание, тем больше будет доля правильных ответов на него (p j ), поэтому естественнее было бы интерпретировать эту долю как легкость задания. В хорошо сбалансированном по трудности тесте должно быть несколько трудных заданий, несколько легких, но основная масса заданий должна иметь трудность от 0,3 до 0,7; при этом желательно, чтобы за-да-ния располагались в порядке воз-рас-та-ния их трудности.

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

,

где X i тестовый балл i -го испытуемого, Y i  балл i -го испытуемого за задание. Заметим, что в случае дихотомического оценивания задания расчёт коэффициента несколько упрощается . Если r < 0, то задание следует удалить из теста, т. к. в нем побеждают слабые ученики, а сильные выбирают неверный ответ либо пропускают задание при выполнении теста. Положительные значения, но близкие к нулю (незначимые), указывают на низкую прогностическую способность задания теста; такие задания требуют доработки содержания.

Способность дифференцировать испытуемых на лучших и худших показывает коэффициент дифференцирующей способности (или индекс дискриминативности ) задания. Самый простой способ вычисления такого индекса называется методом контрастных групп и заключается в следующем. Из всей группы испытуемых выделяется некоторая часть лучших по результатам выполнения теста испытуемых (будем называть их сильной подгруппой) и столько же худших (слабая подгруппа). Затем для каждой из этих подгрупп вычисляется доля правильных ответов в подгруппе. Обозначим через p 1 j долю правильных ответов на j -е задание в сильной подгруппе, а через p 0 j – долю правильных ответов в слабой подгруппе. Тогда индекс дискриминативности i -го задания определяется по формуле:

(r дис) j = p 1 j p 0 j .

Для задания, с которым справились все сильные испытуемые, и не справился ни один слабый, индекс дискриминативности r дис будет равен 1; в этом случае задание обладает максимальным дифференцирующим эффектом. Для задания, с которым справились все слабые испытуемые, и не справился ни один сильный, индекс дискриминативности будет равен –1. В остальных случаях индекс будет принимать значения между –1 и 1. Задания с нулевым и отрицательным значением индекса дискриминативности плохо дифференцируют учащихся, поэтому должны быть удалены из теста. Если индекс положителен, но меньше 0,2 , то такое задание требует тщательного анализа содержания.

Согласно этим характеристикам какие-то задания могут быть удалены из теста, какие-то подлежат исправлению. После этого должны быть повторены этапы 5, 6.

Формулы для вычисления вероятности угадывания

При составлении теста нужно определить, сколько ответов следует предлагать на каждый вопрос, чтобы вероятность успешно пройти тестирование, просто угадав правильные ответы, была меньше 0,05 (т.е. меньше 5%). Тестирование будем считать успешно пройденным, если тестируемый верно отвечает не менее, чем на Q % вопросов. Если тест включает N вопросов, то для вычисления вероятности “успешного угадывания” используется следующая формула :

,

где m - число ответов, предлагаемых на каждый вопрос.

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

,

где - вероятность угадывания ответов на j вопросов, которая вычисляется следующим образом. Пусть все вопросы в тесте можно разделить на r групп так, что в одну группу объединены вопросы с одинаковой вероятностью угадывания. Обозначим p i , 0< p i <1 - вероятность угадывания и k i - количество вопросов в i - той группе (
) , причем

.

Тогда для j от
до N:

,

где t r = j  (t 1 + t 2 +…+ t r -1) , причем если t r > k r , то будем считать
= 0 .

Примеры.

N=10, Q=2/3: m=2, P<0,2; m=3, P<0,02; m=4, P<0,004

Литература

    Челышкова М. Б. Теория и практика конструирования педагогических тестов: Учебное пособие. – М.: Логос, 2002. – 432 с.

    Малыгин А. А., Светцов В. И., Щаницина С. В. Практические рекомендации к составлению контрольно–измерительных материалов: Метод. пособие / Иван. гос. хим.–технол. ун-т. – Иваново, 2005. – 30 с.

    Как составить тест // Слойер К. Математические фантазии. - М.: Мир, 1993. - с.116-118.


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




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




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




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


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


Основные теории тестирования Первые научные труды по теории тестов появилась в начале ХХ века, на стыке психологии, социологии, педагогики и других, так называемых поведенческих наук. Зарубежные психологи называют эту науку психометрикой (Psychometrika), а педагоги - педагогическим измерением (Educational measurement). Незамутненная идеологией и политикой, интерпретация названия « тестология » проста и прозрачна: наука о тестах. 10


Первый этап - предыстория - с древности до конца XIX века, когда были распространены донаучные формы контроля знаний и способностей; второй период, классический, продолжался с начала 20- х до конца 60- х годов, в течение которого создавалась классическая теория тестов; третий период - технологический - начавшийся с 70- х годов - время разработки методов адаптивного тестирования и обучения, методологию эффективной разработки тестов и тестовых заданий для параметрической оценки испытуемых по измеряемому латентному качеству. 11


Функции, возможности и ограничения тестирования Применяемые при отборе тесты предназначены для того, чтобы получить психологический портрет кандидата, оценить его способности, а также профессиональные знания и навыки. Тесты позволяют сравнивать кандидатов между собой или с эталонами, то есть идеальным кандидатом. Тесты используются для измерения качеств человека, необходимых для результативного выполнения работы. Некоторые тесты устроены таким образом, чтобы работодатель сам администрировал тестирование и подсчитывал результаты. Другие требуют услуг опытных консультантов, чтобы обеспечить их правильное применение. 12


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








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


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




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


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


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


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


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


На практике достоверность при вынесении суждений достигается сравнением результатов двух и более аналогичных тестов, проведенных в разные дни. Другой путь повышения достоверности – сравнение результатов нескольких альтернативных методов отбора (например, тест и беседа). Если результаты сходны или одинаковы, можно считать их верными. 25


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


В практике отбора персонала отмечается, что надежность различных методов оценки располагается в интервалах: 0,1 – 0,2 – традиционное интервью; 0,2 – 0,3 – рекомендации; 0,3 – 0,5 – профессиональные тесты; 0,5 – 0,6 – структурированное интервью, интервью по компетенциям; 0,5 – 0,7 – когнитивные и личностные тесты; 0,6 – 0,7 – компетентностный подход (ассессмент - центр). 27


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


Программное обеспечение для разработки тестов В отечественной практике представлены различные комплексные программы с модулем « Психодиагностика », например, программа «1 С: Зарплата и Управление Персоналом 8.0» с модулем « Психодиагностика », разработанная совместно с группой преподавателей кафедры психологии личности и общей психологии факультета психологии МГУ им. М. В. Ломоносова под руководством д. псих. наук, проф. А. Н. Гусева. Учебный тренажер для разработки систем оценки персонала и адаптации тестовых методик факультета психологии ТГУ, разработанный также на базе «1 С: Предприятие 8.2» фирмой Персонал Софт. 29


Литература: Отбор и найм персонала: технологии тестирования и оценки / Доминик Купер, Иван Т. Робертсон, Гордон Тинлайн. – М., изд - во « Вершина, – 156 с. Психологическое обеспечение профессиональной деятельности: теория и практика / Под ред. Проф. Г. С. Никифорова. – СПб.: Речь, – 816 с. 30

Что такое тестирование

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

По ГОСТ Р ИСО МЭК 12207-99 в жизненном цикле ПО определены среди прочих вспомогательные процессы верификации, аттестации, совместного анализа и аудита. Процесс верификации является процессом определения того, что программные продукты функционируют в полном соответствии с требованиями или условиями, реализованными в предшествующих работах. Данный процесс может включать анализ, проверку и испытание (тестирование). Процесс аттестации является процессом определения полноты соответствия установленных требований, созданной системы или программного продукта их функциональному назначению. Процесс совместного анализа является процессом оценки состояний и, при необходимости, результатов работ (продуктов) по проекту. Процесс аудита является процессом определения соответствия требованиям, планам и условиям договора. В сумме эти процессы и составляют то, что обычно называют тестированием.

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

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

Жизненный цикл продукта и тестирование

Все чаще в наше время используются итеративные процессы разработки ПО, в частности, технология RUP - Rational Unified Process (Рис. 1). При использовании такого подхода тестирование перестает быть процессом «на отшибе», который запускается после того, как программисты написали весь необходимый код. Работа над тестами начинается с самого начального этапа выявления требований к будущему продукту и тесно интегрируется с текущими задачами. И это предъявляет новые требования к тестировщикам. Их роль не сводится просто к выявлению ошибок как можно полнее и как можно раньше. Они должны участвовать в общем процессе выявления и устранения наиболее существенных рисков проекта. Для этого на каждую итерацию определяется цель тестирования и методы ее достижения. А в конце каждой итерации определяется, насколько эта цель достигнута, нужны ли дополнительные испытания, и не нужно ли изменить принципы и инструменты проведения тестов. В свою очередь, каждый обнаруженный дефект должен пройти через свой собственный жизненный цикл.

Рис. 1. Жизненный цикл продукта по RUP

Тестирование обычно проводится циклами, каждый из которых имеет конкретный список задач и целей. Цикл тестирования может совпадать с итерацией или соответствовать ее определенной части. Как правило, цикл тестирования проводится для конкретной сборки системы.

Жизненный цикл программного продукта состоит из серии относительно коротких итераций (Рис. 2). Итерация - это законченный цикл разработки, приводящий к выпуску конечного продукта или некоторой его сокращенной версии, которая расширяется от итерации к итерации, чтобы, в конце концов, стать законченной системой.

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

Рис. 2. Итерации жизненного цикла программного продукта

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

Категории тестирования

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

Категории тестирования Описание категории Виды тестирования
Текущее тестирование Набор тестов, выполняемый для определения работоспособности добавленных новых возможностей системы.
  • нагрузочное тестирование;
  • тестирование бизнес циклов;
  • стрессовое тестирование.
Регрессионное тестирование Цель регрессионного тестирования заключается в проверке того, что добавления к системе не уменьшили ее возможностей, т.е. тестирование проводится согласно требованиям, которые уже были выполнены перед добавлением новых возможностей.
  • нагрузочное тестирование;
  • тестирование бизнес циклов;
  • стрессовое тестирование.

Подкатегории тестирования

Подкатегории тестирования Описание вида тестирования Подвиды тестирования
Нагрузочное тестирование Применяется для тестирования всех без исключения функций приложения. В данном случае последовательность тестирования функций не имеет значения.
  • функциональное тестирование;
  • тестирование интерфейса;
  • тестирование БД
Тестирование бизнес циклов Применяется для тестирования функций приложения в последовательности их вызова пользователем. Например, имитация всех действия бухгалтера за 1 квартал.
  • unit-тестирование (модульное тестирование);
  • функциональное тестирование;
  • тестирование интерфейса;
  • тестирование БД.
Стрессовое тестирование

Применяется для тестирования

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

  • unit-тестирование (модульное тестирование);
  • функциональное тестирование;
  • тестирование интерфейса;
  • тестирование БД.

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

Unit-тестирование (модульное тестирование) - данный вид подразумевает тестирование отдельных модулей приложения. Для получения максимального результата тестирование проводится одновременно с разработкой модулей.

Функциональное тестирование - цель данного тестирования состоит в том, чтобы убедиться в надлежащем функционировании объекта тестирования. Тестируется правильность навигации по объекту, а также ввод, обработка и вывод данных.

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

Unit-тестирование

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

В выходную документацию данных тестов входят тестовые процедуры, входные данные, код, исполняющий тест, выходные данные. Далее представлен вид выходной документации.

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

Функциональное тестирование объекта тестирования планируется и проводится на основе требований к тестированию, заданных на этапе определения требований. В качестве требований выступают бизнес-правила, диаграммы use-case, бизнес-функции, а также при наличии, диаграммы активности. Цель функциональных тестов состоит в том, чтобы проверить соответствие разработанных графических компонентов установленным требованиям.

Данный вид тестирования не может быть полностью автоматизирован. Следовательно, он подразделяется на:

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

Цель: протестировать ввод, обработку и вывод данных;

  • Ручное тестирование (в остальных случаях).

Цель: тестируется правильность выполнения пользовательских требований.

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

  • продукт адекватно реагирует на все вводимые данные (выводятся ожидаемые результаты в ответ на правильно вводимые данные);
  • продукт адекватно реагирует на неправильно вводимые данные (появляются соответствующие сообщения об ошибках).

Тестирование БД

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

Необходимо последовательно использовать максимально возможное число обращений к базе данных. Используется подход, при котором тест составляется таким образом, чтобы «нагрузить» базу последовательностью, как верных значений, так и заведомо ошибочных. Определяется реакция БД на ввод данных, оцениваются временные интервалы их обработки.