Ciclo de vida de teste de software (STLC): 6 fases, critérios de entrada e saída, exemplo

  1. Início
  2. Blog
  3. Teste de Software

Teste de software

Ciclo de vida de teste de software (STLC): 6 fases, critérios de entrada e saída, exemplo

Testar é mais do que executar casos de teste no final de um projeto. Aprenda as seis fases do STLC, o que cada uma precisa e produz, como se aplicam a um recurso real e como as equipes Agile as adaptam.

9 min de leitura
Ciclo de vida de teste de software (STLC): seis fases, critérios de entrada e saída e um exemplo

Principais pontos

  • O ciclo de vida de teste de software é a sequência de atividades usadas para planejar, projetar, executar e encerrar testes.
  • O modelo comum possui seis fases, desde a análise dos requisitos até o encerramento do teste.
  • Critérios de entrada e saída definem quando uma fase pode começar e quando ela termina.
  • As equipes ágeis mantêm as mesmas atividades, mas as repetem em pequenos ciclos a cada sprint.

Quando um bug chega à produção, muitas vezes a causa não é o fato de alguém ter esquecido de executar um teste. É que um requisito nunca foi questionado, os dados do teste estavam errados ou ninguém concordou com o significado de “pronto”. O ciclo de vida de teste de software aborda esses problemas fornecendo aos testes uma estrutura clara desde o primeiro requisito até o relatório final.

Este guia explica cada fase e segue um recurso ilustrativo de todas elas: uma página de login que bloqueia uma conta após cinco tentativas fracassadas. As fontes não concordam totalmente com o número de fases. Você verá modelos com sete ou oito, mas a maioria deles divide o mesmo trabalho de maneira diferente. Usamos a versão de seis fases amplamente ensinada.

O que é o STLC?

O STLC é uma série definida de atividades de teste realizadas para confirmar se o software atende aos seus requisitos. Cada fase tem um objetivo, entradas e saídas, para que os testes sejam planejados e rastreáveis, em vez de improvisados ​​no final.

Os benefícios são práticos. Os testadores se envolvem cedo, quando os defeitos são mais baratos de corrigir. O esforço vai para os riscos mais elevados. E quando um gestor pergunta “estamos prontos para liberar?”, a equipe pode responder com evidências.

As seis fases do STLC em resumo

Fase Objetivo principal Saída principal
1. Análise de requisitos Entenda o que testar Perguntas, requisitos testáveis, RTM
2. Planejamento de testes Decida como testar Plano de teste, estimativas
3. Desenvolvimento de caso de teste Projete os testes Casos de teste, scripts, dados de teste
4. Configuração do ambiente Prepare onde testar Ambiente pronto, resultado do teste de fumaça
5. Execução de teste Execute testes e registre defeitos Resultados, relatórios de bugs
6. Encerramento do teste Avalie e aprenda Relatório de encerramento, lições aprendidas

Critérios de entrada são as condições que devem ser verdadeiras antes do início de uma fase. Critérios de saída são as condições que devem ser verdadeiras antes de terminar. Eles impedem que uma equipe, por exemplo, execute testes em uma versão quebrada e perca um dia.

Fase 1: Análise de requisitos

Os testadores estudam os requisitos para descobrir o que pode ser testado e o que não está claro. Geralmente, esse é o lugar mais barato para evitar um bug, já que uma pergunta custa muito menos que uma correção de produção.

  • Entrada: documentos de requisitos ou histórias de usuários estão disponíveis.
  • Atividades: identificar necessidades funcionais e não funcionais, fazer perguntas, avaliar riscos e decidir o que pode ser automatizado.
  • Saída: as questões abertas são respondidas e a matriz de rastreabilidade de requisitos (RTM) é iniciada.
  • Entregáveis: uma lista de requisitos testáveis ​​e o RTM.

Exemplo de login. A história diz “bloquear a conta após cinco tentativas fracassadas”. Um bom testador pergunta: cinco em que período? Como é desbloqueado? Um login bem-sucedido redefine a contagem? Que mensagem é mostrada? Cada resposta se torna algo testável.

Fase 2: Planejamento de testes

A equipe decide o escopo, abordagem, pessoas, ferramentas, cronograma e riscos. O líder de teste geralmente possui esta fase.

  • Entrada: requisitos analisados ​​e uma avaliação de risco inicial.
  • Atividades: definir escopo, estimar esforço, selecionar ferramentas, atribuir funções e definir critérios de saída para fases posteriores.
  • Saída: o plano de teste é revisado e aprovado.
  • Entregas: o plano de teste e estimativas de esforço.

