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


Основные вопросы: Тест как инструмент измерения. Основные теории тестирования. Функции, возможности и ограничения тестирования. Применение тестов в оценке персонала. Преимущества и недостатки использования тестов. Формы и виды тестовых заданий. Технология построения задания. Оценка качества теста. Достоверность и валидность. Программное обеспечение для разработки тестов. 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

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

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

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

  • 1. Контрольные упражнения, выполняя которые спортсмен получает задание показать максимальный результат.
  • 2. Стандартные функциональные пробы, в ходе которых задание, одинаковое для всех, дозируется либо по величине выполненной работы, либо по величине физиологических сдвигов.
  • 3. Максимальные функциональные пробы, в ходе которых спортсмен должен показать максимальный результат.

Высококачественное тестирование предполагает знание теории измерений.

Основные понятия теории измерений.

Измерение--это выявление соответствия между изучаемым явлением с одной стороны, и числами--с другой.

Основы теории измерений составляют три понятия: шкалы измерений, единицы измерений и точность измерений.

Шкалы измерений.

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

Шкала наименований (номинальная шкала).

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

Шкала порядка.

Есть виды спорта, где результат спортсмена определяется только местом, занятым на соревнованиях (например, единоборства). После таких соревнований ясно, кто из спортсменов сильнее, а кто слабее. Но насколько сильнее или слабее, сказать нельзя. Если три спортсмена заняли соответственно первое, второе и третье места, то каковы различие в их спортивном мастерстве, остается неясным: второй спортсмен может быть почти равен первому, а может быть слабее его и быть почти одинаковым с третьим. Места, занимаемые в шкале порядка, называются рангами, а сама шкала называется ранговой или неметрической. В такой шкале составляющие ее числа упорядочены по рангам (т.е. занимаемым местам), но интервалы между ними точно измерить нельзя. В отличие от шкалы наименований шкала порядка позволяет не только установить факт равенства или неравенства измеряемых объектов, но и определить характер неравенства в виде суждений: «больше -- меньше», «лучше--хуже» и т.п.

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

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

Шкала интервалов.

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

Результаты измерений по шкале интервалов можно обрабатывать всеми математическими методами, кроме вычисления отношений. Данные шкалы интервалов дают ответ на вопрос: «на сколько больше», но не позволяют утверждать, что одно значение измеренной величины во столько-то раз больше или меньше другого. Например, если температура повысилась с 10 до 20 С, то нельзя сказать, что стало в два раза теплее.

Шкала отношений.

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

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

Единицы измерений.

Чтобы результаты разных измерений можно было сравнить друг с другом, они должны быть выражены в одних и тех же единицах. В 1960 году на Международной генеральной конференции по мерам и весам была принята Международная система единиц, получившая сокращенное название СИ (от начальных букв слов System International). В настоящее время установлено предпочтительное применение этой системы во всех областях науки и техники, в народном хозяйстве, а также при преподавании.

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

Таблица 1.1.

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

Кроме основных, в СИ выделены две дополнительные единицы: радиан-- единица плоского угла и стерадиан--единица телесного угла (угла в пространстве).

Точность измерений.

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

Основная и дополнительная погрешность.

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

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

Абсолютная и относительная погрешности.

Величина E = А--Ао, равное разности между показанием измерительного прибора (А) и истинным значением измеряемой величины (Ао), называется абсолютной погрешностью измерения. Она измеряется в тех же единицах, что и сама измеряемая величина.

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

А Д =---------* 100%

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

Ап =----------* 100%

Систематическая и случайная погрешности.

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

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

погрешности известного происхождения и известной величины;

погрешности известного происхождения, но неизвестной величины;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ГЛАВА 3. СТАТИСТИЧЕСКАЯ ОБРАБОТКА РЕЗУЛЬТАТОВ ТЕСТИРОВАНИЯ

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

3.1. ОСНОВНЫЕ ПОЛОЖЕНИЯ КЛАССИЧЕСКОЙ ТЕОРИИ ТЕСТОВ

3.2. МАТРИЦА РЕЗУЛЬТАТОВ ТЕСТИРОВАНИЯ

