Diferença entre SDLC vs STLC

A necessidade gera interesse e o torna o único motivo para o início de qualquer processo. Posteriormente, esse interesse leva os recursos relacionados, partes interessadas, clientes, CEO, gerentes e equipes de desenvolvimento a correr atrás de um fechamento bem-sucedido do projeto (aqui no nosso caso é desenvolvimento de software). Não apenas o dinheiro (juros) é o único objetivo por trás do comportamento dessas pessoas, mas também o valor do tempo e da marca (será ainda mais crucial).

E é aqui que o tópico do artigo, sim, SDLC vs STLC entra em cena. Tanto o SDLC quanto o STLC estão inter-relacionados até certo ponto ou pode-se dizer que um é o antecessor de outros. O motivo é simples se algo estiver sendo desenvolvido com a finalidade de atender (os clientes precisam), então ele deve ser testado antes da implantação. Esses são os padrões do setor há décadas e são responsáveis, pois o cliente investiu uma quantia enorme de dinheiro depois dele.

Esta foi a história por trás da cena e nos leva à seção principal do artigo - SDLC vs STLC. Vamos ver em detalhes o que exatamente são esses SDLC vs STLC. Qual é a sequência de operações em cada uma? Qual é a diferença entre SDLC e STLC? Que tipo de atividades precisava para ter um final bem-sucedido?

SDLC significa Ciclo de Vida de Desenvolvimento de Software

CICLO DE VIDA significa uma série de mudanças na vida de alguém. Um processo vivo, não vivo ou qualquer processo que tenha algumas séries de etapas ou sequência de operação. Essas seqüências são um tipo de indicação de que ele tem um ponto final de início e fim. Pelo contrário, pode-se dizer que o processo dado possui algum subprocesso. Isto é o que é um ciclo de vida. Descobrir o que um ciclo de vida realmente nos faz avançar na discussão em direção ao desenvolvimento de software. Portanto, SDLC significa o ciclo de vida de um processo de desenvolvimento de software” .

Em relação aos modelos de desenvolvimento, não há regras definidas que defendam um sobre o outro ou um modelo específico é bom para seguir o outro (o ágil é uma exceção). Vamos ver alguns modelos -

  1. Modelo Cachoeira - o mais antigo
  2. Modelo V
  3. Modelo espiral
  4. Iterativo
  5. Agile - mais recente e mais adequado a qualquer tipo de projeto

Nota - Devo dizer que as práticas do modelo ágil de scrum são boas para trabalhar, mas no setor de TI uma equipe pode preferir qualquer um desses modelos. Por exemplo, se o requisito for claro e garantir que não seja alterado na fase posterior, a equipe certamente irá com o Waterfall e não com o Agile.

Fases na discussão do SDLC

  1. Planejamento
  2. Análise e Requisitos do Sistema
  3. Projeto
  4. Codificação ou Desenvolvimento
  5. Integração e testes
  6. Operação e manutenção

