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

3.2. Надежность тестовых методик

Превращение психодиагностических процедур и техник в надежный инструмент науки и практики зависит от усилий многих специалистов по психометрической отладке, конструированию тестов, удовлетворяющих основным психометрическим требовованиям: надежности, валидности, стандартизации. Основные принципы проверки и определения надежности, конструирования и валидизации психодиагностических методик освещены в ряде специальных работ по психодиагностике (А. Анастази, А. Бодалси, В. Столин, А. Шмелев, К. Гуревич, В. Мельников и др.). В данном учебном пособии мы опишем базовые понятия и принципы проведения психодиагностического обследования, знание которые является непременным условием профессиональной квалификации практического психолога.

Психодиагностика как научная дисциплина включает три области психологического знания:


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

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

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

  • надежности – внутренней согласованности частей теста и воспроизводимости результатов при повторном тестировании;

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

  • достоверности – защищенности теста от влияния на результаты стремления испытуемого изменить их в желательную сторону;

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

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

Оъективная оценка психологических методик и тестов означает определение их надежности. В психометрии термин «надежность» всегда означает согласованность показателей, полученных у тех же самых испытуемых.

Насколько пригоден данный тест? Действительно ли он выполняет свои функции? Эти вопросы могут вызывать и иногда вызывают длительные бесплодные дискуссии. Предубеждения, субъективные выводы, личные пристрастия приводят, как считает А. Анастази, с одной стороны, к переоценке возможностей конкретного теста, а с другой – к упорному его неприятию. Единственный способ ответить на подобные вопросы – эмпирическая проверка. Объективная оценка психологических тестов прежде всего означает определение их надежности и валидности в конкретных ситуациях.
^ Надежность теста есть согласованность показателей, полученных у тех же самых испытуемых при повторном тестировании тем же самым тестом или эквивалентной его формой.
Если у ребенка IQ в понедельник равен 110, а в пятницу – 80, то очевидно, что к такому показателю вряд ли можно отнестись с доверием. Аналогично, если индивид в ряду из 50 слов правильно определил 40, а в другом считающемся эквивалентным ряду – 20, то ни один из этих показателей не может рассматривается в качестве меры его вербального понимания. Разумеется, в обоих примерах возможно, что ошибочным является только один из двух показателей, но это может подтвердить лишь последующее тестирование; из приведенных данных следует только то, что вместе показатели не могут быть правильными.

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

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

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

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

К. М. Гуревич определяет надежность как «крайне сложное и многоплановое понятие, одна из основных функций которого – оценить постоянство показателей тестовых испытаний» [Гуревич, 1981].

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

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

обусловленная ими дисперсия должна войти в дисперсию ошибки. Однако практическое применение находит лишь несколько типов надежности. Поскольку все типы надежности отражают степень последовательности или согласованности двух независимо полученных серий показателей, то в качестве их меры может выступать коффециент корреляции. Более специальное обсуждение корреляции с подробным описанием вычислительных процедур приводится в учебниках по статистике для педагогов и психологов (В. Аванесов, А. Гусев, Ч. Измайлов, М. Михалевская и др.).

Hа практике используются три основных метода оценкинадежности тестов:

1) повторное тестирование;

2) параллельное тестирование;

3) метод расщепления.

Рассмотрим каждый из них в отдельности.

^ Повторное тестирование Является одним из основных методов измерения надежности. Повторное

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

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

Метод повторного тестирования обладает как достоинствами, так и недостатками. К числу достоинств относятся естественность и простота определения коэффициента надежности. К недостаткам следует отнести неопределенность в выборе интервала между двумя измерениями. Возникновение временной неопределенности связано с тем, что повторное тестирование отличается от первичного. Испытуемые уже знакомы с содержанием теста, помнят свои первоначальные ответы и ориентируются на них при повторном выполнении теста. Поэтому при повторном тестировании нередко наблюдается или «подгонка» под первоначальные результаты, или как следствие негативизма демонстрация «новых» результатов. Во избежание этого, приводя в руководстве к тесту его ретестовую надежность, следует указывать, какому интервалу времени она соответствует. В связи с тем что ретестовая надежность уменьшается с ростом временного интервала, наиболее доверительными являются высокие коэффициенты надежности, полученные при явно больших интервалах между тестированиями. Недостаточно высокие коэффициенты надежности могут быть следствием неоптимального определения временных интервалов.
^ Параллельное тестирование В этом случае многократность измерения организуется с помощью параллельных, или эквивалентных, тестов. Параллельными называются тесты, которые с одинаковой ошибкой измеряют одно и то же свойство психики. В этом случае одни и те же лица выполняют несколько вариантов одного и того же теста или эквивалентные тесты. Как правило, практическое использование данного типа надежности связано со значительными затруднениями, поскольку крайне сложно построить несколько вариантов одного теста таким образом, чтобы испытуемый не мог обнаружить их психологическую однородность. Да и искажающее влияние тренировки в этом случае не полностью снято. Кроме того, возникает вопрос: являются ли альтернативные типы надежности характеристиками именно надежности теста, а не параметрами эквивалентности испытаний? Ведь если две формы испытания проводятся при однотипных константных условиях, то, вероятнее всего, исследуются показатели эквивалентности двух форм тестирования, а не показатели надежности самих тестов. Ошибка измерения в этом случае определяется флюктуациями выполнения теста, а не флюктуациями структуры теста.

Схема использования параллельных тестов для измерения на дежности имеет вид:

Рассчитанный между двумя тестами коэффициент корреляции называется эквивалентной надежностью.

^ Метод расщепления Он является развитием метода параллельного тестирования и базируется на допущении о параллельности не только отдельных форм теста, но и отдельных заданий внутри одного теста. Это одна из наиболее простых проверок теста, когда вычисляется коэффициент корреляции между его половинами. Каким же образом поделить тест на две половины, чтобы иметь возможность выровнять обе половины по тому или иному конкретному основанию? Чаще всего задачи теста делят на чет-нечет, что позволяет в какой-то мере устранить возможные недостатки. Главное достоинство этого типа надежности состоит в независимости результатов тестирования от таких элементов деятельности, как врабатывание, тренировка, практика, утомление и т.д. При разделении теста на две части индекс надежности вычисляется по формуле Спирмена-Брауна, предложивших ее независимодруг от друга. Их статьи были опубликованы в одном и том же номере психологического журнала с выводами и формулами [Аванесов, 1982]. В их формуле

R (х, 0=2 RJ \ + R , у
где R – коэффициент корреляции двух половин теста. В качестве коэффициента индекса надежности рассматривается средний модуль коэффициента корреляции всех заданий теста или средний коэфициент детерминации.

Итак, мы рассмотрели три эмпирических метода оценки надежности тестов: повторное тестирование одним и тем же тестом, повторное тестирование параллельной формой теста и расщепление теста.

Какой из этих методов дает истинную оценку надежности теста? Каким из методов следует пользоваться? Ответ на этот вопрос зависит от личной симпатии и целей исследования.

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

Помимо показателей устойчивости и гомогенности, Р. Б. Кэттелл считает необходимым рассматривать показатель переносимос mu (transferability ). Он представляет собой оценку способности тес та сохранять точность измерения в разных выборках, субкультурах и популяциях. Совместно устойчивость, гомогенность и переносимость образуют комплексную характеристику надежности, которую Р. Б. Кэттелл называет постоянством (consistency ) и определяет как «степень, в которой тест продолжает предсказывать то, что он однажды предсказал, несмотря на изменения (в определенных пределах): а) объема, в котором тест применялся; б) условий, в которых он применялся; в) состава выборки, в которой он применяется».

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

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

Последовательность действий при проверке надежности А. Г. Шмелев предлагает провести следующим образом [Общая психодиагностика, 1987]:

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

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

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

согласованности (методом расщепления) и стабильности целого теста.

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

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

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

