Существует несколько вариантов понимания тестирования.
Тестирование – основной принцип: «нужно искать проблемы».
Одно из первых определений тестирования было написано в 1975г., авторы Goodenough, Gerhart.
«Целью тестирования — является определения того содержит ли программа ошибки»
Похожее определение есть в книге Kaner(a) в 99г. Синия книга))
«Целью тестирования — является поиск в ней проблем»
Из стандарта SWEBOK (Software Engineering Body of Knowledge), 2004 в котором описана общепринятая сумма знаний по программной инженерии.
«Тестирования это деятельность которая выполняется для оценки качества продукта и его улучшения путем идентификации дефектов и проблем»
Во всех этих определениях есть небольшой недочет, непонятно что именно надо делать.
Например: если выпустить программу в мир для пользования клиентами и отслеживать проблемы работы, то это сложно назвать тестированием это быстрее мониторинг программы. В тестирование есть дополнительная черта которая отражена в следующем определении.
«Искусство тестирования компьютерных программ» (Myers) 1979 г.
«Тестирование процесс исполнения программы с целью найти в ней ошибки».
Главный момент в том, что тестировщик взаимодействует с программой не методом «тыка», а по определенным правилам. Эти правила и есть техники тест дизайна.
2. Тестирование – принцип «доказательство отсутствия проблем с программой»
«набор тестов и проверить поведение программы на этом наборе»
Определение по стандарту (IEEE610.12-1990) (англ. Institute of Electrical and Electronics Engineers) Институт инженеров электротехники и электроники. Международная некоммерческая ассоциация специалистов в области техники, мировой лидер в области разработки стандартов по радиоэлектронике, электротехнике и аппаратному обеспечению вычислительных систем и сетей. Корпоративный офис находится в Нью-Йорке
«Тестирование – это свершение действий над компонентом или системой при определенных условиях с наблюдение за результатами этих действий, и делаем оценку или вывод по работе системы или компонента»
SWEBOK 3,0
«Тестирование – динамическая верификация того что программа ведет себя в соответствии с ожиданиями и выполняется эта верификация на конечном наборе тестов, к-е определенным образом выбирается с бесконечного количества вариантов». Так как вариантов тестов очень много, надо выбрать техники тестирования по определенным правилам. Правила и есть ТЕХНИКИ ТЕСТ ДИЗАЙНА.
Динамическая верификация – значит программа выполняется.
Статическая верификация – если читаем код…
Тестировщик выполняет программу совершает некоторые действия, наблюдает результаты и сравнивает с ожиданиями и таким образом проводит верификацию и делает вывод о том является ли поведение программы правильным или нет.
Тестирование (3)
Kaner, 2004 отказывается от определения в 1999г., в силу следующего
«Тестирование это техническое исследование программы, которые мы выполняем для получения информации о качестве исследуемой программы»
Kaner, 2006
«Тестирование это техническое исследование программы, которые мы делаем для того чтобы получить информацию о качестве программы и предоставить информацию заинтересованным лицам». Только к 2006 г. Появляется субъект в определении тестирования.
Итог
Тестирование КП (Для кого? Для чего?)
Исследование КП с целью получить информацию о ее качестве и передать полученную информацию заинтересованным лицам.
В такой форме определение является общим, так как мы собираем различную информацию о тестах для разработчиков(заинтересованы в багах) для менеджеров(заинтересованы в количестве тестов, в количестве успешных тестов
Тестирование КП (Что нужно делать чтобы получить информацию о качестве программы)
Тестирование осуществляется путем наблюдения за работой КП в специальных искусственно созданных условиях(тесты), выбранных определенным образом(техники тест дизайна).