
- •Информатика и программирование
- •1) Понятие информации и ее измерение. Количество и качество информации. Единицы измерения информации.
- •2) Сообщения и сигналы. Кодирование и квантование сигналов.
- •3) Позиционные системы счисления. Методы перевода чисел.
- •4) Представление чисел в компьютере.
- •6) Основные стратегии конструирования программных продуктов.
- •7) Основные критерии оценки качества программных продуктов.
- •8) Определение термина «стиль программирования». Требования к стилю написания программ.
- •9) Основные понятия и показатели надежности программного продукта.
- •10) Определение термина «тестирование». Необходимость тестирования программных продуктов. Взаимосвязь тестирования и отладки.
- •11) Основные методы и принципы тестирования.
- •12) Сопровождение программных продуктов. Виды сопровождения.
11) Основные методы и принципы тестирования.
Методы тестирования
При тестированиибелого ящика, разработчик теста имеет доступ к исходному коду программ и может писать код, который связан с библиотеками тестируемого ПО.
Недостаткитестирования «белого ящика»:
1. Количество независимых маршрутов может быть очень велико.
2. Исчерпывающее тестирование маршрутов не гарантирует соответствия программы исходным требованиям к ней.
3. В программе могут быть пропущены некоторые маршруты.
4. Нельзя обнаружить ошибки, появление которых зависит от обрабатываемых данных.
Достоинства тестирования «белого ящика» связаны с тем, что принцип «белого ящика» позволяет учесть особенности программных ошибок:
1. Количество ошибок минимально в «центре» и максимально на «периферии» программы.
2. Предварительные предположения о вероятности потока управления или данных в программе часто бывают некорректны. В результате типовым может стать маршрут, модель вычислений по которому проработана слабо.
3. При записи алгоритма ПО в виде текста на языке программирования возможно внесение типовых ошибок трансляции (синтаксических и семантических).
4. Некоторые результаты в программе зависят не от исходных данных, а от внутренних состояний программы.
При тестированиичёрного ящика, тестировщик имеет доступ к ПО только через те же интерфейсы, что и заказчик или пользователь, либо через внешние интерфейсы, позволяющие другому компьютеру либо другому процессу подключиться к системе для тестирования.
Основные недостатки и ограничения тестирования по методу «чёрного ящика»:
сложность, а в некоторых случаях — невозможность полного тестирования всех функций ПП;
сложность проверки факта соответствия конкретного ПП его спецификации;
сложность осуществления ряда функциональных тестов, связанная с различного рода техническими трудностями (особенностями используемых операционных систем, временные задержки в работе сети и т.д.);
Основным же преимуществом тестирования по методу «чёрного ящика» является его объективность. Т.е. потенциальные ошибки, которые могут быть выявлены методом «белого ящика» требуют практического подтверждения, что они действительно являются ошибками и что существует путь реализовать эти ошибки (т.е. ошибка не отсекается на каком-либо другом уровне проверок), что зачастую проще выполняется именно функциональными методами, как и в случае метода «чёрного ящика».
При тестировании серого ящикаразработчик теста имеет доступ к исходному коду, но при непосредственном выполнении тестов доступ к коду, как правило, не требуется.
Принципы тестирования программ:
Принцип 1. Определение. Для того чтобы протестировать программу, нужно попытаться заставить ее работать неверно.
Принцип 2. Регрессивное тестирование. Любое неудачное выполнение должно порождать тестовый случай, который навсегда становится частью тестового пакета данного проекта. Этот принцип касается всех ошибок, возникших во время разработки и тестирования.
Принцип 3.Использование предсказаний. Определение успеха или неудачи тестов должно происходить автоматически.
Принцип 4.Тестовые случаи, проверяемые вручную и автоматически. Эффективный процесс тестирования должен включать в себя тестовые случаи, проверяемые как вручную, так и автоматически. Достоинством тестов, выполняемых вручную, является их глубина: они отражают понимание разработчиком имеющегося круга проблем и структуры данных. Преимущество автоматических тестов в их широте: они выполняют проверку большого диапазона значений, в том числе экстремальных, которые люди могут пропустить.
Принцип 5.Эмпирические оценки стратегий тестирования. Оценивайте любую стратегию тестирования, однако, какой бы интересной она ни казалась, прибегайте к объективной оценке, используя точные критерии в воспроизводимом процессе тестирования.
Принцип 6.Критерий оценки. Самое важное свойство стратегии тестирования — это число обнаруженных ошибок как функция времени.