Тестирование нефункциональных параметров программы



Мы поможем в написании ваших работ!


Мы поможем в написании ваших работ!



Мы поможем в написании ваших работ!


ЗНАЕТЕ ЛИ ВЫ?

Тестирование нефункциональных параметров программы



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

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

· Тестирование "Юзабилити" - тестирование интерфейса пользователя, его удобности, практичности и лёгкости для освоения обычным пользователем.

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

· Тестирование качества интернационализации и локализации программного обеспечения.

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

Структурное тестирование

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

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

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

28. Функциональное тестирование.

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

Функциональные требования включают в себя:

· Функциональная пригодность (англ. suitability).

· Точность (англ. accuracy).

· Способность к взаимодействию (англ. interoperability).

· Соответствие стандартам и правилам (англ. compliance).

· Защищённость (англ. security).

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

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

Оценочное тестирование

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

Оценочное тестирование, которое также называют «тестированием системы в целом», включает следующие виды:

• тестирование удобства использования - последовательная проверка соответствия программного продукта и документации на него основным положениям технического задания;

• тестирование на предельных объемах - проверка работоспособности программы на максимально больших объемах данных, например, объемах текстов, таблиц, большом количестве файлов и т. п.;

• тестирование на предельных нагрузках - проверка выполнения программы на возможность обработки большого объема данных, поступивших в течение короткого времени;

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

• тестирование защиты - проверка защиты, например, от несанкционированного доступа к информации;

• тестирование производительности - определение пропускной способности при заданной конфигурации и нагрузке;

• тестирование требований к памяти - определение реальных потребностей в оперативной и внешней памяти;

• тестирование конфигурации оборудования - проверка работоспособности программного обеспечения на разном оборудовании;

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

• тестирование удобства установки - проверка удобства установки;

• тестирование надежности - проверка надежности с использованием математических моделей;

• тестирование восстановления - проверка восстановления программного обеспечения, например системы, включающей базу данных, после сбоев оборудования и программы;

• тестирование удобства обслуживания - проверка средств обслуживания, включенных в программное обеспечение;

• тестирование документации - тщательная проверка документации, например, если документация содержит примеры, то их все необходимо попробовать;

• тестирование процедуры - проверка ручных процессов, предполагаемых в системе.

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

Тестирование Белым ящиком

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

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

• Покрытие операторов.

• Покрытия решений и условий.

• Покрытие комбинаций условий.

Таким образом, тестирование белым ящиком позволяет определять «правильность» работы ПО с точки зрения технических решений.

Тестирование черным ящиком.

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

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

• Тестирование функций программы.

• Тестирование потока входных данных.

• Тестирование потока выходных данных.

• Тестирование области допустимых значений.

• Тестирование длины набора данных.

• Тестирование порядка входных данных.



Последнее изменение этой страницы: 2016-04-23; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.239.58.199 (0.015 с.)