На официальном сайте компании ScienceSoft появился раздел «Блог». Там будут публиковаться тематические статьи сотрудников компании на английском языке. Первую статью об особенностях ВI тестирования написал наш тестировщик Павел Кувшинов. Оригинал статьи «Nobody's irreplaceable? - Not in BI testing» читайте здесь. Ниже – переведенный вариант.
Незаменимых нет? – Только не в ВI тестировании!
Автор: Павел Кувшинов
На этапе планирования проектные и тест-менеджеры не всегда принимают во внимание, что тестирование BI приложений сильно отличается от стандартного процесса тестирования. Кроме особенностей самих BI решений, есть ряд сопутствующих обстоятельств, делающих BI тестирование не совсем очевидным:
- Спецификация источников данных, а чаще отсутствие оной. Эта проблема свойственна «долгоиграющим» проектам, которые начались давно и усугубляется поддержкой абсолютно разными командами;
- Неполное описание требований к финальному продукту и ожидаемым результатам. Так как тестировщик имеет в своем распоряжении только спецификацию, ее точность крайне важна для определения результата и понимания того, как энд-юзеры будут использовать полученную информацию;
- Наличие высококвалифицированных опытных тестировщиков, которые способны не только проверять GUI, но также сравнивать входящие и исходящие данные. А это значит, что тестировщик должен понимать не только техническую часть приложения, но и бизнес-процессы, которые это приложение поддерживает.
В то время как получение недостающих требований решается при помощи общения с сотрудниками заказчика, ответственными за разработку продукта, поиск опытных тестировщикв, одинаково хорошо владеющих навыками тестирования и хорошими техническими знаниями, остается достаточно трудной задачей.
Для качественного тестирования процесса обработки и хранения данных тестировщик должен:
- иметь представление о принципах баз данных;
- иметь четкое представление о структуре базы данных, источниках данных и структуре хранилища данных (DWH);
- понимать, как работает процесс ETL.
Может ли разработчик баз данных сам все написать и проверить?
К сожалению, чаще всего нет.
Как правило, разработчики интерпретируют продукт как набор требований, поэтому они не всегда способны абстрактно оценить созданные отчеты и в полной мере проверить процесс их создания. По их мнению, если все требования из спецификации выполнены, продукт точно является тем, что требуется заказчику. Хотя, на самом деле, могут быть некоторые несоответствия в процессе формирования отчета.
Энд-юзеры, например, зачастую не представляют о существовании разницы между «NULL» и «0». Но в процессе формирования отчета как раз некорректное введение этих значений может привести к ошибкам в финальном отчете. Тестировщик – это тот человек, который должен знать о наличии таких особенностей и проверять их, дабы избежать вопросов в будущем и сохранить время клиентов, разработчиков и самих тестировщиков.
Зачем важно иметь представление о процессах ETL и структурах DWH?
Как уже отмечалось выше, понимание процесса ETL необходимо для BI тестировщика - у тестировщика нет возможности заглянуть внутрь процесса ETL, он может видеть только сам результат этого процесса. Имея в распоряжении техническую документацию и работая в тесном сотрудничестве с разработчиками, он может использовать свои знания, чтобы убедиться в правильном функционировании процесса.
Конечно, разработчики могут, и должны, покрыть большинство кода юнит тестами, но и в этом случае важность тестирования ПО будет высоким, потому что, как уже объяснялось выше, разработчики изначально могут сделать ошибку, и она может остаться незамеченной, пока не появится первый отчет с некорректными данными. Исправление ошибок на этой стадии может быть очень болезненным для всего проекта в целом.
Следующий важный шаг, который требует специфических знаний, это тестирование DWH (хранилища данных). На этой стадии тестировщик должен понимать структуру хранилища, процесс создания отчетов и то, как будущие изменения могут повлиять на структуру. Как правило, в хранилище данных хранятся уже подготовленные для отчетов данные, и дополнительных расчетов или изменений не требуется. Но есть случаи, когда одни и те же данные могут быть использованы в разных типах отчетов и может потребоваться дополнительная обработка. Тогда некоторые расчеты все же должны быть производится на уровне хранилища. Тестировщик должен проверить процесс расчета, чтобы убедиться, что эти изменения в данных не повлияли на уже существующие отчеты.
Долгосрочные хранилища исторических данных в DWH – также сфера, которая требует внимания BI тестировщика. Бизнес-пользователям необходимы отчеты с актуальными данными по разным периодам, которые, соответственно, должны храниться в DWH постоянно. Хранение большого количества данных, в свою очередь, влияет на производительность системы. А в век облачных технологий и на стоимость хранения этих данных. Оперативные данные распределяются между хранилищами данных и используются для создания отчетов. Тестировщик должен удостовериться, что сохраняется только та информация, которая нужна для создания отчетов.
Количество возможных комбинаций запросов на создание отчетов практически неограниченно и тестирование всех невозможно. Опытный BI тестировщик, как никто другой, может определить, какие сценарии являются критическими и должны быть проверены в первую очередь.
Для успеха любого проекта необходимо собрать команду высококлассных специалистов и подготовить для них среду, где каждый будет делать именно ту работу, в которой он является экспертом. Как бы это не звучало обыденно и избито, для положительного результата достаточно соблюсти простейшее правило - разработчик разрабатывает, а тестировщик – тестирует!
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.