Тестирование - это…

Часто бывает нужно сравнить несколько определений одного и того же термина. Но выискивать определения по куче книг – занятие довольно длительное. Лучше сделать это заранее и постепенно пополнять список. И заодно свести к “единому знаменателю”

1980 Процесс выполнения программы с намерением найти ошибки.
[Г.Майерс. Надежность программного обеспечения. М:Мир, 1980]

1987 Процесс наблюдения за выполнением программы в специальных условиях и вынесения на этой основе оценки каких-либо ее аспектов.
[ANSI/IEEE standard 610.12-1990: Glossary of SE Terminology. NY:IEEE, 1987]

1990 Это не действие. Это интеллектуальная дисциплина, имеющая целью получение надежного программного обеспечения без излишних усилий на его проверку.
[B. Beizer. Software Testing Techniques, Second Edition. NY:van Nostrand Reinhold, 1990]

1995 Тестирование это проектирование, отладка и выполнение тестов.
[Борис Бейзер «Тестирование черного ящика» СПб:Питер 2004 «Black-Box Testing. Techniques for Functional Testing of Software and Systems» 1995]

1999 Техническое исследование программы для получения информации о ее качестве с точки зрения определенного круга заинтересованных лиц.
[С. Kaner, 1999]

2004 Проверка соответствия между реальным поведением программы и ее ожидаемым поведением на конечном наборе тестов, выбранном определенным образом.
[IEEE Guide to Software Engineering Body of Knowledge, SWEBOK, 2004]


При желании можно найти еще десяток другой определений. Но, на мой взгляд, все эти определения страдают одной  и той же классической болезнью. И болезнь эта – «Недостаточная декомпозиция». Мне кажется, правильней говорить не о процессе тестирования, а о процессах рабочего центра тестирования.Центральным процессом рабочего центра тестирования является процесс «поиска ошибок». И его целью, Внезапно! является поиск ошибок.

А есть, например, процесс подготовки отчета о качестве. Которому на вход поступает реестр ошибок. А этот реестр является выходом (продуктом) процесса поиска ошибок.

И что интересно, для поиска ошибок в программном продукте на входе совершенно необязательно иметь исполняемый код. Некоторые ошибки, такие например, как связанные с аспектами качества группы «сопровождаемость», ищут не в исполняемом коде, а в исходном. А ошибки функциональной полноты в разы легче искать в требованиях. Что же касается набора сценариев, то некоторым видам тестирования разработанные и зафиксированные в документе сценарии – это нож острый. К таковым видам тестирования относят: «Коридорное», «A/B» и еще некоторые виды.

И вот тогда все встает на свои места. Процесс поиска ошибок совершенно необязательно проводится «на конечном наборе тестов». И вовсе не имеет целью «получения информации о ее качестве» или «получение надежного программного обеспечения». И для поиска ошибок совершенно необязательно «выполнение программы».

А всего-то требовалось провести декомпозицию процессов.
Да, и забудьте такой термин, как «Процесс тестирования». Забудьте как страшный сон.

Оставьте комментарий

Вы должны войти, чтобы оставить свой комментарий.