Trabalho feito para apresentação do curso de pos-graduação Senac, foi feito baseado no artigo.
2013 IEEE Sixth International Conference on Software Testing, Verification and Validation
Generating Effective Integration Test Cases from Unit Ones
Mauro Pezz`e
University of Lugano, Switzerland and
University of Milano Bicocca, Italy
mauro.pezze@usi.ch
Konstantin Rubinov
Faculty of Informatics
University of Lugano, Switzerland
konstantin.rubinov@usi.ch
Jochen Wuttke
Computer Science & Engineering
University of Washington, Seattle, USA
wuttke@cs.washington.edu
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...Claudinei Brito Junior
Minicurso ministrado na XII SemanaTI na UNIVEM - Marília/SP, nos dias 23 e 24 de setembro de 2019. O título do minicurso é Técnicas de Teste e Automatização do Teste de Unidade e o minicurso tratava na teoria sobre algumas técnicas de Teste de Software, bem como a Técnica de Teste Estrutural, Teste Funcional e Teste Baseado em Defeitos, assim como aprendemos sobre a fase do Teste de Unidade, e ali, aplicamos na prática a Técnica de Teste Estrutural e tratamos sobre a teoria e a prática da automação de testes.
Minicurso - Técnicas de Teste e Automatização do Teste de Unidade XII SemanaT...Claudinei Brito Junior
Minicurso ministrado na XII SemanaTI na UNIVEM - Marília/SP, nos dias 23 e 24 de setembro de 2019. O título do minicurso é Técnicas de Teste e Automatização do Teste de Unidade e o minicurso tratava na teoria sobre algumas técnicas de Teste de Software, bem como a Técnica de Teste Estrutural, Teste Funcional e Teste Baseado em Defeitos, assim como aprendemos sobre a fase do Teste de Unidade, e ali, aplicamos na prática a Técnica de Teste Estrutural e tratamos sobre a teoria e a prática da automação de testes.
Demonstração de TDD com JUnit sobre um algoritmo de árvore binária.
Conteúdo referente à disciplina Engenharia de Software do curso de Ciência da Computação do Centro Universitário de Belo Horizonte (UniBH), ministrada pelo professor Paulo Henrique Ladeira.
Atenção à órdem dos commits, eles identificam o processo de geração de assinaturas dos métodos, geração de testes e implementação do código.
Código da árvore binária inspirado no seguinte respoitório: https://github.com/Renants/Arvore
Código disponível no repositório https://github.com/guiAlberto/JUnit-Sample
Palestra sobre técnicas e fases de testes, e informações sobre boas e más práticas comuns ao utilizar JUnit para testes de unidade.
Explica também as principais anotações do framework JUnit, e a anotação disponibilizada na versão 4.7: @Rule
Conheça o Junit, Mockito e PowerMock, Frameworks que permitem você criar testes unitários para sistemas de informação. Até menos sistemas não foram pensados para testes.
Mini aula sobre testes de software descrevendo os conceitos básicos sobre as técnicas utilizadas para testes, verificação e validação no desenvolvimento de software.
Test-Driven Development (TDD) utilizando o framework xUnit.netRenato Groff
Tópicos abordados:
- Motivos que contribuem para a falta de testes
- Quais os impactos da falta de testes?
- Visão geral dos diferentes tipos de testes na área de software
- Testes unitários e a plataforma .NET
- TDD: conceitos gerais
- Implementação de um exemplo prático
- Data-Driven Unit Testing
- Testes unitários e o Visual Studio 2015
Esse slide mostra a necessidade do processo de teste de software nos projetos de desenvolvimento de softwares, vamos demostrar as técnicas, tipos, fases, ferramentas, modelos e normas envolvidas na execução dos testes de software com o intuito de obter um ótimo nível de qualidade dos softwares gerados.
Demonstração de TDD com JUnit sobre um algoritmo de árvore binária.
Conteúdo referente à disciplina Engenharia de Software do curso de Ciência da Computação do Centro Universitário de Belo Horizonte (UniBH), ministrada pelo professor Paulo Henrique Ladeira.
Atenção à órdem dos commits, eles identificam o processo de geração de assinaturas dos métodos, geração de testes e implementação do código.
Código da árvore binária inspirado no seguinte respoitório: https://github.com/Renants/Arvore
Código disponível no repositório https://github.com/guiAlberto/JUnit-Sample
Palestra sobre técnicas e fases de testes, e informações sobre boas e más práticas comuns ao utilizar JUnit para testes de unidade.
Explica também as principais anotações do framework JUnit, e a anotação disponibilizada na versão 4.7: @Rule
Conheça o Junit, Mockito e PowerMock, Frameworks que permitem você criar testes unitários para sistemas de informação. Até menos sistemas não foram pensados para testes.
Mini aula sobre testes de software descrevendo os conceitos básicos sobre as técnicas utilizadas para testes, verificação e validação no desenvolvimento de software.
Test-Driven Development (TDD) utilizando o framework xUnit.netRenato Groff
Tópicos abordados:
- Motivos que contribuem para a falta de testes
- Quais os impactos da falta de testes?
- Visão geral dos diferentes tipos de testes na área de software
- Testes unitários e a plataforma .NET
- TDD: conceitos gerais
- Implementação de um exemplo prático
- Data-Driven Unit Testing
- Testes unitários e o Visual Studio 2015
Esse slide mostra a necessidade do processo de teste de software nos projetos de desenvolvimento de softwares, vamos demostrar as técnicas, tipos, fases, ferramentas, modelos e normas envolvidas na execução dos testes de software com o intuito de obter um ótimo nível de qualidade dos softwares gerados.
Aqui são apresentados as técnicas do framework JUnit
/**Depois que entrei no mundo Java, começei a procurar por conteúdo na internet para estudar, então me deparei com um ótimo site, http://www.argonavis.com.br, de um grande cara chamado Helder Rocha, que disponibiliza este mesmo conteúdo em seu site também. Obrigado pela ajuda a comunidade.*/
No decorrer dos anos o teste de software tem evoluído e com isto
encontramos diversas ferramentas nos dias de hoje que nos ajudam a
entregar um serviço mais maduro e consolidado, uma destas ferramentas
é o Teste de Unidade (PHPUnit), na conversa o palestrante apresenta
alguns recursos para se utilizar junto com o PHPUnit e alguns exemplos
do uso do aplicativo.
Um framework para validação automática de modelos aplicado ao subsistema de e...Italo Pinto Rodrigues
A FRAMEWORK FOR AUTOMATED MODEL VALIDATION APPLIED TO PICOSATELLITE ELECTRIC POWER SUBSYSTEM
Apresentação feita na defesa de mestrado do curso de Engenharia e Tecnologia Espaciais, na área de Engenharia e Gerenciamento de Sistemas Espacias, do Instituto Nacional de Pesquisas Espaciais.
Defense of the master's degree in Space Engineering and Technology, in the area of Engineering and Management of Space Systems, of the National (Brazilian) Institute for Space Research.
Treinamento da ferramenta de automação de testes de software Demoiselle Behave (http://demoiselle.github.io/behave/).
Parte 3: Mostra como realizar testes automáticos em BDD para aplicações Java Desktop
O material de treinamento pode ser encontrado nas instruções a Parte 1 (www.slideshare.net/vandersonsilva9615/treinamento-demoiselle-behave-parte-01)
A apresentação aborda motivação para a realização dessa modalidade de testes, bem como os conceitos principais que precisam ser compreendidos. Também apresenta uma metodologia básica de um teste de desempenho, as principais métricas que necessitam ser capturadas e analisadas e as ferramentas atualmente disponíveis no mercado. Por último são abordados ainda os erros mais comuns ao se planejar e executar essa classe de testes.
Semelhante a Casos teste integração efetiva de algumas unidades (20)
Casos teste integração efetiva de algumas unidades
1. Geração de Casos de
Teste de Integração
Efetiva de algumas
unidades
Pós – Graduação Senac
Engenharia de Software com JEE
2. Introdução
O teste de integração tem como objetivo
descobrir defeitos que são devidos a
interações incorretas entre diferentes
módulos de software
Os casos de teste de integração são
geralmente mais complicados de
desenvolver, e mais difíceis de gerar e
manter do que os casos de teste de
unidade.
3. Continuação...
Propormos uma técnica automática para
gerar casos de teste de integração que
aproveita suítes de teste de unidade
existentes para conduzir geração de
teste para a interação de módulos
complexos.
4. a. Qual é o problema sendo
abordado no artigo e porque
ele é importante.
O teste de unidade tem como objetivo
garantir que os métodos implementados
a pós- condição, pré-especificadas e
implícita.
O teste de integração assegura que os
métodos segui corretamente protocolos
de interação.
5. Continuação...
É importante por que utiliza uma nova
técnica para gerar casos de testes de
integração que aproveita os casos de
testes de unidade existente.
E mostra que o caso de teste gerado
podem encontrar falhas interessantes,
em comparação de testes gerados .
6. Exemplo:
Uma estrutura leve para a criação de
aplicações baseadas no padrão Model
View Controller (MVC). Mostra-se que a
falha depende da interação entre dois
módulos, e como tal podem ser
dificilmente detectados com casos de
teste simples que conferem o
comportamento de unidades individuais.
7. b.Qual a solução ou abordagem
que os autores tiveram para
lidar com o problema.
Gerar casos de teste de integração
complexos a partir de outras unidades
simples que exige o código fonte do
sistema e um conjunto de casos de teste
como entrada e funciona em 3 fases:
1. identificar as dependências de classe
dentro do sistema sob a forma de um
diagrama de relação de objeto;
8. Continua...
2. Calcular as informações de fluxo de
dados dentro dos casos de teste de
entrada, e usar essa informação para
segmentar os casos de teste em
blocos(inicialização e execução);
3. Gerar casos de teste de novos e mais
complexos dos blocos extraídos de casos
de teste de unidade usando a dependência
da classe e informação do fluxo de dados.
9. c. Quais os resultados eles
encontraram
Detectar defeitos que não são detectados pelos
processos de teste de entrada originais.
1. Gerar novos casos de teste a partir da
informação disponível no código e os casos de
teste existentes.
Tabela II
Casos de teste gerado com a fusão e tempo de execução da configuração do ambiente de trabalho
Programas Nº de casos de teste
gerados
Tempo de execução
(min.)
Explorer 420 1
JGraphT 375 1
Apache Ant 540 6
JFreeChart 1350 24
10. Continua...
2. Os casos de teste gerados são uteis,
podem revelar falhas que não são
detectados pelos casos de teste originais.
Tabela III
DEFEITOS ENCONTRADOS COM FUSION, RANDOOP E PALUS rf: falhas de reais; f.p .: falsos positivos
Programas Randoop Palus Fusion
r.f. / f.p. r.f. / f.p. r.f. / f.p.
Explorer 2 / 2 0 / 80 3 / 2
JGraphT 5 / 9 2 / 1 3 / 4
Apache Ant 9 / 128 0 / 94 1 / 7
JFreeChart 23 / 17 2 / 34 3 / 48
Total 39 / 156 4 / 209 10 / 61
11. Continua...
3. Uma abordagem mais eficaz do que
as abordagens existentes para gerar
automaticamente casos de teste, ou
seja, os casos de teste gerados detecta
falhas não reveladas pelos casos de
teste gerados com outras técnicas.
12. d. Quais conclusões os
autores chegaram.
Para gerar casos(integração) de teste
complexos de (unidade) casos de teste
simples, requer apenas código fonte, e utiliza
técnicas clássica para extrair as informações,
para construir casos de teste complexos.
A ideia de combinar sequencias de
inicialização e execução de casos de teste
simples para gerar novos.
Quatro estudos de casos podem encontrar
falhas relevantes em aplicações bem
testadas.
13. e. Quais as criticas dos alunos
ao trabalho.
Difícil entendimento das tabelas e
figuras.
Artigo todo em inglês, tivemos que
traduzir para melhor entendimento.
14. Agradecimentos
Componentes:
Adriana Telles – Analista de Sistema
telles19@gmail.com
Vania Santos – Programadora Java
vniadefranca@gmail.com