O documento apresenta uma palestra sobre o desenvolvimento de aplicativos móveis usando Xamarin e testes automatizados. O palestrante discute os desafios do desenvolvimento mobile, como múltiplos sistemas operacionais e dispositivos, e propõe o uso de C# e Xamarin para compartilhar código entre plataformas. Ele também argumenta que testes automatizados melhoram a qualidade e manutenibilidade do código, reduzindo bugs.
4. #MVPConf
Desafios Mobile
• Múltiplos Sistemas Operacionais
• Tempo do “devloop” demorado
• Vários tamanhos de telas
• Vários aparelhos diferentes
• Sistemas operacionais customizados
• Múltiplas lojas para dar suporte
• Controle na mão do usuário
5. #MVPConf
Impactos de problemas
em apps
Deletam o app imediatamente
Conta para os amigos o quanto o app é ruim
Deletam o app se ele trava por mais de 30 seg.
Compartilha em redes sociais o quanto o app é ruim
11. #MVPConf
Problemas existentes
no app atual
Devagar para lançar novas versões
Bugs + Falta de confiança para refatorar
Código mal modelado
Penoso de evoluir + ambiente desconhecido
17. #MVPConf
Interfaces Nativas Acesso às API
Nativas
Performance Nativa
Tudo que você pode fazer com Objetice-C, Swift ou Java, você pode fazer com C# e Xamarin
O que é nativo?
23. #MVPConf
Testes Automatizados
• São ótimos
• Deixa o código mais coeso
• Deixa a base de código mais fácil de dar manutenção
• Diminui a quantidade de bugs em produção
• Auto documenta o código
28. #MVPConf
“Testes automatizados
são caros”
• Ariane 5
• 10 anos para ser construído
• 7 bilhões de dólares investidos
• 370 milhões de dólares para
um voo
• Bug causado por overflow de
integer
29. #MVPConf
“Mas testes automatizados
são difíceis”
Pesquisas mostram que:
• Gasta-se mais dinheiro e tempo com manutenção de
código do que com desenvolvimento de código
• Escrever testes aumenta a produtividade e aumenta a
qualidade do código
31. #MVPConf
Testes de unidade
• Testes que verificam uma unidade de funcionamento
de forma isolada
• Devem rodar muito rápido
• Mais fáceis de manter
• Dão feedback mais rápido sobre o código
32. #MVPConf
Testes de integração
• Verificam se as partes do sistema estão interagindo
corretamente entre si
• Um pouco mais custosos de escrever e executar
33. #MVPConf
Testes de UI
• Validam que a aplicação inteira, incluindo a interface
gráfica, está funcionando como esperado
• Também chamados de “end-to-end”, testes de
aceitação ou testes funcionais.
• São mais custosos de manter
• Podem muitas vezes ser frágeis
• Podem ser um bom ponto de partida para sistemas
legados
39. #MVPConf
Links
• Demo Xamarin.Forms + TDD
• Repositório original da interface (Steven Thewissen)
• Boas práticas para testes de aceitação com Xamarin
40. Sorteios dos Brindes
#MVPConf
Clique Aqui para Iniciar o Sorteio
Somente participarão dos sorteios os
participantes que estiverem inscritos
nas palestras e responderem as
pesquisas de satisfação.