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

Автор работы: Пользователь скрыл имя, 27 Января 2015 в 23:33, реферат

Описание работы

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

Файлы: 1 файл

Тестирование ПО.docx

— 19.67 Кб (Скачать файл)

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

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

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

Тестирование включает.

  1. Проектирование тестов — разработка стратегии тестирования, разработка планов тестирования, разработка и документирование тестовых кейсов.
  2. Выполнение тестового цикла — анализ спецификаций и кода. Кодирование и проведение тестовых кейсов.
  3. Улучшение тестирования ПО — проведение исследований по результатам выполненного тестирования с получением информации по покрытию тестовыми кейсами исходного кода или функциональности программы. Разработка рекомендаций по улучшению тестирования.
  4. Улучшение качества программного продукта — выдача рекомендаций по улучшению программного обеспечения в целом или с целью соответствия поставленным требованиям и задачам.
  5. Оптимизация тестирования ПО — разработка программ, позволяющих в автоматическом режиме обрабатывать исходные коды и делать необходимые заключения по его качеству.

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

 Регрессионное тестирование  — проверка работоспособности  программного обеспечения после  внесения в него изменений.

Функциональное тестирование — проверка соответствия продукта функциональным требованиям и спецификациям.

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

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

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

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

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

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

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

Цель проверяющего (тестовика) — заставить программное обеспечение сбиться.

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

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

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

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

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

Процесс тестирования программного обеспечения можно разделить на три этапа:

- проверка в нормальных  условиях;

-   проверка в экстремальных  условиях;

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

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

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

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

Типичные примеры — очень большие числа, очень малые числа или отсутствие информации.

Различают еще так называемые «Альфа»- и «Бета» - тестирования.

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

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

 


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