Тестирование — это…
(Из ленты 255 ступеней)
Часто бывает нужно сравнить несколько определений одного и того же термина. Но выискивать определения по куче книг – занятие довольно длительное. Лучше сделать это заранее и постепенно пополнять список. И заодно свести к “единому знаменателю”
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» и еще некоторые виды.
И вот тогда все встает на свои места. Процесс поиска ошибок совершенно необязательно проводится «на конечном наборе тестов». И вовсе не имеет целью «получения информации о ее качестве» или «получение надежного программного обеспечения». И для поиска ошибок совершенно необязательно «выполнение программы».
А всего-то требовалось провести декомпозицию процессов.
Да, и забудьте такой термин, как «Процесс тестирования». Забудьте как страшный сон.
Источник: Тестирование — это…