Exemplo de login. No escopo: regras de bloqueio, redefinições e mensagens de erro na web e em dispositivos móveis. Fora do escopo: logon único, gerenciado por outra equipe. O maior risco é bloquear usuários genuínos, para que isso receba mais atenção. Se você não tiver certeza de como um plano difere de uma estratégia, leia plano de teste versus estratégia de teste.

Fase 3: Desenvolvimento de caso de teste

É aqui que os testadores escrevem os casos de teste detalhados, os scripts de automação e os dados de teste.

  • Entrada: um plano de teste aprovado e requisitos estáveis.
  • Atividades: escrever e revisar casos de teste, preparar dados, criar scripts de verificações automatizadas e atualizar o RTM.
  • Saída: os casos de teste e os dados são revisados ​​e prontos.
  • Entregas: casos de teste, scripts e dados de teste.
ID Cenário Resultado esperado
TC-01 4 tentativas fracassadas e a senha correta O login foi bem-sucedido e a contagem foi reiniciada
TC-02 5 tentativas fracassadas Bloqueios de conta e uma mensagem clara aparece
TC-03 Senha correta em uma conta bloqueada Login ainda recusado
TC-04 Tentativas falhadas em dois navegadores ao mesmo tempo A contagem é compartilhada e permanece precisa
TC-05 Desbloqueie com o link de redefinição O login funciona e a contagem é apagada

Observe que TC-01 e TC-02 testam ambos os lados do limite, que vem diretamente da análise de valor limite. Para saber mais sobre como escrevê-los bem, consulte como escrever casos de teste.

Fase 4: Configuração do ambiente de teste

Os testes precisam de um lugar realista para serem executados: servidores, dados, contas, navegadores e acesso à rede corretos. Essa fase geralmente ocorre em paralelo com a fase 3 e pode ser gerenciada por desenvolvedores ou por uma equipe de DevOps.

  • Entrada: um plano de teste, uma visão geral da arquitetura e requisitos de ambiente.
  • Atividades: configurar hardware ou contêineres, carregar dados, configurar acesso e instalar a compilação.
  • Saída: o ambiente está pronto e um teste de fumaça é aprovado.
  • Resultados: um ambiente de trabalho e um resultado de teste de fumaça.

Exemplo de login. A preparação obtém contas de teste em estados conhecidos, juntamente com um cronômetro de bloqueio reduzido para que os testadores não precisem esperar. Um rápido teste de fumaça confirma que o login é carregado antes do início da execução completa. Os contêineres ajudam a manter os ambientes consistentes, conforme mostrado em nosso tutorial do Docker Compose.

Fase 5: Execução do teste

Os testadores executam os testes planejados, comparam os resultados reais e esperados e relatam defeitos. Bugs corrigidos são testados novamente e áreas relacionadas recebem testes de regressão.

  • Entrada: os casos de teste estão prontos, o ambiente funciona e uma compilação foi entregue.
  • Atividades: executar testes, registrar resultados, registrar defeitos, testar novamente correções e atualizar o RTM.
  • Saída: os testes planejados são executados e os defeitos são corrigidos ou formalmente aceitos.
  • Entregas: resultados de testes e relatórios de defeitos.

Exemplo de login. TC-04 falha: com dois navegadores, o contador chega apenas a quatro. O testador registra o bug com etapas e evidências claras, conforme descrito em como escrever um relatório de bug. Depois de corrigido, o TC-04 é executado novamente e as verificações de login relacionadas passam pela lista de verificação de regressão.

Dica: Torne os critérios de saída mensuráveis ​​e chegue a um acordo sobre eles com antecedência. “Todos os testes críticos foram aprovados e nenhum bug de alta gravidade foi aberto” é difícil de argumentar. “O teste parece bom” não é um critério.

Fase 6: Encerramento do teste

Essa fase costuma ser pulada, o que é uma pena, pois é assim que a equipe melhora. A equipe avalia o ciclo, arquiva seu trabalho e registra o que aprendeu.

  • Entrada: a execução foi concluída e o status do defeito é conhecido.
  • Atividades: verificar critérios de saída, analisar tendências de defeitos, arquivar ativos de teste e realizar uma retrospectiva.
  • Sair: o relatório de fechamento é assinado.
  • Resultados: o relatório de encerramento e as lições aprendidas.

