Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TRPP_uberdohuya.doc
Скачиваний:
15
Добавлен:
22.08.2019
Размер:
422.4 Кб
Скачать

2.Тестирование «белым ящиков»

"Белый ящик" - структурное тестирование кода на предмет логики работы программы и корректности её работы с точки зрения компилятора того языка на котором она писалась.

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

Стратегия Белого ящика включает в себя следующие методы тестирования:

  1. покрытие операторов

  2. покрытие решений

  3. покрытие условий

  4. покрытие решений и условий

  5. комбинаторное покрытие условий

3.«черным ящиков», При функциональном тестировании программа рассматривается как “черный ящик” (то есть ее текст не используется). Происходит проверка соответствия поведения программы ее внешней спецификации. Возможно ли при этом полное тестирование программы? Очевидно, что критерием полноты тестирования в этом случае являлся бы перебор всех возможных значений входных данных, что невыполнимо.

4.«серым ящиков». Тестирование серым ящиком находится в пограничном состоянии между белым ящиком и черным, поэтому его и называют серым. Сочетание происходит таким образом: снаружи на продукт смотрим как на черный ящик (пользуемся лишь интерфейсом, без доступа к коду), но выбор тестов основываем на знании внутреннего устройства программы, знании ее кода (как в белом ящике). Этот метод часто используется для тестирования Web Internet приложений.

5.Классификация ошибок. A)Классификация ошибок по месту их возникновения 1 Ошибки пользовательского интерфейса. а Функциональность. Б Взаимодействие программы с пользователем. В Организация программы. Г Пропущенные команды. Д Производительность. Е Выходные данные. 2 Обработка ошибок. 3 Ошибки, связанные с обработкой граничных условий. 4 Ошибки вычислений. 5 Начальное и последующие состояния. 6 Ошибки управления потоком. 7 Ошибки передачи или интерпретации данных. 8 Ситуация гонок. 9 Перегрузки. 10 Аппаратное обеспечение. 11 Контроль версий. 12 Документация. 13 Ошибки тестирования. Б) Классификация ошибок с точки зрения тестировщика 1 Ошибки кодирования. 2Ошибки проектирования. 3 Предложения тестировщика по улучшению программы. 4 Расхождение с документацией. 5 В заимодействие с аппаратурой. 6 Поведение программы, вызывающее вопросы тестировщика. В)Классификация ошибок по степени их критичности

1 Классификация может быть следующей. 2 Разрушение системы (Causes crash) - Под ним объединяют все те ошибки в программе, которые могут вызвать крах или зависание всей системы, нарушить стабильность ее работы. 3 Косметические (Cosmetic) - под этим понятием объединяют ошибки дизайна (например, не тот цвет линии или шрифт), пользовательского интерфейса и т.п., которые не мешают работать программе, но портят ее "товарный вид". 4 Критические (Critical) – ошибки, которые приводят к «зависанию» или «падению» самой программы, не затрагивая операционной системы в целом. 5 Error Handling - ошибки при обработке ошибок. 6 Functional - ошибки функциональности, не относящиеся к критическим 7 Setup - ошибки инсталляции. 8 Minor - малозначимые. 9 Suggestion – предложения по улучшению программы (так называемые «фичи» (feature). Г)Классификация ошибок в зависимости от их места в жизненном цикле программного изделия

  1. Ошибки при постановке задачи и при составлении ТЗ.

  2. Ошибки проектирования.

    1. Ошибки в структуре ПО.

    2. Ошибки функциональности отдельных модулей.

    3. Ошибки программных интерфейсов.

    4. Ошибки в спецификациях программ.

    5. Недостатки программы и методики тестирования.

    6. Ошибки при выборе средств разработки и управления проектом.

  3. Ошибки кодирования.

    1. Опечатки при кодировании.

    2. Ошибки при реализации спецификаций.

    3. Не выполнение критериев добротности программы.

    4. Недостатки оформления и документирования исходных текстов.

  4. Ошибки отладки и тестирования.

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

    2. Не все ошибки отражены в отчете.

    3. Не все ошибки исправлены.

    4. Недостатки в документировании ошибок.

  5. Ошибки и недочеты в документации на ПО.

  6. Ошибки на этапе эксплуатации и модернизации.

    1. Отсутствие системы сбора ошибок и пожеланий пользователей.

    2. Не все ошибки фиксируются.

    3. Отсутствует единые принципы ведения и форматы документов об ошибках.

    4. Ошибки исправляются не оперативно.

    5. Обновление системы осуществляется некорректно.

    6. Исправление одних ошибок приводит к появлению других.

Д) Классификация программных ошибок (багов) с точки зрения субъективного восприятия их программистами 1 «Бозебаг - это скопление ошибок в каком-то конкретном месте исполняемого кода, бесконечное их число. 2 Борбаг - ошибка, которая, в противоположность гейзенбагу, не исчезает и не меняет своих свойств при попытке её обнаружения. Данный тип ошибки характеризуется как устойчивый и поэтому назван в честь атомной модели, разработанной Нильсом Бором. 3 Гейзенбаг - тип ошибки, которая исчезает или меняет свои свойства при попытке её обнаружения. 4 Примером могут являться ошибки, которые проявляются в окончательном варианте программы (релизе), однако не видны в режиме отладки, или ошибки синхронизации в многопоточном приложении. Данное название является игрой слов и происходит от физического термина «Принцип неопределённости Гейзенберга», который на бытовом уровне понимается как изменение наблюдаемого объекта в результате самого факта наблюдения, происходящее в квантовой механике. 5 Дзенбаг - это такая ошибка, которая, в общем-то, ни на что не влияет, но при этом ошибкой всё же является. 6 Шрёдинбаг - один из самых интересных типов ошибок, который никак не проявляет себя, однако внезапно возникает, если кто-то наткнётся на него в исходном коде или попытается использовать программу в необычных условиях и осознаёт, что система вообще не могла работать при наличии такой ошибки. После этого программа перестаёт работать вообще до тех пор, пока ошибка не будет исправлена. Хотя это звучит невероятно, некоторые программы содержат в себе латентные шрёдинбаги. Слово «шрёдинбаг» происходит от мысленного эксперимента с котом Шрёдингера. Забавным примером можно считать историю о старике и бороде (хотя само название «шрёдинбаг» в ней, разумеется, не упомянуто). Некоторого старика с длинной бородой спросили, куда он кладет бороду, когда спит — под одеяло или на одеяло. Он понял, что не знает, а когда лег спать, попытался выяснить это опытным путем. Попробовал положить под одеяло — очень неудобно, на одеяло — тоже очень неудобно. Поскольку оба варианта не подходили, старик больше не мог заснуть, и через некоторое время скончался от недостатка сна».

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]