Тестирование программного обеспечения

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

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

 

Классификация жизненного цикла процесса разработки программного обеспечения происходит следующим образом:

  1. Планирование
  2. Анализ
  3. Дизайн
  4. Разработка программного обеспечения
  5. Реализация
  6. Тестирование программного обеспечения
  7. Развертывание
  8. Техническое обслуживание

 

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

 

Введение в тестирование программного обеспечения

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

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

Дефект (баг, неисправность): сбой в системе или продукте, который может привести к сбою или неисправности компонента.

Отказ: это разница между фактическим и ожидаемым результатом.

Риск: риск - это фактор, который может привести к отрицательным результатам или возможности убытка, или ущерба.

 

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

  1. Обнаружение дефектов
  2. Обретение уверенности и предоставление информации об уровне качества
  3. Предотвращение дефектов

 

Область применения тестирования программного обеспечения

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

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

 

Ключевые понятия

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

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

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

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

  1. Верификация: проверяет, разработан ли данный продукт согласно спецификации.
  2. Валидация: проверяет, соответствует ли продукт требованиям клиентов.

 

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

 

Типы тестирования программного обеспечения

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

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

 

Инструкции по сценарию тестирования:

  • Black Box (черный ящик) тестирование
  • White Box (белый ящик) тестирование
  • Gray Box (серый ящик) тестирование

 

Уровни тестирования программного обеспечения жизненного цикла включают в себя:

  • Модульное тестирование
  • Интеграционное тестирование
  • Системное тестирование
  • Приемочное тестирования (альфа-тестирование и бета-тестирование)

 

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

  • Функциональное тестирование
  • Тестирование производительности (нагрузочное тестирование и стресс-тестирование)
  • Дымовое тестирование
  • Санитарное тестирование (проверка согласованности)
  • Регрессионное тестирование
  • Тестирование восстановления .
  • Юзабилити-тестирование
  • Тестирование на совместимость
  • Тестирование конфигурации
  • Исследовательское тестирование

 

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

Ручное тестирование - трудоемкий процесс. Автоматизация тестирования предполагает автоматизировать ручной процесс. Автоматизация тестирования - это процесс написания компьютерной программы в виде скриптов для тестирования, который обычно делается вручную. Некоторыми популярными средствами автоматизации являются Winrunner, Quick Test Professional (QTP), LoadRunner, SilkTest, Rational Robot, и т. д. Средства автоматизации также включает в себя сервисные инструменты, такие как TestDirector и многие другие.

 

Методологии тестирования программного обеспечения

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

  • Каскадная модель
  • V Модель
  • Спиральная модель
  • Рационального унифицированный процесс
  • Гибкая модели
  • Быстрая разработка приложений

 

Тестовые артефакты

В процессе тестирования программного обеспечения можно произвести различные артефакты, такие как:

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

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

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

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

Сценарий тестирования: тестовый сценарий представляет собой сочетание теста, процедуры тестирования и данных испытаний.

Тестовый набор: это сборник тестовых случаев.

 

Процесс тестирование программного обеспечения

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

  1. Создание плана тестирования
  2. Дизайн тест-кейсов
  3. Описание тестовых случаев
  4. Обзор тестовых случаев
  5. Выполнение теста
  6. Изучение результатов тестов
  7. Составление конечного обзора

 

Ниже приведены примеры тестирования:

Тестирование программного обеспечения для входа на страницу системы:

цель: пользователь должен иметь возможность перейти на главную страницу.

Предпосылки:

  1. Программное обеспечение должно быть совместимо с операционной системой.
  2. Должна появиться страница «ввода логина».
  3. Текстовые поля идентификатора пользователя и пароля должны быть доступны с соответствующими метками.
  4. Должны быть в наличии кнопки «Войти» и «Отмена» с соответствующими подписями.

 

Тест 1

Название теста: проверка требований пользовательского интерфейса.

Шаги/действия: Пользователь просматривает страницу, чтобы проверить, включает ли она в себя ID пользователя и пароль в текстовых полях с соответствующими наклейками. Кроме того, кнопки «Войти» и «Отмена» должны быть доступны с соответствующими подписями.

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

 

Тест 2

Название теста: Текстовое поле для идентификатора пользователя следует: 1) разрешить только буквенные символы {от a до z, и от A до Z}, 2) не разрешать специальные символы, такие как {'$','#','!','~','*',...}, 3) не разрешать цифровые символы {0-9}.

Шаги/действия: 1) Пользователь вводит числа в текстовое поле. 2) Пользователь вводит алфавитно-цифровые данные в текстовом поле.

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

 

Тест 3

Название теста: проверка функциональности текстового поля для пароля: 1) текстовое поле для пароля должно принять шесть или более символов. 2) данные должны отображаться в зашифрованном виде.

Шаги/действия: 1) Пользователь вводит только два символа в текстовом поле пароля. 2) Пользователь вводит более шести символов в текстовом поле пароля. 3) Пользователь проверяет отображаются ли данные в зашифрованном виде.

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

 

Тест 4

Название теста: проверка функциональности кнопки «Войти».

Шаги/действия: 1) Пользователь проверяет, включена или отключена кнопка «Войти». 2) Пользователь нажимает на кнопку «Войти» и ожидает, просмотра главной страницы приложения.

Ожидаемые результаты: 1) система отображает кнопку «Войти». 2) Система перенаправляет пользователя на главную страницу приложения, как только он нажимает на кнопку «Войти».

 

Тест 5

Название теста: проверка функциональности кнопки «Отмена».

Шаги/действия: 1) Пользователь проверяет, включена или отключена кнопка «Отмена». 2) Пользователь проверяет, сбрасываются ли текстовые поля ID пользователя и пароль при нажатии кнопки «Отмена».

Ожидаемые результаты: 1) система отображает кнопки «Отмена». 2) система сбрасывает данные текстовых полей идентификатора пользователя и пароля, когда пользователь нажимает на кнопку «Отмена».

 

Методы поиска неисправностей при тестировании программного обеспечения

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

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

 

Метрика программного обеспечения

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

 

- Метрика программного обеспечения поможет избежать таких подводных камней, как:

  1. Перерасход средств
  2. Определение, источника проблемы
  3. Уточнение целей

 

- Даст ответы на такие вопросы как:

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

 

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

 

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

  • Покрытие кода
  • Цикломатическая сложность
  • Сплоченность
  • Связь
  • Функция точечного анализа
  • Время выполнения
  • Источник строк кода
  • Ошибка в строках кода

 

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

 

Тестирование программного обеспечения в качестве карьеры

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

 

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


Автор статьи Сергей

Читайте также

 

 

 

Добавить комментарий