Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тестирование программного обеспечения. Фундамен...docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
935.81 Кб
Скачать

16 Тестирование программного обеспечения

Преподавателю

Проводя интервью для приема на работу новых сотрудников, мы все­гда очень рады, если кандидат может представить примеры своей работы (планы тестирования или отчеты). Обычно такие материалы являются ком­мерческой тайной, и в течение ряда лет после окончания работ показывать их никому нельзя. Вот несколько проектов, которые могут быть выполне­ны студентами и материалы которых они смогут сохранить на будущее.

• Создание схемы условий для данных (см. главы 7 и 12) сложных и перегруженных форм ввода. Для тестирования можно взять одну из недорогих коммерческих программ, предназначенных для работы с какой-либо базой данных — например, программу, выписывающую чеки, адресную книгу или менеджер контактов. Сколько нужно те­стов, чтобы проверить каждое из требований к вводимым данным в отдельности? Сколько тестов понадобиться дня проверки всевозмож­ных комбинаций этих условий? Определите каждую комбинацию, которую необходимо проверить. Напишите короткую программу, использующую генератор случайных чисел (глава 7), для выполне­ния проверки работы всех комбинаций условий. Будет ли такой подход лучше тестирования вручную?

• Студент, понимающий, как программное обеспечение взаимодей­ствует с аппаратной частью системы, может самостоятельно напи­сать версию главы 8 для работы с модемом, мышью, видеоплатой или любым другим устройством. Пусть он включит в нее примеры тестов для специфических типов коммерческих программ.

• Протестируйте коммерческие программы на соответствие прилагаю­щимся к ним руководствам и другой документации (глава 10). От­четом может служить само руководство с пометками плюс самостоятельные отчеты о тех несоответствиях между программой и документацией, которые являются результатами ошибок в програм­ме.

• Протестируйте какую-нибудь коммерческую программу с использо­ванием средств автоматизации тестирования (глава 11). Сколько времени понадобится, чтобы подготовить тесты различных типов? Сколько времени займет эта же работа вручную? Насколько может измениться программа, чтобы разработанные тесты все еще были к ней применимы? И исходя из ответов на эти вопросы, как намере­ны студенты использовать подобные средства — при каких обстоя­тельствах и для каких типов тестов?

Структура книги 17

Часть 3. Управление проектами и группами

Материал последних глав (13—14) предназначен прежде всего для спе­циалистов, руководящих тестированием проекта. От рассмотрения деталей мы переходим к более глобальному анализу работ — на уровне плана те­стирования (глава 12) и проекта в целом (глава 13). Глава 15 посвящена эф­фективному управлению работой группы тестирования.

Соглашения

Как и многие другие, эта книга имеет иерархическую структуру. Мы постарались облегчить читателю отслеживание этой иерархии, выделив заголовки разных уровней соответствующими шрифтами.

Это главный заголовок

Это заголовок второго уровня Это заголовок третьего уровня

Это заголовок четвертого уровня

Кроме того, в книге используются следующие способы выделения тек­ст:

• Полужирным шрифтом набраны фрагменты текста, которые долж­ны выделяться из контекста. Например, это может быть текст, ко­торый нужно набрать с клавиатуры, текст, отображаемый на экране компьютера, фрагмент распечатанного отчета, имя поля базы дан­ных или имя переменной.

• Курсивом выделены впервые встретившиеся в книге важные терми­ны. Значение такого термина объясняется в том же разделе.

• Названия клавиш заключены в угловые скобки, например, <Еп1ег> или <Ог1>.

• Ссылаясь на другой раздел книги, мы разделяем заголовки включа­ющих его разделов и подразделов двоеточиями. Выглядит ссылка так:

См. в главе 12 раздел “Главный заголовок: Заголовок второго уров­ня: Заголовок третьего уровня”.

18 Тестирование программного обеспечения

Благодарности

Работа над этой книгой была начата в 1983 году, а в 1988 году в изда­тельстве Канера (Капег) вышло ее первое издание. За годы работы нам помогали многие люди, читавшие рукопись и первое издание книги и высказавшие множество полезных замечаний.

Вот те, кому мы хотим выразить особую благодарность (в алфавитном порядке): профессор Элейн Андерсен (Elaine Andersson), д-р Борис Бейзер (Boris Beizer), Джим Брукс (Jim Brooks), Рэнди Делюччи (Randy Delucchi), Мэл Дауэри (Mel Doweary), Дэвид Фамер (David Farmer), профессор Ларри Джонс (Larry Jones), Шарон Гафнер (Sharon Hafner), Махмуд Кан (Mahmood Kahn), Джинни Канер (Ginny Капег), д-р Сэм Канер (Sam Капег), Джон Лавель (John Lavelle), д-р Лэрри Мэлкас (Larry Malkus), Тэд Мацумара (Ted Matsumara), д-р Дон Максвелл (Don Maxwell), Брюс Мил­лер (Bruce Miller), Рэйчел Миллер (Rachel Miller), Питер Морзе (Peter Morse), Джейн Степак (Jane Stepak), и Эммануель Эрен (Emmanuel Uren).

Конечно, за все оставшиеся в книге ошибки отвечают только ее авто­ры.

Часть

Глава

Глава

Глава

Глава

Глава

Основы

. Пример серии тестов

. Желаемое и действительное в жизни тестировщика

. Типы тестов и их роль в процессе разработки программного обеспечения

. Программные ошибки

. Документирование и анализ ошибок

Глава

Пример серии тестов

Назначение этой главы

Процесс тестирования программного обеспечения можно отчасти назвать интуитивным, но в то же время в основе его лежит вполне системати­зированный подход. Хорошо протестировать программу означает нечто гораздо более серьезное, чем просто "погонять" ее несколько минут, чтобы убедиться, что она работает. Эффективное тестирование требу­ет тщательного анализа и строгого системного подхода.

Эта глава является своеобразным введением, цель которого — на про­стом примере продемонстрировать подход к тестированию программ, применяемый опытными специалистами этого дела. Для примера мы выб­рали маленькую незамысловатую программку с несколькими ошибками.

Первый цикл тестирования

Вместе с программой, которую следует протестировать, вы получили та­кое описание.

Назначение программы — сложить два введенных вами числа. В каж­дом из чисел должна быть одна или две цифры. Программа выполняет эхо-отображение вводимых чисел, а затем выводит их сумму. Ввод каж­дого числа завершается нажатием клавиши <Enter>. Запускается програм­ма с помощью команды ADDER.

Шаг 1. Начнем с простого и наиболее очевидного теста

Для начала с программой нужно познакомиться и посмотреть, доста­точно ли она стабильна, чтобы ее можно было тестировать. В программах, предоставленных для первого формального тестирования, часто сразу же происходит сбой. Не стоит тратить на них много времени.