Questão de Programação — Frameworks em Programação — CESPE / CEBRASPE 2024
- Código
- ce188505
- Banca
- CESPE / CEBRASPE
- Órgão
- TCE-AC
- Ano
- 2024
- Nível
- Superior
- Cargo
- Analista de Tecnologia da Informação - Área: Sistemas de Informação
- CCerto
- EErrado
GabaritoE — Errado
Gabarito: Errado (Alternativa E). A afirmação de que o uso de AngularJS simplifica a codificação sem impactar o processo de teste é incorreta, pois a adoção de um framework como o AngularJS altera diretamente a forma como os testes são escritos e executados, exigindo a utilização de ferramentas e estratégias específicas para testar seus componentes, serviços e diretivas.
O AngularJS é um framework JavaScript de front-end que oferece uma série de abstrações e funcionalidades para facilitar o desenvolvimento de aplicações web, como data binding, injeção de dependência e diretivas. No entanto, essa simplificação da codificação não ocorre sem consequências para a atividade de teste. Pelo contrário, o uso do framework impacta profundamente o processo de teste, pois introduz novos elementos que precisam ser testados e novas ferramentas que devem ser utilizadas.
A principal distinção que importa aqui é entre o desenvolvimento e o teste de software. Enquanto o framework pode simplificar a escrita do código de produção, ele não elimina a necessidade de testar esse código. Na verdade, o AngularJS foi projetado com a testabilidade em mente, mas isso significa que os desenvolvedores precisam aprender e aplicar técnicas de teste específicas para o framework, como o uso de $httpBackend para simular requisições HTTP, $componentController para testar componentes isoladamente e o Protractor para testes de integração. Ignorar essas práticas pode levar a uma falsa sensação de segurança, com testes que não cobrem adequadamente o comportamento real da aplicação.
A pegadinha da banca está em sugerir que a simplificação da codificação é independente do processo de teste. O candidato pode ser levado a pensar que, como o framework "faz muito sozinho", os testes seriam menos necessários ou mais fáceis. No entanto, a realidade é que o framework adiciona uma camada de complexidade que exige testes específicos para garantir que as funcionalidades oferecidas por ele estejam sendo utilizadas corretamente. Por exemplo, o data binding bidirecional do AngularJS precisa ser testado para garantir que as alterações no modelo sejam refletidas na visão e vice-versa.
A alternativa afirma que o uso de AngularJS "não impacta o processo de teste", o que é falso. O AngularJS, como qualquer framework, impacta diretamente o processo de teste, pois:
Introduz novas ferramentas de teste: o AngularJS possui um conjunto de utilitários de teste, como angular-mocks, que fornecem funcionalidades como $httpBackend para simular requisições HTTP e $componentController para testar componentes isoladamente. O uso dessas ferramentas é essencial para testar adequadamente uma aplicação AngularJS.
Exige testes específicos para suas funcionalidades: o data binding, as diretivas, os serviços e os controladores precisam ser testados de forma específica, o que demanda conhecimento e esforço adicional da equipe de desenvolvimento.
Altera a estratégia de testes: a arquitetura do AngularJS, baseada em injeção de dependência, permite que os testes sejam mais modulares e isolados, mas isso exige que os desenvolvedores adotem uma abordagem de teste diferente daquela usada em aplicações JavaScript tradicionais.
Portanto, a afirmação de que o uso do AngularJS não impacta o processo de teste é incorreta. O framework simplifica a codificação, mas impacta significativamente a forma como os testes são planejados, escritos e executados.
A banca tenta induzir o candidato a acreditar que a simplificação da codificação é independente do processo de teste. Na prática, o uso de um framework como o AngularJS impacta diretamente o processo de teste, exigindo ferramentas e estratégias específicas. Lembre-se: todo framework altera a forma de testar — a simplificação da codificação não elimina a necessidade de testes, apenas os modifica.
Ao estudar frameworks, sempre questione: "como isso afeta o processo de teste?". Para o AngularJS, lembre-se de que ele possui um módulo de testes (angular-mocks) e ferramentas como $httpBackend e Protractor. Essa associação entre framework e teste é um tema recorrente em provas de TI.
Gabarito: Errado (Alternativa E).
Link permanente: /questoes/ce188505