- •Тестирование по
- •Тестирование по принципу белого ящика (структурное).
- •Покрытие операторов.
- •Покрытие решений.
- •Покрытие условий.
- •Покрытие решений/условий.
- •Комбинаторное покрытие условий.
- •Тестирование по принципу чёрного ящика.
- •Ручное тестирование программных продуктов.
- •Инспекция исходного текста (структурный контроль).
- •Сквозные просмотры.
- •Проверка за столом.
- •19. Анализ причинно-следственных связей (апсс)
- •Предположение об ошибке (мпо)
- •Документирование по.
- •Стандарты, регламентирующие документирование пс и бд (баз данных).
- •Адаптация процессов и работ жц пс к характеристикам конкретных проектов.
- •Профили
- •Состав документации
- •Эксплутационная документация
- •Исследовательская документация
Тестирование по
ТЕСТИРОВАНИЕ- процесс выполнения программы с целью обнаружения ошибки.
Один из наиболее трудоемких этапов(до 60% общей трудоемкости) создания прогр продукта является тестирование. Причем доля стоимости тестирования в общей стоимости разработки имеет тенденцию возрастать при увеличении сложности комплексов программ и повышени требований к их качеству.
Различают тестиров-е и отладку.
Тестир-е – процесс выявления отказов из-зи ошибок в проге.
Отладка – процесс выяв-я ош-к и внесение исправлений в прогу.
Тестир-е содействует повышению кач-ва прог-го продукта, помогая выявлять проблемы на ранних стадиях процесса разработки.
Никакое тестирование не может доказать отсутствие ошибок в программе.
Исходные данными для этапа тестирования - техническое задание, спецификация и разработанная на предыдущих этапах структурная и функциональная схемы прогр-го продукта.
Для полной проверки проги необходимо выполнить исчерпывающее тестирование. Оно требует проверить все возможные наборы входных данных и все варианты их обработки. В больш-ве случаев это невозможно.
При тестировании рекомендуется соблюдать основные принципы:
1 Нельзя планировать тестиров-е, предполагая, что ошибки не будут обнаружены.
2 Хорошим считается тест, который имеет высокую вероятность обнаружения еще не выявленной ошибки. Удачным считается тест, обнаруживающий хотя бы одну еще не выявленную ошибку.
3 Предполагаемые результаты должны быть известны до тестирования. Нарушение этого принципа – одна из наиболее распространенных ошибок. Ошибочные, но правдоподобные рез-ты могутбыть признаны провильными, if рез-ты теста не были заранее определены. Поэтому тест должен включать 2 компонента: 1) опис-е вх-х данных; 2) опис-е точного и корректного рез-та, соотвующего набору вх-х данных.
3 Следует избегать тестирования программы ее автором
4 Необходимо досконально изучить результаты каждого теста
5 Необходимо проверить действие программы на неверных данных.
6 Необходимо проверить программу на неожиданные побочные эффекты – проверить не тольго выполнение прогой того, для чего онна предназначена, но и того, не делает ли она лишнего.
7 Вероятность наличия ошибки в части программы пропорциональна количеству ошибок, уже обнаруженных в этой части. Ошибки могут группироваться в тех частях проги, кот-е разрабатывались программистами низкой квалификации или были слабо проработыны идеалогически = > ifв какой-то части проги найдено много ошибок, то на тестиров-е этой части необходимо направить дополнит-е силы.
Тестирование по принципу белого ящика (структурное).
Стратегия тестирования по принципу белого ящика или стратегия тестирования, управляемая логикой программы ( с учетом алгоритма ) позволяет проверить внутренняя структуру программы, кот-я в данном случае известна. Тестовые данные получают путем анализа логики программы. Проверяется корректность построения всех эл-тов проги и правильность их взаимод-я друг с другом.
Этот метод тестир-я характеризуется степенью, в которой тесты выполняют или покрываютлогику проги.Покрытие– мера полноты использования возможностей проги набором тестов.
Прога считается полностью проверенной, если с пом-ю тестов удается выполнить эту прогу по всем возможным маршрутам ее исполнения. Для этого формир-ся тесты (или тестовые варианты), в которых:
Гарантируется проверка всех независимых маршрутов проги
Проходятся ветви ИСТИНА и ЛОЖЬ для всех логических решений
Выполняются все циклы в пределах их границ и диапазонов
Анализируется правильность внутр-х структур данных.
Недостатки:
1. Количество независимых маршрутов может быть очень велико. Например, если цикл в программе выполняется k раз, а внутри цикла имеется п ветвлений, то количество маршрутов вычисляется по формуле.
При п = 5 и k = 20 количество маршрутов т = 1014. Примем, что на разработку, выполнение и оценку теста по одному маршруту расходуется 1 мс. Тогда при работе 24 часа в сутки 365 дней в году на тестирование уйдет 3170 лет. Поэтому исчерп. Тест-е в больш-ве случаев невозможно.
2. Исчерпывающее тестирование маршрутов не гарантирует соответствия прогри исходным треб-ям к ней.
3. В проге могут быть пропущены некоторые маршруты.
4. Нельзя обнаружить ошибки, появление которых зависит от обрабатываемых данных.
Достоинства
Принцип «белого ящика» позволяет учесть особенности программных ошибок:
1. При кодировании возможны синтаксические и семантические ош-ки.
2. Количество ошибок минимально в «центре» и максимально на «периферии» программы.
3. Предварительные предположения о вероятности потока управления или данных в проге часто бывают некорректны. В результате типовым может стать маршрут, модель вычислений по которому проработана слабо.
4. Некоторые результаты в программе зависят не от исходных данных, а от внутренних состояний программы.
Каждая из этих причин является аргументом для проведения тестирования по принципу «белого ящика». Тесты «черного ящика» не смогут реагировать на ошибки таких типов.
Стратегия «белого ящика» включает в себя следующие методы тестирования:
покрытие операторов.
Покрытие решений.
Покрытие условий.
Покрытие решений/ условий.
Комбинаторное покрытие условий.