Please enable JavaScript.
Coggle requires JavaScript to display documents.
Ciclo de vida do software (continuação) - Coggle Diagram
Ciclo de vida do software (continuação)
Teste de Software: geralmente, um sistema de software comercial passa por três estágios de teste:
Teste de lançamento:
teste baseado em requisitos é uma validação, não um teste de defeitos — o objetivo é demonstrar que o sistema implementou seus requisitos corretamente
teste baseado em requisitos é uma validação, não um teste de defeitos — o objetivo é demonstrar que o sistema implementou seus requisitos corretamente
O teste de lançamento é o processo de conferir a validade para garantir que um sistema cumpra seus requisitos e seja bom o bastante para ser usado pelos clientes do sistema.
O teste de desempenho se preocupa tanto em mostrar que o sistema cumpre os requisitos quanto em descobrir problemas e defeitos no sistema.
O time de desenvolvimento do sistema não deve ser responsável pelo teste de lançamento.
Teste de usuário:
existem três tipos
Teste-beta, em que um lançamento do software é disponibilizado para um grupo maior de usuários, para que experimentem e informem os problemas descobertos para os desenvolvedores do sistema.
Teste de aceitação, em que os clientes testam o sistema para decidir se está pronto ou não para ser aceito junto dos desenvolvedores do sistema e instalado.
Teste-alfa, no qual um grupo selecionado de usuários do software trabalha em estreita colaboração com o time de desenvolvimento para testar lançamentos iniciais do software.
Teste de desenvolvimento:
existem três etapas
Teste de componentes, em que várias unidades são integradas, criando componentes compostos.
Teste de sistema, em que alguns ou todos os componentes em um sistema são integrados e o sistema é testado como um todo.
Teste de unidade, em que são testadas unidades de programa ou classes individuais.
Evolução do Software
Manutenção de software:
Reparo de defeitos para corrigir bugs e vulnerabilidades.
Adaptação ao ambiente para adaptar o software a novas plataformas e ambientes.
Acréscimo de funcionalidade para adicionar novas características e apoiar novos requisitos.
Reengenharia de software:
Tem duas vantagens: menor risco e menor custo
Atividades são: tradução de código fonte, engenharia reversa, melhoria da estrutura do programa, modularização do programa, reengenharia de dados
Sistemas legados:
normalmente são softwares com linguagem antiga, que não tem ou tem poucas documentações. Isso eleva o custo para a manutenção ou atualização do sistema
Normalmente há um ciclo na evolução do software. Especificação, implementação, validação e operação
Refatoração:
A refatoração é o processo de fazer melhorias em um programa para desacelerar a degradação por meio da mudança
exemplos incluem: código duplicado, métodos longos, comando switchs, aglomeração de dados, generalidade especulativa.