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

Способы тестирования программного обеспечения 26 апреля 2012. Автор: Саида Бекназарова Рубрика: Тестирование дефектов Целью тестирования дефектов является выявление в программной системе скрытых дефектов до того, как она будет сдана заказчику. Тестирование дефектов противоположно методика тестирования программного обеспечения, в ходе которой проверяется соответствие системы своей спецификации. Во время аттестации система должна корректно работать со всеми заданными тестовыми данными. При тестировании дефектов запускается такой тест, который вызывает некорректную работу программы и, следовательно, выявляет дефект. Общая методика тестирования программного обеспечения процесса тестирования дефектов показана на рисунке 1. Тестовые сценарии — это спецификации входных тестовых данных и ожидаемых выходных данных плюс описание процедуры тестирования. Тестовые данные иногда генерируются автоматически. Автоматическая генерация тестовых сценариев невозможна, поскольку результаты проведения теста не всегда можно предсказать заранее. Процесс тестирования дефектов Полное тестирование, когда проверяются все возможные последовательности выполнения программы, нереально. Поэтому тестирование должно базироваться на некотором подмножестве всевозможных тестовых сценариев. Существуют различные методики выбора этого подмножества. Например, тестовые сценарии могут предусмотреть выполнение всех операторов в программе, по меньшей мере, один раз. Альтернативная методика отбора тестовых сценариев базируется на опыте использования подобных систем, в этом случае тестированию подвергаются только определенные средства и функции работающей системы. Тестирование методом черного ящика Тестирование методом черного ящика базируется на том, что все тесты основываются на спецификации системы или ее компонентов. Система представляется как «черный ящик», поведение которого можно определить только посредством изучения ее входных и соответствующих методика тестирования программного обеспечения данных. На рисунке 2 показана модель системы, тестируемая методом черного ящика. Этот метод также применим к системам, организованным в виде набора функций или объектов. Испытатель подставляет в компонент или систему входные данные исследует соответствующие выходные данные. Если выходные данные не совпадают с предсказанными, значит, во время тестирования ПО успешно обнаружена ошибка дефект. Основная задача испытателя — подобрать такие входные данные, чтобы среди них с высокой вероятностью присутствовали элементы множества 1е. Во многих случаях выбор тестовых данных основывается на предварительном опыте испытателя. Тестирование методом черного ящика Структурное тестирование Метод структурного тестирования рисунок 3 предполагает создание тестов на основе структуры системы и ее реализации. Структурное тестирование Как правило, структурное тестирование применяется к относительно небольшим программным элементам, например, к подпрограммам или методам, ассоциированным с объектами. При таком подходе испытатель анализирует программный код и для получения тестовых данных использует знания о структуре компонента. Тестирование ветвей Метод структурного тестирования, при котором проверяются все независимо выполняемые ветви компонента или программы. Если выполняются все независимые ветви, то и все операторы должны выполняться, по крайней мере, один раз. Более того, все условные операторы тестируются как с истинными, так и с ложными значениями условий. В объектно-ориентированных системах тестирование ветвей используется для тестирования методов, ассоциированных с объектами. Количество ветвей в программе обычно пропорционально ее размеру. После интеграции программных модулей в систему методы структурного тестирования оказываются невыполнимыми. При тестировании ветвей не проверяются все возможные комбинации ветвей программы. Не считая самых тривиальных программных компонентов без циклов, подобная полная проверка компонента оказывается нереальной, так как в программах с циклами существует бесконечное число возможных комбинаций ветвей. В программе могут быть дефекты, которые методика тестирования программного обеспечения только при определенных комбинациях ветвей, даже если все операторы программы протестированы т. Метод тестирования ветвей основывается на графе потоков управления программы. Этот граф представляет собой скелетную модель всех ветвей программы. Граф потоков управления состоит из узлов, соответствующих ветвлениям методика тестирования программного обеспечения, и дуг, показывающих поток управления. Если в программе нет операторов безусловного перехода, то создание графа — достаточно простой процесс. При построении графа потоков все последовательные операторы операторы присвоения, вызова процедур и ввода-вывода можно проигнорировать. Каждое ветвление операторов условного методика тестирования программного обеспечения if-then-else или case представлено отдельной ветвью, а циклы обозначаются стрелками, концы которых замкнуты на узле с условием цикла. Граф потоков управления бинарного поиска Цель структурного тестирования — удостовериться, что каждая независимая методика тестирования программного обеспечения программы выполняется хотя бы один раз. Независимая ветвь программы — это ветвь, которая проходит, по крайней мере, по одной новой дуге графа потоков. В терминах программы это означает ее выполнение при новых условиях. В составных условиях, содержащих более одного логического оператора, следует учитывать каждый логический оператор. Например, если в программе шесть операторов if и один методика тестирования программного обеспечения while, то цикломатическое число равно 8. Если одно условное выражение является составным выражением с двумя логическими операторами объединенными операторами and или orто цикломатическое число будет равно 10. Цикломатическое число программы бинарного поиска равно 4. После определения количества независимых ветвей в программе путем вычисления цикломатического числа разрабатываются контрольные тесты для проверки каждой ветви. Проектирование контрольных тестов для программы бинарного поиска не вызывает затруднений. Однако, если программы имеют сложную структуру ветвлений, трудно предсказать, как будет выполняться какой-либо отдельный контрольный тест. В таких случаях используется динамический анализатор программ для методика тестирования программного обеспечения рабочего профиля программы. Динамические анализаторы программ — это инструментальные средства, которые работают совместно с компиляторами. Во время компилирования в сгенерированный код добавляются дополнительные инструкции, подсчитывающие, сколько раз выполняется каждый оператор программы. Тестирование сборки После того как протестированы все отдельные программные компоненты, выполняется сборка системы, в результате чего создается частичная или полная система. Процесс интеграции системы включает сборку и тестирование полученной системы, в ходе которого выявляются проблемы, возникающие при взаимодействии компонентов. Тесты, проверяющие сборку системы, должны разрабатываться на основе системной спецификации, причем тестирование сборки следует начинать сразу после создания работоспособных версий компонентов системы. Во время тестирования сборки возникает проблема локализации выявленных ошибок. Между компонентами системы существуют сложные взаимоотношения, и при обнаружении аномальных выходных данных бывает трудно установить источник ошибки. Чтобы облегчить локализацию ошибок, следует использовать пошаговый метод сборки и тестирования системы. Сначала следует создать минимальную конфигурацию методика тестирования программного обеспечения и ее протестировать. В примере на рисунке 5 последовательность тестов T1, Методика тестирования программного обеспечения и ТЗ сначала выполняется в системе, состоящей из модулей А и В минимальная конфигурация системы. Если во время тестирования обнаружены дефекты, они исправляются. Затем в систему добавляется модуль Тесты T1, T2 и ТЗ повторяются, чтобы убедиться, что в новой системе нет никаких неожиданных взаимодействий между модулями А и Если в ходе тестирования появились какие-то проблемы, то, вероятно, они возникли во взаимодействиях с новым модулем Источник проблемы локализован, таким образом упрощается определение дефекта и его исправление. Затем система запускается методика тестирования программного обеспечения тестами Т4. Тестирование сборки Конечно, на практике редко встречаются такие простые модели. Функции системы могут быть реализованы в нескольких компонентах. Тестирование новой функции, таким образом, требует интеграции сразу нескольких компонентов. В этом случае тестирование может выявить ошибки во взаимодействиях между этими компонентами и другими частями системы. Исправление ошибок может оказаться сложным, так как в данном случае ошибки влияют на целую группу компонентов, реализующих конкретную функцию. Более того, при интеграции нового компонента может измениться структура взаимосвязей между уже протестированными компонентами. Инструментальные средства тестирования Тестирование — дорогой и трудоемкий этап разработки программных систем. Поэтому создан широкий спектр инструментальных средств для поддержки процесса тестирования, которые значительно сокращают расходы на него. На рисунке 6 показаны возможные инструментальные средства тестирования и отношения между ними. Он отслеживает тестовые данные, ожидаемые результаты и тестируемые функции программы. Генерирует тестовые данные для тестируемой программы. Он может выбирать тестовые данные из базы данных или использовать специальные шаблоны для генерации случайных данных необходимого вида. Генерирует ожидаемые результаты тестов. В качестве оракулов могут выступать предыдущие версии программы или исследуемого объекта. Методика тестирования программного обеспечения тестировании параллельно запускаются оракул и тестируемая программа и сравниваются результаты их выполнения. Методика тестирования программного обеспечения результаты методика тестирования программного обеспечения с результатами предыдущего тестирования и составляет отчет об обнаруженных различиях. Компараторы особенно важны при сравнении различных версий программы. Различия в результатах указывают на возможные проблемы, существующие в новой версии системы. Формирует отчеты по результатам методика тестирования программного обеспечения тестов. Добавляет в программу код, который подсчитывает, методика тестирования программного обеспечения раз выполняется каждый оператор. После запуска теста создает исполняемый профиль, в котором показано, сколько раз в программе выполняется каждый оператор. Существует несколько типов имитаторов. Целевые имитаторы моделируют машину, на которой будет выполняться программа. Имитатор пользовательского интерфейса — это программа, управляемая сценариями, которая моделирует взаимодействия с интерфейсом пользователя. Инструментальные средства тестирования Требования, предъявляемые к процессу тестирования больших систем, зависят от типа разрабатываемого приложения. Поэтому инструментальные средства тестирования неизменно приходится адаптировать к процессу тестирования конкретной системы. Для создания полного комплекса инструментального средства тестирования, как правило, требуется много сил и времени. Весь набор инструментальных средств, показанных на рис. Для таких систем полная стоимость тестирования может достигать 50% от всей стоимости разработки системы. Рубрики 422 1 588 38 335 методика тестирования программного обеспечения 402 2 методика тестирования программного обеспечения 3 635 465 53 442 655 1 042 19 701 1 664 154 429 455 57 88 112 104 94 1523 143 102 117 126 108 175 167 137 86 120 126 116 1357 125 100 103 117 109 103 129 144 114 109 102 102 1226 158 96 114 121 91 90 116 118 117 65 73 67 1082 97 108 88 57 72 100 84 100 107 78 103 88 1128 132 90 108 76 79 90 методика тестирования программного обеспечения 111 91 93 90 87 1285 122 118 127 93 96 120 116 107 97 118 94 77 1032 155 73 83 77 методика тестирования программного обеспечения 129 61 80 83 86 78 52 906 85 65 73 95 54 63 49 128 93 58 79 64 873 87 82 87 48 45 39 51 99 72 90 92 81 884 90 74 97 методика тестирования программного обеспечения 82 61 38 55 86 78 50 52 447 56 49 31 34 42 25 38 24 33 30 35 50 296 26 25 17 34 31 2 20 15 19 28 46 33 205 20 31 21 11 10 10 11 21 23 28 18 1 31 12 19 infoCOM. UZ © 2000 — 2016. При перепечатке активная ссылка методика тестирования программного обеспечения издание обязательна.


СТОЛ ЗАКАЗОВ: