Современные тенденции использования различных программных продуктов привели к появлению такого направления как тест дизайн. Почему он имеет значение, применяется в работе и когда это целесообразно?
Специфика тест дизайна
Обязательный этап тестирования программного обеспечения имеет в своём составе ступень тест-дизайна.
Software testing (ПО тестирование) представляет собой специальный процесс, техническое исследование с целью создания, проектирования, выявления информации, связанной с качеством продукта, находящегося в разработке, в отношении контекста, для которого он предназначен в эксплуатацию.
Разные техники тестирования призваны показывать наличие ошибок, изъянов. Также они участвуют в апробации программных продуктов.
Апробация производится с целью предметной оценки соответствия тем условиям, которые представлены в документации (спецификации), практичности, проверки функциональности продукта (за отведённое время), совместимости работы ПО с операционными системами.
Каковы имеющиеся техники тест дизайна?
- Equivalence Partitioning. Представляет собой попытку разграничения на соответствующие классы. Такое действие предполагает тесты одного значения внутри и вне класса.
- Boundary Value Analysis. Тестирование по включению в диапазон представителей граничных значений.
- Error Guessing. Этот метод предоставляет возможность получить прогноз условий, при которых система будет спровоцирована на ошибку. Метод работает при помощи применения личного опыта знаний системы и спецификации.
- Exhaustive testing. Понимает под собой процесс проверки вероятных вариантов. Требует объёмного массива входных данных, по этой причине применение его на практике затруднено.
- Cause/Effect. Система выявления багов. Ввод причин (представляющих собой комбинации условий) для того, чтобы спровоцировать следствия (ответы от системы). Таким образом происходит возможность устранить максимальное количество ошибок (багов). При этом методе для тестирования эффекта причины и следствия используется для проектирования причин (входных данных) и следствий (выходных данных) графическое отображение. Необходимо отметить, что общее действие разных причин как правило может приводить к разным результатам. Чтобы выбрать в комплексе наиболее результативные тесты, необходимо провести анализ построенных связей. Метод помогает обнаружить недостатки спецификаций на раннем этапе.
Причинно-следственные связи: метод тестирования
Типы таких тестов пишутся на основе принципов спецификации. Они поэтапно описывают последовательность, конечный результат. Тест кейсы (Test Case) содержат показатели.
Тест кейс (Test Case). Вид документа, в котором приводится последовательность шагов, параметров, условий, требующихся для проверки работы конкретной функции, либо её части. При помощи тест кейсов есть возможность составить задания для функциональности, где будут учтены все нужные элементы, взаимодействующие, влияющие друг на друга.
Test Case Specification. Детализация тестовых шагов, конечного результата для обеспечения соотношения времени прохождения тестирования с его покрытием.
Test Coverage. Проверяет исполняемый код, плотность покрытия тестами. Является метрикой, оценивающей качество проводимого тестирования. Техника работает в направлении обнаружения большего количества багов при применении меньшего количества тестов. Происходит экономия ценного времени для выполнения других задач.
Аналитика причинно-следственных связей относится к особым техникам тестирования, основанным на отображении входных данных, ответов системы. Помимо эффективности, выражающейся в возможности сокращения числа тестов, она позволяет обращать основное внимание на более уязвимые, значимые функциональные части.
Кто выполняет техники тест дизайна?
Использование техники тест дизайна в тестировании относится к прямым функциональным обязанностям тест дизайнеров. Их обязанностью является создание коллекции тестовых случаев, которые обеспечивают необходимое тестовое покрытие ПО.
Тест-дизайнер выстраивает логику прохождения тестирования всех ключевых частей продукта. Для этого используется минимальное число проверок. В крупных компаниях тестирование может проводится в нескольких отдельных тестировочных командах.
Логическая цепь тестовых процессов обычно имеет следующий вид.
- Тест аналитик проводит специальный анализ поступившего на тестирование продукта. Продукт разделяется на составные части, происходит логическая приоритизация тестирования. В итоге составляется логическая карта продукта.
- Тест дизайнер получает аналитическую информацию от аналитика, на её основании начинает разработку тестов.
- По готовности тест-кейсов, тестировщик осуществляет на их основании тесты.
Методики тестирования зависят от непосредственной специфики программного обеспечения. Крайне важно подходить к тестированию с точки зрения логической взаимосвязи частей продукта. К примеру, полное тестовое покрытие формы авторизации бессмысленно при условии отсутствия корректной работы платёжной системы при оплате товара или услуги на сайте. Поэтому, прицельный аналитический процесс, предваряющий тесты, приоритетен.