Простые приемы, которые помогут разработчикам систематически, досконально и быстро тестировать свое ПО, приводит на портале ComputerWeekly эксперт с 40-летним опытом в этой области Брайан Хэмблинг.

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

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

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

Все, что нужно сделать, это изучить трудности, о которых сообщали клиенты, журналы ошибок или иные записи о проблемах. Это позволит составить список всего, что порождало проблемы в последнее время. После этого можно убедиться, что в продукте решены все очевидные и не столь очевидные проблемы, которые вызывают у клиентов раздражение.

Другой простой прием — тестирование по сценариям. Велика вероятность, что ПО создано для определенных сценариев его использования, поэтому уже имеется принципиальная схема, что оно должно делать и чего не должно. Эта схема может служить основой тестирования сценариев. Все, что необходимо, это лист бумаги и карандаш, чтобы начертить схему, и еще один лист бумаги, чтобы записывать входные и выходные параметры тестирования. А опытный разработчик будет использовать таблицу, чтобы сохранить сценарии и использовать их повторно или создавать на их основе новые.

Всегда следует проверять граничные значения диапазонов. Например, на уровне пользователя — корректность формата дат и адресов, на уровне кода — количество повторов итеративного процесса при заданные условиях. Это можно осуществить с помощью простого набора входных параметров и ожидаемых выходных. Насколько следует углубляться, зависит от разработчика. Некоторые граничные значения могут иметь особую важность.

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

Тестирование альтернатив (decision testing) — самый детальный из простых приемов. Следует проверить каждую альтернативу в коде и убедиться, что комбинации альтернатив дают корректный или, во всяком случае, ожидаемый результат. Такое тестирование всегда полезно. Оно хорошо сочетается с тестированием по сценариям и тестированием на основе опыта. Разумеется, такое тестирование не гарантирует корректное функционирование ПО. Но оно дает команде тестировщиков хорошую основу для работы, а разработчику дает уверенность, что в его ПО нет никаких неприятных сюрпризов для пользователей.

Все эти приемы освещены в образовательных программах ISTQB (в свободном доступе) и подробно разъясняются в 4-м издании руководства «Software Testing: An ISTQB-BCS certified tester foundation guide».