SlideShare une entreprise Scribd logo
1  sur  4
Télécharger pour lire hors ligne
DevQA: UI Testing , como fazer? - por Kamilla Queiróz
Os testes de interfaces são uma das atividades mais trabalhosas e difíceis de serem
executadas, pois além do aspecto subjetivo da pessoa que está testando e a complexidade
das técnicas envolvidas, ainda existe a questão de saber se efetivamente aquela interface
será funcional para o usuário que irá usar o sistema.
Como fazer testes de interfaces ? Será que só existe a forma manual ? Porque são tão difíceis
de fazer e manter ? Esse artigo tenta mostrar o que pode ser testado e quais as dificuldades
no que não pode ser testado efetivamente.
Se tentarmos focar no que podemos avaliar nos testes de interface, poderíamos resumir em:
1 - Testar se a informação está correta;................................................................
2 - Testar se as mudanças na tela esperadas foram causadas pela ação correta;.............
3 - Testar as capacidades de acessibilidade;..............................................................
4 - Verificar a usabilidade da aplicação.
1 - Testar se a informação está correta
Para saber se as informações estão corretas, de início, podemos começar com uma técnica
simples de verificação ortográfica, onde as palavras são verificadas baseadas em um
dicionário, usando a ferramenta Apache Lucene.
Verificar se os nomes dos campos estão corretos ou se eles fazem sentido pro usuário, já faz
parte da questão subjetiva de cada usuário e conhecimento prévio do nicho de negócio que a
aplicação está atendendo.
Por exemplo, um campo Valor do Lançamento de Crédito para um contador experiente pode
ser muito simples, mas para um estagiário de contábeis do primeiro semestre que está
iniciando sua carreira, ao contrário, pode ser um fator que eleve a complexidade do
entendimento.
Algumas técnicas como interfaces heurísticas, falam de psicologia para tratar a informação de
forma efetiva para o usuário, então fica fora do espoco de teste e sim fazendo parte do
espoco do projetista da interface reconhecer esse melhor padrão. O que podemos fazer, é
rastrear se a interface está chegando no objetivo pretendido, ou seja, se um dado usuário
está conseguindo fazer o que ele quer, onde falaremos mais a frente.
Para aplicações web, podemos testar também quanto a informação, se os links, se o CSS e o
HTML estão dentro dos padrões. Isso mitiga problemas de interfaces em diferentes browsers e
diferentes dispositivos.
Ferramentas como a W3C Tools podem verificar isso de forma manual ou de forma automática
usando uma API
2 - Testar se as mudanças na tela esperadas foram causadas pela ação correta.
Verificar se o usuário clicar no botão "Tipos de pagamentos" e a aplicação mostrar os tipos de
pagamento possíveis dado um certo produto é uma das ações que podemos testar quanto à
interface. Isso é levantado facilmente pelos cenários de teste especificados.
Contudo, se fizermos um mapeamento de todos os fluxos possíveis dos cenários que foi
especificado, teremos uma explosão de possibilidades, assim, o foco é criar scripts de teste
que consigam uma boa cobertura do código, ou seja, aqui temos que fazer os scripts
pensando em chegar em todas as possibilidades do código e não dos fluxos alternativos dos
cenários. É importante perceber essa distinção.
Nesse ponto, já esperamos que a qualidade de cobertura dos cenários para o negócio que
estamos criando já esteja em um nível aceitável. Caso não, e, possivelmente acontecerá, os
fluxos alternativos mostraram 'furos' nos cenários, e assim mais cenários para cobrir todas as
possibilidades devem ser feitos e logo mais código deves ser criados para atender essas
funcionalidades. No final, iremos verificar a cobertura do código e não dos fluxos..
3 - Testar as capacidades de acessibilidade
Acessibilidade trata da questão que pessoas que não tem tanta habilidades ou que tenham
alguma deficiência ou restrição, possam usar a aplicação, ou seja, significa que as pessoas
com menos habilidade ainda possam perceber, entender, navegar e interagir como o sistema.
A W3C, também tem vários guias que descrevem inúmeros itens de acessibilidade que
podemos ter na nossa aplicação e lista várias ferramentas que podemos usar para avaliação
do nosso sistema.
- Lista de Itens de Acessibilidade...........................................................................
- Wave - Ferramenta de Medição de Acessibilidade
Por exemplo, um dos testes dentro da ferramenta é o teste de contraste, que verifica se as
cores se diferem em um nível possível, para que uma pessoa que tenha alguma deficiência
visual possa reconhecer. Ele também é um bom indicador para mostrar onde você quer
gostaria de atrair uma maior atenção de usuários comuns, ou seja, um botão de concluir uma
ação como uma compra ou pagamento.
Você pode fazer isso utilizando plugins como por exemplo para o Chrome: Accessibility
Developer Tools.
4 - Verificar a usabilidade da aplicação
Como mencionado mais acima, não podemos avaliar ainda com certeza a efetividade de uma
interface para um dado usuário antes de que a aplicação esteja em uso, mas podemos
verificar se ele está conseguindo fazer o que realmente ele quer.
Ferramentas como fluxo de comportamento, usando mecanismos como Clickstream ou
Heatmap, avaliam os caminhos que o usuários usaram para conseguir fazer o que ele
realmente desejavam, ou seja, se o usuário ficou procurando em cada menu a opção que ele
queria ou se ele entrou em várias telas e clicou no cancelar. Mostrando assim um padrão de
comportamento, e dessa forma pode sugerir que a interface não está adequada ao perfil de
usuário pretendido.
Nesse sentido já há algumas ferramentas sendo usadas, por exemplo a Loop11, mas ainda
existe outras.
Automatizando Testes de Interface
Sabemos então que Teste de Interface se difere dos testes de classe por exemplo, por como
dito, trabalhamos com elementos e interações de usuários, mas que tem tanto valor agregado
quanto os testes realizados em server-side.
E automatizando os testes de interface, ganharíamos na identificação dos problemas
encontrados. Mas alguns pontos devem ser motivadores quanto a automação desses testes:
- Em inclusões de novas funcionalidades em uma dada página, com o reaproveitamento,
modificação ou sobrescrita de algum Javascript por exemplo, se já automatizado esses testes,
é possível verificar onde os testes pararam e fazer a análise do erro;
- Atualização de biblioteca, caso os testes de interfaces estejam automatizados, a equipe de
testes e qualidade não gastaria tempo demasiado na validação dessa atualização;
- Scripts costumam ser mais simples, assim todos os integrantes da equipe são capazes de
realizar manutenção e atualização;
Garantia de evolução
Outra questão para aumentar o esforço nos testes de interfaces, é a questão da manutenção.
Se eu construir vários scripts que testam minha interface, qualquer modificação que pode ser
simples na perspectiva de código, pode ser um terror para a perspectiva dos testes de
interface.
Assim, é importante componentizar usando padrões de projeto para testes, como podemos vê
em Page Objects e Builder. Da mesma forma que temos reuso e a componentização na
implementação, scripts de testes também são códigos, e precisam de um bom nível de reuso
e modificabilidade.
Dependendo do nível de estabilidade do sistema, podemos querer somente garantir que a
interface não mude, por exemplo durante um refactoring de código, ou alguma
reestruturação interna necessária para para evolução do sistema ou infraestrutura.
Assim, podemos investir em Testes de Regressão Visual, onde é feito o armazenamento em
formato de imagens ou screenshots da aplicação, para posterior verificação de forma
automática.
Assim podemos investir tempo na execução dos Testes de Interface abordando:
Quanto à acessibilidade
- Testes de Contrates.........................................................................................
- Verificador de Links.........................................................................................
- Verificador de CSS...........................................................................................
- Verificador de HTML.........................................................................................
- Verificador de JavaScript
Quanto à usabilidade
-Rastreio de Ações.............................................................................................
-Heatmap......................................................................................................
-Clickstream Analysis
Links Relacionados:
- Best Web Analytics 2.0 Tools: Quantitative, Qualitative, Life Saving!..............................
- Testing the user interface: Automated and exploratory testing....................................
- Uso de Headless Browsers em Testes Automatizados................................................
- Um pouco sobre as palestras no TDC 2015 Florianópolis.........................................
- Introdução à Interfaces Eurísticas........................................................................
- Ferramentas de Teste de Usabilidade...................................................................
- Applitools.....................................................................................................
- Validaor de API...............................................................................................
- W3C Tools.....................................................................................................
- Phantomjs.org................................................................................................
Publicado originalmente em O Tapioca: http://www.otapioca.com.br/?p=2910

Contenu connexe

Tendances

Caipira agil automacao front end selenium
Caipira agil automacao front end seleniumCaipira agil automacao front end selenium
Caipira agil automacao front end seleniumQualister
 
Automação Mobile com BDD
Automação Mobile com BDDAutomação Mobile com BDD
Automação Mobile com BDDLucas Gomes
 
BDD (Behavior-Driven Development) - Setembro/2015
BDD (Behavior-Driven Development) - Setembro/2015BDD (Behavior-Driven Development) - Setembro/2015
BDD (Behavior-Driven Development) - Setembro/2015Renato Groff
 
[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...
[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...
[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...minastestingconference
 
Como testar aplicativos ios e android
Como testar aplicativos ios e androidComo testar aplicativos ios e android
Como testar aplicativos ios e androidQualister
 
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014Teste de performance na nuvem com JMeter e BlazeMeter TDC2014
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014Qualister
 
Automacao de testes com keyword driven
Automacao de testes com keyword drivenAutomacao de testes com keyword driven
Automacao de testes com keyword drivenQualister
 
Automação de Teste Funcionais - Selenium
Automação de Teste Funcionais - SeleniumAutomação de Teste Funcionais - Selenium
Automação de Teste Funcionais - SeleniumIsrael Santiago
 
Agile testing
Agile testingAgile testing
Agile testingQualister
 
InterCon - Automatizando Visual Regression Testing
InterCon - Automatizando Visual Regression TestingInterCon - Automatizando Visual Regression Testing
InterCon - Automatizando Visual Regression TestingSamanta Cicilia
 
Ihc Aula8 M I Avaliacao Heuristica
Ihc Aula8 M I Avaliacao HeuristicaIhc Aula8 M I Avaliacao Heuristica
Ihc Aula8 M I Avaliacao HeuristicaFabiano Damiati
 
Como empoderar a qualidade rumo a transformacao digital
Como empoderar a qualidade rumo a transformacao digitalComo empoderar a qualidade rumo a transformacao digital
Como empoderar a qualidade rumo a transformacao digitalJoyce Bastos
 
Engenharia de Software II - Teste de segurança de software
Engenharia de Software  II - Teste de segurança de softwareEngenharia de Software  II - Teste de segurança de software
Engenharia de Software II - Teste de segurança de softwareJuliano Padilha
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agileAlini Rebonatto
 

Tendances (20)

Caipira agil automacao front end selenium
Caipira agil automacao front end seleniumCaipira agil automacao front end selenium
Caipira agil automacao front end selenium
 
Papéis em teste e qualidade de software
Papéis em teste e qualidade de softwarePapéis em teste e qualidade de software
Papéis em teste e qualidade de software
 
Selenium WebDriver com Docker
Selenium WebDriver com DockerSelenium WebDriver com Docker
Selenium WebDriver com Docker
 
Automação Mobile com BDD
Automação Mobile com BDDAutomação Mobile com BDD
Automação Mobile com BDD
 
BDD (Behavior-Driven Development) - Setembro/2015
BDD (Behavior-Driven Development) - Setembro/2015BDD (Behavior-Driven Development) - Setembro/2015
BDD (Behavior-Driven Development) - Setembro/2015
 
[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...
[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...
[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...
 
Como testar aplicativos ios e android
Como testar aplicativos ios e androidComo testar aplicativos ios e android
Como testar aplicativos ios e android
 
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014Teste de performance na nuvem com JMeter e BlazeMeter TDC2014
Teste de performance na nuvem com JMeter e BlazeMeter TDC2014
 
Automacao de testes com keyword driven
Automacao de testes com keyword drivenAutomacao de testes com keyword driven
Automacao de testes com keyword driven
 
Automação de Teste Funcionais - Selenium
Automação de Teste Funcionais - SeleniumAutomação de Teste Funcionais - Selenium
Automação de Teste Funcionais - Selenium
 
Agile testing
Agile testingAgile testing
Agile testing
 
InterCon - Automatizando Visual Regression Testing
InterCon - Automatizando Visual Regression TestingInterCon - Automatizando Visual Regression Testing
InterCon - Automatizando Visual Regression Testing
 
Análise Heuristica
Análise HeuristicaAnálise Heuristica
Análise Heuristica
 
Ihc Aula8 M I Avaliacao Heuristica
Ihc Aula8 M I Avaliacao HeuristicaIhc Aula8 M I Avaliacao Heuristica
Ihc Aula8 M I Avaliacao Heuristica
 
Testlink apresentacao
Testlink apresentacaoTestlink apresentacao
Testlink apresentacao
 
Como empoderar a qualidade rumo a transformacao digital
Como empoderar a qualidade rumo a transformacao digitalComo empoderar a qualidade rumo a transformacao digital
Como empoderar a qualidade rumo a transformacao digital
 
Selenium
SeleniumSelenium
Selenium
 
Engenharia de Software II - Teste de segurança de software
Engenharia de Software  II - Teste de segurança de softwareEngenharia de Software  II - Teste de segurança de software
Engenharia de Software II - Teste de segurança de software
 
Prototipação
PrototipaçãoPrototipação
Prototipação
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agile
 

Similaire à DevQA: UI Testing , como fazer?

Teste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATSTeste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATSFabrício Campos
 
A Arte dos Testes de Performance Aplicacional
A Arte dos Testes de Performance AplicacionalA Arte dos Testes de Performance Aplicacional
A Arte dos Testes de Performance AplicacionalNuno Baptista Rodrigues
 
ALM - Testes Exploratórios
ALM - Testes ExploratóriosALM - Testes Exploratórios
ALM - Testes ExploratóriosAlan Carlos
 
Testes De Software - Uma Visão Geral
Testes De Software - Uma Visão GeralTestes De Software - Uma Visão Geral
Testes De Software - Uma Visão Geralpaulo peres
 
Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Ramon Durães
 
Este trabalho trata
Este trabalho trataEste trabalho trata
Este trabalho trataRoni Reis
 
Testes remotos de usabilidade
Testes remotos de usabilidadeTestes remotos de usabilidade
Testes remotos de usabilidadeLuiz Agner
 
Tipos de automação de teste
Tipos de automação de testeTipos de automação de teste
Tipos de automação de testeMarcos Pessoa
 
Aplicações web acessíveis
Aplicações web acessíveisAplicações web acessíveis
Aplicações web acessíveisLeandro Borges
 
Resumo capítulo 1 livro Engenharia de Software Moderna
Resumo capítulo 1 livro Engenharia de Software ModernaResumo capítulo 1 livro Engenharia de Software Moderna
Resumo capítulo 1 livro Engenharia de Software ModernaLucasBastos305659
 
Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015Rodrigo Marinho
 
INTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdf
INTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdfINTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdf
INTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdfRonaldAlves15
 
Noções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoNoções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoSandy Maciel
 
Especificação de Requisitos de Software
Especificação de Requisitos de SoftwareEspecificação de Requisitos de Software
Especificação de Requisitos de SoftwareRalph Rassweiler
 
Testando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a pontaTestando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a pontatdc-globalcode
 
Palestra - Testes de Acessibilidade
Palestra - Testes de AcessibilidadePalestra - Testes de Acessibilidade
Palestra - Testes de AcessibilidadeFernando Ruano
 
Palestra GUTS - Viabilidade da Automacao Teste Software e Demo QTP
Palestra GUTS - Viabilidade da Automacao Teste Software e Demo QTPPalestra GUTS - Viabilidade da Automacao Teste Software e Demo QTP
Palestra GUTS - Viabilidade da Automacao Teste Software e Demo QTPPriscila Coelho S. Blauth
 

Similaire à DevQA: UI Testing , como fazer? (20)

Teste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATSTeste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATS
 
A Arte dos Testes de Performance Aplicacional
A Arte dos Testes de Performance AplicacionalA Arte dos Testes de Performance Aplicacional
A Arte dos Testes de Performance Aplicacional
 
ALM - Testes Exploratórios
ALM - Testes ExploratóriosALM - Testes Exploratórios
ALM - Testes Exploratórios
 
Testes De Software - Uma Visão Geral
Testes De Software - Uma Visão GeralTestes De Software - Uma Visão Geral
Testes De Software - Uma Visão Geral
 
Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016Keynote Visual Studio Summit 2016
Keynote Visual Studio Summit 2016
 
Este trabalho trata
Este trabalho trataEste trabalho trata
Este trabalho trata
 
Testes remotos de usabilidade
Testes remotos de usabilidadeTestes remotos de usabilidade
Testes remotos de usabilidade
 
Tipos de automação de teste
Tipos de automação de testeTipos de automação de teste
Tipos de automação de teste
 
Aplicações web acessíveis
Aplicações web acessíveisAplicações web acessíveis
Aplicações web acessíveis
 
Resumo capítulo 1 livro Engenharia de Software Moderna
Resumo capítulo 1 livro Engenharia de Software ModernaResumo capítulo 1 livro Engenharia de Software Moderna
Resumo capítulo 1 livro Engenharia de Software Moderna
 
Escalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLIDEscalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLID
 
Arquitetura de sistemas web
Arquitetura de sistemas webArquitetura de sistemas web
Arquitetura de sistemas web
 
Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015
 
Prototipagem
PrototipagemPrototipagem
Prototipagem
 
INTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdf
INTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdfINTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdf
INTRODUÇÃO AOS TESTES NO FRONT-END COM REACT JS E REACT NATIVE.pdf
 
Noções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoNoções em teste de software e introdução a automação
Noções em teste de software e introdução a automação
 
Especificação de Requisitos de Software
Especificação de Requisitos de SoftwareEspecificação de Requisitos de Software
Especificação de Requisitos de Software
 
Testando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a pontaTestando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
Testando sua aplicação asp.net mvc de forma automatizada de ponta a ponta
 
Palestra - Testes de Acessibilidade
Palestra - Testes de AcessibilidadePalestra - Testes de Acessibilidade
Palestra - Testes de Acessibilidade
 
Palestra GUTS - Viabilidade da Automacao Teste Software e Demo QTP
Palestra GUTS - Viabilidade da Automacao Teste Software e Demo QTPPalestra GUTS - Viabilidade da Automacao Teste Software e Demo QTP
Palestra GUTS - Viabilidade da Automacao Teste Software e Demo QTP
 

Plus de Kamilla Queiroz Xavier

PDA & Moving Motivators - Combine e Potencialize seus liderados.pptx
PDA & Moving Motivators - Combine e Potencialize seus liderados.pptxPDA & Moving Motivators - Combine e Potencialize seus liderados.pptx
PDA & Moving Motivators - Combine e Potencialize seus liderados.pptxKamilla Queiroz Xavier
 
LIDERAR - Relatos e Paradigma de uma nova Líder
LIDERAR - Relatos e Paradigma de uma nova LíderLIDERAR - Relatos e Paradigma de uma nova Líder
LIDERAR - Relatos e Paradigma de uma nova LíderKamilla Queiroz Xavier
 
PDA & Moving Motivators - Um reforço para o seu trabalho com PDI
PDA & Moving Motivators - Um reforço para o seu trabalho com PDIPDA & Moving Motivators - Um reforço para o seu trabalho com PDI
PDA & Moving Motivators - Um reforço para o seu trabalho com PDIKamilla Queiroz Xavier
 
[ O mercado] desenvolvimento de software [ detalhes & curiosidades]
[ O mercado] desenvolvimento de software [ detalhes & curiosidades][ O mercado] desenvolvimento de software [ detalhes & curiosidades]
[ O mercado] desenvolvimento de software [ detalhes & curiosidades]Kamilla Queiroz Xavier
 
Vamos conversar sobre transição de carreira?
Vamos conversar sobre transição de carreira?Vamos conversar sobre transição de carreira?
Vamos conversar sobre transição de carreira?Kamilla Queiroz Xavier
 
RETROSPEC - Agregando valor de uma forma lúdica e eficaz
RETROSPEC - Agregando valor de uma forma lúdica e eficazRETROSPEC - Agregando valor de uma forma lúdica e eficaz
RETROSPEC - Agregando valor de uma forma lúdica e eficazKamilla Queiroz Xavier
 
Gerenciamento de Projetos - [NÃO] existe receita a seguir
Gerenciamento de Projetos - [NÃO] existe receita a seguirGerenciamento de Projetos - [NÃO] existe receita a seguir
Gerenciamento de Projetos - [NÃO] existe receita a seguirKamilla Queiroz Xavier
 
Quality Assurance - Novos Caminhos para o teste de software
Quality Assurance - Novos Caminhos para o teste de softwareQuality Assurance - Novos Caminhos para o teste de software
Quality Assurance - Novos Caminhos para o teste de softwareKamilla Queiroz Xavier
 
DevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a QualidadeDevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a QualidadeKamilla Queiroz Xavier
 
DevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a QualidadeDevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a QualidadeKamilla Queiroz Xavier
 
DevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a QualidadeDevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a QualidadeKamilla Queiroz Xavier
 
DevQA - Da zona de conforto ao comprometimento com a qualidade
DevQA  - Da zona de conforto ao comprometimento com a qualidadeDevQA  - Da zona de conforto ao comprometimento com a qualidade
DevQA - Da zona de conforto ao comprometimento com a qualidadeKamilla Queiroz Xavier
 

Plus de Kamilla Queiroz Xavier (20)

PDA & Moving Motivators - Combine e Potencialize seus liderados.pptx
PDA & Moving Motivators - Combine e Potencialize seus liderados.pptxPDA & Moving Motivators - Combine e Potencialize seus liderados.pptx
PDA & Moving Motivators - Combine e Potencialize seus liderados.pptx
 
LIDERAR - Relatos e Paradigma de uma nova Líder
LIDERAR - Relatos e Paradigma de uma nova LíderLIDERAR - Relatos e Paradigma de uma nova Líder
LIDERAR - Relatos e Paradigma de uma nova Líder
 
PDA & Moving Motivators - Um reforço para o seu trabalho com PDI
PDA & Moving Motivators - Um reforço para o seu trabalho com PDIPDA & Moving Motivators - Um reforço para o seu trabalho com PDI
PDA & Moving Motivators - Um reforço para o seu trabalho com PDI
 
Poder & Força do 1:1
Poder & Força do 1:1Poder & Força do 1:1
Poder & Força do 1:1
 
Do caos às métricas de fluxo
Do caos às métricas de fluxoDo caos às métricas de fluxo
Do caos às métricas de fluxo
 
[ O mercado] desenvolvimento de software [ detalhes & curiosidades]
[ O mercado] desenvolvimento de software [ detalhes & curiosidades][ O mercado] desenvolvimento de software [ detalhes & curiosidades]
[ O mercado] desenvolvimento de software [ detalhes & curiosidades]
 
Pizza Kanban Game
Pizza Kanban GamePizza Kanban Game
Pizza Kanban Game
 
Vamos conversar sobre transição de carreira?
Vamos conversar sobre transição de carreira?Vamos conversar sobre transição de carreira?
Vamos conversar sobre transição de carreira?
 
Agilidade, e agora?
Agilidade,  e agora?Agilidade,  e agora?
Agilidade, e agora?
 
RETROSPEC - Agregando valor de uma forma lúdica e eficaz
RETROSPEC - Agregando valor de uma forma lúdica e eficazRETROSPEC - Agregando valor de uma forma lúdica e eficaz
RETROSPEC - Agregando valor de uma forma lúdica e eficaz
 
Gerenciamento de Projetos - [NÃO] existe receita a seguir
Gerenciamento de Projetos - [NÃO] existe receita a seguirGerenciamento de Projetos - [NÃO] existe receita a seguir
Gerenciamento de Projetos - [NÃO] existe receita a seguir
 
DevOps é SIM uma questão de QA
DevOps é SIM uma questão de QADevOps é SIM uma questão de QA
DevOps é SIM uma questão de QA
 
Quality Assurance - Novos Caminhos para o teste de software
Quality Assurance - Novos Caminhos para o teste de softwareQuality Assurance - Novos Caminhos para o teste de software
Quality Assurance - Novos Caminhos para o teste de software
 
DevOps pela visão de QA
DevOps pela visão de QADevOps pela visão de QA
DevOps pela visão de QA
 
DevOps pela visão de QA
DevOps pela visão de QADevOps pela visão de QA
DevOps pela visão de QA
 
DevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a QualidadeDevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a Qualidade
 
DevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a QualidadeDevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a Qualidade
 
DevOps pela visão de QA
DevOps pela visão de QADevOps pela visão de QA
DevOps pela visão de QA
 
DevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a QualidadeDevQA - Da zona de conforto ao comprometimento com a Qualidade
DevQA - Da zona de conforto ao comprometimento com a Qualidade
 
DevQA - Da zona de conforto ao comprometimento com a qualidade
DevQA  - Da zona de conforto ao comprometimento com a qualidadeDevQA  - Da zona de conforto ao comprometimento com a qualidade
DevQA - Da zona de conforto ao comprometimento com a qualidade
 

DevQA: UI Testing , como fazer?

  • 1. DevQA: UI Testing , como fazer? - por Kamilla Queiróz Os testes de interfaces são uma das atividades mais trabalhosas e difíceis de serem executadas, pois além do aspecto subjetivo da pessoa que está testando e a complexidade das técnicas envolvidas, ainda existe a questão de saber se efetivamente aquela interface será funcional para o usuário que irá usar o sistema. Como fazer testes de interfaces ? Será que só existe a forma manual ? Porque são tão difíceis de fazer e manter ? Esse artigo tenta mostrar o que pode ser testado e quais as dificuldades no que não pode ser testado efetivamente. Se tentarmos focar no que podemos avaliar nos testes de interface, poderíamos resumir em: 1 - Testar se a informação está correta;................................................................ 2 - Testar se as mudanças na tela esperadas foram causadas pela ação correta;............. 3 - Testar as capacidades de acessibilidade;.............................................................. 4 - Verificar a usabilidade da aplicação. 1 - Testar se a informação está correta Para saber se as informações estão corretas, de início, podemos começar com uma técnica simples de verificação ortográfica, onde as palavras são verificadas baseadas em um dicionário, usando a ferramenta Apache Lucene. Verificar se os nomes dos campos estão corretos ou se eles fazem sentido pro usuário, já faz parte da questão subjetiva de cada usuário e conhecimento prévio do nicho de negócio que a aplicação está atendendo. Por exemplo, um campo Valor do Lançamento de Crédito para um contador experiente pode ser muito simples, mas para um estagiário de contábeis do primeiro semestre que está iniciando sua carreira, ao contrário, pode ser um fator que eleve a complexidade do entendimento. Algumas técnicas como interfaces heurísticas, falam de psicologia para tratar a informação de forma efetiva para o usuário, então fica fora do espoco de teste e sim fazendo parte do espoco do projetista da interface reconhecer esse melhor padrão. O que podemos fazer, é rastrear se a interface está chegando no objetivo pretendido, ou seja, se um dado usuário está conseguindo fazer o que ele quer, onde falaremos mais a frente. Para aplicações web, podemos testar também quanto a informação, se os links, se o CSS e o HTML estão dentro dos padrões. Isso mitiga problemas de interfaces em diferentes browsers e diferentes dispositivos. Ferramentas como a W3C Tools podem verificar isso de forma manual ou de forma automática usando uma API 2 - Testar se as mudanças na tela esperadas foram causadas pela ação correta. Verificar se o usuário clicar no botão "Tipos de pagamentos" e a aplicação mostrar os tipos de pagamento possíveis dado um certo produto é uma das ações que podemos testar quanto à interface. Isso é levantado facilmente pelos cenários de teste especificados. Contudo, se fizermos um mapeamento de todos os fluxos possíveis dos cenários que foi especificado, teremos uma explosão de possibilidades, assim, o foco é criar scripts de teste que consigam uma boa cobertura do código, ou seja, aqui temos que fazer os scripts
  • 2. pensando em chegar em todas as possibilidades do código e não dos fluxos alternativos dos cenários. É importante perceber essa distinção. Nesse ponto, já esperamos que a qualidade de cobertura dos cenários para o negócio que estamos criando já esteja em um nível aceitável. Caso não, e, possivelmente acontecerá, os fluxos alternativos mostraram 'furos' nos cenários, e assim mais cenários para cobrir todas as possibilidades devem ser feitos e logo mais código deves ser criados para atender essas funcionalidades. No final, iremos verificar a cobertura do código e não dos fluxos.. 3 - Testar as capacidades de acessibilidade Acessibilidade trata da questão que pessoas que não tem tanta habilidades ou que tenham alguma deficiência ou restrição, possam usar a aplicação, ou seja, significa que as pessoas com menos habilidade ainda possam perceber, entender, navegar e interagir como o sistema. A W3C, também tem vários guias que descrevem inúmeros itens de acessibilidade que podemos ter na nossa aplicação e lista várias ferramentas que podemos usar para avaliação do nosso sistema. - Lista de Itens de Acessibilidade........................................................................... - Wave - Ferramenta de Medição de Acessibilidade Por exemplo, um dos testes dentro da ferramenta é o teste de contraste, que verifica se as cores se diferem em um nível possível, para que uma pessoa que tenha alguma deficiência visual possa reconhecer. Ele também é um bom indicador para mostrar onde você quer gostaria de atrair uma maior atenção de usuários comuns, ou seja, um botão de concluir uma ação como uma compra ou pagamento. Você pode fazer isso utilizando plugins como por exemplo para o Chrome: Accessibility Developer Tools. 4 - Verificar a usabilidade da aplicação Como mencionado mais acima, não podemos avaliar ainda com certeza a efetividade de uma interface para um dado usuário antes de que a aplicação esteja em uso, mas podemos verificar se ele está conseguindo fazer o que realmente ele quer. Ferramentas como fluxo de comportamento, usando mecanismos como Clickstream ou Heatmap, avaliam os caminhos que o usuários usaram para conseguir fazer o que ele realmente desejavam, ou seja, se o usuário ficou procurando em cada menu a opção que ele queria ou se ele entrou em várias telas e clicou no cancelar. Mostrando assim um padrão de comportamento, e dessa forma pode sugerir que a interface não está adequada ao perfil de usuário pretendido. Nesse sentido já há algumas ferramentas sendo usadas, por exemplo a Loop11, mas ainda existe outras. Automatizando Testes de Interface Sabemos então que Teste de Interface se difere dos testes de classe por exemplo, por como dito, trabalhamos com elementos e interações de usuários, mas que tem tanto valor agregado quanto os testes realizados em server-side. E automatizando os testes de interface, ganharíamos na identificação dos problemas encontrados. Mas alguns pontos devem ser motivadores quanto a automação desses testes:
  • 3. - Em inclusões de novas funcionalidades em uma dada página, com o reaproveitamento, modificação ou sobrescrita de algum Javascript por exemplo, se já automatizado esses testes, é possível verificar onde os testes pararam e fazer a análise do erro; - Atualização de biblioteca, caso os testes de interfaces estejam automatizados, a equipe de testes e qualidade não gastaria tempo demasiado na validação dessa atualização; - Scripts costumam ser mais simples, assim todos os integrantes da equipe são capazes de realizar manutenção e atualização; Garantia de evolução Outra questão para aumentar o esforço nos testes de interfaces, é a questão da manutenção. Se eu construir vários scripts que testam minha interface, qualquer modificação que pode ser simples na perspectiva de código, pode ser um terror para a perspectiva dos testes de interface. Assim, é importante componentizar usando padrões de projeto para testes, como podemos vê em Page Objects e Builder. Da mesma forma que temos reuso e a componentização na implementação, scripts de testes também são códigos, e precisam de um bom nível de reuso e modificabilidade. Dependendo do nível de estabilidade do sistema, podemos querer somente garantir que a interface não mude, por exemplo durante um refactoring de código, ou alguma reestruturação interna necessária para para evolução do sistema ou infraestrutura. Assim, podemos investir em Testes de Regressão Visual, onde é feito o armazenamento em formato de imagens ou screenshots da aplicação, para posterior verificação de forma automática. Assim podemos investir tempo na execução dos Testes de Interface abordando: Quanto à acessibilidade - Testes de Contrates......................................................................................... - Verificador de Links......................................................................................... - Verificador de CSS........................................................................................... - Verificador de HTML......................................................................................... - Verificador de JavaScript Quanto à usabilidade -Rastreio de Ações............................................................................................. -Heatmap...................................................................................................... -Clickstream Analysis Links Relacionados: - Best Web Analytics 2.0 Tools: Quantitative, Qualitative, Life Saving!.............................. - Testing the user interface: Automated and exploratory testing.................................... - Uso de Headless Browsers em Testes Automatizados................................................ - Um pouco sobre as palestras no TDC 2015 Florianópolis......................................... - Introdução à Interfaces Eurísticas........................................................................ - Ferramentas de Teste de Usabilidade................................................................... - Applitools..................................................................................................... - Validaor de API............................................................................................... - W3C Tools.....................................................................................................