sexta-feira, 12 de fevereiro de 2016

Top 10 erros mais comuns em Apps

Hoje vamos falar um pouco sobre 10 erros mais comuns que precisamos tomar cuidado ao testar um app
 
1 - Inconsistência na interface do usuário

A interface do usuário deve estar consistente em todo app, incluindo a consistência de referências de teclas programáveis 
 
2 - A falta de clareza de gráfico e texto

Todos os gráficos, animações e textos exibidos devem ser legíveis e claro para o usuário. Evitar também mensagens com textos técnicos

3 - Confusão na navegação

Quando o usuário estiver navegando através do app, os passos devem ser claros. O que for desnecessário deve ser eliminado. Preserve a simplicidade. Menos pode ser mais.

4 - Erros de inconsistência na língua e ortografia

quinta-feira, 10 de setembro de 2015

7 passos para o responsável pelo teste odiar você (desenvolvedor)

No mesmo ritmo do artigo anterior (7 passos para o desenvolvedor odiar você (teste)), vamos falar dos 7 passos que também podem irritar um responsável pelos testes.
 
1 - Já limpou o cache

O responsável pelo teste vem com um bug?  Deixe ele te explicar tudo. Depois simplesmente fale: "Já limpou o cache?". Não se dê o trabalho de tentar entender qual é o problema. Você desenvolvedor, tem muita coisa pra fazer. Isso vai consumir mais tempo do responsável pelo teste.
 
2 - Na minha máquina funciona

Depois de ter enrolado o responsável pelo teste na primeira tentativa de relatar o bug, tente entender apenas um pouco sobre o bug. Não pegue muitas informações. Mas se o tester continuar falando, não ouça. Vai logo para o browser para ver. E depois de um tempo, fale que na tua máquina funciona. E o mais importante, mostre funcionando. 


quinta-feira, 13 de agosto de 2015

Quer ganhar uma inscrição para a October Test?

Um evento co-irmão do UAI TEST com muita integração, palestras, minicursos, networking, apresentação de empresas e muito mais.
Acontecerá na Faculdade CESUSC em Florianópolis - SC.

 

Comente, curta e compartilhe o artigo 7 passos para o desenvolvedor odiar você (teste) e concorra a uma inscrição para October Test.

No dia 21/08/2015 iremos realizar o sorteio e divulgar o resultado aqui no blog e no linkedin.


Integração

O evento foi criado para disseminação da Área de Testes de Software, bem como discussões sobre temas da área, novidades e principalmente interação entre profissionais.

Evento

Palestras, Mini Cursos, apresentação de Cursos e Cases do dia a dia. Debate com profissionais da Área. Mesa Redonda com perguntas dos Participantes. Sorteio de Brindes e muito mais.

Onde

A faculdade com a melhor localização de Florianópolis-SC, com uma estrutura incrível, anfiteatro, laboratórios, restaurantes, próximo ao terminal Santo Antônio, ao Forte Atacadista, onde se encontram vários restaurantes e etc.

Mais informações acesse October Test


7 passos para o desenvolvedor odiar você (teste)

Esse pequeno post descreve as más práticas na hora de relatar um bug por nós, testadores.

1 - Nenhuma informação adicional

Nunca forneça informações excessivo. Isso definitivamente vai enganar os desenvolvedores. Mantenha o mistério. Seja imprevisível. De qualquer maneira, eles são capazes para reproduzir o bug relatado com base na informação essencial no relatório.
Um bom exemplo seria: Alguns recursos não funcionam.
Bem, pode ser um pouco confuso...mas quem se importa?

2 - Priorize todos os bugs como critico

É simples. Quando você prioriza um bug como normal, ninguém vai corrigir. Quando você prioriza um bug como crítico, os desenvolvedores irão perceber rapidamente como é importante e corrigir imediatamente.
Então, não há razão para perder o seu tempo na priorização e investigar a importância de cada bug quando você pode simplesmente marcar todos eles como crítico.
Atribuir 90% dos bugs como importante ou crítico irá acelerar o processo de correção de forma significativa. Isso é ser Ágil.

quinta-feira, 30 de julho de 2015

5 dicas para um teste eficiente em games para dispositivos mobile

Existem algumas diferenças significativas entre testar um aplicativo e um game para dispositivos mobile.

Por esse motivo, listei 5 dicas para um teste eficiente em games.


1 - Funcionalidade e interface do game com usuário - não se esqueça que o sucesso do game vai depender diretamente da interface do usuário. O apelo visual e jogabilidade são os principais componentes para o sucesso do game.