Exemplo de login. O relatório mostra que todos os cinco casos foram aprovados após uma correção. A lição é que a simultaneidade só foi testada tardiamente, portanto, recursos futuros com contadores adicionam esse cenário durante o design.

STLC versus SDLC

O SDLC, ou ciclo de vida de desenvolvimento de software, abrange a construção de todo o produto. O STLC é a parte focada em testes e funciona junto com ele.

Aspecto SDLC STLC
Foco Construindo e entregando software Validando o software
Liderado por Toda a equipe de produto Principalmente engenheiros de controle de qualidade e testes
Fases Requisitos, projetar, construir, testar, implantar, manter As seis fases acima
Saída Um produto funcional Evidência de sua qualidade

A análise de requisitos no SDLC alimenta a análise de requisitos no STLC, e o desenvolvimento fornece construções na execução do teste. O teste não precisa esperar até que a codificação termine. Começar cedo é o que as pessoas querem dizer com “deslocar para a esquerda”.

STLC em Agile e DevOps

As fases podem parecer um processo longo e unilateral, mas não precisam ser assim. No Agile, as mesmas atividades diminuem e se repetem em cada sprint, geralmente em horas em vez de semanas:

  • A análise de requisitos acontece no refinamento do backlog, por meio de perguntas sobre a história do usuário.
  • O Planejamento acontece no planejamento do sprint, com notas leves no lugar de documentos longos.
  • O design do teste acontece junto com a codificação, geralmente como critérios de aceitação e testes automatizados.
  • A configuração do ambiente é automatizada por meio de contêineres e infraestrutura como código.
  • A execução é executada continuamente em um pipeline de CI/CD.
  • O Encerramento passa a fazer parte da revisão e da retrospectiva do sprint.

Mantenha o que é útil e dimensione a papelada ao risco. Uma pequena ferramenta interna pode necessitar de uma pequena lista de verificação, enquanto um sistema bancário pode necessitar de aprovações formais por razões regulamentares.

Erros comuns

  • Trazendo testadores tarde. Bugs encontrados nos requisitos são muito mais baratos do que aqueles encontrados após o lançamento.
  • Critérios de saída vagos. Sem eles, os prazos tomam a decisão por você.
  • Testes em um ambiente ruim. Falhas causadas por dados ou configurações incorretas desperdiçam tempo e minam a confiança.
  • Ignorando o encerramento. A equipe então repete os mesmos erros no próximo ciclo.
  • Seguindo isso com muita rigidez. O STLC é um guia. Documentos pesados ​​não significam automaticamente melhor qualidade.

Considerações finais

O ciclo de vida de teste de software é simplesmente uma resposta disciplinada a seis perguntas: o que testamos, como, com quais casos, onde, o que aconteceu e o que aprendemos? Observe seu próximo recurso e verifique quais dessas perguntas sua equipe costuma pular. Corrigir essa lacuna provavelmente lhe dará o maior ganho.

Perguntas frequentes

Quais são as 6 fases do STLC?

Eles são análise de requisitos, planejamento de testes, desenvolvimento de casos de teste, configuração do ambiente de teste, execução de teste e encerramento de teste. Alguns modelos dividem isso em mais etapas.

Qual é a diferença entre STLC e SDLC?

O SDLC cobre a construção de todo o produto, desde os requisitos até a manutenção. O STLC cobre apenas atividades de teste e é executado junto com o desenvolvimento.

Quais são os critérios de entrada e saída?

Os critérios de entrada são condições exigidas antes que uma fase possa ser iniciada, como uma construção estável. Os critérios de saída são condições necessárias para concluí-lo, como a aprovação em todos os testes críticos.

O que é um RTM em teste?

Uma matriz de rastreabilidade de requisitos mapeia cada requisito para seus casos de teste. Mostra se todos os requisitos estão cobertos e ajuda a avaliar o impacto das mudanças.

O STLC é usado no Agile?

Sim. As equipes ágeis realizam as mesmas atividades, mas em ciclos mais curtos e repetidos dentro de cada sprint, com mais automação e menos documentação formal.

Continue aprendendo

Trabalhe com Stack Quora

Precisa de ajuda com testes, WordPress ou SEO?

Ajudamos as equipes a fornecer software melhor e a expandir seus sites. Conte-nos no que você está trabalhando e sugeriremos um próximo passo claro.

Continue lendo

Mais guias sobre testes, IA e desenvolvimento moderno

Gostou deste artigo? Escolha um tópico e vá direto para nossos tutoriais mais recentes.

Inteligência artificial

Explicação das alucinações de IA: por que os modelos de linguagem inventam as coisas e como reduzi-las

Explicação das alucinações de IA: o que são, por que os modelos de linguagem as produzem, tipos comuns, como reduzi-las com aterramento e instruções…

Leia o artigo →
DevOps

Variáveis de ambiente explicadas: arquivos .env, segredos e configuração bem feitos

Variáveis de ambiente explicadas com exemplos de Python que executamos: leitura e configuração, por que cada valor é uma string, arquivos .env, hera…

Leia o artigo →
Desenvolvimento de software

Explicação da limitação de taxa de API: algoritmos, cabeçalhos e tratamento de erros 429

Limitação de taxa de API explicada com uma simulação que executamos: token bucket, janela fixa, janela deslizante, 429 respostas, cabeçalhos de limi…

Leia o artigo →
Automação de testes

Zombando em Python: unittest.mock, patch e os erros que fazem os testes mentirem

Zombaria em Python com unittest.mock, testado: Mock e return_value, side_effect, patch onde um nome é usado, especificação e autospec, zombaria de d…

Leia o artigo →
Teste de software

Cobertura de código explicada: cobertura de linha versus filial e o que 100% realmente significa

Cobertura de código explicada com uma execução cobertura.py real: cobertura de linha, ramal e condição, leitura de um relatório, por que 100% de cob…

Leia o artigo →
Bancos de dados e SQL

DELETE vs TRUNCATE vs DROP em SQL: diferenças, reversão e quando usar cada um

DELETE vs TRUNCATE vs DROP explicado com SQL testado: o que cada um remove, rollback, aciona, redefinição de identidade, velocidade e como PostgreSQ…

Leia o artigo →
Bancos de dados e SQL

Exibições SQL explicadas: crie, use e evite as armadilhas, com exemplos

Visualizações SQL explicadas com consultas que executamos: criação de uma visualização, resultados ao vivo, ocultação de colunas, desempenho, visual…

Leia o artigo →
Desenvolvimento de software

Interface TypeScript vs tipo: diferenças reais, testadas com o compilador

Interface TypeScript versus tipo, verificada com o compilador real: o que ambos podem fazer, o que apenas um pode fazer, mesclagem de declarações, e…

Leia o artigo →
Desenvolvimento de software

Python *args e **kwargs explicados: funções flexíveis com exemplos claros

Python *args e **kwargs explicados com o código que executamos: empacotamento e descompactação, ordem dos parâmetros, argumentos somente de palavras…

Leia o artigo →
Desenvolvimento de software

Funções Python Lambda: sintaxe, usos reais e quando não usá-los

Funções lambda do Python explicadas com o código que executamos: sintaxe, classificação com chave, mapa e filtro, fechamentos, armadilha de ligação …

Leia o artigo →
Inteligência artificial

O que são agentes de IA? Como eles funcionam, com um loop de agente simples que você pode executar

O que são agentes de IA? Um guia simples para o loop do agente, ferramentas, memória e proteções, com um pequeno loop Python que executamos, riscos …

Leia o artigo →
DevOps

Monitoramento versus observabilidade: a verdadeira diferença, com logs, métricas e rastreamentos

Explicação do monitoramento versus observabilidade: falhas conhecidas e desconhecidas, logs, métricas e rastreamentos, um passo a passo do incidente…

Leia o artigo →
DevOps

Docker Volumes vs Bind Mounts: persista os dados do contêiner da maneira certa

Volumes Docker versus montagens de ligação explicadas: por que os dados do contêiner desaparecem, volumes nomeados, montagens de ligação, tmpfs, exe…

Leia o artigo →
Automação de testes

TDD vs BDD: principais diferenças, um recurso criado de ambas as maneiras e quando usar cada um

TDD vs BDD explicado com um recurso de desconto construído em ambos os sentidos: refatoração vermelho-verde com o código que executamos, cenários da…

Leia o artigo →
Teste de software

Teste de aceitação do usuário (UAT): processo, lista de verificação e exemplos reais

Explicação do teste de aceitação do usuário: quem o executa, como ele difere do controle de qualidade, um processo de sete etapas, um modelo de caso…

Leia o artigo →
Bancos de dados e SQL

Valores SQL NULL explicados: IS NULL, COALESCE, NULLIF e as armadilhas a serem evitadas

Valores SQL NULL explicados com consultas que executamos: lógica de três valores, IS NULL, COALESCE, NULLIF, como agregações, junções e classificaçã…

Leia o artigo →
Bancos de dados e SQL

Instrução SQL CASE WHEN: sintaxe, exemplos reais e erros comuns

SQL CASE WHEN explicado com consultas que executamos: formulários simples e pesquisados, ordem de condição, pivôs com SUM, truques COUNT, classifica…

Leia o artigo →
Desenvolvimento de software

O que é JWT? JSON Web Tokens explicados com um exemplo prático

O que é JWT? JSON Web Tokens explicados: as três partes, um token construído e adulterado no código que executamos, JWT vs sessões, armazenamento, t…

Leia o artigo →
Desenvolvimento de software

Loop de eventos JavaScript explicado: pilha de chamadas, microtarefas e temporizadores com exemplos

O loop de eventos JavaScript explicado com o código que executamos: pilha de chamadas, filas de tarefas e microtarefas, por que setTimeout 0 não é i…

Leia o artigo →
Desenvolvimento de software

Geradores Python e rendimento explicado: economize memória com exemplos reais

Geradores Python e rendimento explicados com o código que executamos: como eles pausam e reiniciam, medem economia de memória, pipelines, sequências…

Leia o artigo →
Inteligência artificial

O que são incorporações? Similaridade de vetores e cossenos explicada de forma simples

O que são incorporações? Um guia em linguagem simples para vetores, similaridade de cossenos e pesquisa semântica, com um pequeno exemplo que execut…

Leia o artigo →
DevOps

Implantação azul-verde vs canário: diferenças, compensações e como escolher

Explicação da implantação azul-verde versus canário: como cada um funciona, custo, risco e reversão, agrupamento estável de usuários que testamos, m…

Leia o artigo →
Automação de testes

Testes instáveis: o que os causa e como corrigi-los para sempre

Testes instáveis explicados com demonstrações que executamos: as principais causas, como confirmar e diagnosticar uma, soluções adequadas para tempo…

Leia o artigo →
Teste de software

Teste de carga versus teste de estresse: diferenças, métricas e exemplos k6

Teste de carga versus teste de estresse explicado: o que cada um prova, testes de pico e absorção, as métricas que importam, por que as médias engan…

Leia o artigo →
Teste de software

Caso de teste versus cenário de teste: principais diferenças, exemplos e quando usar cada um

Caso de teste vs cenário de teste explicado: definições claras, uma tabela lado a lado, um recurso de redefinição de senha retirado de cenários para…

Leia o artigo →
Bancos de dados e SQL

Otimização de consultas SQL: leia planos de execução e corrija consultas lentas, com intervalos

Otimização de consulta SQL testada em um milhão de linhas: leia planos de execução, adicione os índices corretos, corrija filtros não sargáveis, use…

Leia o artigo →
Bancos de dados e SQL

SQL UNION vs UNION ALL: diferenças, exemplos e desempenho testado

SQL UNION vs UNION ALL explicado com consultas que executamos: duplicatas, as regras que ambos seguem, um bug de dados real, desempenho medido, INTE…

Leia o artigo →
Desenvolvimento de software

Tutorial da API JavaScript Fetch: GET, POST, tratamento de erros e tempos limite

Um tutorial da API JavaScript Fetch testado em um servidor local: GET e POST, por que 404 não lança, um auxiliar reutilizável, strings de consulta, …

Leia o artigo →
Desenvolvimento de software

Manipulação de arquivos Python: leitura, gravação, CSV, JSON e pathlib com exemplos

Manipulação de arquivos Python explicada com código que executamos: modos abertos, com, leitura de arquivos grandes, CSV, JSON, pathlib, arquivos bi…

Leia o artigo →
Desenvolvimento de software

Classes e objetos Python: tutorial OOP com exemplos reais

Classes e objetos Python explicados com código que executamos: __init__, métodos, atributos de classe vs instância, herança, propriedades, métodos d…

Leia o artigo →
Inteligência artificial

O que é um modelo de linguagem grande? Como funcionam os LLMs, explicado sem exageros

O que é um modelo de linguagem grande? LLMs explicados em linguagem simples: tokens, incorporações, atenção, treinamento, temperatura e janelas de c…

Leia o artigo →
DevOps

Comandos Linux para iniciantes: o guia essencial do terminal com exemplos

Comandos Linux para iniciantes, agrupados por tarefa: navegação, arquivos, visualização de logs, grep, pipes, permissões, processos e arquivos, com …

Leia o artigo →
Automação de testes

Selenium vs Playwright: principais diferenças, código comparado e qual escolher

Selenium vs Playwright comparado: arquitetura, espera, suporte a navegador e linguagem, depuração, o mesmo teste em ambas as ferramentas, conselhos …

Leia o artigo →
Teste de software

Particionamento de equivalência: técnica de design de teste explicada com exemplos resolvidos

Explicação do particionamento de equivalência: como encontrar partições válidas e inválidas, exemplos resolvidos para idades, senhas e cupons, teste…

Leia o artigo →
Teste de software

Gravidade vs Prioridade em Testes de Software: Diferenças, Matriz e Exemplos Reais

Explicação da gravidade versus prioridade em testes de software: definições claras, uma matriz de quatro vias com exemplos, escalas de nível, quem d…

Leia o artigo →
Bancos de dados e SQL

Tutorial de subconsultas SQL: tipos, subconsultas correlacionadas e EXISTS com exemplos

Um tutorial de subconsultas SQL com consultas que executamos: subconsultas escalares, IN, FROM e SELECT, subconsultas correlacionadas, EXISTS, a arm…

Leia o artigo →
Bancos de dados e SQL

Transações SQL e ACID explicados: COMMIT, ROLLBACK e níveis de isolamento

Transações SQL e ACID explicadas com uma transferência bancária que executamos: COMMIT, ROLLBACK, savepoints, locks, níveis de isolamento, leituras …

Leia o artigo →
Desenvolvimento de software

Folha de dicas dos comandos do Git: os comandos que você realmente usa, com exemplos

Uma folha de dicas de comandos Git agrupada por tarefa: configuração, preparação, ramificações, controles remotos, stash, histórico e desfazer erros…

Leia o artigo →
Desenvolvimento de software

Explicação das promessas de JavaScript: então, catch, Promise.all e erros comuns

Promessas JavaScript explicadas com o código que executamos: estados, cadeias then e catch, tratamento de erros, Promise.all, allSettled, race e any…

Leia o artigo →
Desenvolvimento de software

Tutorial do dicionário Python: métodos, exemplos e padrões comuns

Um tutorial de dicionário Python com código que executamos: criar, ler e atualizar dictos, métodos-chave, mesclagem, compreensão, padrões de contage…

Leia o artigo →
Inteligência artificial

O que é RAG? Geração aumentada de recuperação explicada com um exemplo prático

O que é RAG? Geração aumentada de recuperação explicada passo a passo: indexação, chunking, embeddings, recuperação, um pequeno exemplo funcional de…

Leia o artigo →
DevOps

Tutorial Terraform para iniciantes: infraestrutura como código do primeiro arquivo aos módulos

Um tutorial do Terraform para iniciantes: comece sem conta na nuvem, aprenda como iniciar, planejar e aplicar, depois variáveis, saídas, estado, mód…

Leia o artigo →
DevOps

Docker vs Kubernetes: principais diferenças, como eles funcionam juntos e o que você precisa

Docker vs Kubernetes explicado: o que cada um faz, o mesmo aplicativo rodando com ambos, Docker Compose e Swarm comparados, a mudança do dockershim …

Leia o artigo →
Automação de testes

Tutorial Pytest para iniciantes: luminárias, parametrização e exemplos reais

Um tutorial pytest para iniciantes com testes que executamos no pytest 9.2: asserções, fixtures, parametrizar, conftest, marcadores, tmp_path, monke…

Leia o artigo →
Teste de software

Ciclo de vida de teste de software (STLC): 6 fases, critérios de entrada e saída, exemplo

O ciclo de vida de teste de software explicou: seis fases do STLC com critérios de entrada e saída, resultados, um exemplo de recurso de login funci…

Leia o artigo →
Desenvolvimento de software

Git merge vs rebase: diferenças, exemplos e quando usar cada um

Git merge vs rebase explicado com saída real do log, uma tabela comparativa, a regra de ouro do rebase e um fluxo de trabalho seguro para equipes.

Leia o artigo →
Desenvolvimento de software

List comprehension em Python: sintaxe, exemplos e quando evitar

List comprehension em Python explicada: sintaxe, filtros, if-else, laços aninhados, tempos medidos e quando um laço for comum é a melhor escolha.

Leia o artigo →
Bancos de dados e SQL

SQL JOIN explicado com exemplos (Inner, Left, Right, Full)

Entenda os joins SQL passo a passo com tabelas e consultas de exemplo: INNER, LEFT, RIGHT, FULL, CROSS e SELF, além de erros comuns e dicas de desem…

Leia o artigo →