The document discusses how to structure automation test frameworks to help them withstand changes to the application under test. It recommends separating automation code into business, implementation, and element repository layers. The business layer defines test cases agnostic of the application, while the implementation layer defines how actions are performed. The element repository stores locators, allowing them to change without breaking tests. When the application evolves, changes are typically needed only in the element repository layer. Structuring tests in this way helps automation scripts remain useful despite application changes.