Filtrar


Questões por página:
Na metodologia de softwares tradicionais, primeiramente o código é desenvolvido, sendo ajustado de maneira retroativa para fins de validação. Em contrapartida, o Desenvolvimento Orientado a Testes (TDD) emprega uma metodologia que modifica esse paradigma, preconizando que os testes sejam escritos antes e que as adaptações sejam, só depois, aplicadas ao código, até que o projeto atenda aos requisitos do teste já definido. Nesse contexto, a figura mostra o fluxo de trabalho do TDD, com destaque para as etapas e sua natureza ágil, cíclica e iterativa. 
45.jpg (350×224)
Nesse esquema, a etapa I indica que o código não funciona, a II que tudo está funcionando, não necessariamente de maneira otimizada e, finalmente, a III em que o responsável otimiza o código, confiante de que o mesmo passou por vários testes, tendo sido alterado, aprimorado e chegado à versão final com mais segurança.
As etapas I, II e III são conhecidas, respectivamente, como:
O teste de software constitui parte integrante do ciclo de vida de desenvolvimento de software, visando ter certeza sobre funcionalidade, desempenho e experiência do usuário, sendo uma parte importante e imprescindível, pois ajudam a garantir a qualidade do código. Entre os tipos de testes, enquanto um tem por objetivo validar os diferentes módulos juntos como um todo e identificar os bugs e problemas relacionados a eles, outro se concentra em testar partes/unidades individuais de um aplicativo de software no início do ciclo de vida, sendo que qualquer função, procedimento, método ou módulo pode ser uma unidade a ser submetida a esse tipo de teste para determinar sua correção e o comportamento esperado.
Os dois tipos de testes descritos são conhecidos, respectivamente, como testes:
Considere, por hipótese, que durante a elaboração do plano de testes do sistema de Acompanhamento de Autos de Infração, a equipe de uma Secretaria da Fazenda tenha adotado as decisões abaixo.
- Planejou realizar testes funcionais automatizados para as principais regras de negócio, como geração de autos e emissão de relatórios, integrando-os a um pipeline de integração contínua.
- Decidiu omitir os testes de usabilidade, considerando que os usuários finais já estavam habituados com sistemas internos anteriores semelhantes.
- Documentou os casos de teste com base em critérios de aceitação definidos em reuniões com stakeholders de algumas áreas da Secretaria.
- Planejou testes de regressão exploratórios a cada nova entrega do sistema, utilizando um conjunto base de funcionalidades críticas.
- Realizou os testes de homologação em uma única iteração.
Ao analisar essas decisões, um Analista do Tesouro Estadual afirmou corretamente que a
Em seu livro “Engenharia de Software” (2011), Sommerville escreve:

“O teste é destinado a mostrar que um programa faz o que é proposto a fazer e para descobrir os defeitos do programa antes do uso. Quando se testa o software, o programa é executado usando dados fictícios. Os resultados do teste são verificados à procura de erros, anomalias ou informações sobre os atributos não funcionais do programa.”
Fonte: SOMMERVILLE, I. Engenharia de Software. 9. ed. São Paulo: Pearson Prentice Hall, 2011. p. 144.

Tendo em vista os processos relacionados a teste no desenvolvimento de software, assinale V (verdadeiro) ou F (falso) em cada afirmativa a seguir.
( ) Os testes de desenvolvimento incluem testes unitários, nos quais se testam objetos e métodos específicos; testes de componentes, nos quais se testam diversos grupos de objetos; e testes de sistema, nos quais se testam sistemas parciais ou completos.
( ) O teste de aceitação é um processo de teste no qual a equipe decide se o software é bom o suficiente para ser implantado e usado em seu ambiente operacional.
( ) O desenvolvimento dirigido a testes é uma abordagem de desenvolvimento na qual os testes são escritos antes do código que será testado.

A sequência correta é
Considere a seguinte situação hipotética:

Uma equipe de desenvolvimento está adotando pipelines de Integração Contínua (CI) para aprimorar suas entregas e reduzir falhas em produção. Considerando esse contexto, analise as afirmações a seguir sobre práticas e conceitos relacionados ao uso de pipelines de CI. Classifique cada uma como verdadeira (V) ou falsa (F):

( ) O uso de pipelines CI garante que não existam falhas em produção, já que todos os testes automatizados foram aprovados antes da transição.
( ) A prática de “build once, deploy many” busca assegurar a consistência entre os ambientes de desenvolvimento, homologação (staging) e produção.
( ) A execução de testes de unidade e de testes de integração no pipeline é considerada uma prática recomendada no contexto DevOps.
( ) A execução paralela de jobs em CI reduz o tempo total de processamento, mas pode introduzir variações nos resultados quando existem dependências mal gerenciadas entre as etapas.
( ) A CI inclui a configuração e a implantação de um aplicativo em um pipeline de produção, dispensando a compilação e o teste.


Assinale a alternativa CORRETA: