ITVDN logo
Видеокурсы по
программированию

Доступ более чем к 7700 видеоурокам от $19.99

Подписка
ITVDN logo
Видеокурсы по
программированию

Доступ более чем к 7700 видеоурокам от $19.99

Подписка

Введение

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

Тестирование глазами разработчиков

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


Гарантия качества

Гарантия качества относится к набору запланированных систематических операций, которые гарантируют соответствие процессов определенным стандартам, таких как ISO 9000 или SEI CMM. Они и обеспечивают определенную степень уверенности в качестве выпускаемого ПО.

Действия, что обеспечивают качество продукта

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

Валидация и верификация

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

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

Тестирование глазами разработчиков

Статическое и динамическое тестироание

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

Есть несколько типов тестирования:

  • Тестирование методом "белого ящика";
  • Тестирование методом "черного ящика";
  • Тестирование V-модели;
  • Юнит-тестирование;
  • Приемочные испытания;
  • Интеграционное тестирование;
  • Регрессионное тестирование.

Тестирование методом "белого ящика"

Тестирование методом "белого ящика" тестирует приложение сугубо на уровне кода. Это структурное или логически управляемое тестирование исходного кода приложения, которое гарантирует:

  1. Отладку багов;
  2. Занимаемую память;
  3. Комплексность кода;
  4. Анализ кода;
  5. Покрытие кода.

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

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

Созданные тестовые сценарии должны гарантировать:

  1. Осуществление всех независимых путей в юните, по крайней мере, один раз;
  2. Выполнение всех логических действий с наличием положительного или отрицательного результата;
  3. Выполнение всех циклов в рамках их операционных границ;
  4. Проверку внутренних структур данных на законность.

Тестирование методом "черного ящика"

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

  1. Эквивалентность классов;
  2. Граничный анализ;       
  3. Анализ худшего случая.

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

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

  1. Неправильные или недостающие функции
  2. Интерфейсные ошибки
  3. Ошибки в структурах данных или внешнем доступе к базе данных
  4. Ошибки производительности
  5. Инициализация и ошибки завершения

Причинно-следственные методы построения графика

Причинно-следственное построение графика - метод, который обеспечивает краткое представление логических условий и соответствующих действий. Он состоит в выполнении четырех шагов:

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

Тестирование V-модели

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

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

Юнит-тестирование включает тестирование самого маленького модуля или блока кода - юнита. Юнит программного обеспечения определен как набор сегментов кода, которые составляют модуль или функцию. Модуль может быть экранами для приложения GUI или быть самым маленьким блоком кода.

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

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

Приемочные испытания

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

Регрессивное тестирование

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

Источник: http://www.c-sharpcorner.com/UploadFile/6f0898/importance-of-testing-in-developer-point-of-view/

СТАТЬИ ПО СХОЖЕЙ ТЕМАТИКЕ
ВИДЕО КУРСЫ ПО СХОЖЕЙ ТЕМАТИКЕ

КОМЕНТАРИИ И ОБСУЖДЕНИЯ

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

ПОДПИСКА НА ITVDN ВЫГОДА ДО 29.95$ НА ОБУЧЕНИЕ ПРЕСТИЖНЫМ ПРОФЕССИЯМ!

1 месяц19.99$
подписка

легкий старт в обучении

3 месяца49.99$
подписка

выгода от подписки до9.98$

6 месяцев89.99$
подписка

выгода от подписки до29.95$