Надежность ретестовая - предполагает повторное предъявление того же самого теста тем же испытуемым и примерно в тех же условиях, что первоначальное, а затем установление корреляции между двумя рядами данных (не меньше 1 мес после 1, коэф кор больше 0,7).

Надежность параллельных форм предусматривает создание эквивалентных форм опросника и предъявление их одним и тем же испытуемым для того, чтобы затем оценить корреляцию между полученными результатами (СЛОЖНОСТЬ, 2 набора заданий).

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

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

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

7.Валидность теста

Тест называется валидным , если он измеряет то, для измерения чего предназначен.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

*Надежность и валидность теста - это характеристики соответствия исследования формальным критериям, определяющим качество и пригодность к применению на практике.

Что такое надежность

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

Надежность теста - это критерий, который свидетельствует о Существенными считаются следующие свойства тестов:

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

В трактовке надежности можно выделить следующие основные составляющие:

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

Факторы надежности

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

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

Способы оценки надежности теста

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

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

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

Типы критериев валидности

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

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

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

Основные требования к критериям

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

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

Способы установления валидности

Проверка валидности тестов может осуществляться несколькими способами.

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

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

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

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

Выводы

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

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

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

Gennadii_M 17 марта 2016 в 14:52

Тестирование. Фундаментальная теория

  • Тестирование IT-систем
  • Tutorial

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

Ниже основы основ для повторения перед собеседованием для Trainee and Junior: определение тестирования, качество , верификация / валидация , цели, этапы, тест план, пункты тест плана, тест дизайн, техники тест дизайна, traceability matrix , test case, чек-лист, дефект, error/deffect/failure , баг репорт, severity vs priority, уровни тестирования, виды / типы, подходы к интеграционному тестированию , принципы тестирования, статическое и динамическое тестирование, исследовательское / ad-hoc тестирование, требования, жизненный цикл бага, стадии разработки ПО, decision table, qa/qc/test engineer, диаграмма связей.

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

Тестирование программного обеспечения - проверка соответствия между реальным и ожидаемым поведением программы, осуществляемая на конечном наборе тестов, выбранном определенным образом. В более широком смысле, тестирование - это одна из техник контроля качества, включающая в себя активности по планированию работ (Test Management), проектированию тестов (Test Design), выполнению тестирования (Test Execution) и анализу полученных результатов (Test Analysis).

Качество программного обеспечения (Software Quality) - это совокупность характеристик программного обеспечения, относящихся к его способности удовлетворять установленные и предполагаемые потребности.

Верификация (verification) - это процесс оценки системы или её компонентов с целью определения удовлетворяют ли результаты текущего этапа разработки условиям, сформированным в начале этого этапа. Т.е. выполняются ли наши цели, сроки, задачи по разработке проекта, определенные в начале текущей фазы.
Валидация (validation) - это определение соответствия разрабатываемого ПО ожиданиям и потребностям пользователя, требованиям к системе .
Также можно встретить иную интерпритацию:
Процесс оценки соответствия продукта явным требованиям (спецификациям) и есть верификация (verification), в то же время оценка соответствия продукта ожиданиям и требованиям пользователей - есть валидация (validation). Также часто можно встретить следующее определение этих понятий:
Validation - ’is this the right specification?’.
Verification - ’is the system correct to specification?’.

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

Этапы тестирования:
1. Анализ продукта
2. Работа с требованиями
3. Разработка стратегии тестирования
и планирование процедур контроля качества
4. Создание тестовой документации
5. Тестирование прототипа
6. Основное тестирование
7. Стабилизация
8. Эксплуатация

Тест план (Test Plan) - это документ, описывающий весь объем работ по тестированию, начиная с описания объекта, стратегии, расписания, критериев начала и окончания тестирования, до необходимого в процессе работы оборудования, специальных знаний, а также оценки рисков с вариантами их разрешения.
Отвечает на вопросы:
Что надо тестировать?
Что будете тестировать?
Как будете тестировать?
Когда будете тестировать?
Критерии начала тестирования.
Критерии окончания тестирования.

Основные пункты тест плана
В стандарте IEEE 829 перечислены пункты, из которых должен (пусть - может) состоять тест-план:
a) Test plan identifier;
b) Introduction;
c) Test items;
d) Features to be tested;
e) Features not to be tested;
f) Approach;
g) Item pass/fail criteria;
h) Suspension criteria and resumption requirements;
i) Test deliverables;
j) Testing tasks;
k) Environmental needs;
l) Responsibilities;
m) Staffing and training needs;
n) Schedule;
o) Risks and contingencies;
p) Approvals.

Тест дизайн – это этап процесса тестирования ПО, на котором проектируются и создаются тестовые сценарии (тест кейсы), в соответствии с определёнными ранее критериями качества и целями тестирования.
Роли, ответственные за тест дизайн:
Тест аналитик - определяет «ЧТО тестировать?»
Тест дизайнер - определяет «КАК тестировать?»

Техники тест дизайна

Эквивалентное Разделение (Equivalence Partitioning - EP) . Как пример, у вас есть диапазон допустимых значений от 1 до 10, вы должны выбрать одно верное значение внутри интервала, скажем, 5, и одно неверное значение вне интервала - 0.

Анализ Граничных Значений (Boundary Value Analysis - BVA). Если взять пример выше, в качестве значений для позитивного тестирования выберем минимальную и максимальную границы (1 и 10), и значения больше и меньше границ (0 и 11). Анализ Граничный значений может быть применен к полям, записям, файлам, или к любого рода сущностям имеющим ограничения.

Причина / Следствие (Cause/Effect - CE). Это, как правило, ввод комбинаций условий (причин), для получения ответа от системы (Следствие). Например, вы проверяете возможность добавлять клиента, используя определенную экранную форму. Для этого вам необходимо будет ввести несколько полей, таких как «Имя», «Адрес», «Номер Телефона» а затем, нажать кнопку «Добавить» - это «Причина». После нажатия кнопки «Добавить», система добавляет клиента в базу данных и показывает его номер на экране - это «Следствие».

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

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

Попарное тестирование (Pairwise Testing) - это техника формирования наборов тестовых данных. Сформулировать суть можно, например, вот так: формирование таких наборов данных, в которых каждое тестируемое значение каждого из проверяемых параметров хотя бы единожды сочетается с каждым тестируемым значением всех остальных проверяемых параметров.

Допустим, какое-то значений (налог) для человека рассчитывается на основании его пола, возраста и наличия детей - получаем три входных параметра, для каждого из которых для тестов выбираем каким-то образом значения. Например: пол - мужской или женский; возраст - до 25, от 25 до 60, более 60; наличие детей - да или нет. Для проверки правильности расчётов можно, конечно, перебрать все комбинации значений всех параметров:

пол возраст дети
1 мужчина до 25 детей нет
2 женщина до 25 детей нет
3 мужчина 25-60 детей нет
4 женщина 25-60 детей нет
5 мужчина старше 60 детей нет
6 женщина старше 60 детей нет
7 мужчина до 25 дети есть
8 женщина до 25 дети есть
9 мужчина 25-60 дети есть
10 женщина 25-60 дети есть
11 мужчина старше 60 дети есть
12 женщина старше 60 дети есть

А можно решить, что нам не нужны сочетания значений всех параметров со всеми, а мы хотим только убедиться, что мы проверим все уникальные пары значений параметров. Т.е., например, с точки зрения параметров пола и возраста мы хотим убедиться, что мы точно проверим мужчину до 25, мужчину между 25 и 60, мужчину после 60, а также женщину до 25, женщину между 25 и 60, ну и женщину после 60. И точно так же для всех остальных пар параметров. И таким образом, мы можем получить гораздо меньше наборов значений (в них есть все пары значений, правда некоторые дважды):

пол возраст дети
1 мужчина до 25 детей нет
2 женщина до 25 дети есть
3 мужчина 25-60 дети есть
4 женщина 25-60 детей нет
5 мужчина старше 60 детей нет
6 женщина старше 60 дети есть

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

