O documento discute automação de testes de software. Ele introduz o que é automação e teste, e explica como a automação de testes permite que equipes foquem em novas funcionalidades, reduzam tempo e custos, e garantam que alterações não afetem funcionalidades existentes. Ele também descreve diferentes tipos de testes, fases de teste, artefatos e ferramentas como JUnit e Selenium.
4. Qualidade Software
“Além de permitir que a equipe de Quality Assurance (QA) foque
nas novas
funcionalidades de uma aplicação, deixando o esforço de
reteste a cargo dos
scripts de automatização, a Automação de Testes proporciona
redução de
tempo e de custos em longo prazo, permite a procura de
classes específicas
de defeitos e, no caso de aplicações que possuem um longo
ciclo de vida,
a Automação de Testes permite que incrementos ou pequenas
correções
no código não afetem funcionalidades que já estavam
estabelecidas.“
5. Tipos de Teste
- Técnicas Funcionais.
- Técnicas Não Funcionais.
- Fases de Teste.
- Artefatos de Teste.
- Assuntos Relacionados
6. Tipos de Teste
Técnicas Funcionais
- Caixa-branca.
- Caixa-preta.
- Regressão.
Técnicas Não Funcionais
-
Teste de Desempenho.
Teste de Carga.
Teste de Confiabilidade.
Teste de Recuperação.
Teste de Segurança.
7. Tipos de Teste
Fases de Teste
-
Teste de Unidade.
Teste de Integração.
Teste de Sistema.
Teste de Aceitação.
Artefatos de Teste
- Casos de Teste.
- Plano de Teste.
Automação:Éa aplicação de técnicascomputadorizadasoumecânicasparadiminuir o uso de mão-de-obraemqualquerprocesso.
Teste: Éumainvestigação a fim de fornecerinformaçõessobresuaqualidadeemrelaçãoaocontextoemqueeledeveoperar.
Caixa-branca: esse teste utiliza uma técnica que parte de uma perspectiva interna (basicamente código fonte) do sistema para modelar os casos de teste.Caixa-preta: esse teste é para verificar a saída dos dados usando vários tipos de entradas. Essa técnica é aplicável a todas as fases de teste unitário, integração, sistema e aceitação.Regressão: esse teste consiste na aplicação de versões mais recente do software, para garantir que não surja novos defeitos em componentes já analisados.Teste de Desempenho: esse teste é similar ao teste de carga, mas com o intuito de testar o software a fim de encontrar o seu limite de processamento de dados no seu melhor desempenho.Teste de Carga: esse teste é utilizado para verificar o limite de dados processados pelo software até que ele não consiga mais processá-lo.Teste de Usabilidade: esse teste é para verificar a facilidade que o software possui de ser claramente compreendido e manipulado.Teste de Confiabilidade: nesse teste é que são validadas as entradas, saídas e operações efetuadas em relação aos requisitos definidos previamente para a aplicação.Teste de Recuperação: esse teste é utilizado para verificar a robustez e também a capacidade de um determinado software para retornar a um estado operacional após estar em um estado de falha.Teste de Segurança: esse teste permite avaliar as vulnerabilidades do software e dos serviços frente a diferentes tipos de ataques de segurança.
Teste de Unidade: esses testes nas assinaturas de entradas e saídas de um sistema consistem em validar dados válidos e inválidos via entrada/saída sendo aplicado por desenvolvedores ou analistas de teste.Teste de Integração: é nesse teste que módulos do software são combinados e testados em grupo.Teste de Sistema: esse teste é uma fase de software e de hardware em que o sistema já completamente integrado, é verificado quanto a seus requisitos num ambiente de produção.Teste de Aceitação: esse teste é uma fase do processo em que um teste de caixa-preta é realizado num sistema antes de sua disponibilização.Teste de Operação: esse teste é uma fase em que é conduzido pelos administradores do ambiente final onde o sistema entrará em ambiente produtivo.Caso de Teste: é um conjunto de condições usadas para teste de software.Plano de Teste: é um documento com uma abordagem sistemática para o teste de sistemas com hardware ou software. Geralmente consiste numa modelagem detalhada do fluxo de trabalho durante o processo.
Junit: Framework de testes unitários.Unitils: Framework de testes de integração.Arquillian: Framework de testes funcionais e integração.Selenium: Framework de testes funcionais.EclEmma: Plug-inJava codecoverage tool.TDD: Metodologia Ágil que busca primeiro implementar a regra de negócio e depois fazer a interface.