Teste de Software
Teste de Software é um processo que faz parte do desenvolvimento de software, e tem como principal objetivo revelar falhas/bugs para que sejam corrigidas até que o produto final atinja a qualidade desejada / acordada.
TDD
Metodologia de desenvolvimento orientada a teste.
Desenvolver baseado em testes de funcionalidades
Test Driven Development
Eliminar redundâncias
Fazer o código funcionar com a saída esperada
Escrever um teste que falhe
normas
IEEE 829
Standard for Software and System Test Documen-tation
Descreve um conjunto de documentos básicos, abracando forma e conteúdo, que devem ser criados juntamente com a execução do processo de teste.
IEEE 1012
Standard for Software Verification and Validation
Padrão que define os processos de verificação e validação em termos de atividades específicas e tarefas relacionadas a cada um deles.
ISO 12207
Systems and Software Engineering
Descreve a arquitetura dos processos de ciclo de vida de software, sem especificar os detalhes de implementação ou execução das atividades e tarefas incluídas nos processos.
ISO 9126
Software Quality Characteristics
padrão define um modelo de qualidade o qual pode ser aplicado a qualquer tipo de software sem fazer especificações sobre os requisitos desse produto.
Tipos teste de Software
Testes de Aceitação
fase do processo de teste em que um teste de caixa-preta é realizado num sistema antes de sua disponibilização.
Testes de Integração
fase do teste de software em que módulos são combinados e testados em grupo.
Testes Unitários ou Testes de Unidade
É toda a aplicação de teste nas assinaturas de entrada e saída de um sistema.
O que é teste de software?
Teste de software é um controle de qualidade que pode envolver etapas desde a escolha das condições em que a aplicação vai ser colocada à prova até a simulação de uso real dela e o desenvolvimento de relatórios sobre os resultados obtidos.
Qual a importância dos testes de software?
Ajuda que o seu time encontre pequenos erros que atrapalham a emissão de documentos fiscais e bugs que levem à perda de desenvolvimentos avançados
Ferramenta de teste de software: Selenium
Selenium é um conjunto de ferramentas de código aberto multiplataforma, usado para testar aplicações web pelo browser de forma automatizada. Ele executa testes de funcionalidades da aplicação web e testes de compatibilidade entre browser e plataformas diferentes
JavaScript
Python
Java
Ruby
Subtópico
Técnicas Usadas nos Testes de Software
Testes não Funcionais
Um teste de software não funcional serve para avaliar a operação da aplicação em casos inesperados.
Um exemplo é o teste de recuperação para verificar se o software volta a responder como antes após passar por uma falha.
Regressão
Representa a realização de testes em cada nova versão de um software a fim de evitar que problemas já resolvidos voltem a ser um obstáculo.
Caixa-Cinza
É a união das técnicas preta e branca
Essa técnica vai avaliar as funções externas do sistema ao mesmo tempo em que testa a parte lógica, interna.
caixa branca
Possui acesso ao código fonte, conhecendo a estrutura interna do produto. Sendo analisados e possibilitando que sejam escolhidas partes específicas de um componente para ser avaliados, permitindo uma busca precisa do comportamento da estrutura.
Serve para testar códigos-fonte a fim de avaliar fluxo de dados, caminhos lógicos e ciclos, entre outros aspectos internos do software.
É também chamado de teste estrutural ou orientado à lógica
caixa preta
Esta técnica de teste em que o componente de software a ser testado é abordado como se fosse uma caixa-preta, ou seja, não se considera o comportamento interno do mesmo.
O componente de software a ser testado pode ser um método, uma função interna, um programa, um componente, um conjunto de programas e/ou componentes ou mesmo uma funcionalidade
A técnica da caixa-preta é mais usada para avaliar as funções externas que vão ser realizadas pelo sistema.
Ciclo de vida
Entrega
consiste na finalização do processo e arquivamento da documentação obtida.
Execução
É a fase do processo de teste de software em que as ações são executadas e há o registro dos resultados.
Especificação
É o momento de elaboração e revisão dos casos de teste e dos roteiros de teste.
Preparação
Nesta etapa, vai ser assegurado que o ambiente para o testes é o ideal, para que tudo seja executado como planejado.
Planejamento
Fase de desenvolvimento da estratégia do teste e do plano de teste.