Traceability matrix - Матрица соответствия требований - это двумерная таблица, содержащая соответсвие функциональных требований (functional requirements) продукта и подготовленных тестовых сценариев (test cases). В заголовках колонок таблицы расположены требования, а в заголовках строк - тестовые сценарии. На пересечении - отметка, означающая, что требование текущей колонки покрыто тестовым сценарием текущей строки.
Матрица соответсвия требований используется QA-инженерами для валидации покрытия продукта тестами. МСТ является неотъемлемой частью тест-плана.

Тестовый сценарий (Test Case) - это артефакт, описывающий совокупность шагов, конкретных условий и параметров, необходимых для проверки реализации тестируемой функции или её части.
Пример:
Action Expected Result Test Result
(passed/failed/blocked)
Open page «login» Login page is opened Passed

Каждый тест кейс должен иметь 3 части:
PreConditions Список действий, которые приводят систему к состоянию пригодному для проведения основной проверки. Либо список условий, выполнение которых говорит о том, что система находится в пригодном для проведения основного теста состояния.
Test Case Description Список действий, переводящих систему из одного состояния в другое, для получения результата, на основании которого можно сделать вывод о удовлетворении реализации, поставленным требованиям
PostConditions Список действий, переводящих систему в первоначальное состояние (состояние до проведения теста - initial state)
Виды Тестовых Сценариев:
Тест кейсы разделяются по ожидаемому результату на позитивные и негативные:
Позитивный тест кейс использует только корректные данные и проверяет, что приложение правильно выполнило вызываемую функцию.
Негативный тест кейс оперирует как корректными так и некорректными данными (минимум 1 некорректный параметр) и ставит целью проверку исключительных ситуаций (срабатывание валидаторов), а также проверяет, что вызываемая приложением функция не выполняется при срабатывании валидатора.

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

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

Error - ошибка пользователя, то есть он пытается использовать программу иным способом.
Пример - вводит буквы в поля, где требуется вводить цифры (возраст, количество товара и т.п.).
В качественной программе предусмотрены такие ситуации и выдаются сообщение об ошибке (error message), с красным крестиком которые.
Bug (defect) - ошибка программиста (или дизайнера или ещё кого, кто принимает участие в разработке), то есть когда в программе, что-то идёт не так как планировалось и программа выходит из-под контроля. Например, когда никак не контроллируется ввод пользователя, в результате неверные данные вызывают краши или иные «радости» в работе программы. Либо внутри программа построена так, что изначально не соответствует тому, что от неё ожидается.
Failure - сбой (причём не обязательно аппаратный) в работе компонента, всей программы или системы. То есть, существуют такие дефекты, которые приводят к сбоям (A defect caused the failure) и существуют такие, которые не приводят. UI-дефекты например. Но аппаратный сбой, никак не связанный с software, тоже является failure.

Баг Репорт (Bug Report) - это документ, описывающий ситуацию или последовательность действий приведшую к некорректной работе объекта тестирования, с указанием причин и ожидаемого результата.
Шапка
Короткое описание (Summary) Короткое описание проблемы, явно указывающее на причину и тип ошибочной ситуации.
Проект (Project) Название тестируемого проекта
Компонент приложения (Component) Название части или функции тестируемого продукта
Номер версии (Version) Версия на которой была найдена ошибка
Серьезность (Severity) Наиболее распространена пятиуровневая система градации серьезности дефекта:
S1 Блокирующий (Blocker)
S2 Критический (Critical)
S3 Значительный (Major)
S4 Незначительный (Minor)
S5 Тривиальный (Trivial)
Приоритет (Priority) Приоритет дефекта:
P1 Высокий (High)
P2 Средний (Medium)
P3 Низкий (Low)
Статус (Status) Статус бага. Зависит от используемой процедуры и жизненного цикла бага (bug workflow and life cycle)

Автор (Author) Создатель баг репорта
Назначен на (Assigned To) Имя сотрудника, назначенного на решение проблемы
Окружение
ОС / Сервис Пак и т.д. / Браузера + версия /… Информация об окружении, на котором был найден баг: операционная система, сервис пак, для WEB тестирования - имя и версия браузера и т.д.

Описание
Шаги воспроизведения (Steps to Reproduce) Шаги, по которым можно легко воспроизвести ситуацию, приведшую к ошибке.
Фактический Результат (Result) Результат, полученный после прохождения шагов к воспроизведению
Ожидаемый результат (Expected Result) Ожидаемый правильный результат
Дополнения
Прикрепленный файл (Attachment) Файл с логами, скриншот или любой другой документ, который может помочь прояснить причину ошибки или указать на способ решения проблемы

Severity vs Priority
Серьезность (Severity) - это атрибут, характеризующий влияние дефекта на работоспособность приложения.
Приоритет (Priority) - это атрибут, указывающий на очередность выполнения задачи или устранения дефекта. Можно сказать, что это инструмент менеджера по планированию работ. Чем выше приоритет, тем быстрее нужно исправить дефект.
Severity выставляется тестировщиком
Priority – менеджером, тимлидом или заказчиком

Градация Серьезности дефекта (Severity)

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

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

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

S4 Незначительная (Minor)
Незначительная ошибка, не нарушающая бизнес логику тестируемой части приложения, очевидная проблема пользовательского интерфейса.

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

Градация Приоритета дефекта (Priority)
P1 Высокий (High)
Ошибка должна быть исправлена как можно быстрее, т.к. ее наличие является критической для проекта.
P2 Средний (Medium)
Ошибка должна быть исправлена, ее наличие не является критичной, но требует обязательного решения.
P3 Низкий (Low)
Ошибка должна быть исправлена, ее наличие не является критичной, и не требует срочного решения.

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

1. Модульное тестирование (Unit Testing)
Компонентное (модульное) тестирование проверяет функциональность и ищет дефекты в частях приложения, которые доступны и могут быть протестированы по-отдельности (модули программ, объекты, классы, функции и т.д.).

2. Интеграционное тестирование (Integration Testing)
Проверяется взаимодействие между компонентами системы после проведения компонентного тестирования.

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

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

5. Приемочное тестирование (Acceptance Testing)
Формальный процесс тестирования, который проверяет соответствие системы требованиям и проводится с целью:
определения удовлетворяет ли система приемочным критериям;
вынесения решения заказчиком или другим уполномоченным лицом принимается приложение или нет.

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

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

Функциональное тестирование (Functional testing)
Тестирование пользовательского интерфейса (GUI Testing)
Тестирование безопасности (Security and Access Control Testing)
Тестирование взаимодействия (Interoperability Testing)

Нефункциональные виды тестирования

Все виды тестирования производительности:
o нагрузочное тестирование (Performance and Load Testing)
o стрессовое тестирование (Stress Testing)
o тестирование стабильности или надежности (Stability / Reliability Testing)
o объемное тестирование (Volume Testing)
Тестирование установки (Installation testing)
Тестирование удобства пользования (Usability Testing)
Тестирование на отказ и восстановление (Failover and Recovery Testing)
Конфигурационное тестирование (Configuration Testing)

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

Дымовое тестирование (Smoke Testing)
Регрессионное тестирование (Regression Testing)
Повторное тестирование (Re-testing)
Тестирование сборки (Build Verification Test)
Санитарное тестирование или проверка согласованности/исправности (Sanity Testing)

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

Тестирование пользовательского интерфейса (GUI Testing) - функциональная проверка интерфейса на соответствие требованиям - размер, шрифт, цвет, consistent behavior.

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

Тестирование взаимодействия (Interoperability Testing) – это функциональное тестирование, проверяющее способность приложения взаимодействовать с одним и более компонентами или системами и включающее в себя тестирование совместимости (compatibility testing) и интеграционное тестирование

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

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

Объемное тестирование (Volume Testing). Задачей объемного тестирования является получение оценки производительности при увеличении объемов данных в базе данных приложения

