Декомпозиция – это процесс разделения, который позволяет тестировщику анализировать любую программу как сложную, состоящую из отдельных взаимосвязанных подмодулей, которые, в свою очередь, также могут быть разделены на части процесса и так далее. Чаще всего декомпозиция представляется в виде иерархического древа, которое используется для создания чек-листа проверок программы.
Чтобы начать декомпозировать требования, необходимо определить признак, по которому программа будет разбиваться на составляющие.
Примеры признаков декомпозиции:
• По интерфейсу • По пользователям и группам прав • По компонентам и функционалу программы • По используемым данным • По состоянию сущностей программы • По объектам программы (файлы, кнопки, формы ввода и т д) • И все, что доступно воображению.На каждом уровне декомпозиции можно использовать совершенно разное разделение по признаку – например, сначала делить программу по интерфейсам, а потом каждый интерфейс делишь по компонентам, и так далее.
Глубина декомпозиции определяется самим тестировщиком и может ограничиваться удобством ее использования и опытом тестировщика. В среднем 3-6 уровней достаточно для создания чек-листа тестирования, но каждый тестировщик – находит для себя золотую середину. Важно запомнить, что при составлении чек-листа самые нижние уровни должны быть проверками для системы.