Тестирование черного ящика. Б. Бейзер (2004) (1186170), страница 4
Текст из файла (страница 4)
Содержание главы в общих словах без использования терминов, вводимых в данной главе. Словарь внешних терминов. Технические термины, определение которых отсутствует в данной книге, но которые вы должны знать. Англоговорящего читателя может удивить, что сюда включено так много основных компьютерных терминов. Около половины содержимого словаря внешних терминов хорошо знакомо не только профессионалу в области программного обеспечения, но и студенту. Включая сюда основные термины, я преследовал цель помочь моим многочисленным читателям, для которых английский язык не является родным. Я также надеюсь, что эти термины ощутимо облегчат перевод книги.
Некоторые из внешних терминов не принципиальны для понимания книги, поскольку используются лишь в одной из нескольких илл|остраций идеи или в несущественном комментарии. Не слишком расстраивайтесь, если вы не понимаете термины, используемые в иллюстрациях, поскольку они играют вспомогательную роль в освоении методов тестирования. Все такие термины есть в алфавитном указателе, и вы можете посмотреть их применение в контексте изложения, чтобы понять, действительно ли они вам нужны для понимания темы. Словарь внутреяяихтерминов.
Термины, определяемые в предыду1цей главе. Словарь новых определений Определения, используемые в главе. Новые определения выделяются курсивом. Определение булет выделено курсивом еще раз, если оно дополняется нли уточняется. Определения приводятся в логической последовательности, где каждое следующее определение зависит от предыдущего; их надо читать в предложенном порядке. Внимательно читайте новые определения и не двигайтесь дальше, пока их не поняли. Конфликгл словарей. Иногда вы будете находить один и тот же термин во внешнем и внутреннем словарях, а также в словаре новых определений.
Когда термин появляется одновременно во внешнем и внутреннем словарях, зто значит, что если вы знали его и раньше, то у вас не будет проблем с пониманием главы, одна- Структура главы 21 ко в данном контексте определение будет более строгим, чем то, которое вы знали. Аналогично, если термин возникает во внутреннем словаре и в словаре новых определений, то в данной главе он либо уточняется, либо дополняется (переопределяется). Термины могут выделяться в тексте курсивом (зто значит, что вы, скорее всего, с ними не знакомы), при этом их определение может отсутствовать, и они не будут включены в словарь новых определений. Это означает, что этот термин ссылается на что-то, что будет определено позже.
Я старался избегать таких ссылок и использовал их, только если чувствовал, что зто принесет пользу. Вы, возможно, захотите заглянуть в соответствующую главу и просмотреть определение, но в любом случае можете не беспокоиться: на изучение данной главы никак не влияет понимание подобных ссылок. Модель. Модель, на которой основан метод. Она включает то, что мы принимаем во внимание в поведении программы, что игнорируем и как мы представляем себе это поведение. Предположение об ошибках.
Любой метод тестирования основан на предположении относительно программного продукта, дизайна, пользователя, типа ошибок и возможных проявлений этих ошибок. Этот раздел поможет вам определить эффективность метода в вашем случае. Тип приложений. Обсуждение, для каких приложений данный метод, скорее всего, будет эффективен. Метод. Метод, что он собой представляет, как он работает и почему он работает. Примеры.
Примеры и решения технических задач — от необходимых требований до готовых тестов. Там, где зто было возможно, я использовал в качестве примеров декларацию о доходах внутренней налоговой службы США. Я выбрал бланки декларации на подоходный налог, поскольку они едины для всех, содержат большое количество нетривиальной логики; они подходят для иллюстраций большинства методов черного ящика; несмотря на то, что мы затрачиваем огромные усилия, чтобы заполнить бланк декларации и разобраться в этих непостижимых формах, они, тем пе менее, представляют собой вполне законченные спецификации и свободны от ошибок; и, наконец, их должен знать каждый. Предостережения и ограничения.
Что данный метод может, чего не может и ошибки какого типа он пропустит. 4втоматизация и ияструменглальные средства. Комментарии по поводу автоматической генерации совокупности тестовых данных и инструментальных средств, построенных на этом методе.
Резюме. Краткое содержание главы с использованием новой терминологии. При сравнении обзора и резюме становиться понятно, какие новые концепции были рассмотрены в этой главе. Тест и упражнения. Упражнения н вопросы по итогам главы. Не прилагая усилий, вы не станете хорошо тестировать. Также вам надо знать терминологию, введенную в этой главе, если она встречается в последующих главах. Станьте сами себе ОТК.
Проверьте себя. Бланки налоговой декларации являются подходящими объектами для тестирования. Проверьте сделанное, протестировав готовый пакет налоговых документов. Можете считать, что все правила налоговой службы в нем 22 невке.бос соблюдены. В том числе они проверяют, чтобы все обязательные для заполнения графы были заполнены. Если вы вводите некое значение, очевидно выходящее за указанные рамки, программа должна определить это и предупредить вас. Я должен извиниться за пь что использовал налоговые декларации за 1994 год, по если они изменятся (а это неизбежно случится), вы приобретете полезный навык в обновлении средств тестирования.
Если вы в данный момент не являетесь студентом, то с помощью этого упражнения вы дополнительно попрактикуетесь в заполнении налоговой декларации. Если жс вы студент и никогда не заполняли декларацию, самое время научиться этому. Не осуждайте меня за сложность формы, обратитесь лучше с этим вопросом к своим сенаторам и конгрессменам. Кроме того, реальные проблемы, с которымн вам придется столкнуться при тестировании программ, будут гораздо более трудными. Бланки налоговой декларации и ссылки на них Там, где это было возможно, я иллюстрировал методы на примере формы 1040 декларации о доходах внутренней налоговой службы США и дополнений к ней за 1994 год.
Копни форм, использующихся в этой книге, содержатся в приложении А. Эти формы определяют структуры, которые мы н будем тестировать. Я рассчитываю, что каждый раз, разбирая пример, вы будете сверяться с соответствующей копией формы. Я ссылаюсь на различные строки в бланке декларации как «1040 строка 23» Если отдельно не оговаривается, отсутствие названия формы (например, бланк С) означает, что ссылка относится к форме 1040. Также для создания полезных примеров мы можем добавлять отсутствующие в настоящей форме «строки» в нашу модель.
Так, например, вместо одной строки 34 могут возникнуть строки 34.1, 34.2 и т. д. Что должен знать читатель Эта книга для люлей, обладающих определенными знаниями и опытом. Одного нз нижеследующего будет вполне достаточно: один год (или больше) обучения по университетской программе в области компьютерных наук или программной инженерии, два года среднего специального образования в области компьютерных наук илн разработки программного обеспечения, интенсивный годовой курс обучения в сертифицированном коммерческом центре обработки данных или, что равнозначно, полный курс обучения по направлению «Программное обеспечение» в системе военного образования США, три или больше лет работы программистом.
Занимаетесь ли вы программированием на данный момент — неважно. Важно, чтобы вы знали основные принципы программирования и обладали практическим навыком. Читателям с опытом прикладного тестирования, но без опыта программирования будет сложнее. Им придется потрудиться, чтобы понять и научиться применять главу 2. В словаре внешних термгшов для каждой главы Ссылки 23 приводится лексика, которую вам надо знать для освоения метода.
Большинство людей склонно недооценивать собственные знания. Если вы понимаете терминологию главы, этого достаточно для ее изучения. Не только программное обеспечение Исходя из вышесказанного, может показаться, что эта книга адресована только разработчикам программного обеспечения и тестировшикам.
Это не так. Требования к читателю достаточно скромны и явля1отся общими при обучении науке, бизнесу, инженерному делу или бухгалтерии. «Тестирование методом черного ящика» означает, что нас не интересует, что выступает в роли программно-подобного процесса. Кроме, разумеется, программ, это могут быть химические реакции, физика электромеханических систем, таинственный ход мыслей юриста, когда он пишет налоговые законы, Все ати системы надо тестировать.
Все методы, представленные в данной книге, можно применить для тестирования процессов, далеких от программирования. Если вы биохимик и хотите оптимизировать тестирование реакций, которые используете в анализе крови, эта книга будет вам полезна, поскольку маловероятно, что существует книга о тестировании химических реакций в крови. Или представьте, что наши законодатели и Конгресс захотят применить формальный анализ и методы тестирования к абсурдным налоговым законам (особенно касающимся укрывания налогов), которые они разрабатывают.