Проектирование тестов

Предполагает составлять тесты, изучая только логику программы.

Предполагает составлять тесты только на основе внешних спецификаций.

Существует два похода к тестированию.

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

Тестирование нужно поручать самым способным программистам.

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

Нужно детально изучать результаты каждого теста.

Нужно готовить тесты как для правильных, так и для неправильных входных данных.

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

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

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

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

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

2. Одна из самых сложных проблем при тестировании – решить, когда надо закончить, то есть как выбрать минимум тестов, дающих максимальную отдачу.

4. Необходимая часть любого теста – описание ожидаемых выходных данных и результатов, то есть ожидаемые результаты тестирования нужно определять заранее, до написания программы.

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

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: