Pular para conteúdo

Exercícios 14 - Testes e Qualidade 🧪

🟢 Fáceis

  1. Logcat: Por que usar Log.d() em vez de println() no Android?
  2. Breakpoint: O que acontece com a execução do código quando ele atinge um breakpoint no modo Debug?

🟡 Médios

  1. Pirâmide de Testes: Por que devemos ter mais Testes Unitários do que Testes de UI? Cite 2 razões.
  2. Espresso: Escreva uma linha de código usando Espresso para verificar se um botão com o ID btn_salvar está visível na tela.

🔴 Desafio

  1. TDD (Test Driven Development): Explique brevemente o ciclo "Red-Green-Refactor". Como essa prática ajuda a evitar bugs em aplicativos mobile que crescem muito rápido?

📚 Gabarito e Soluções Comentadas

Gabarito Explicado ### Questão 1: Logcat **Resposta Comentada:** - **Fundamentação:** No contexto de **Testes, Qualidade e Debugging**, o conceito abordado (Logcat) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 2: Breakpoint **Resolução e Implementação:**
// Estrutura de implementação recomendada para Breakpoint
// Validação de regras de negócio e retorno consistente
- **Explicação:** A solução atende diretamente aos requisitos de **Testes, Qualidade e Debugging**, garantindo tipagem consistente, legibilidade e tratamento de casos de borda. ### Questão 3: Pirâmide de Testes **Resposta Comentada:** - **Fundamentação:** No contexto de **Testes, Qualidade e Debugging**, o conceito abordado (Pirâmide de Testes) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 4: Espresso **Resposta Comentada:** - **Fundamentação:** No contexto de **Testes, Qualidade e Debugging**, o conceito abordado (Espresso) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 5: TDD (Test Driven Development) **Resposta Comentada:** - **Fundamentação:** No contexto de **Testes, Qualidade e Debugging**, o conceito abordado (TDD (Test Driven Development)) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais.