Week 2 - Learning outcomes testing what is it and why unit integration acceptance Test-driven development (TDD) setting up a test suite code coverage JavaScript pure functions functional programming begin path of design patterns software architecture what is it?