СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до 12.04.2025

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Цели, задачи и виды тестирования.

Категория: Информатика

Нажмите, чтобы узнать подробности

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

Просмотр содержимого документа
«Цели, задачи и виды тестирования.»

МДК.02.01. Технология разработки программного обеспечения Тема: «Цели, задачи и виды тестирования»

МДК.02.01. Технология разработки программного обеспечения

Тема: «Цели, задачи и виды тестирования»

ЦЕЛЬ УРОКА: Знакомство с тестированием ПО. Выявление основных целей проведения тестирования Применение основных задач при проведение тестирования.  Изучение видов тестирования

ЦЕЛЬ УРОКА:

  • Знакомство с тестированием ПО.
  • Выявление основных целей проведения тестирования
  • Применение основных задач при проведение тестирования.
  • Изучение видов тестирования
ПЛАН УРОКА Повторение пройденного материала II. Изучение нового материала III. Закрепление полученных знаний при изучении новой темы

ПЛАН УРОКА

  • Повторение пройденного материала

II. Изучение нового материала

III. Закрепление полученных знаний при изучении новой темы

УСТАНОВИТЕ СООТВЕТСТВИЯ

Диаграммы UML

Унифицированный язык моделирования 

Диаграммы Последовательности

Диаграммы Классов

Диаграммы Деятельности

Диаграммы Состояний

Диаграммы Развертывания

Диаграммы потоков данных

Диаграмма UML на которой для некоторого набора объектов на единой временной оси показан жизненный цикл объекта и взаимодействие актеров информационной системы в рамках прецедента.

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

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

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

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

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

Диаграмма наглядно изображает разные виды компонентов ИС, а также обмен информацией между ними и с внешней средой

Это графическое представление набора элементов , изображаемое в виде связанного графа с вершинами (сущностями) и ребрами (отношениями)

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

Цели тестирования:

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

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

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

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

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

ЗНАКОМСТВО С ТЕСТИРОВАНИЕМ ПО 

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

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

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

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

КЛАССИФИКАЦИЯ ТЕСТИРОВАНИЯ По объекту тестирования:  Таким образом, анализ ПО с позиции его ключевых или вспомогательных функций определяет тип тестирования: Функциональное и Нефункциональное Функциональное тестирование  направлено на проверку того, какие функции ПО реализованы, и того, насколько верно они реализованы. Нефункциональное  – проверка корректности работы нефункциональных требований. Оценивается, КАК программный продукт работает .

КЛАССИФИКАЦИЯ ТЕСТИРОВАНИЯ

По объекту тестирования:

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

Функциональное тестирование направлено на проверку того, какие функции ПО реализованы, и того, насколько верно они реализованы.

Нефункциональное – проверка корректности работы нефункциональных требований. Оценивается, КАК программный продукт работает .

По объекту тестирования можно выделить следующие виды:  Тестирование производительности  – работа ПО под определённой нагрузкой. Тестирование пользовательского интерфейса  – удобство пользователя при взаимодействии с разными параметрами интерфейса (кнопки, цвета, выравнивание и т. д.). Тестирование UX  – правильность логики использования программного продукта. Тестирование защищенности  – определение безопасности ПО: защищено ли оно от атак хакеров, несанкционированного доступа к данным и т. д. Инсталляционное тестирование  – оценка вероятности возникновения проблем при установке, удалении, а также обновлении ПО. Тестирование совместимости  – тестирование работы программного продукта в определённом окружении. Тестирование надежности  – работа программы при длительной средней ожидаемой нагрузке. Тестирование локализации  –оценка правильности версии программного продукта (языковой и культурный аспекты).

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

Тестирование производительности  – работа ПО под определённой нагрузкой.

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

Тестирование UX  – правильность логики использования программного продукта.

Тестирование защищенности  – определение безопасности ПО: защищено ли оно от атак хакеров, несанкционированного доступа к данным и т. д.

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

Тестирование совместимости  – тестирование работы программного продукта в определённом окружении.

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

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

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

По степени автоматизированности тестирования:

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

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

Автоматизированное  – с использованием программных средств (более детально в описании курса по автоматизации тестирования ПО).

Каждый из подходов имеет свои преимущества и недостатки.

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

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

По критерию

По критерию "позитивности" сценариев:

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

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

Эти типы тестирования нередко проводятся параллельно. Ведь работая над некоторой функциональностью, тестировщику проще оценить её поведение и в стандартных, и в нестандартных условиях.

 По знанию внутренностей системы:   В процессе тестирования инженер может работать с ПО, не обращаясь к его коду, а может определить правильность работы, взглянув на код. По доступу к коду программного продукта тестирование делится на: Тестирование «БЕЛОГО ЯЩИКА»  – с доступом к коду. Тестирование «ЧЕРНОГО ЯЩИКА»  – без доступа к коду продукта. Тестирование «СЕРОГО ЯЩИКА»  – на основе ограниченного знания внутренней структуры ПО. Часто говорят, что это смесь тестирования «белого ящика» и «чёрного ящика», но это в корне неверно. В данном случае тестировщик не работает с кодом программного продукта, но он знаком с внутренней структурой программы и взаимодействием между компонентами. Проверка программного продукта по каждому из сценариев требует достаточно глубоких знаний. К примеру, об особенностях тестирования «чёрного ящика» в своей книге подробно рассказал Борис Бейзер. Это фундаментальная работа, с которой полезно ознакомиться каждому на старте работы QA-тестирование.

По знанию внутренностей системы:

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

Тестирование «БЕЛОГО ЯЩИКА»  – с доступом к коду.

Тестирование «ЧЕРНОГО ЯЩИКА»  – без доступа к коду продукта.

Тестирование «СЕРОГО ЯЩИКА»  – на основе ограниченного знания внутренней структуры ПО. Часто говорят, что это смесь тестирования «белого ящика» и «чёрного ящика», но это в корне неверно. В данном случае тестировщик не работает с кодом программного продукта, но он знаком с внутренней структурой программы и взаимодействием между компонентами.

Проверка программного продукта по каждому из сценариев требует достаточно глубоких знаний. К примеру, об особенностях тестирования «чёрного ящика» в своей книге подробно рассказал Борис Бейзер. Это фундаментальная работа, с которой полезно ознакомиться каждому на старте работы QA-тестирование.

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

По степени изолированности тестируемых компонентов:

Этот пункт определяет объект тестирования.

  • Модульное / юнит-тестирование  – проверка корректной работы отдельных единиц ПО, модулей. Этот вид тестирования могут выполнять сами разработчики.
  • Интеграционное тестирование  – проверка взаимодействия между несколькими единицами ПО.
  • Системное  – проверка работы приложения целиком.
  • Приёмочное  – оценка соответствия заявленным требованиям к программному продукту.

Переход на каждую новую ступень – движение от микроуровня к макро.

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

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

По субъекту тестирования:

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

Альфа-тестирование  – проверка программного продукта на поздней стадии разработки. Проводится разработчиками или тестировщиками.

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

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

Виды тестирования по степени формализации

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

Тестирование по тестам  – использование написанных заранее тест-кейсов.

Исследовательское тестирование  – одновременная разработка тестов и их использование.

Свободное тестирование  – проверка качества без разработки тестов и написания документации. Основывается на интуиции и опыте тестировщика.

Виды тестирования и деятельности тестировщика    Для каждой исследуемой системы подходит определённый вид тестирования. Чтобы понимать чем предстоит заниматься в каждом направлении рассмотрим список ниже:  Функциональное тестирование  — изучение реестра опций отдельных компонентов, системы. Проверка основана на функционале, выполняющемся системой. Этот вид тестирования отвечает на вопрос — что делает программа и для чего она нужна?  Нагрузочное тестирование  — оценка устойчивости кода системы на нагрузку большого количества данных. Учитываются такие показатели, как скорость выполнения операций, количество пользователей на платформе, приемлемая работоспособность приложения при больших нагрузках.  Автоматизированное тестирование  —проверка в автоматическом режиме. Разработчик создаёт и оптимизирует проверочный код для такого режима. Используется для ускорения процессов тестирования.

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

 

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

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

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

Автоматизированное тестирование  —проверка в автоматическом режиме. Разработчик создаёт и оптимизирует проверочный код для такого режима. Используется для ускорения процессов тестирования.

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

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

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

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

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

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

QA-ТЕСТИРОВАНИЕ    «QA» — сокращение англоязычной фразы «quality assurance», что дословно означает «обеспечение качества». QA интегрировано во все этапы разработки: от описания проекта до тестирования, релиза и даже пост-релизного обслуживания.  QA-тестирование — одно из направлений сферы информационных технологий, направленное на улучшение качества программного продукта или интернет-проекта  Инженер по QA-тестированию — специалист, который занимается проверкой программы, системы, приложения. Также реализует идеи, повышающие качество ПО на всех стадиях разработки. Он всегда знает актуальное состояние продукта и информирует свою команду.

QA-ТЕСТИРОВАНИЕ

 

«QA» — сокращение англоязычной фразы «quality assurance», что дословно означает «обеспечение качества». QA интегрировано во все этапы разработки: от описания проекта до тестирования, релиза и даже пост-релизного обслуживания.

QA-тестирование — одно из направлений сферы информационных технологий, направленное на улучшение качества программного продукта или интернет-проекта

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


Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!