Please enable JavaScript.
Coggle requires JavaScript to display documents.
Implementação e Teste de Software :check: - Coggle Diagram
Implementação e Teste de Software
:check:
O que é ?
Teste de Software
Definção:
Teste de Software é um processo que faz parte do desenvolvimento de software, e tem como principal objetivo revelar falhas/bugs - considerando erros de origem humana - para que sejam corrigidas até que o produto final atinja a qualidade desejada / acordada.
Segundo Myers (1979)
" ... processo de executar um programa com o objetivo de encontrar defeitos. Teste de software é um processo, ou um grupo de processos, definidos para garantir que um código faz o que ele foi desenhado para fazer, e não faz nada que não foi especificado para fazer."
Implementação
A implementação é guiada em função projeto, sendo ela responsável por estabelecer padrões organizacionais para o auxílio da comunicação entre a equipe e da integração, testes, manuntenção e reciclagem do código; uso de indentação e nomes significativos para variáveis são imprenscindíveis para uma boa prática de implementação.
Ciclo de Vida do Teste de Software
Planejamento
: Desenvolvimento da estratégia
Deve responder: Quem deve realizar os testes?O que testar? Quanto teste é necessário? Quando testar?Como testar?
Preparação
: Assegurar que o ambiente de
testes é seguro
Especificação
: Elaboração e revisão dos casos de teste
Execução
: Ações são executadas e há o registro dos resultados
Entrega
: Finalização e documentação obitida.
Tipos/Níveis de Testes de Software
Estratégias Convencionais
Teste de Unidade:
Testar a menor unidade do projeto, procurando
indentificar erros lógicos e de implementação, construindo pequenos componentes para permitir testar os módulos individualmente, os ditos
drivers
e
stubs
.
Teste de Integração
:
Técnica sistemática para construir a arquiteutura de software, ao mesmo tempo em que se realizam testes para descobrir erros associafos as interfaces; contruir uma estrutura de programa a partir de componentes testados em unidade. Podem ser de forma:
Integração Descendente
-
Intergração Ascendente
-
Teste de regressão
-
Teste Fumaça
-
Estratégias Orientadas a Objetos
Teste de unidade em contexto orientado a objetos
:
Ao contrário do teste de unidade para software, o teste de classe para software orientado a objetos é controlado pelas operações encapsuladas pela classe e o comportamento de estado da classe.
Teste de integração em contexto orientado a objetos
:
Utiliza duas técinas: O teste de conjunto (cluster testing) e teste baseado em sequência de execução (thread-based
testing).
Teste de Validação
:
Fase do processo de teste em que um teste de caixa-preta é realizado num sistema antes de sua disponibilização.
Teste de Sistema
:
Certificam que o software pode funcionar por muito tempo
sem apresentar falhas; indentificar erros dos requisitos funcionais e não funcionais.
Técnicas usadas no Teste de Software
Testes Estruturais ou Caixa Branca
: Testa o código fonte avaliando o fluxo de dados, caminhos lógicos e ciclos.
Regressão
: Testes em cada nova versão de um software a fim de evitar problemas já resolvidos voltem a ser um obstáculo.
Teste não-Funcinais
: Avalia a operação de aplicação em casos inesperados; após um falha no sistema do software, como ele irá se recuperar.
Testes Funcionais ou Caixa Preta
: Usada para avaliar as funções realizadas pelo sistema; utiliza especificações de requisito, análise e projeto para definir os objetivos de teste.
Caixa Cinza
: União das técnicas branca e preta. Avalia funções externas do sistema e a parte lógica, ao mesmo tempo