Тестирование стабильности или надежности (Stability / Reliability Testing). Задачей тестирования стабильности (надежности) является проверка работоспособности приложения при длительном (многочасовом) тестировании со средним уровнем нагрузки.

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

Тестирование удобства пользования - это метод тестирования, направленный на установление степени удобства использования, обучаемости, понятности и привлекательности для пользователей разрабатываемого продукта в контексте заданных условий. Сюда также входит:
User eXperience (UX) - ощущение, испытываемое пользователем во время использования цифрового продукта, в то время как User interface - это инструмент, позволяющий осуществлять интеракцию «пользователь - веб-ресурс».

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

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

Дымовое (Smoke) тестирование рассматривается как короткий цикл тестов, выполняемый для подтверждения того, что после сборки кода (нового или исправленного) устанавливаемое приложение, стартует и выполняет основные функции.

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

Повторное тестирование - тестирование, во время которого исполняются тестовые сценарии, выявившие ошибки во время последнего запуска, для подтверждения успешности исправления этих ошибок.
В чем разница между regression testing и re-testing?
Re-testing - проверяется исправление багов
Regression testing - проверяется то, что исправление багов, а также любые изменения в коде приложения, не повлияли на другие модули ПО и не вызвало новых багов.

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

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

Подходы к интеграционному тестированию:
Снизу вверх (Bottom Up Integration)
Все низкоуровневые модули, процедуры или функции собираются воедино и затем тестируются. После чего собирается следующий уровень модулей для проведения интеграционного тестирования. Данный подход считается полезным, если все или практически все модули, разрабатываемого уровня, готовы. Также данный подход помогает определить по результатам тестирования уровень готовности приложения.
Сверху вниз (Top Down Integration)
Вначале тестируются все высокоуровневые модули, и постепенно один за другим добавляются низкоуровневые. Все модули более низкого уровня симулируются заглушками с аналогичной функциональностью, затем по мере готовности они заменяются реальными активными компонентами. Таким образом мы проводим тестирование сверху вниз.
Большой взрыв («Big Bang» Integration)
Все или практически все разработанные модули собираются вместе в виде законченной системы или ее основной части, и затем проводится интеграционное тестирование. Такой подход очень хорош для сохранения времени. Однако если тест кейсы и их результаты записаны не верно, то сам процесс интеграции сильно осложнится, что станет преградой для команды тестирования при достижении основной цели интеграционного тестирования.

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

Принцип 1 – Тестирование демонстрирует наличие дефектов (Testing shows presence of defects)
Тестирование может показать, что дефекты присутствуют, но не может доказать, что их нет. Тестирование снижает вероятность наличия дефектов, находящихся в программном обеспечении, но, даже если дефекты не были обнаружены, это не доказывает его корректности.

Принцип 2 – Исчерпывающее тестирование недостижимо (Exhaustive testing is impossible)
Полное тестирование с использованием всех комбинаций вводов и предусловий физически невыполнимо, за исключением тривиальных случаев. Вместо исчерпывающего тестирования должны использоваться анализ рисков и расстановка приоритетов, чтобы более точно сфокусировать усилия по тестированию.

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

Принцип 4 – Скопление дефектов (Defects clustering)
Усилия тестирования должны быть сосредоточены пропорционально ожидаемой, а позже реальной плотности дефектов по модулям. Как правило, большая часть дефектов, обнаруженных при тестировании или повлекших за собой основное количество сбоев системы, содержится в небольшом количестве модулей.

Принцип 5 – Парадокс пестицида (Pesticide paradox)
Если одни и те же тесты будут прогоняться много раз, в конечном счете этот набор тестовых сценариев больше не будет находить новых дефектов. Чтобы преодолеть этот “парадокс пестицида”, тестовые сценарии должны регулярно рецензироваться и корректироваться, новые тесты должны быть разносторонними, чтобы охватить все компоненты программного обеспечения,
или системы, и найти как можно больше дефектов.

Принцип 6 – Тестирование зависит от контекста (Testing is concept depending)
Тестирование выполняется по-разному в зависимости от контекста. Например, программное обеспечение, в котором критически важна безопасность, тестируется иначе, чем сайт электронной коммерции.
Принцип 7 – Заблуждение об отсутствии ошибок (Absence-of-errors fallacy)
Обнаружение и исправление дефектов не помогут, если созданная система не подходит пользователю и не удовлетворяет его ожиданиям и потребностям.

Cтатическое и динамическое тестирование
Статическое тестирование отличается от динамического тем, что производится без запуска программного кода продукта. Тестирование осуществляется путем анализа программного кода (code review) или скомпилированного кода. Анализ может производиться как вручную, так и с помощью специальных инструментальных средств. Целью анализа является раннее выявление ошибок и потенциальных проблем в продукте. Также к статическому тестированию относится тестирования спецификации и прочей документации.

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

Разница между ad hoc и exploratory testing в том, что теоретически, ad hoc может провести кто угодно, а для проведения exploratory необходимо мастерство и владение определенными техниками. Обратите внимание, что определенные техники это не только техники тестирования.

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

Требования к требованиям:
Корректность
Недвусмысленность
Полнота набора требований
Непротиворечивость набора требований
Проверяемость (тестопригодность)
Трассируемость
Понимаемость

Жизненный цикл бага

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

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

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

Жизненный цикл разработки ПО:
Пре-альфа
Альфа
Бета
Релиз-кандидат
Релиз
Пост-релиз

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

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

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

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

Норма каждого теста определяется составителем-разработчиком путем нахождения среднего показателя, соответствующего результатам большой совокупности людей, принадлежащих некоторой культуре (выборка стандартизации). Этот показатель принимается за средний показатель развития выявляемого тестом свойства, статистически характерного для среднего человека. Это может быть, например, возрастной нормой интеллектуального развития или какой либо личностной характеристикой. Такой показатель определяется опытным путем и принимается за точку отсчета. Результаты каждого испытуемого сравниваются с нормой и соответствующим способом оцениваются: каждый тест сопровождается способом обработки данных и интерпретации результатов. Например, в тесте на определение акцентуации характера (К. Леон-гардт) испытуемый по каждому из типов акцентуации может набрать максимум 24 балла; признаком сильной выраженности (акцентуации) считается показатель, превышающий 12 баллов (исследователь может сам, на основании накопленного опыта, дополнительно уточнить характеристику меры выраженности свойства при показателях до 24 баллов).

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

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

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

Примером может служить использование «Методики АРП» и соответствующего ей блока методик, предложенного одним из авторов данного пособия. Выполнение данного блока позволяет определить уровень развития мышления испытуемого - школьника, которое может быть эмпирическим, аналитическим, планирующим и рефлектирующим. Поскольку сформированность того или иного уровня развития мышления является предпосылкой возможного становления в будущем следующего уровня развития, поэтому имеется возможность: 1) принятия этих уровней в качестве критериев оценки исследуемого свойства; 2) принятия следующего за установленным уровня в качестве направления последующего развития мышления и определение ближайшей зоны развития мышления ученика; 3) составление адекватного набора упражнений по одному или ряду учебных предметов, выполнение которых должно привести к достижению школьником соответствующего уровня развития мышления1.

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

информирование испытуемого о целях проведения тестирования; 2)

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

обеспечение ситуации спокойного и самостоятельного выполнения заданий испытуемыми; сохранение нейтрального отношения к тестируемым, уход от подсказок и помощи; 4)

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

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

ознакомление испытуемого с результатами тестирования, сообщение ему или ответственному лицу соответствующей информации с учетом принципа «Не навреди!»; в этом случае возникает необходимость решения серии этических и нравственных задач; 7)

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

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

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

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

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

Тесты достижений ориентированы на выявление уровня сфор-мированности конкретных знаний, умений и навыков и как меры

1 См.: Атаханов Р.А. Математическое мышление и методики определения уровня его развития // Науч. ред. В.В.Давыдова. - Рига, 2000.

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

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

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

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

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

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

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