O processo acima também pode ser listado como abaixo -

  1. PLANEJAMENTO - Antes de qualquer evidência física aparecer, sempre existe um planejamento por trás disso. O planejamento vem antes do início da papelada. Nesta fase, apenas os detalhes de alto nível são considerados do ponto de vista dos projetos. Um grupo dedicado de membros está por trás dessa fase. Todos os prós e contras relacionados aos projetos são considerados e como maximizar o ROI e as formas de fazê-lo também são considerados. Aqui há muito retrabalho e a revisão é feita para superar qualquer obstáculo ao sucesso do projeto. O ponto principal é que, antes que a idéia seja trazida à realidade, ela deve ter razões concretas para funcionar e alcançar o sucesso. Planejar novamente depende do tipo de resultado. Se um novo software estiver sendo construído, o planejamento será diferente, pois o estudo de mercado será muito crucial para ele, mas se o mesmo software estiver sendo atualizado após alguns anos, nesse caso, não haverá nenhum estudo de mercado (pois o software é um sucesso e, portanto, é necessário criar atualizações de recursos de software).
  2. ANÁLISE - Uma vez concluída a parte do planejamento, vem a análise em que as equipes dedicadas realizam várias tarefas antes de obter uma solução concreta. Aqui, é feito o estudo de viabilidade do projeto, trabalho de estimativa, custeio, obtenção de requisitos e programação. A intenção é clara de fazer uma verificação final antes que o trabalho realmente comece. Se houver alguma falha, remova-a através da comunicação com a equipe de desenvolvimento e as partes interessadas. Descubra os prós e contras.
  3. PROJETO - Agora, o requisito é claro, e a equipe deseja alguma referência antes de trabalhar, os designers desempenham um papel crucial. O que o software funcionará (funcionalidade), quantas telas existirão para cada seção, a interatividade do usuário e todos os detalhes são projetados nesta fase. Digamos que um cliente solicitou um software móvel para reserva de voos e é claro que os designers projetam as telas para cobrir as funcionalidades que esse software processará. Os designers apresentarão layouts, planos de trabalho, diagramas de processo, pseudocódigos e vários outros tipos de documentação de design. As pessoas responsáveis ​​escolherão o melhor para acompanhar.
  4. CODIFICAÇÃO - nesta fase, a maioria das principais decisões já foi decidida. A intenção dessa fase é replicar os trabalhos de design em um software de trabalho. Aqui, os desenvolvedores desempenham o papel de destaque e são envidados esforços para produzir códigos reutilizáveis. É prestada atenção a muitas discussões relacionadas a uma estrutura e aos melhores métodos adequados para criar um software funcional. Existem ferramentas de programação envolvidas que são usadas pela equipe de desenvolvedores que são - Compilador, Depurador, Intérprete. Gostaria de chamar a atenção dos meus leitores que o desenvolvimento de um software de trabalho completo não é fácil e nem é pequeno. Uma grande parte do trabalho existe para que a equipe de desenvolvimento os divida em produtos menores e os priorize de acordo com a necessidade ou urgência (também pode ser classificado com base em quão crucial é a funcionalidade, ou seja, em que nível essa funcionalidade específica foi classificada). Lembre-se de que esta é a fase mais longa do ciclo de desenvolvimento.
  5. TESTE - Nesta fase, chega ao STLC. Essa fase consiste em testar o software desenvolvido antes de ser encaminhado aos clientes ou usuários finais. Existem vários tipos de metodologia de teste que são executados aqui pelos testadores para descobrir possíveis defeitos no software.
  6. MANUTENÇÃO - Este é um tipo de serviço pós-venda. Assim como compramos qualquer bicicleta ou carro e, após um ano, se houver um problema que produza algum obstáculo ao bom funcionamento. Esses tipos de problemas surgem repetidamente. Aqui são resolvidos todos os erros que surgem quando o cliente está usando o software, qualquer atualização necessária no futuro ou aprimoramentos, se houver.

STLC significa CICLO DE VIDA DE TESTE DE SOFTWARE

Fases no STLC -

  1. Análise de Requisitos
  2. Planejamento de teste
  3. Desenvolvimento de caso de teste
  4. Configuração do ambiente
  5. Execução de Teste
  6. Encerramento do ciclo de teste
  1. ANÁLISE DOS REQUISITOS - O primeiro passo para o processo STLC. É a parte de todo o processo em que as equipes de controle de qualidade conhecem os requisitos (significa o que testar) e os requisitos testáveis. Para uma melhor compreensão do requisito, o testador pode acompanhar os clientes (mas isso acontece raramente, apenas se o teste for necessário e não o desenvolvimento). Este é um tipo de gráfico que se seguiu nesta fase do STLC.
Critério de entradaatividades realizadasEntregas
Necessidade exata com descrição completa para definir o procedimento de teste a seguir.Os tipos de teste estão listados nesta seçãoOs resultados alcançados estão listados nesta seção
  1. PLANEJAMENTO DE TESTE - A fase mais crucial do STLC. Aqui, todas as estimativas e o tempo são calculados antes do início do teste. O resultado disso será testar a documentação dos planos ou estratégias. Após a conclusão dessa fase, a equipe de controle de qualidade pode começar com as atividades de desenvolvimento de casos de teste. O mesmo gráfico que é desenhado na fase superior é novamente usado com alterações.
  2. DESENVOLVIMENTO DE TESTE - O desenvolvimento real dos casos de teste é trabalhado após a conclusão da fase de planejamento do teste. Aqui, o trabalho em equipe de teste nos casos de teste. Não apenas os casos de teste, mas um relatório completo que contém os dados de teste estão envolvidos e documentados. Depois de concluídas, elas são verificadas cruzadamente por membros de pares ou líderes de controle de qualidade. Aqui, também é preparada a RTM (matriz de rastreabilidade de requisitos). Esses documentos rastreiam o requisito nos dois sentidos (significa avançar e retroceder).
  3. CONFIGURAÇÃO AMBIENTAL - Isso geralmente não é praticado porque o ambiente já foi decidido durante a fase de desenvolvimento (no SDLC). Em geral, não ocorre nenhuma alteração no ambiente.
  4. EXECUÇÃO DE TESTE - Aqui, os casos de teste são executados com base nos planos de teste inicialmente preparados. Se os casos estiverem ok, eles serão marcados como PASS, caso contrário, FAIL. Uma lista completa de bugs é preparada nesta fase e enviada à equipe de desenvolvimento para correção antes do lançamento final do software.
  5. ENCERRAMENTO DO CICLO DE TESTE - Uma discussão em que a equipe decide o que deu certo e o errado das perspectivas do teste. Coisas para melhorar no futuro que possam economizar tempo e esforço na direção certa são discutidas nesta reunião. Estes são úteis da perspectiva do desenvolvimento.

