Questão nº 6
Questão de Tecnologia da Informação · FGV CVM 2024 (nº 6)
Maurício é o líder técnico do Time de Tecnologia da Informação (TTI) de uma organização que está iniciando o uso do estilo de Desenvolvimento Orientado a Testes (TDD).
De forma a nivelar o conhecimento e obedecendo ao estilo TDD, Maurício orientou que os(as):
- Atestes comecem por uma operação complexa;
- Bcasos de teste menores dispensem a escrita de asserções;
- Ctestes de recursos complexos, como acesso a dados, sejam especificados como testes de integração;
- Dcoleções de objetos sejam implementadas sem coleções e, após testadas, sejam reescritas para funcionar com coleções; (alternativa correta)
- Eos desenvolvedores registrem nos comentários da ferramenta de versionamento os testes que foram criados, já que a execução de um teste afeta a execução de outro.
Resposta comentada
Gabarito Alternativa D
Test-Driven Development (TDD) é uma abordagem onde você primeiro escreve um teste automatizado que falha (RED), depois escreve o código mínimo para fazê-lo passar (GREEN), e por fim refatora o código para melhorá-lo (REFACTOR), garantindo que cada passo seja validado.
- A) Incorreta: TDD incentiva começar com o teste mais simples e funcionalidade mínima para construir a solução incrementalmente, não com operações complexas.
- B) Incorreta: Todo teste em TDD, independentemente do tamanho, DEVE conter asserções (verificações) para validar o comportamento do código; sem elas, o teste não cumpre seu propósito. A armadilha da banca é sugerir que testes pequenos não precisam de verificação, o que é um erro grave.
- C) Incorreta: Embora acesso a dados seja testado em integração, TDD tipicamente começa com testes de unidade (isolados) e utiliza mocks/stubs para simular dependências complexas, mantendo os testes rápidos e focados.
- D) Correta: Esta é uma prática comum em TDD, conhecida como "Fake It Till You Make It" ou "Obvious Implementation": você implementa a solução mais simples (ex: um array básico) para o teste passar, e depois refatora para usar coleções mais adequadas e eficientes.
- E) Incorreta: Testes TDD devem ser independentes e isolados, sem que a execução de um afete o outro; se isso ocorrer, é um problema de design do teste, não algo a ser meramente registrado.
Fonte: FGV CVM 2024 Analista CVM - TI Sistemas e Desenvolvimento (Perfil 8) (Caderno Tipo 1). Reproduzida para fins de estudo.