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

Классы и виды тестов.

Существуют два основных класса тестов: традиционные и нетрадиционные .

Тест обладает составом , целостностью и структурой . Он состоит из:

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

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

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

Традиционный тест представляет собой единство, по меньшей мере, трех систем:

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

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

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

Гомогенные тесты

К традиционным тестам относятся тесты гомогенные и гетерогенные .

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

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



Гетерогенные тесты

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

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

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

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

Интегративные тесты

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

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

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

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

Адаптивные тесты

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

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

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

Тестирование обладает следующими преимуществами перед другими методами педагогического контроля:

· повышение скорости проверки качества усвоения знаний и умений учащимися;

· осуществление хотя и поверхностного, но полного охвата всего учебного материала;

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

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

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

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

· осуществление принципа индивидуализации и дифференциации обучения благодаря использованию адаптивных тестов;

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

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

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

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

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

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

4.Ориентация на определенный этап контроля : тесты предварительного контроля, тесты текущего контроля, тесты итогового контроля.

5. Доминирующая деятельность испытуемого при выполнении тестов – устные, письменные, компьютерные.

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

7. Степень гомогенности тестовых заданий : тесты с однородными или разнородными формами построения заданий.

8. Скоростной фактор : скоростные (с обязательным фиксированием времени выполнения) и нескоростные.

9. Форма организации тестирования : массовые, индивидуальные, групповые .

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

РАЗВИТИЕ ТЕСТОВОЙ ТЕХНОЛОГИИ КОНТРОЛЯ УРОВНЯ ОБУЧЕННОСТИ СТУДЕНТОВ.

Белоногова Наталья Николаевна, преподаватель математики ГБОУ СПО МО « Московский областной гуманитарный колледж»

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

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

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

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

Существуют два основных класса тестов: традиционные и нетрадиционные.

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

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

К традиционным тестам относятся тесты гомогенные и гетерогенные .

Гомогенные тесты

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

Легко видеть, что в своей основе определение гомогенного теста совпадает с определением традиционного теста.

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

Гетерогенные тесты

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

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

Интегративные тесты

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

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

Адаптивные тесты

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

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

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

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

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

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

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

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

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

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

К преимуществам тестовой технологии контроля относятся:

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

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

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

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

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

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

    Возможность проведения традиционного ("бумажного") и компьютеризованного (в локальной сети) тестирования.

    Возможность применения современной технологии компьютерно-адаптивного тестирования.

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

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

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

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

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

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

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

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

    Высокая критериальная (текущая) валидность итоговых аттестационных тестов.

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

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

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

    Возможность учета при тестировании региональных особенностей ГОС СПО.

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

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

СПИСОК ИСПОЛЬЗОВАННЫХИСТОЧНИКОВ

    Ж.Н. Зайцева, В.И. Солдатин Информатизация образования: состояние проблемы и перспективы М.; ИЦПКПС, 1998, 38с.

    Христовский С.А. Методические основы проектирования электронного учебника, Проектирование образовательных информационных ресурсов, систем и технологий. Сб. докладов и сообщений.- М., ИЦПКПС, 1998, 75с.

    Аванесов В.С. "Научные основы тестового контроля знаний". М. Иссл. центр, 1994 .

    http://www.usatic.narod.ru

1 ВАЛИДНОСТЬ означает пригодность тестовых результатов для той цели, ради чего проводилось тестирование.

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

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

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

Что же это за тестирование и как оно проводится?

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

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

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

Интеграционное тестирование: обзор проекта

Заказчик

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

Задача проекта

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

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

  • CMS-решение eZ Publish. Функция – предоставлять любые данные о подписках с применением различных фильтров: типа подписки, ее продолжительности, применяемых скидок, бонусов и так далее.
  • Вебсайт, через который пользователь взаимодействует с системой.
  • CRM Salesforce. Функция – хранение данных о пользователях и приобретенных ими подписках. Дополнительная надстройка позволяет команде заказчика управлять приобретенными подписками, а также создавать новые и проверять старые подписки.
  • SaaS-решение Zuora для выставления счетов и обработки платежей.
  • Обмен данными между системами осуществляется с помощью сервисной шины Mule ESB.
  • База данных как инструмент Business Intelligence.
  • Salesforce Marketing Cloud – инструмент рассылки корреспонденции и коммуникации с пользователями.
  • Drupal ранее использовался вместо eZ Publish. На данный момент все еще остается системой, хранящей данные о зарегистрированных пользователях, и инструментом для публикации статей, видео- и аудио-контента.

Процесс оформления подписки был построен следующим образом:

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

Цель клиента

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

Задача тестирования

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

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

Стратегия проведения интеграционного тестирования a1qa

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

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

На проведение тестирования интеграции было потрачено порядка 40% всех трудозатрат QA-команды.

