Testes Unitários e assuntos relacionados Flashcards
O que é um teste unitário e quais são as fases comumente associadas a esses testes?
Um teste unitário é um método de teste de software que verifica o comportamento de uma pequena parte do código independentemente de outras partes. As fases comuns são Arrange, Act e Assert (Organizar, Agir e Afirmar).
Quais são as vantagens dos testes unitários no desenvolvimento de software?
Os testes de unidade reduzem bugs, reduzem custos de desenvolvimento, melhoram o design, facilitam a refatoração, obrigam o planejamento antes da codificação e atuam como um mecanismo à prova de falhas.
Cite algumas desvantagens dos testes unitários mencionadas no resumo
As desvantagens incluem aumento na quantidade de código, incapacidade de detectar todos os bugs e aumento no tempo de desenvolvimento.
O que é o XCTest e em qual linguagem de programação é amplamente utilizado?
XCTest é um framework de teste utilizado na linguagem de programação Swift, comumente associada ao desenvolvimento de aplicativos para dispositivos Apple.
Como o XCTest contribui para o desenvolvimento de aplicativos para dispositivos Apple?
XCTest permite que desenvolvedores realizem testes automatizados em seus aplicativos, ajudando a garantir a qualidade e funcionamento correto do código.
Qual é a relação entre Quick e Nimble nos testes de unidade no iOS?
Quick é uma estrutura de desenvolvimento orientada por comportamento, enquanto Nimble é um Matcher Framework, ambos usados para escrever testes de unidade no iOS.
O que é waitUntil e toEventually no contexto do Quick?
waitUntil aguarda de forma assíncrona até que um fechamento seja concluído, enquanto toEventually é usado para escrever expectativas que serão testadas em algum momento no futuro.
O que significa TDD (Test Driven Development) e como ele se relaciona com o desenvolvimento de software?
TDD é o Desenvolvimento Orientado por Testes, onde os testes são escritos antes do código de produção, guiando o desenvolvimento.
Qual é a abordagem do TDD em relação à escrita de testes antes do código de produção?
No TDD, os testes são escritos antes do código de produção, garantindo que cada funcionalidade seja validada por testes automatizados.
Explique o conceito de Integração Contínua (CI) e por que é considerado uma prática importante no desenvolvimento de software.
CI é uma prática em que o software é compilado e testado automaticamente sempre que um desenvolvedor envia código, garantindo detecção precoce de problemas e facilitando integração suave.
O que é um arquivo .yml em relação à CI e qual é seu papel na configuração do ambiente de CI?
Um arquivo .yml é um arquivo de configuração para CI, onde são definidas configurações como a versão do Xcode e os passos a serem executados durante a compilação e teste do software.
O que é o Fastlane e como ele facilita a automação de testes e distribuição de aplicativos para Android e iOS?
Fastlane é uma ferramenta que facilita a automação de tarefas como beta tests e distribuições de aplicativos, poupando desenvolvedores de tarefas tediosas.
Como criar uma esteira de integração contínua (CI) para um projeto iOS? Quais são os passos básicos e quais ferramentas, como Bitrise, podem ser utilizadas para simplificar esse processo?
A criação de uma esteira de CI para um projeto iOS envolve etapas como definir a versão do Xcode, configurar os passos de compilação e teste, e integrar ferramentas como o Bitrise para automatizar o processo. Ferramentas como Bitrise são preferidas por sua abordagem visual e simplificada na criação de arquivos de configuração .yml. O processo específico pode variar, mas as ferramentas geralmente oferecem documentação detalhada e assistência na configuração inicial.