Enquanto estiver testando a interface do game, teste primeiramente os seguintes itens:
  • Layouts de interface do usuário - como regra, todos os games devem funcionar em diferentes tamanhos e resoluções de tela. Toda vez que há alterações no layout, é necessário realizar o teste de regressão, a fim de garantir que o game ainda funcione.
  • Orientação da tela - as vezes pode tornar um problema sério para os games. A fim de evitar tais problemas, certifique-se que o game funcione normalmente nos modos retrato e paisagem.
  • Resolução de tela - para não ter problemas gráficos no game (distorções do gráfico), teste o game nos dispositivos com várias resoluções de tela

2 - Teste de desempenho do game - para realizar esse tipo de teste, o uso de aparelhos reais é necessário. Além disso, tente criar testes longos para observar, por exemplo: o quanto de bateria é usado; falta de memória ou superaquecimento quanto se está jogando.  

quinta-feira, 23 de julho de 2015

8 dicas simples para torna-se um analista de teste de primeira classe

Nós, analistas de teste, trabalhamos para garantir a qualidade de um produto. Nesse processo usamos várias ferramentas e técnicas, afim de encontrar o máximo de bugs.
Para alcançar o posto de analista de teste de primeira classe, deixo 8 dicas simples:
Ter um forte background técnico e proficiência - para criar testes funcionais ou testes automatizados eficientes, temos que sempre buscar novos conhecimentos, nos mantendo atualizados. Conhecimento nunca é demais.

Capacidade para investigação - a razão é simples: podemos criar testes eficientes, mesmo quando tiver uma documentação incompleta ou a falta dela. Temos que correr atrás do maior número de informações. Ser curioso.

quarta-feira, 15 de julho de 2015

Keep Calm e teste

Então, qual é a razão do teste ser uma tarefa difícil?

1 - Um produto sempre tem bugs
Não importa o quão duro você teste. Não há nenhuma maneira de eliminar todos os bugs da aplicação.
Diferentes técnicas, estratégias e cenários de teste podem ajudar a diminuir o número de bugs, mas não eliminá-los.  

2 - Bugs continuam a ser um problema
Quando um novo bug é encontrado, os desenvolvedores tentam argumentar que não é erro, que é um comportamento esperado. O pensamento tradicional de alguns desenvolvedores continuam, que a correção de bugs é uma atividade desagradável.  E sim, agora você sabe como se sente quanto todo mundo te odeia.

3 - Menos envolvimento, e mais expectativa
É um cenário comum para muitos projetos. Gerentes pensam que o teste é como executar um script e todos os documentos necessários podem ser preparados na hora que é solicitado. Mas isso não é verdade. 
Testadores devem ter o mesmo tempo que os desenvolvedores têm para fazer o seu trabalho. 

segunda-feira, 23 de março de 2015

Teste automatizado salvou minha vida....ou não

Sei que esse assunto é velho, mas volta e meia me deparo com o mesmo problema. Automação de Teste.

Apesar do assunto já não ser novidade (o que pode ajudar a ter ainda mais problemas), ainda a falta de conhecimento sobre automação é grande.

Mas o que é automação?
É a aplicação de técnicas computadorizadas ou mecânicas para diminuir o uso da mão-de-obra em qualquer processo. 
A automação diminui os custos e aumenta a velocidade da produção.

A automação de teste não foge muito do mesmo conceito. 
É a aplicação de técnicas que utilizam comandos programados para operar um dado processo e determinar que os comandos sejam executados corretamente.
Antes esse processo era executado por humanos, agora executados pelo computador.

Depois de uma rápida ambientação, vamos falar um pouco sobre alguns desses "problemas".

quinta-feira, 8 de janeiro de 2015

Falando um pouco sobre teste manuais em aplicativos mobile - Parte 1

Inseridos no mercado que está em rápido movimento e lotado, como temos hoje, os aplicativos móveis precisam ser desenvolvidos rapidamente com qualidade a um custo ideal. 

Partindo do princípio que os desenvolvedores estão desenvolvendo aplicativos de alta qualidade, cabe nós,  Analistas de Teste "provar" a qualidade do aplicativo. E como podemos provar que há qualidade no aplicativo?

O que podemos provar, é a "falta" de qualidade, testando o aplicativo e mostrando que há falhas.
Mas já sabemos que não há tempo hábil para testar tudo (e também é impossível),  mas temos que tentar testar o máximo possível.

Devemos analisar muito bem os riscos e os danos que podem acontecer se algo der errado nas mãos dos usuários.

terça-feira, 30 de dezembro de 2014

UI AutoMonkey - Teste Automatizado iOS

Pesquisando na internet sobre Teste Automatizado em iOS, me deparei com uma página onde tratava o assunto UI AutoMonkey.

Achei muito interessante. Então baixei o código para estudar como funciona. (o link para o site está no final desse artigo) 

Depois de baixar, abrir o script no Instruments. (clique aqui e saiba mais sobre o Instruments)

No começo o código parece um pouco complexo. Mas com a curiosidade era muito grande, pluguei o dispositivo no cabo e rodei o script do jeito que estava.
Para minha surpresa, funcionou, mas não em sua totalidade.

Fiquei empolgado com a idéia de poder executar esse tipo de teste nos aplicativos.

Então debrucei no código para entender como ele funcionava. Quando falo que debrucei, entende-se cair de cabeça e explorar cada linha de comando.

Mas você pode estar se perguntando: O que é UI AutoMonkey? 

quarta-feira, 10 de dezembro de 2014

Criando Facilidades no seu Teste - Teste Automatizado iOS

Irei falar um pouco da minha experiência até agora com testes automatizados em iOS.

Depois do meu último artigo sobre testes automatizados em iOS, tive algumas idéias que agilizou e muito o meu trabalho.

Uma das coisas que mudou, foi a forma de organizar o script de teste.
Pensei de como seria mais fácil se tivesse um "API" de teste, um script onde pudesse colocar todos os comandos, e no meu teste simplesmente chamasse a função.

No que isso me ajudou? 
Como hoje estou automatizando dois aplicativos em iOS, consegui usar o mesmo script "API" para ambos.

Deixa eu dar um exemplo:
Em um determinado momento, precisei rolar a tela para esquerda e depois a tela para direita.

sexta-feira, 31 de outubro de 2014

Esperas inteligentes - Teste Automatizado iOS

Olá!
Esse é o segundo artigo sobre Teste Automatizado iOS.

Nesse artigo irei falar um pouco sobre um problema que esbarrei e como consegui resolver.

Algumas coisas realmente são diferentes do Selenium. 
O Instruments só aceita a linguagem JavaScript, limitando bastantes comandos que costumava a usar no Selenium.

Mas depois de algumas dificuldades, consegui resolver alguns.

Umas das dificuldades é esperar um elemento ser carregado na tela.
No Selenium, rapidamente usaria o Wait, esperando pelo elemento ser carregado ou sumir da tela, para depois interagir com um elemento.

Usando o Instruments não tem um Wait inteligente. O comando que existe é o Delay, onde você coloca um tempo determinado, e ele espera. É uma pausa na execução do teste.
É uma maneira de resolver o problema, mas não é a melhor.

Imagina o seguinte cenário: 

terça-feira, 14 de outubro de 2014

Primeiro Artigo - Teste Automatizado iOS

Já tem bastante tempo desde o meu último artigo.
Estou em um novo desafio na minha carreira. 
Agora estou implementando testes automatizados para dispositivos móveis.

Depois de estudar, e meter a mão na massa, venho compartilhar alguns do meus conhecimentos.

Esse é o primeiro artigo de uma série que está por vir.
Sendo o primeiro, irei compartilhar uma simples função, mas em outros artigos, irei compartilhar um pouco do meu trabalho.

A essência não muda muita coisa (estruturalmente falando).
Seguindo a mesma linha de organização para testes automatizados (Organizando seu Teste Automatizado - WebDriver C#), vamos ao primeiro artigo sobre Teste Automatizado para iOS (UI Automation).

Ferramenta: Instruments (Xcode)
Linguagem: JavaScript

Como não tem muito material disponível na internet para automatização usando o Instruments, tive que ralar um pouco no começo.

terça-feira, 5 de agosto de 2014

Gerando Print da Tela para Evidência - WebDriver C#

Como prometido no artigo anterior Organizando seu Teste Automatizado, hoje irei mostrar como gero o print das telas de sucesso e erro no teste.

Como já havia explicado que o projeto está no começo, ainda estou usando para gerar os prints uma classe, que mais tarde irá se transformar em um DLL robusta.

Então vamos para o que interessa.
Ela está no diretório EvidenciaTeste com o nome Evidencia_Imagem.cs


O código para gerar o print das telas do teste.

terça-feira, 22 de julho de 2014

Organizando seu Teste Automatizado - WebDriver C#

Você já parou para pensar como devo organizar o seu teste automatizado?
Não existe uma regra, mas algumas boas práticas podem te ajudar a dar manutenções.

Vou compartilhar um pouco com vocês a minha maneira de organizar os scripts de teste.
Não é uma forma fechada, pois até hoje tenho novas ideias de como organizar.

Vou contar a experiência de como estou organizando os scripts de teste hoje.
A ferramenta não irá influenciar em nada.
Hoje uso o Visual Studio 2013.

Então vamos  começar.

Um dos projetos que hoje estou trabalhando está bem no início.
Tem um menu de Cadastros, que são de duas funcionalidades. TAG AOL e PCL.

Apesar de funcionalidades diferentes, irei utilizar informações em comum, tais como: URL do Sistema; usuário e senha de acesso a aplicação; caminho onde as evidências de teste serão gravadas dentre outras.

terça-feira, 15 de julho de 2014

Criando Evidência de Teste - WebDriver C#

Por falta de conteúdo de como criar Evidência de Teste usando Selenium WebDriver com C#, resolvi compartilhar com vocês uma classe que criei.

Antes de chegar nessa solução, passei por várias maneiras e formas de criar a evidência. Estou desenvolvendo ainda, mas já está funcionando.
Usei um pouco de Bootstrap (bem pouco mesmo).
Irei compartilhando com vocês as melhorias.

A classe gera um arquivo em HTML e funciona da seguinte maneira:

Na minha classe de teste, faço a chamada ao final do teste (passou ou falhou) da seguinte maneira:


Tenho referências a outras classes, como nome do HTML a ser criado, Print da tela.
Irei em um outro artigo entrar em mais detalhes sobre cada uma delas.

O código onde tudo acontece 


sexta-feira, 16 de maio de 2014

Segurança no Software - Vulnerabilidades e Ataques - Injection

Em um artigo anterior, falamos um pouco sobre Segurança no Software - Vulnerabilidades e Ataques.
Nesse artigo iremos dar algumas dicas de como testar seu Software usando Injection.
  
Nos exemplos abaixo verificar possíveis vulnerabilidades na autenticação do Software.

Na tela de autenticação do Software:
Teste 1
    

Primeiramente, o invasor tenta inserir um nome utilizando aspas. Isso serve só para verificar se o formulário possui alguma função, java script ou alguma linguagem que bloqueie o uso de um caractere como a apóstrofo (‘) ou aspas simples. Conforme mostra a Figura 1. Caso não seja feito esse tipo de tratamento, ocorrerá um erro da instrução SQL (incorrect Sintax). Diante desse resultado, o invasor já sabe que existem possibilidades de invasão do referido site.


quinta-feira, 10 de abril de 2014

Gerenciar Testes Automatizados em Vários Browsers - WebDriver C#

Quem já não se deparou nesse cenário:

Tenho uma suite ou mais de teste automatizado com vários scripts e preciso que o teste seja executado no Internet Explore, Firefox e no Chrome.

A primeira coisa que vem a cabeça é repetir cada suite de teste uma para cada browser.
Na teoria problema resolvido. Mas já pensou se um elemento muda na tela? Você teria que ir em cada suite de teste para fazer a alteração.
Parece um absurdo mais já me deparei com essa situação.

Mediante essa situação, consegui "elaborar" uma maneira mais fácil de acabar com esse problema.

Primeiro criei uma Classe chamada ClBrowser.cs


segunda-feira, 7 de abril de 2014

Segurança no Software - Gerenciar Perfis - Vulnerabilidades e Ataques

Continuando a séria sobre Segurança no Software, iremos abordar alguns testes que podemos fazer a fim de garantir a segurança.

Como errar é humano, e, quando uma Aplicação começa a ser utilizado, contém inúmeros bugs, e essas vulnerabilidades que existem na Aplicação estão sujeitas a ser descobertas.

Mas como podemos, Bugs Busters, evitar que nossas Aplicações contenham vulnerabilidades (ou pelo menos diminuir)? 

Teste 1 
     Verificar o grupo de acesso cadastrado e suas respectivas permissões  de acesso.
     Cadastrar os perfis, e em cada perfil associar um determinado usuário e logar no Aplicação. 
  Resultado esperado: a Aplicação deve permitir acesso conforme perfil associado.
   Risco Mitigado: acesso indevido a dados e funcionalidade
________________________________________

terça-feira, 1 de abril de 2014

Segurança no Software - Vulnerabilidades e Ataques em Autenticação de Autorização

Em um artigo anterior, falamos um pouco sobre Segurança no Software - Vulnerabilidades e Ataques.
Nesse artigo iremos dar algumas dicas de como testar a sua Aplicação na parte de Autenticação e Autorização.
 
Teste 1
     Entrar na URL da Aplicação e no campo senha, digitar. 
     A senha não poderá ser visualizada. Apesar de ser um teste muito trivial (e muitos que nem consideram um teste, por ser padrão), já me deparei com algumas Aplicações que era possível visualizar a senha ao digitar.
 
Teste 2
     Verificar se a Aplicação está utilizando login seguro, se está utulizando o HTTPs.
     Caso a autenticação realizada por sua Aplicação seja usada em outras Aplicações, deve-se utilizar um mecanismo de canal seguro, seja SSL ou Kerberos dentre outros.