tdc continuous testing
Post on 21-Oct-2014
156 views
DESCRIPTION
Constantemente os testadores são desafiados com prazos agressivos e escopos mal definidos, e não há ferramenta que salve os testadores nessas horas. Porém a prática de testes contínuos tem como objetivo adiantar os testes e realizá-los no momento em que eles tem maior valor para toda a equipe. Essa palestra vai abordar como implantar essa prática em conjunto com outras práticas como integração contínua, virtualização de serviços e automação efetiva de testes.TRANSCRIPT
© 2014 IBM Corporation
The Developers ConferenceThe Developers Conference
A prática de testes contínuos - quebrando barreiras na organização para melhores resultados
Walter Farias – [email protected] Technical Professional
Aprendizagem atrasada, é por isso que projetos tradicionais falham
Semanas/Meses para validar se o código atendem os requisitos
Meses ou Anos para aprender se as ideias/requisitos atendem as necessidades do mercado
Time para feedback do cliente é dirigido pelo risco
Tradicionalmente•Organizações procuram um equilibrio entre: velocidade, custo & risco.
•Times de desenvolvimento não foram tão ágeis com são hoje; testes nunca tem tempo suficiente
Time para feedback do cliente é dirigido pelo risco
Tradicionalmente•Organizações procuram um equilibrio entre: velocidade, custo & risco.
•Times de desenvolvimento não foram tão ágeis com são hoje; testes nunca tem tempo suficiente
*Survey of 250 Testers
90% dos testadores tem alguma ,mas não “completa” confiança no softwareque está sendo entregue.
34% daqueles que não expressou nenhuma
mudança foram regulamente entregue
trimestralmente ou melhor
34% daqueles que não expressou nenhuma
mudança foram regulamente entregue
trimestralmente ou melhor
Desvio a esquerda: pra vencer no mercado, aprenda rápido
• As empresas estão perguntando para seus times como entregar software com melhor qualidade
• Times de desenvolvimento estão se tornando mais e mais ágeis; Testes ainda parece nunca ter tempo suficiente.
Foco: Teste de Integração
Está quase pronto!!
Só preciso fazer aquela pequena
integração no final.
Está quase pronto!!
Só preciso fazer aquela pequena
integração no final.
Teste de Integração no final do ciclo de vida
100%
Cronograma Projeto
Pro
gre
sso
do
Des
envo
l.(%
có
dig
o)
Data Original
Integração Começam
Antecipar a validação conduz a uma curva suave
100%
Cronograma Projeto
Pro
gre
sso
Des
envo
l.(%
có
dig
o)
Estratégia
1. Implantar toda solução em um ambiente de Teste
2. Setup cenários de teste
3. Run Teste de regressão
4. Criar “visão boa” da versão do sistema
5. Repetir quando tiver mudanças
Então… por que não estamos fazendo isso?
A aplicação tem várias partes
Image from ischool.tv
Entregando aplicativos compostos
Desafios
1. Implantar toda solução em um ambiente de Teste
2. Setup cenários de teste
3. Run Teste de regressão
4. Criar “visão boa” da versão do sistema
5. Repetir quando tiver mudanças
coordenar as
mudanças
coordenar as
mudanças
ProvisionamentoProvisionamento
Rastrear / Coletar versões que estão em
teste
Rastrear / Coletar versões que estão em
teste
Testes é frequêntemente confrontado com atrasos e gargalos
Desafios diários dos testes
1. Dificuldade para automatizar testes quando os serviços dependentes têm que ser desenvolvido
2. A falta de produção completa em um laboratório de testes3. Software e / ou sistemas ainda não existem e as
prioridades podem ser diferentes entre equipes de desenvolvimento
4. Testes com os serviços de terceiros poderá resultar em custos de acesso, elevando o custo dos testes
5. Defeitos que bloqueiem podem interromper os testes end-to-end
6. Simplesmente não há tempo suficiente devido a todas as interrupções!
Continuous Testing é… Validar diáriamente aplicações compostas mais cedo e com o custo menor
Continuous Testing
DevOps Foundation
Automação Teste
• Execução autônoma• Validar fluxo de negócio
em todos canais• Durável, fácil manutenção,
resiliente mudança
Implantação automatizada em ambientes de teste
• Confiável • Repetitivo • Rastreável
Ambiente Teste
• Realistico & Completo - (Similar Produção)
• Disponível sob demanda• Barato para montar
Continuous Testing é…Criar ambiente de teste similar a produção
Ambiente de teste Ágil requer quatro capacidades
Infraestrutua Dinâmica
Entrega Automatizada
Test Environments
DevOps Foundation
Virtualização de Serviços
Gestão dos DadosTeste
Lidando com Software & Serviços Indisponíveis
Incrementalmente Testando a IntegraçãoIncrementalmente Testando a Integração
Virtualização habilita a continuidade na integração e nos testes
Serviços, aplicações, sistemas são introduzidos dentro do ciclo de integração contínua de forma priorizada, controlada.
Abordagem completa para o paralelismo do desenvolvimento
Solução de Virtualização em Testes tem papel chavenum Ciclo Moderno de Desenvolvimento de Software
Actual Service/App
Virtual Service/App
Databases InternalMessages
Third-partyServices
virtual components
Simultaneously test across
multiple test stages
DevDev QAQA
IBM Rational TestVirtualization Server
Combining continuous testing withSolução IBM para Continuous Testing
IBM UrbanCodeDeploy
IBM RationalTest Workbench
integrated with
Test Environments
Dynamic Infrastructure
Deploy what is ready, virtualize the rest
Continuously test in production-like env.
Deploy private, secure right sized test data
IBM InfoSphereOptim Test Data Mgmt
UC Deploy Plugins
IBM RationalQuality Manager
Manage quality across the delivery lifecycle
Resumo
• Chegar ao mercado mais rápido exige testes mais rápidos
• Testadores precisam de testes automatizados, ambientes para executá-los, e os últimos códigos nesses ambientes.
• Ambientes complexos podem ser simplificados com virtualização de serviços.
• Implementações complexas pode ser controlada com aplicação de Automação de Entrega.
• Continuous Testing juntamente com Continuous Deployment, verifica software / valida o processo de implantação
Próximas Palestras IBM:
Thank You