Comparação cara a cara entre SDLC vs STLC (Infográficos)

Abaixo está a diferença top 9 entre SDLC vs STLC

Principais diferenças entre SDLC vs STLC

Ambos SDLC vs STLC são escolhas populares no mercado; vamos discutir algumas das principais diferenças entre SDLC e STLC:

  • SDLC é uma metodologia de desenvolvimento, enquanto STLC é uma metodologia de teste
  • Várias fases diferentes são combinadas para formar SDLC, enquanto várias fases ou práticas de teste se combinam para formar STLC
  • O SDLC cobre todos os ciclos de desenvolvimento de software, enquanto o STLC cobre todos os ciclos de teste
  • O SDLC começa com a fase de planejamento e abrange todo o processo de desenvolvimento, enquanto o STLC começa com o Planejamento de Testes e abrange todos os aspectos ou tipos de teste
  • CEO, analista de negócios sênior, gerentes seniores e desenvolvedores são as pessoas que cuidam dos vários estágios do SDLC. Por outro lado, QA Lead, Test Analyst são as pessoas que governam o processo em andamento.
  • O SDLC inicia quando o aplicativo real não foi criado, mas o STLC inicia quando o aplicativo real existe ou existe uma parte do software em funcionamento.
  • SDLC é o superconjunto do STLC, enquanto STLC é o subconjunto do SDLC

Tabela de comparação SDLC vs STLC

Vejamos o topo Comparação entre SDLC vs STLC -

A base de comparação entre SDLC vs STLC

SDLC

STLC

OrigemCiclo de vida do desenvolvimentoTeste o ciclo de vida
FasesSeis fases

1. Planejamento

2. Análise

3. Design

4. Desenvolvimento

5. Teste

6. Manutenção

Seis fases

1. Análise de Requisitos

2. Planejamento de Teste

3. Desenvolvimento de Teste

4. Configuração do ambiente

5. Execução de Teste

6. Encerramento do teste

RelaçãoO SDLC pode ser considerado como pai ou predecessor.STLC é o sucessor porque está no SDLC.
SobreTrata-se do desenvolvimento completo do software, incluindo testes e outras fases.Isso está preocupado com a fase de teste e a parte do controle de qualidade.
Fases de coleta de requisitosNo SDLC, o analista de negócios reúne os requisitos, a equipe de desenvolvimento realiza o desenvolvimento.No STLC, a equipe de teste faz a revisão do trabalho após a análise dos documentos de teste, da perspectiva funcional e não funcional.
IntençãoO SDLC pretendia superar qualquer obstáculo durante o caminho do desenvolvimento bem-sucedido de software.O STLC destina-se a encontrar armadilhas ou deficiências apenas na fase de teste.
Fase de desenhoNo SDLC, existe um arquiteto técnico para garantir a qualidade do software. Aqui no SDLC Business Analyst pode ajudá-lo a entender os requisitos de uma maneira melhor.

No STLC, o arquiteto de teste é quem governa as atividades, ele faz o planejamento e a identificação dos pontos de teste de alto nível.
Fase de codificaçãoOs códigos reais são desenvolvidos e o trabalho real toma forma de acordo com a estrutura de design enfatizada.A equipe de teste trabalha no desenvolvimento de planos de teste e verifica o comportamento de trabalho do software. Uma coisa a notar é que no SDLC os códigos são desenvolvidos, enquanto no STLC apenas os casos de teste são desenvolvidos.
Fase de testeOs códigos reais são testados, o que pode ser feito pelos desenvolvedores pares. Nesta fase de teste de unidade, são realizados testes de integração e testes do sistema.No STLC, a execução do teste e o trabalho de relatório acontecem. Uma coisa a observar é que, diferentemente do teste de código no SDLC, aqui há comportamento funcional e o teste de não funcionalidade do software é feito.

Conclusão - SDLC vs STLC

A discussão é clara em relação ao SDLC vs STLC. Uma é a abordagem de desenvolvimento e a outra é a abordagem de teste como um todo. Embora o teste seja incluído no SDLC como uma das seções, o importante a ser observado é que é uma função muito diferente que é executada. É muito importante observar que o STLC está sob o SDLC. As atividades envolvidas em cada seção são diferentes.

Artigos recomendados

Este tem sido um guia para a principal diferença entre SDLC e STLC. Aqui também discutimos as principais diferenças entre SDLC e STLC com infográficos e tabela de comparação. Você também pode dar uma olhada nos seguintes artigos para saber mais:

  1. SDLC vs Agile
  2. Python vs Go
  3. PL SQL vs SQL
  4. Agile vs DevOps