Трудности

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

Поясним. Изначально требования выглядели как набор пользовательских историй (User Story) в JIRA и содержали только заголовки без какого-либо пояснения. Создавали их чаще всего разработчики.

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

Автоматизация интеграционного тестирования

Автоматизация тестирования – непростой вопрос, который требует внимательного сопоставления всех «за» и «против».

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

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

Результаты

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

Подводя итоги

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

Для проведения эффективного тестирования, обнаружения всех дефектов и недочетов команда по тестированию должна:

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

Как заказать интеграционное тестирование?

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

Аннотация: Лекция является второй из трех рассматривающих уровни процесса верификации. Тема данной лекции - процесс интеграционного тестирования, его задачи и цели. Рассматриваются организационные аспекты интеграционного тестирования - структурная и временная классификации методов интеграционного тестирования, планирование интеграционного тестирования. Цель данной лекции: дать представление о процессе интеграционного тестирования, его технической и организационной составляющих

20.1. Задачи и цели интеграционного тестирования

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

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

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

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

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

20.2. Организация интеграционного тестирования

20.2.1. Структурная классификация методов интеграционного тестирования

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

  • восходящее тестирование ;
  • монолитное тестирование ;
  • нисходящее тестирование .

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

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


Рис. 20.1.

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

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

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

Монолитное тестирование имеет ряд серьезных недостатков.

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

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

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

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

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

12 ответов

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

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

Функциональное тестирование: Да, мы тестируем продукт или программное обеспечение в целом функционально независимо от того, работает ли он функционально или нет (кнопки тестирования, ссылки и т.д.)

Например: Страница входа

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

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

Например: Отправка электронной почты

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

Надеюсь, это помогло вам.

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

Единичное тестирование легко определить. Он тестирует CUT (Code Under Test ) и ничего больше. (Ну, как можно меньше.) Это значит, что это издевательства, подделки и светильники.

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

Но как насчет обширного пространства между?

  • Например, что, если вы проверите немного больше, чем CUT? Что делать, если вы включили функцию Фибоначчи вместо использования приспособления, которое вы ввели? Я бы назвал это функциональное тестирование, но мир не согласен со мной.
  • Что делать, если вы включили time() или rand() ? Или что, если вы вызываете http://google.com ? Я бы назвал это тестирование системы, но опять же, я один.

Почему это имеет значение? Потому что системные тесты ненадежны. Они необходимы, но иногда они могут потерпеть неудачу по причинам, не зависящим от вас. С другой стороны, функциональные тесты всегда должны проходить, а не случайным образом; если они бывают быстрыми, их можно также использовать с самого начала, чтобы использовать Test-Driven Development без написания слишком большого количества тестов для вашей внутренней реализации. Другими словами, я думаю, что модульные тесты могут быть более сложными, чем они того стоят, и у меня хорошая компания .

Я поставил тесты на 3 оси, со всеми их нулями при модульном тестировании:

  • Функциональное тестирование: использование реального кода глубже и глубже в вашем стеке вызовов.
  • Интеграция-тестирование: выше и выше ваш стек вызовов; другими словами, тестирование вашего CUT путем запуска кода, который будет использовать его.
  • Системное тестирование: все больше и больше неповторимых операций (планировщик O/S, часы, сеть и т.д.).

Тест может легко быть все 3 в разной степени.

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

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

Интеграционное тестирование. Тестирование интеграции - это не что иное, как тестирование различных модулей. Вы должны проверить взаимосвязь между модулями. Например, вы открываете facebook, после чего вы видите страницу входа в систему после ввода идентификатора входа и пароля, вы можете видеть домашнюю страницу facebook, поэтому страница входа - это один модуль, а домашняя страница - это еще один модуль. вы должны проверять только связь между ними, когда вы вошли в систему, тогда только домашняя страница должна быть открыта, а не поле сообщения или что-то еще. Существует два основных типа интеграционного тестирования: подход TOP-DOWN и подход BOTTOM UP.

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

В тесте функционального тестирования основное внимание уделяется функциональности и вспомогательной функциональности приложения. Функциональность приложения должна работать правильно или нет.

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

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

Функциональное тестирование: - Тестирование в основном разделено на две категории: 1.Функциональное тестирование 2. Нефункциональное тестирование ** Функциональное тестирование: - Проверить, работает ли программное обеспечение в соответствии с требованиями пользователя или нет. ** Нефункциональное тестирование: - Чтобы проверить, соответствует ли программное обеспечение критериям качества, таким как стресс-тест, тест безопасности и т.д.

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

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

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

Когда дело доходит до интеграционного тестирования, это взаимодействие между модулями. Если модуль отправляет вход, модуль B может обрабатывать его или нет.

Тестирование интеграции

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

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

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