Тесты в процессе разработки программного обеспечения. Юзабилити-тестирование Что вам даст этот тест

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

Вы узнаете:

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

Что значит тестирование продукта и для чего оно необходимо

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

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

Цель тестирования ― составление верной маркетинговой стратегии продвижения продукта на рынке.

Для начала ставят маркетинговую задачу, которая решается при помощи тестирования. В зависимости от вида продукции (новая или уже существующая на рынке) эксперты, проводящие тестирование, преследуют разные цели:

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

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

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

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

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

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

Материал по теме из электронного журнала:

Рассказывает практик

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

Михаил Сафран ,

директор по маркетингу группы компаний «РОСНО», Москва

У нас любая идея подлежит тестированию. Теория не всегда точна. Для нас важно, как аудитория воспринимает наши услуги. Не так давно мы предложили новый продукт «Клиентский сервис». Это комплексная поддержка по ОСАГО, включающая в себя сервис выезда аварийного комиссара на место ДТП с участием автомобиля клиента. Комиссар следит за тем, как проводится независимая экспертиза, общается с представителями страховых агентств и другими участниками аварии.

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

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

Подготовка к тестированию продукта

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

  1. Определяют сегмент возможных покупателей.

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

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

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

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

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

  1. Определяют предмет тестирования.

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

  • Тестирование концепций продукта

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

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

  • Тестирование продукта

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

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

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

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

«Определенное» тестирование ― полная противоположность «слепому». При «определенном» тестировании товар исследуют вместе со всеми «побочными эффектами» ― фирменной упаковкой, стоимостью, брендом и проч., то есть на испытуемого влияют все факторы в совокупности.

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

  • Тестирование упаковки продукта и названия

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

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

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

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

  1. Узнаваемость

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

  1. Запоминаемость

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

Еще один способ – опрос телезрителей после демонстрации рекламы через 24-36 часов (метод запоминания на следующий день).

  1. Убедительность

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

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

  1. Поведение потребителя

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

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

Материал для скачивания:

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

  1. Место просмотра/прослушивания рекламы (в домашних условиях или за пределами дома).
  2. Естественность условий просмотра/прослушивания:
  • рекламу просматривают или прослушивают в абсолютно естественных условиях, и респондентов-участников аудитории рекламного ролика отбирают и опрашивают после того как они случайно увидели или услышали рекламу, предварительно не контактируя с ней;
  • рекламу просматривают или прослушивают в условиях, приближенных к естественным: опрашиваемых приглашают просмотреть ТВ-передачу (или прослушать программу на радио) и в процессе этого демонстрируют рекламный продукт;
  • рекламу просматривают или прослушивают в абсолютно естественных условиях, когда опрашиваемых просят уделить внимание непосредственно рекламному продукту, транслируемому изолированно.
  1. Число просмотров рекламы. Информацию исследователи могут собирать как после однократной, так и после многократной трансляции рекламы.
  • опрашиваемому демонстрируют рекламу через принудительный просмотр;
  • рекламное сообщение исследуют в контексте пробного выпуска журнала или газеты перед реальным размещением рекламы;
  • рекламу тестируют после ее размещения в реальном выпуске журнала или газеты.

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

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

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

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

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

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

Основные методы тестирования рекламного продукта

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

Рассмотрим каждый вид тестирования:

  1. Предварительное тестирование, или предтестирование.

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

Материал для скачивания:

Рассказывает практик

Самый лучший метод тестирования сайта

Наиболее распространенным методом исследований считают А/Б-тестирование, суть которого ясна из названия: берут два параметра – А и Б и тестируют их. Условия исследования должны быть одинаковыми. Параметры оценивает или специальная группа, или простые люди, которые зачастую даже не догадываются, что оценивают сайт компании. Они выполняют привычные действия, а вы контролируете каждый их шаг. Тестировать таким способом можно почти все ― от заголовков, цветового оформления и вариантов дизайна до расположения на сайте рекламных конструкций и проч.

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

Чтобы получить максимально достоверные результаты, нужно опросить хотя бы 1000 респондентов, а в идеале – 10000. Если получить такие данные не позволяет трафик, лучше подождать.

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

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

В. Что такое динамическое тестирование?

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

В. Что такое GUI-тестирование (GUI Testing)?

О. Тестирование GUI (графического интерфейса пользователя): интерфейс программного обеспечения проверяется на предмет соответствия требованиям.

В. Что такое формальное тестирование?

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

В. Что такое тестирование на основе рисков?

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

В. Что такое раннее тестирование?

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

В. Что такое исчерпывающее тестирование?

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

В. Что такое скопление дефектов?

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

В. Что такое «парадокс пестицида»?

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

В. Что такое статическое тестирование?

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

В. Что такое позитивное тестирование?

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

В. Что такое негативное тестирование?

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

В. Что такое сквозное тестирование (еnd-to-end)?

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

В. Что такое исследовательское тестирование?

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

В. Что такое «обезьянье тестирование» (Monkey Testing)?

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

В. Что такое нефункциональное тестирование?

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

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

О. Проверяется, насколько хорошо реализованы в приложении все условия безопасности.

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

В. Что такое нагрузочное тестирование?

О. Анализ функциональности и производительности приложения в разных условиях.

В. Что такое стресс -тестирование?

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

В. Что такое процесс?

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

В. Что такое конфигурационное управление?

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

О. Составление:

  • Тест-плана
  • Тест-сценариев
  • Тест-кейсов
  • Выполнение тест-кейсов
  • Проверка результатов
  • Составление отчетов о дефектах
  • Дефект-трекинг
  • Закрытие дефектов
  • Тестовый релиз

В. Как расшифровывается CMMI?

О. Capability Maturity Model Integration (Модель зрелости процессов разработки).

В. Что такое разбор программы?

О. Неформальный анализ исходного кода программы с целью выявить дефекты и верифицировать техники программирования.

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

В. Что такое тестирование уровня интеграции?

О. Тестирование соответствующих программ, модулей (или) единиц кода.

В. Что такое тестирование на уровне системы?

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

В. Что такое альфа-тестирование?

О. Тестирование всей компьютерной системы перед этапом пользовательского тестирования (UAT).

В . Что такое UAT?

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

В. Что такое тестовый план?

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

В. Что такое сценарий тестирования?

О. Идентификация всех возможных зон тестирования.

В. Что такое ECP (Equivalence Class Partition)?

О. Метод генерации тест-кейсов.

В. Что такое дефект?

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

В. Что такое критичность?

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

В. Что такое приоритет?

О. Указывает на срочность устранения дефекта.

В. Что такое повторное тестирование?

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

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

В. Что такое тестирование восстановления?

О. Проверяется возможность системы справиться с некоторыми неожиданными ситуациями.

В. Что такое тестирование глобализации (Globalization Testing)?

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

В. Что такое тестирование локализации?

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

В. Что такое тестирование установки?

О. Проверяется возможность успешной установки ПО, в соответствии с документацией по установке.

В. Что такое тестирование удаления?

О. Проверка возможности удаления ПО.

В. Что такое тестирование на совместимость?

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

В. Что такое стратегия тестирования?

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

В. Что такое тест-кейс?

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

В. Что такое тест-кейс для валидации бизнес-процессов?

О. Этот тест-кейс составляется для того, что проверить определенное условие или требование.

В. Как определяется хороший тест?

О. Тест-кейс, у которого высокий приоритет обнаружения дефектов.

В. Что такое тестирование по сценарию использования?

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

В. Что такое возраст дефекта?

О. Время между датой обнаружения и датой закрытия дефекта.

В. Что такое дефект Showstopper?

О. Дефект, который вынуждает остановить ход тестирования.

О. Это последний этап STLC. Руководство составляет отчеты по тестам, разъясняет статистику проекта, исходя из имеющихся данных.

В. Что такое Bucket Testing?

О. Bucket Testing, или A/B-тестирование. Чаще всего исследуется эффект разного дизайна, используется метрика для веб-сайтов. Две версии сайта запускаются на одной или нескольких веб-страницах, чтобы определить разницу в кликах.

В. Что такое критерии запуска и завершения тестирования?

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

  • SRS – ПО
  • Случай использования
  • Тест-кейс
  • План тестирования

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

  • Отчет по тестированию
  • Метрики
  • Отчет по анализу теста

В. Что такое тестирование валюты?

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

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

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

В. Что такое тестирование интерфейса?

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

В. Что такое гамма-тестирование?

О. Гамма-тестирование проводится когда ПО уже готово к релизу, проверяется соответствие требованиям.

  • 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) – великолепный инструмент для упорядочения сложных бизнес требований, которые должны быть реализованы в продукте. В таблицах решений представлен набор условий, одновременное выполнение которых должно привести к определенному действию.

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

Что такое онлайн-тестирование?

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

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

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


Онлайн-тестирование для учебных центров

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

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

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

Online Assessment для HR-отделов

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

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

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

Организация онлайн-тестирования

Для проведения экзаменации на базе компании или учебного центра, необходимо развернуть соответствующий модуль в системе дистанционного обучения. Чаще всего используются коммерческие расширения (модули) для СДО Moodle – эта система является бесплатной и установка на сервер занимает не более 10 минут. Есть и готовые онлайн-сервисы для проведения проверки знаний, однако нельзя дать полную гарантию объективности систем, которые вы не администрируете.


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

Как оценить модуль Online Assessment?

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

  • Доступ к тестированию и администрированию через обычный веб-браузер.
  • Возможность добавлять файлы любого формата со ссылкой на них из статей.
  • Качественная система отчетности по результатам тестирования с выводом диаграмм.
  • Возможность создания психологических тестов.
  • Поддержка стандарта ipv6 .
  • Настраиваемая система оценок для каждого теста (баллы, проценты).
  • Использование медиа-контента в вопросах тестов.
  • Наличие различных типов вопросов: множественный выбор, одиночный выбор, произвольный ввод.
  • Автоматическая проверка тестов.
  • Удобный и русифицированный интерфейс.

Контроль результатов

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

свойство. Применяются разные способы проверки надежности тестов.

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

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

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

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

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

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

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