Testes Unitários e assuntos relacionados Flashcards

1
Q

O que é um teste unitário e quais são as fases comumente associadas a esses testes?

A

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).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Quais são as vantagens dos testes unitários no desenvolvimento de software?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Cite algumas desvantagens dos testes unitários mencionadas no resumo

A

As desvantagens incluem aumento na quantidade de código, incapacidade de detectar todos os bugs e aumento no tempo de desenvolvimento.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

O que é o XCTest e em qual linguagem de programação é amplamente utilizado?

A

XCTest é um framework de teste utilizado na linguagem de programação Swift, comumente associada ao desenvolvimento de aplicativos para dispositivos Apple.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Como o XCTest contribui para o desenvolvimento de aplicativos para dispositivos Apple?

A

XCTest permite que desenvolvedores realizem testes automatizados em seus aplicativos, ajudando a garantir a qualidade e funcionamento correto do código.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Qual é a relação entre Quick e Nimble nos testes de unidade no iOS?

A

Quick é uma estrutura de desenvolvimento orientada por comportamento, enquanto Nimble é um Matcher Framework, ambos usados para escrever testes de unidade no iOS.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

O que é waitUntil e toEventually no contexto do Quick?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

O que significa TDD (Test Driven Development) e como ele se relaciona com o desenvolvimento de software?

A

TDD é o Desenvolvimento Orientado por Testes, onde os testes são escritos antes do código de produção, guiando o desenvolvimento.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Qual é a abordagem do TDD em relação à escrita de testes antes do código de produção?

A

No TDD, os testes são escritos antes do código de produção, garantindo que cada funcionalidade seja validada por testes automatizados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Explique o conceito de Integração Contínua (CI) e por que é considerado uma prática importante no desenvolvimento de software.

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

O que é um arquivo .yml em relação à CI e qual é seu papel na configuração do ambiente de CI?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

O que é o Fastlane e como ele facilita a automação de testes e distribuição de aplicativos para Android e iOS?

A

Fastlane é uma ferramenta que facilita a automação de tarefas como beta tests e distribuições de aplicativos, poupando desenvolvedores de tarefas tediosas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

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

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly