Teste de Software

r

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.

Ciclo de vida

Planejamento

Fase de desenvolvimento da estratégia do teste e do plano de teste.

Preparação

Nesta etapa, vai ser assegurado que o ambiente para o testes é o ideal, para que tudo seja executado como planejado.

Especificação

É o momento de elaboração e revisão dos casos de teste e dos roteiros de teste.

Execução

É a fase do processo de teste de software em que as ações são executadas e há o registro dos resultados.

Entrega

consiste na finalização do processo e arquivamento da documentação obtida.

Técnicas Usadas nos Testes de Software

caixa preta

r

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.

caixa branca

r

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-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.

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.

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.

Ferramenta de teste de software: Selenium

r

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

Subtópico

Ruby

Java

Python

JavaScript

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

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.

Tipos teste de Software

Testes Unitários ou Testes de Unidade

É toda a aplicação de teste nas assinaturas de entrada e saída de um sistema.

Testes de Integração

fase do teste de software em que módulos são combinados e testados em grupo.

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 Operação

São aqueles que certificam que o software pode funcionar por muito tempo sem apresentar falhas.

normas

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.

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.

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.

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.

TDD

r

Metodologia de desenvolvimento orientada a teste.Desenvolver baseado em testes de funcionalidades

Test Driven Development

Escrever um teste que falhe

Fazer o código funcionar com a saída esperada

Eliminar redundâncias