Não é segredo para ninguém que testes em dispositivos móveis é uma tarefa difícil, que demanda muito tempo e em geral não sai barato. A grande quantidade de aparelhos e versões de sistemas operacionais são exemplos de causas dessa complexidade. Esta palestra irá apresentar o TestFairy, uma ferramenta incrível para distribuição de aplicativos (de forma controlada) e para coleta de várias informações durante as execuções de seus testers convidados. Será apresentado ainda um caso de uso onde tal ferramenta foi aplicada reduzindo os custos de um teste em escala de um app mobile complexo.
1. Criando um ambiente real de
distribuição de aplicativos
usando TestFairy
Rafael Avelar Pacheco
ravpacheco@gmail.com
2. Rafael Avelar Pacheco
Engenharia de Computação (CEFET-MG / UP)
Mestrando em Modelagem Matemática e
Computacional (CEFET-MG)
Desenvolvedor na Take.Net (C#, Java,
Android e Xamarin)
Co-fundador do Primeiro clube de
assinaturas nerd do Brasil - MyNerdBox
Twitter: @ravpachecco
Blog: ravpacheco.com
Email: ravpacheco@gmail.com
3. Sumário
1. Qualidade
2. Porque criar um ambiente real de
distribuição de aplicativo?
3. TestFairy
4. Capacidades do TestFairy
5. Caso de uso TakeNet
6. Demo
4. Qualidade
“...a qualidade tem muita relação com sexo.
Todo mundo é a favor. Todo mundo se
considera um entendido do assunto. Todo
mundo pensa que a execução é apenas uma
questão de seguir as inclinações naturais. E,
certamente, a maioria das pessoas acha que
problemas nessas áreas são causados pelos
outros.”... Phil Crosb
9. Qualidade
Algumas métricas importantes para qualidade
Facilidade de uso
Desempenho
UI
Diferentes fluxos de funcionalidades
Análises comportamentais
10. Porquê criar um ambiente real e
controlado para a distribuição
de aplicativos ?
26. Ambiente controlado
Como fazer isso de forma controlada ?
Como saber o que exatamente foi testado ?
Como saber como o app aparece em diferentes
aparelhos
Como saber se algo deu errado ?
27. TestFairy
Uma ferramenta completa para
“crowdtest” e que ainda provê toda a
analise que você precisa após cada um
dos testes de sua rede de testers.
42. TestFairy - Features
Outros recursos:
Sem SDK
Suporte inicial para aplicações Xamarin
Scripts para upload automatizado
Integração com sistemas de bugs
O que é (ou o que não é) qualidade?
O que é muito utilizado como sinônimo de qualidade de software ? (deploy, delivery)
Outras métricas importantes para qualidade de software
Porque é importante criar um ambiente real de distribuição de aplicativo? [[Porquê]]
TestFairy [[O que é]]
Capacidades do TestFairy [[Como]]
Caso de uso TakeNet [[Quando]]
Demo
Segundo Phil Crosb, gestão da qualidade de software pode ser comparada com sexo.
Philip B. "Phil" Crosby (Wheeling, 18 de junho de 1926 - Asheville, 18 de agosto de 2001) foi um empresário e escritor estadunidense que contribuiu para a teoria da gestão e métodos de gestão da qualidade. Phil Crosby está associado aos conceitos de "zero defeito" e de "fazer certo à primeira vez". Para ele, qualidade significava conformidade com especificações, que variam conforme a necessidade do cliente.
Em 1952 trabalhou como engenheiro na Crosley Corporation e, em 1957, passou a gestor da qualidade da Martin-Marietta. Foi nesta última que desenvolveu o famoso conceito de "zero defeitos". Em 1965 foi eleito vice-presidente da ITT, onde trabalhou durante 14 anos. Em 1979 fundou a Philip Crosby Associates e lançou a sua famosa obra Quality is Free, um verdadeiro clássico da qualidade que vendeu mais de 2,5 milhões de cópias e foi traduzido para 15 línguas. Em 1991 criou a empresa de formação Career IV, Inc. Em 1996 lançou um novo livro intitulado Quality Is Still Free.
O seu nome ficará para sempre a associado aos conceitos de “zero defeitos” e de “fazer bem à primeira vez”. Na sua opinião, a qualidade significa conformidade com as especificações, que variam consoante as empresas de acordo com as necessidades dos clientes. O objectivo deverá ser sempre ter zero defeitos e não apenas produzir suficientemente bem. Segundo Crosby, esta meta extremamente ambiciosa irá encorajar as pessoas a melhorarem continuamente. Defende também que zero defeitos não é apenas um slogan mas antes um verdadeiro standard de desempenho da gestão e justifica esta ideia com a interrogação: “Se os erros não são tolerados na gestão financeira por que não se faz o mesmo na área industrial?”. Crosby considera a prevenção como a principal causadora de qualidade, pelo que as técnicas não preventivas como a inspecção, o teste e o controlo são pouco eficazes. Em alternativa, apresenta uma "vacina" preventiva que contém três ingredientes: determinação; formação; e liderança. Nos seus famosos 14 pontos para a melhoria da qualidade Crosby encara este esforço como um processo contínuo e não um programa pelo que a melhoria da qualidade deve ser perseguida de modo permanente.
Segundo Crosby, os verdadeiros responsáveis pela falta de qualidade são os gestores, e não os trabalhadores. As iniciativas para a qualidade deverão vir de cima para baixo e para isso é necessário o empenhamento da gestão de topo e a formação técnica dos empregados em instrumentos de melhoria da qualidade.
“...a qualidade tem muito a ver com sexo. Todo mundo é a favor. (Sob certas circunstâncias, é claro.) Todo mundo se considera um entendido do assunto. (Mesmo que não queira ou consiga explicá-lo.) Todo mundo pensa que a execução é apenas uma questão de seguir as inclinações naturais. (Apesar de tudo, no final conseguimos de alguma forma.) E, certamente, a maioria das pessoas acha que problemas nessas áreas são causados pelos outros. (Como se somente eles usassem o tempo para fazer as coisas direito.)”
Como é um tema muito complexo e nos poderiamos ficar aqui discutindo diferentes aspectos sobre o mesmo assunto eu vou tentar partir do que eu acredito não é define completamente a qualidade de software.
Claro que se eu te pedir pra fazer uma calculadora que soma dois números (1 + 1) e vc me der uma que retorna o resultado 3 eu vou ficar triste e vou imaginar que seu software não tem qualidade ... Mas, ainda sim podemos encontrar outras características e métricas importantes para a qualidade
Em linha geral como nós imaginamos qualidade no processo de desenvolvimento de software ...
Mas deixar claro que deploy, delivery ou mesmo só integração contínua é algo muito importante, que eu utilizo e recomendo a todos vcs.
Mas o que acontece após o deploy ??? Não é qualidade ?
Em linha geral como nós imaginamos qualidade no processo de desenvolvimento de software ...
Mas deixar claro que deploy, delivery ou mesmo só integração contínua é algo muito importante, que eu utilizo e recomendo a todos vcs.
Mas o que acontece após o deploy ??? Não é qualidade ?
Em linhas gerais o que eu quero dizer e chamar a atenção hoje é que existem outras métricas importantes pra teste de softwares em geral e que precisamos nos atentar a elas também e não ficar apenas bitolado em encontrar os bugs do coleguinha.
Bom eu falei pra vcs sobre os aspectos gerais da gestão da qualidade de software mas então porque eu preciso criar um ambiente real de distribuição de aplicativos ? O que que isso tem haver com as métricas que eu apontei como importantes no processo de construção de software ?
Bom os aplicativos mobile são uma classe bem específica de aplicação e ainda estamos aprendendo muito sobre como testar apps com cada vez mais qualidade.
Introduzida por Mike Cohn – Escritor de livros sobre Scrum e Agile
Quanto mais alto na piramide menor o numero de testes e menor o numero de feedbacks sobre o que está efetivamente ocorrendo no sistema
Quanto mais baixo na piramide maior o numero de testes e portanto maior o número de feedbaacks
But this pyramid is not applicable to mobile apps and mobile test automation.Mobile testing requires a totally different set of testing activities like movement, sensors, different devices and networks compared to other software like desktop or web applications. Lots of manual testing is required to be sure that a mobile app is working as expected in the different usage scenarios.
Já nas aplicações mobile isso ocorre de forma diferente. Em muitos casos vc não consegue realizar bons testes a menos que vc utilize testes manuais.
Neste caso, Quanto mais alto na piramide maior o número de testes capazes de gerar um grande número de feedbacks sobre o que está efetivamente ocorrendo no sistema
Quanto mais baixo na piramide menor o número de feedbaacks reais
Mas em muitos casos ele é necessário, além disso conseguir automatizar os testes de forma a atingir todo o ambiente de testes
Ainda estamos engatinhando em testes automatizados que efetivamente sejam capazes de emular o comportamento completo dos aplicativos. (Stefan, inclusive falou um pouco sobre isso em sua última apresentação sobre robolectric no último TDC) nós na Takenet utilizamos o robolectric em um projeto recente mas em alguns momentos ele parece atrapalhar um pouco pois dependendo dos recursos que vc exija ele não responde muito bem
Citar os nomes e versões que cada fabricante dá... Em todos esses casos existem alterações no hardware e no software do device
Android device: LG, Samsumg, Motorola, BLU, Asus, Sony, HP
WP: BLU, Nokia 1, 2 ... ∞, A1, A2, ... A∞ até o ∞
Destacar que além de dispositivos, versões ainda temos os diferentes SOs com comportamentos e guide lines diferentes
curva estourando e algo dizendo que quanto maior o x e o y pior o caso para testar
Tem alguém aqui que trabalha na LG ou na SAMSUNG ??? Se sim... Belas empresas adoroo... hahahha to brincando ...
(Pausa para uma pergunta) Alguém pode me dizer porque as fabricantes conseguem piorar o Sistema Operacional ? Não é melhor dedicar os desenvolvedores para fazerem o bem ou invés de ficar do lado negro da força ? (colocar foto do star wars)
Tem alguém aqui que trabalha na LG ou na SAMSUNG ??? Se sim... Belas empresas adoroo... hahahha to brincando ...
(Pausa para uma pergunta) Alguém pode me dizer porque as fabricantes conseguem piorar o Sistema Operacional ? Não é melhor dedicar os desenvolvedores para fazerem o bem ou invés de ficar do lado negro da força ? (colocar foto do star wars)
Cell phone signal mapping service OpenSignal publishes a yearly "Android Fragmentation" report, which looks at the myriad of devices that the service sees. In 2014, the service saw over 18,000 different Android devices—a 60 percent jump from the company's 2013 report. Google's own statistics say that only 0.7 percent of devices are running the latest version of Android. Compare that to iOS, where Apple says 82 percent of devices are running the latest major version. Only a handful of different iOS device models have even been built by Apple.
Então com tanto SO, tantas versões, tantos dispositivos, tanta criatividade das montadoras de aparelho em modificar as coisas vc já se imaginou testando mais um mesmo app em mais de 200 ambientes ??? É claro que é uma extrapolação esse valor mas na prática a quantidade de ambientes é realmente gigantesco
A Apple pensou nisso pra vc e colocou seu celular custando 3499, fora o MAC que vc precisa ter pra compilar, desenvolver e etc...
A apple é show de bola...
Mais ai um de vcs pode me dizer .... Huuum muito bonito tudo isso ai que esse cara ta falando mas é só utilizar uma solução de test de grid por exemplo que eu não preciso fazer tanto teste. Concordo com vcs, mas já pararam pra ver o preço dessas soluções ??
Sauce labs tem opção mais em conta mas só pra emuladores de devices
BrowserStack é mais focadas em testes de browsers mas tbem tem opção para dispositivos mobile com o preço um pouco mais em conta
Por fim, pra dar mais credibilidade que este assunto é realmente interessante o google anunciou no Google IO recentemente o Cloud test Lab
Sabendo disso o melhor seria q vc conseguisse colher o maior numero de feedbacks, melhorias e bugs dos próprios usuários... Sem acabar com a reputação do seu APP
Quando vc entra em um bar, o que as pessoas estão fazendo ? Celular.
Quando vc chega em casa, o que as pessoas estão fazendo ? Celular.
Na escola ? Celular.
No trabalho ? Celular.
No campo de futebol ?
Agora imagina ter essa horda de zumbis ao seu favor ? Imagina todas as pessoas, todos os devices, testando seus aplicativos sem vc fazer nada
Colocar as frases de forma diferente
Free
Imagens
Imagens
Imagens
Imagens
Vc não precisa de código extra, não precisa de SDK.
Suporte inicial para aplicações Xamarin
Possibilidade de utilizar script para upload de aplicativos.
Talvez trocar para imagens ao invés de texto por exemplo https://app6.testfairy.com/projects/50-groupshot/builds/4461/sessions/17/?accessToken=C7fplNuETC94Sd89RrkRm2aarfQ#t=0m35s
Vc não precisa de código extra, não precisa de SDK.
Suporte inicial para aplicações Xamarin
Possibilidade de utilizar script para upload de aplicativos.
Talvez trocar para imagens ao invés de texto por exemplo https://app6.testfairy.com/projects/50-groupshot/builds/4461/sessions/17/?accessToken=C7fplNuETC94Sd89RrkRm2aarfQ#t=0m35s
Vc não precisa de código extra, não precisa de SDK.
Suporte inicial para aplicações Xamarin
Possibilidade de utilizar script para upload de aplicativos.
Talvez trocar para imagens ao invés de texto por exemplo https://app6.testfairy.com/projects/50-groupshot/builds/4461/sessions/17/?accessToken=C7fplNuETC94Sd89RrkRm2aarfQ#t=0m35s
Vc não precisa de código extra, não precisa de SDK.
Suporte inicial para aplicações Xamarin
Possibilidade de utilizar script para upload de aplicativos.
Talvez trocar para imagens ao invés de texto por exemplo https://app6.testfairy.com/projects/50-groupshot/builds/4461/sessions/17/?accessToken=C7fplNuETC94Sd89RrkRm2aarfQ#t=0m35s
Vc não precisa de código extra, não precisa de SDK.
Suporte inicial para aplicações Xamarin
Possibilidade de utilizar script para upload de aplicativos.
Talvez trocar para imagens ao invés de texto por exemplo https://app6.testfairy.com/projects/50-groupshot/builds/4461/sessions/17/?accessToken=C7fplNuETC94Sd89RrkRm2aarfQ#t=0m35s
Vc não precisa de código extra, não precisa de SDK.
Suporte inicial para aplicações Xamarin
Possibilidade de utilizar script para upload de aplicativos.
Talvez trocar para imagens ao invés de texto por exemplo https://app6.testfairy.com/projects/50-groupshot/builds/4461/sessions/17/?accessToken=C7fplNuETC94Sd89RrkRm2aarfQ#t=0m35s
Vc não precisa de código extra, não precisa de SDK.
Suporte inicial para aplicações Xamarin
Possibilidade de utilizar script para upload de aplicativos.
Talvez trocar para imagens ao invés de texto por exemplo https://app6.testfairy.com/projects/50-groupshot/builds/4461/sessions/17/?accessToken=C7fplNuETC94Sd89RrkRm2aarfQ#t=0m35s
Vc não precisa de código extra, não precisa de SDK.
Suporte inicial para aplicações Xamarin
Possibilidade de utilizar script para upload de aplicativos.
Talvez trocar para imagens ao invés de texto por exemplo https://app6.testfairy.com/projects/50-groupshot/builds/4461/sessions/17/?accessToken=C7fplNuETC94Sd89RrkRm2aarfQ#t=0m35s
Vc não precisa de código extra, não precisa de SDK.
Suporte inicial para aplicações Xamarin
Possibilidade de utilizar script para upload de aplicativos.
Talvez trocar para imagens ao invés de texto por exemplo https://app6.testfairy.com/projects/50-groupshot/builds/4461/sessions/17/?accessToken=C7fplNuETC94Sd89RrkRm2aarfQ#t=0m35s
Vc não precisa de código extra, não precisa de SDK.
Suporte inicial para aplicações Xamarin
Possibilidade de utilizar script para upload de aplicativos.
Talvez trocar para imagens ao invés de texto por exemplo https://app6.testfairy.com/projects/50-groupshot/builds/4461/sessions/17/?accessToken=C7fplNuETC94Sd89RrkRm2aarfQ#t=0m35s
Vc não precisa de código extra, não precisa de SDK.
Suporte inicial para aplicações Xamarin
Possibilidade de utilizar script para upload de aplicativos.
Talvez trocar para imagens ao invés de texto por exemplo https://app6.testfairy.com/projects/50-groupshot/builds/4461/sessions/17/?accessToken=C7fplNuETC94Sd89RrkRm2aarfQ#t=0m35s
Colocar uma foto de pessoas da Take Testando
E são essas melhorias que nos ajudam na Qualidade ...
Caso sobre menos de 5 min - Mostrar um relatório de apps da minha conta que já existam com vídeos
Caso sobre de 5 a 7 min – Mostrar um exemplo de upload de arquivo e download por um tester gerando crash
Mostrar que após deletar o Build o app expira e não é possivel mais utiliza-lo
Caso sobre proximo de 10 min – Mostrar um exemplo de integração contínua