Considere as seguintes afirmações sobre Testes de Unidade. ...
I - Testes de unidade são testes, idealmente automatizados, de pequenas unidades de código, normalmente classes, as quais são testadas de forma isolada do restante do sistema.
II - A principal desvantagem de testes de unidade é encontrar bugs ainda na fase de desenvolvimento, antes que o código entre em produção. Portanto, se um sistema de software tem bons testes, é mais difícil que os usuários finais sejam surpreendidos com bugs.
III - Testes de unidade também ajudam na documentação e especificação do código de produção, pois pode-se olhar e analisar os testes implementados no código. Por isso, muitas vezes, antes de manter um código com o qual ele não tenha familiaridade, um desenvolvedor começa analisando os seus testes.
Quais estão corretas?