Вопрос 40. Методы тестирования программ



Метод просмотра применяется к инспекции созданных программ независимыми экспертами и с участием самих разработчиков. Проверка: полноты, целостности, однозначности, непротиворечивости и совместимости документов с исходными требованиями к ПС; текста программы, соблюдения требований к ней и стандартных руководящих документов технологии программирования. Проблема ищется "со стороны".

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

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

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

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

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

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

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

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

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

 

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

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

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

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


Дата добавления: 2018-02-15; просмотров: 858; Мы поможем в написании вашей работы!

Поделиться с друзьями:






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