Разделы портала

Онлайн-тренинги

.
7 принципов тестирования программного обеспечения
22.09.2022 00:00

Автор: Сафа Эмхемед (Safa Emhemed)
Оригинал статьи
Перевод: Полина Сергеева


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

1– Тестирование показывает наличие ошибок, а не их отсутствие

Цель тестирования программного обеспечения – заставить программное обеспечение выйти из строя. Тестирование ПО сокращает количество ошибок. Оно снижает вероятность того, что необнаруженные ошибки останутся, но даже если ничего не было найдено, это не является доказательством исправности. Даже многократное тестирование никогда не может гарантировать, что программное обеспечение на 100% не содержит ошибок. Тестирование уменьшает их количество, но не устраняет.

2– Исчерпывающее тестирование невозможно

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

Например, если у вас есть поле ввода, которое принимает буквы (имя), представьте, сколько имен будет проверяться – невозможно проверить все комбинации для каждого типа ввода.

3– Раннее тестирование

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

4– Кластеризация дефектов

Кластеризация дефектов означает, что небольшое количество модулей содержит в себе большинство обнаруженных ошибок. Это закон Парето, примененный к тестированию программного обеспечения: примерно 80% проблем обнаруживаются в 20% модулей.

5– Тестирование зависит от контекста

Подход к тестированию зависит от контекста разрабатываемого программного обеспечения. Различные типы тестирования должны выполняться для различных типов ПО. Например, тестирование сайта для e-commerce отличается от тестирования приложения для Android.

6– Парадокс пестицида

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

7- Ложное отсутствие ошибок

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

Обсудить в форуме