A melhor maneira de entender a importância desses princípios é ter a necessidade.
Quando eu era um programador iniciante, não pensava muito no design; na verdade, nem sabia que existiam padrões de design. À medida que meus programas cresciam, mudar uma coisa significava mudar muitas outras coisas. Era difícil rastrear bugs, o código era enorme e repetitivo. Não havia muita hierarquia de objetos, as coisas estavam por toda parte. Adicionar algo novo ou remover algo antigo traria erros nas outras partes do programa. Vai saber.
Em pequenos projetos, isso pode não importar, mas em grandes projetos as coisas podem ser muito pesadelos. Mais tarde, quando me deparei com os conceitos de padrões de design, eu disse a mim mesmo: "Ah, sim, fazer isso tornaria as coisas muito mais fáceis então".
Você realmente não consegue entender a importância dos padrões de design até que seja necessário. Eu respeito os padrões porque, por experiência, posso dizer que eles tornam a manutenção de código fácil e robusta.
No entanto, assim como você, ainda estou incerto sobre o "teste fácil", porque ainda não tive a necessidade de fazer testes de unidade.