Design for testability fundamentals | DFT | controllability and observability