3.3. ГРАФИЧЕСКОЕ ПРЕДСТАВЛЕНИЕ ТЕСТОВЫХ БАЛЛОВ

3.4. МЕРЫ ЦЕНТРАЛЬНОЙ ТЕНДЕНЦИИ

3.5. НОРМАЛЬНОЕ РАСПРЕДЕЛЕНИЕ

3.6. ДИСПЕРСИЯ ТЕСТОВЫХ БАЛЛОВ ИСПЫТУЕМЫХ

3.7. КОРРЕЛЯЦИОННАЯ МАТРИЦА

3.8. НАДЕЖНОСТЬ ТЕСТА

3.9. ВАЛИДНОСТЬ ТЕСТА

ЛИТЕРАТУРА

ОСНОВНЫЕ ПОЛОЖЕНИЯ КЛАССИЧЕСКОЙ ТЕОРИИ ТЕСТОВ

Создателем классической теории тестов (Classical Theory of mental tests) является известный британский психолог, автор факторного анализа, Чальз Эдвард Спирмен (Charles Edward Spearman) (1863-1945 г.) 1 . Он родился 10 сентября 1863 года, и четверть своей жизни прослужил в британской армии. По этой причине, степень доктора философии он получил только в возрасте 41 года 2 . Диссертационное исследование Ч.Спирмен выполнял в Лейпцигской лаборатории экспериментальной психологии под руководством Вильгельма Вундта (Wilhelm Wundt). В тот период на Ч.Спирмена сильное влияние оказали работы Фрэнсиса Гальтона (Francis Galton) по тестированию интеллекта человека. Учениками Ч.Спирмена были R.Cattell и D.Wechsler. В числе его последователей можно назвать A.Anastasi, J. P. Guilford, P.Vernon, C.Burt, A.Jensen.

Большой вклад в развитие классической теории тестов внес Льюис Гуттман (Louis Guttman, 1916-1987) 3 .

Всесторонне и полно классическая теория тестов впервые изложена в фундаментальном труде Гарольда Гулликсена (Gulliksen H., 1950 г.) 4 . С тех пор теория несколько видоизменялась, в частности совершенствовался математический аппарат. Классическая теория тестов в современном изложении приведена в книге Crocker L., Aligna J. (1986 г.) 5 . Из отечественных исследователей впервые описание этой теории дал В.Аванесов (1989 г.) 6 . В работе Челышковой М.Б. (2002 г.) 7 приведены сведения о статистическом обосновании качества теста.

Классическая теория тестов основывается на следующих пяти основных положениях.

1. Эмпирически полученный результат измерения (X) представляет собой сумму истинного результата измерения (T) и ошибки измерения (E) 8:

X = T + E (3.1.1)

Величины T и E обычно неизвестны.

2. Истинный результат измерения можно выразить как математическое ожидание E(X):

3. Корреляция истинных и ошибочных компонентов по множеству испытуемых равна нулю, то есть ρ TE = 0.

4. Ошибочные компоненты двух любых тестов не коррелируют:

5. Ошибочные компоненты одного теста не коррелируют с истинными компонентами любого другого теста:

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

ПАРАЛЛЕЛЬНЫЕ тесты должны соответствовать требованиям (1-5), истинные компоненты одного теста (T 1) должны быть равны истинным компонентам другого теста (T 2) в каждой выборке испытуемых, отвечающих на оба теста. Предполагается, что T 1 =T 2 и, кроме того, равны дисперсии s 1 2 = s 2 2 .

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

Условие эквивалентности двух тестов записывается в следующем виде:

где c 12 - константа различий результатов первого и второго тестов.

На основе приведенных положений построена теория надежности тестов 9,10 .

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

Перепишем это выражение в следующем виде:

(3.1.3)

Правая часть этого равенства представляет собой надежность теста (r ). Таким образом надежность теста можно записать в виде:

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

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

Найдем s E из уравнения (3.1.4)

Здесь в явной форме показана зависимость точности измерения от величины стандартного отклонения s X и от надежности теста r .