Вы находитесь на странице: 1из 5

Ошибки компиляции это синтаксические ошибки фиксированные самим компилятором.

Ошибки
компоновки это ошибки обнаруженные компоновщиком при объединении модулей программы.
Например предусмотрено обращение к подпрограмме другого модуля а при объединении
модулей данная подпрограмма не найдена или не стыкуется в списке параметров. Ошибка
выполнения это ошибки обнаруженные операционной системой аппаратными средствами или
пользователем при выполнении: 1. Ошибки некорректного использования переменных; 2.
Ошибки вычислений; 3. Ошибка взаимодействия модулей тоесть межмодульного интерфейса,
например нарушение типов и последовательности при передаче параметров не соблюдение
единства единиц измерение формальных и фактических параметров нарушение области действия
локальных и глобальных переменных. Ошибки определенных данных возникают при выполнении
операций ввода-вывода: ошибки передачи, ошибки преобразования, ошибки перезаписи и
ошибки данных. Логические ошибки имеют разную природу и могут следовать из ошибок
допущенных при проектировании например при выборе методов разработкой алгоритмов или
определение структуры данных(классов) а могут быть непосредственно обнесены при
кодировании модуля. Ошибки накопления погрешности возникают в результате накопления
погрешности результатов числовых вычислений. На сложность откладки влияют следующие
факторы: опосредственное проявление ошибок, возможность взаимного влияния ошибок,
возможность получения внешне одинаковых проявлений разных ошибок. Стохастические ошибки
это ошибки которые не могут проявиться от запуска к запуску может аннулироваться или
измениться внешнее проявление ошибок при внесении некоторых изменений в программу.
Методы по можно классифицировать следующим образом: 1) метод ручного тестирования- самый
простой и естественный способ откладки программы 2) метод индукции предусматривает
подробный анализ проявления ошибки это могут быть неверные результаты вычислений или
сообщения об ошибке 3) метод дедукции работает по следующим алгоритмам сначала формирует
множество причин которые могли бы вызвать данное проявление ошибки затем анализируя
причины исключает те которые противоречат имеющимся данным если все причины исключены
то следует выполнить дополнительное тестирования исследования программы в противном
случае наиболее вероятную гипотезу пытаются доказать если гипотеза доказана проверяют
следующие 4) метод обратного прослеживания используется для небольших программ и
заключается в следующем определяется точка вывода неправильного результата затем строится
гипотеза о основных переменных затем исходя из гипотезы делают предположение. Категории
программных ошибок: функциональные недостатки, недостатки пользовательского интерфейса,
недостаточная производительность, некорректная обработка ошибок, некорректная обработка
ограниченных условий. Ошибки вычислений. Ошибки управления потоком. Ситуация гонок.
Ошибка перегрузки. Некорректная работа с аппаратурой компьютера.

Методы тестирования.

Тестирование черного ящика это метод тестирования функционального поведения объекта


(программной системы) с точки зрения внешнего мира при тестировании методом черного ящика
программа рассматривает как объект внутренность структуры которой неизвестно. Основная
задача тестировщика для данного метода тестирования состоит в последовательной проверке
соответствии поведения системы требований на самом деле в результате тестирования
выявляются следующие проблемы системы: поведение системы не соответствует требованию, в
ситуациях не предусмотренным требованиями система ведёт себя неадекватно. Методы черного
ящика обеспечивают 1) эквивалентное разбиение состоит в разбиении входной области данных
программы на конечное число классов эквивалентности так чтобы каждый тест являющийся
представителем некоторого класса был эквивалентен любому другому тесту этого класса классы
эквивалентности выявляются путем перебора и разбиением их на две или более группы при этом
различают два класса эквивалентности: правильные задающие входные данные для программы и
неправильные основанные на задании ошибочных входных значений. Разработка тестов методом
эквивалентного разбиения осуществляется в два этапа: выделение классов эквивалентности. При
построении тестов основанных на чемто проводится символическое проведение данных(цель
сокращение количества тестов, но при этом не пропустить серьезных ошибок). Анализ граничных
значений это проверка ошибок на классах эквивалентности. Анализ причинно-следственных
связей происходит следующим образом спецификация разбивается на рабочие участки в
спецификации разбивается на рабочие участки в спецификации определяется множество причин
и следствий. На основе анализа семантического содержания спецификации строится таблица
истинности в которой последовательно перебираются всевозможные комбинации причин и
определяется следствие для каждой комбинации причин. Недостаток этого подхода является
плохое исследование граничных условий. Предположение об ошибке в значительной степени
основано на интуиции.

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


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

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


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

Классификация. Тестирование по уровням.

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


классов.

Цель модульного тестирования состоит в выявлении ошибок в реализации алгоритмов а также


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

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


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

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

Интеграционное тестирование проводится для проверки работы совместных отдельных модулей


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

Системное тестирования проводится независимым тестировщиком при условии успешного


завершения интеграционного тестирования

Системное тестирование качественно отличается от интеграционного и модульного уровней,


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

Основная задача системного тестирования выявление проблем, связанных с работой системы в


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

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


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

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


для поставки заказчику.

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


продукт с результатом тестирования.

Приемочное тестирование проводится организацией отвечающей за инсталляцию сопровождение


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

Альфа тестирование это реальная работа с ПО проводимая потенциальными пользователями или


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

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

Тестирование производительности программного обеспечения.


3) Потребление сетевых ресурсов указывает на пределы производительности системы в целом.

Использованная память делится на несколько категорий: объемом виртуального адресного


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

Вам также может понравиться