Click here to edit title

Click here to edit subtitle

Blog


view:  full / summary

Aprendendo a Testar

Posted by JJ on September 7, 2014 at 11:05 AM Comments comments (0)

Desde o início do ano venho trabalhando em alguns exercícios para ajudar o pessoal que está iniciando nos testes, exercícios práticos também que qualquer um possa fazer, até os mais experiêntes para que possam "brincar".


Então surgiu o site:


Foi onde resolvi disponibilizar também um Guia, para os novatos terem um norte, saberem como iniciar e o que é legal de se aprender. Voltado principalmente para a Base que um testador deve conhecer, teoria junto aos exercícios práticos.


O site também, pode servir de apoio à todos que estão na area e recebem gente nova na empresa, um local democrático(eu aceito todas as sugestões para melhoria) em quem você pode indicar ao novato que leia os passos do Guia e siga até iniciar os trabalhos. 


Também é bom continuar sempre se reciclando e relembrando a base para não perdermos o foco. 


Espero que gostem, um abraço.


UAI TEST

Posted by JJ on September 2, 2014 at 12:05 AM Comments comments (0)

Está marcada a data do 1° Evento de Qualidade de Software de Minas Gerais, o UAI TEST que acontecerá dia 22 de novembro de 2014, na Faculdade Politécnica de Uberlândia MG.


O evento será totalmente diferenciado dos demais eventos de Testes de Software do Brasil, onde terão várias modalidades como: Palestras, Mini Cursos, Debate, Mesa Redonda, Desafios e apresentação de Ferramentas, Treinamentos e Artigos.

É a maior Feira de Tecnologia e Testes de Software no Cerrado.

Em breve traremos mais notícias.

Testador largue o mouse e o teclado

Posted by JJ on June 29, 2014 at 4:05 PM Comments comments (0)

Há algum tempo venho pensando sobre o futuro da tecnologia, entre pesquisas e estudos de novas tecnologias, sobrevivendo com um trabalho onde na maioria das empresas era levado em um 3°, 4° ou 5° plano, e que hoje já não posso dizer mais, a Área de Testes em seus conceitos se tornou importante em um país que é considerado o País do Jeitinho.


 

Outrora não tínhamos acesso à tecnologia da informação, onde tudo era caro, ter um computador em casa era coisa de rico, internet passou com o tempo a poder ser acessada através de horários específicos(meia noite às seis), depois chegaram notebooks, telefones celulares, de repente booom, hoje temos o que temos.


 

Quando iniciei nos Testes, não tinha a mínima ideia do que estava fazendo, foi com o tempo que se vai aprendendo a verdadeira essência e o que são os testes. Do famoso testa ai pra ver se acha alguma coisa(que hoje ainda existe), até hoje automação de testes, pra que perder tempo se testando uma ferramenta 200 vezes(cenários diferentes)? Se você pode automatizar isso e a cada nova funcionalidade você se preocupar apenas com ela.


 

E o que dizer da tecnologia? A anos quem acompanha a industria dos games, ouve falar sobre realidade virtual, chegou a hora, o Project Morpheus esta ai. Quem tinha celular em 2003 um Nokia 3310(jogava cobrinha) imaginaria existir um Sony Z1(multi touth a prova d’gua). Celular com Holograma ta chegando.


 

Está chegando a Era Hands Free.


A tecnologia Hands Free, nos permitirá a digitar, movimentar o ponto focal tudo sem tocar no gadget.




Nunca estivemos tão perto de ter tecnologias como as do Homem de Ferro, hologramas, trabalhar com as mãos, os olhos, interação com outras pessoas.



 

Eu como todo grande fã do herói marvel, esperava quando poderiamos ter esse tipo de tecnologia à nossa disposição.


Tudo isso, está chegando e muito mais. Desde ano passado quando palestrei no TDC Floripa, fiquei atento e estou acompanhando as diversas atualizações do Perceptual Computing da Intel.


 

Para essa tecnologia sugiro que “Largue o mouse e o teclado” além de automação vá estudar física, ergonomia, anatomia e variações de ambientes. Pois teremos um novo patamar de tecnologia à ser Testada. Sistemas Desktop, Sistemas Web, Sistemas Mobile(entre outras tecnologias) e “agora” Sistemas Hands Free.


 

Estão ai algumas impressões sobre o que temos e o que podemos esperar.


Referências:

Nokia 3310 - http://pt.wikipedia.org/wiki/Nokia_3310

Sony Z1 - http://www.sonymobile.com/br/products/phones/xperia-z1/

Holograma - http://www.tecmundo.com.br/holografia/57536-smartphone-holograma-com-novo-chip.htm

Hands-Free Computing - http://en.wikipedia.org/wiki/Hands-free_computing

Perceptual Computing - http://en.wikipedia.org/wiki/Perceptual_computing

 


 

Pesquisa sobre Ferramentas e Gestão de Testes

Posted by JJ on May 30, 2014 at 12:10 AM Comments comments (0)

 

No final de março, realizei uma pesquisa com meus colegas da área de Testes de Software, para saber quem realiza um controle do Cronograma dos Testes.

Pra isso, teríamos que saber quais ferramentas de gestão os profissionais mais utilizavam e em relação aos cronogramas quais eram utilizadas para o controle.

Também, perguntei qual o tipo de equipe, qual o papel e qual a metodologia utilizada dentro da área.

 

Vejamos os resultados da pesquisa

 

Link - pt.slideshare.net/jjjuniorjr/os-testes-no-desenvolvimento-de-software


Fique à vontade para comentar.

Portabilidade - Testes de Software

Posted by JJ on May 22, 2014 at 1:55 PM Comments comments (0)

Este é um post inicial de uma longa série que vou postar a partir de agora sobre esse tema minimamente falado, porém, utilizado quase que instantaneamente por todos. Veremos ao longo dos posts que nós realizamos testes de portabilidade desde criança.



Portabilidade pode significar:

 


       No contexto da informática, a portabilidade de um programa de computador refere-se à característica das aplicações serem executáveis (ou facilmente recompiladas) em outras plataformas além daquela de origem;


 

       Nas telecomunicações, a portabilidade de números telefónicos é um processo ou grupo de processos que permitem que um cliente de um prestador de serviço transite para outro prestador mantendo o mesmo número de telefone;


 

       Nos serviços de saúde, a portabilidade de carências dos planos de saúde permite levar consigo as carências de outros planos já cumpridas pelo cliente.

 

 


No contexto da informática, a portabilidade de um programa de computador é a sua capacidade de ser compilado ou executado em diferentes arquiteturas (seja de hardware ou de software). O termo pode ser usado também para se referir a re-escrita de um código fonte para uma outra linguagem de computador.

 


Java, por exemplo, é uma linguagem de programação portável já que basta compilar a aplicação uma vez apenas para que essa possa ser executada em qualquer plataforma que possua a respectiva máquina virtual Java (também conhecida por JVM). Não existe a necessidade de produzir uma versão compilada para cada sistema computacional em que se deseje executar a aplicação.

 


Os criadores de programas de computador muitas vezes afirmam que o programa que escrevem é portátil (ou portable em inglês), o que quer dizer que pouco esforço é necessário para convertê-lo a outro ambiente. A quantidade de esforço necessário depende do quanto o ambiente original é diferente do novo ambiente, a experiência do(s) autor(es) em utilizar linguagens e chamadas realmente portáteis.


 

A quantidade de CPUs e sistemas operacionais em uso com o tempo se tornou muito menor que na década de 1980[carece de fontes] e o domínio das arquiteturas baseadas no x86 (para o qual o sistema Microsoft Windows é prioritariamente desenvolvido, mais tarde também os sistemas Linux e até Mac OS X) criou uma situação na qual muitos programas não são mais convertidos para outras arquiteturas.



Portabilidade nos Testes


Um grande problema(tempo) é executar o mesmo teste para garantir a utilização em várias plataformas. Nos dias de hoje, com a automação de testes ficou mais fácil. Porém, no Brasil, ainda é pouco explorada. Outro ponto que afeta os testes(novamente o conceito de Prazo) é que a tecnologia evoluiu e já não aceita mais um sistema que não tenha mobilidade, seja web, seja móvel.


Podemos migrar?

Testing with Selenium using commands While and XPath

Posted by JJ on May 19, 2014 at 4:50 PM Comments comments (1)


So,

I decided to write this post to help with 3 functions of Selenium IDE. And I translate for to english, for my friends Indians, with we study selenium. So, sorry about my english, again. And too, sorry my, brasilian friends what know english best me.


1- Variable

2- While

3- XPath


So, what doing my scrit basicaly?


 

He create an environment for repeatition, and I can insert one any test.


In the example, I insert a test, what was to click in a button "Convidar" of a Facebook fanpage. For this test, I insert a quantity of repeat of 50 times.

Inserting a condition wherein While is until 50, I start to test agin.

 



Well, my test will to click in the button "Convidar" for invite my friends to like fanpage of 4All Tests. But you joke with the script wherever

 


Before ending the condition,  after the test Increment the variable, so, after at 13th test he incrementing the variabel, going for the 14th test(this is an example)



The part interesting, is to use the XPath, and my test get consistent in case where Id of button changes.

 

I post an article translate to portuguese about XPath




So, our test automation like this:


Script


*Look this,  it is important put a bar over there in target, because it is copied whith only a single bar. '//'


So look how our script works



On the step 1, he open the fanpage



Step 1




On the step 2, I declare my variable "QTD" and i change the his value for "1"


Step 2




In step 3, the condition of my command "While" checks if the my variable "QTD" is less than or equal to 50. If so, to do the test, if it is not less than or equal to 50, or 50 is equals or higher (51, ​​52 ...) for this condition and it goes straight to "EndWhile" command.


Step 3




In step 4 I will do all that is in my test, yes(in example), click the invite button.


Step 4




In step 5, after my test I add to the variable "QTD" the value "1" plus the value that is in "QTD".


Step 5



The script for download here https://github.com/testejoaojunior/Selenium/blob/master/While_com_variavel_incremental.html" target="_blank" rel="nofollow">in git.



So, brothers, sorry my english, and I not used google translate, kkkkkk.


And, rememer:

Testing software is not breaking it. It look simple and develops it.

While com variavel incremental

Posted by JJ on May 5, 2014 at 10:35 AM Comments comments (4)

Então, esse post estava aqui esfriando desde o dia 05 de maio(hoje 19).


Resolvi escrever este post pra ajudar com 3 funções do Selenium IDE.


1- Variável

2- While

3- XPath


O que meu script basicamente faz?


Ele cria um ambiente de repetição para eu poder inserir um teste qualquer.

No exemplo, inseri um teste que era clicar no Botão Convidar de uma página do Facebook. Para este teste, inseri uma quantidade de repetições de 50 vezes.

Inserindo uma condição em que Equanto minha variável não atingir o valor de 50, eu rodo o teste.


Veja bem, meu teste vai clicar no botão convidar para convidar os meus amigos para curtirem a página do 4All Testes no Facebook. Mas se você utilizar este script você pode brincar a vontade.


Antes de terminar a condição, logo após o Teste eu incremento a variavel, logo, após o 13° teste ele incrementa a variavel, indo realizar o 14° teste(exemplo).



Uma parte interessante é utilzar o XPath, assim meu teste fica mais consistente caso o Id do botão mude.

Eu publiquei um artigo de um post traduzido sobre XPath.



Então o nosso teste automatizado fica da seguinte forma:


Script


*Note que é importante colocar uma barra a mais no alvo, pois ele é copiado apenas com uma unica barra '//'


Vejamos como nosso script roda:



No passo 1 ele abre a página do facebook.


Passo 1




No passo 2 eu declario minha variavel "QTD" e dou o valor "1" à ela.


Passo 2




No passo 3, o meu comando de condição "While" verifica se minha variável "QTD" é menor ou igual à 50. Caso seja, realiza o teste, se não for menor ou igual a 50, ou seja, for igual a 50 ou maior (51, 52 ...) ele para a condição e vai direto ao comando "EndWhile".


Passo 3




No passo 4 eu vou realizar tudo que está dentro do meu teste, ou seja, clicar no botão convidar.


Passo 4




No passo 5, após meu teste eu acrescento à variável "QTD" o valor "1" mais o valor que estiver em "QTD".


Passo 5



O script pode ser baixado aqui https://github.com/testejoaojunior/Selenium/blob/master/While_com_variavel_incremental.html" target="_blank" rel="nofollow">no git.



Então pessoal, fica ai, este exemplo de While no Selenium IDE. Até mais pessoal.

Xpath

Posted by JJ on May 1, 2014 at 9:20 AM Comments comments (10)

Vamos entender um pouquinho sobre XPath


Você precisa fornecer qualquer elemento localizador(como id, nome, caminho css, XPath, etc) na coluna de destino do selenium, para localizar esse elemento específico e executar alguma ação. Se você conhece Selenium IDE, então você sabe que às vezes não contém elementos de identificação ou nome assim o seu teste para ali. O XPath é uma outra maneira de localizar o elemento e você pode usá-lo como uma alternativa de identificação ou nome do elemento.

 

XPath no documento XML mostra a direção do local do elemento através de nós e atributos. Vamos tentar entender como identificar XPath do elemento com exemplos.

 


A imagem acima é tirada de http://www.wikipedia.org/.


               


Olhe para a imagem, existem três campos

  1. Caixa de texto Input
  2. selecionar cair para baixo
  3. botão de entrada.


E abaixo desses campos há expansão de nós XML relativas através firebug. Como você vê na imagem, você pode usar "id = searchInput" ou "name = search" para identificar a caixa de entrada de texto para digitar algo nele como exemplo dado abaixo.

 

New Test
CommandTargetValue
openhttp://www.wikipedia.org/
typeid=searchInputID Example

Ou

New Test
CommandTargetValue
openhttp://www.wikipedia.org/
typename=searchName Example


Tutorial XPath


Agora, se você quer identificar o mesmo elemento (caixa de texto de entrada) com XPath, então você pode usar qualquer uma sintaxe abaixo dada para a coluna de destino com o comando tipo no exemplo acima.

 

Localizando elemento usando XPath com exemplos caixa de texto de entrada para

 

1. Identificar XPath usando caminhocompleto do XML

xpath://body/div[3]/form/fieldset/input[2]/ / / /

Aqui = / / body é o nó raiz principal, / div [3] descreve a terceira div nó filho do nó pai corpo, / form descreve a form nó filho do nó pai div [3] / fieldset descreve o fieldset nó filho de form nó pai, / input [2]descreve a entrada do segundo nó filho do nó pai fieldset.

 

New Test
CommandTargetValue
openhttp://www.wikipedia.org/
typexpath://body/div[3]/form/fieldset/input[2]Xpath Example1


 

2. EscritaXPath usando last()

xpath://body/div[3]/form/fieldset/input[last()-2]  / / / /

Aqui = / input [last () -2] descreve o nó de entrada superior 3 (entrada [2]) a partir de último nó de entrada.

xpath://body/div[3]/form/fieldset/*[last()-3]  / / / /

Aqui / * [last () -3] descreve o quarto nó superior(entrada [2]) da última nó.

 

New Test
CommandTargetValue
openhttp://www.wikipedia.org/
typexpath://body/div[3]/form/fieldset/input[last()-2]Xpath Example2



3.Localizador XPath usando @ e atributo

XPath= / / body / div [3] / form / fieldset / input [@ type = 'pesquisar']   // / /

Aqui / input [@ type ='pesquisar'] descreve o nó de entrada com atributo type = 'pesquisar'


New Test
CommandTargetValue
openhttp://www.wikipedia.org/
typexpath://body/div[3]/form/fieldset/input[@type='search']Xpath Example3


 

4.Expressão XPath usando @ e atributo

XPath= / / corpo / div [3] / form / fieldset / input [@ accesskey = 'F']   // / /

Aqui / input [@ accesskey = 'F'] descreve o nó com atributo de entrada @accesskey = 'F '.


New Test
CommandTargetValue
openhttp://www.wikipedia.org/
typexpath://body/div[3]/form/fieldset/input[@accesskey='F']Xpath Example4


 

5.Sintaxe XPath usando @ e atributo

XPath= / / input [@ accesskey = 'F']   / / / /

Aqui / / input [@ accesskey = 'F'] descreve o nó de entrada com [email protected] accesskey = 'F' . Experimente por usá-lo em exemplo acima.

 


6.Exemplo XPath usando @ e atributo

XPath= / / input [@ type = 'pesquisar']    / / / /

Aqui / input [@ type = 'pesquisar'] descreve o nó de entrada com atributo type = 'pesquisar'.  Experimente, utilizando-o no exemplo acima.

 


7. XPathXML usando / descendente :: palavra-chave

 

xpath://div[@class='search-container']/descendant::input[@accesskey='F']   // / /

 Aqui eu usei descendente no meio. Neste caso eu descrevi apenas começando div nó com classe de atributo = 'pesquisar-container "e de entrada do nó final com accesskey = atributo' F'. Portanto, não precisa descrever entre os nós.  Experimente por usá-lo no exemplo acima.

 


8. XPathexemplo consulta usando contém palavra-chave

XPath= / / input [contains (@ id ", searchInput")]   // / /

Aqui contém palavra-chave para identificar atributo id com o texto "searchInput".  Experimente, utilizando-o no exemplo acima.

 


9. XPathusando e com atributos

xpath://input[contains(@id,"searchInput") and contains(@accesskey,"F")]   ")]   / / //

Neste exemplo, ele vai olhar para dois atributos no nó de entrada.  Experimente por usá-lo no exemplo acima


10. XMLvalor valor XPath usando posição ()

xpath://div[@class='search-container']/descendant::input[position()=2]   // / /

Este XPath irá selecionar nó de entrada que está na posição de número 2 e é a caixa de texto de entrada para como mostrado na imagem. Experimente por usá-lo no exemplo acima.

 


11.Usando starts-with palavras chave

xpath://input[starts-with(@type,"s")]        // / /  

 Neste exemplo, ele vai encontrar nó de entrada com o atributo é 'tipo' e seu valor está começando com 's '(aqui ele vai ficar type =' search ' ).

 


12.Usando OR (|) com condição XPath

xpath://input[@accesskey='F'] |//input[@id='searchInput']

xpath://input[@accesskey='F' or @id='searchInput'] / / / /

 

Em ambos estes exemplos, ele vai encontrar a caixa de entrada de texto com accesskey = 'F' ou @ id ='searchInput'. Se qualquer um encontrado, então ele irá localizar. Muito útil quando os elementos aparecem como alternativa.


13.Usando curinga * com a encontrar elemento XPath

XPath = / / * [@ accesskey = 'F'] 


14.Encontrar enésimo elemento filho de pai

XPath = / / corpo / * [3] / form / fieldset / * [2]    / / / /

Este XPath é a caixa de texto para pesquisa. Aqui, / * [3] descreve o terceiro elemento filho do corpo, que é div [3]. Do mesmo jeito * [2] descreve o segundo elemento filho de fieldset que é de entrada [2]


Todos os exemplos acima são caixa de texto de entrada para. Agora deixe-me escrever XPath para drop down.

 

ExemplosXPath queda para baixo

1. xpath://body/div[3]/form/fieldset/select

2. xpath://body/div[3]/form/fieldset/select[last()]

3. xpath://body/div[3]/form/fieldset/select[@id='searchLanguage']

4. xpath://body/div[3]/form/fieldset/select[@name='language']

5. xpath://div[@class='search-container']/descendant::select[@name='language']

6. xpath://select[contains(@id,"searchLanguage")]

7. xpath://div[@class='search-container']/descendant::select[position()=1]

8. xpath://body/div[3]/form/fieldset/select[count(*)>1]

 

New Test
CommandTargetValue
openhttp://www.wikipedia.org/
selectxpath://div[@class='search-container']/descendant::select[position()=1]label=English



Outros Exemplos de XPath


1.Encontrar XPath para o link target 'url'

//a[@href='//meta.wikimedia.org/wiki/List_of_Wikipedias']  / / / /

 Este exemplo XPath vai encontrar ligação com determinada URL (/ / meta.wikimedia.org / wiki /List_of_Wikipedias) na página.

 


2. Encontrar XPath do elemento com nenhuma criança

xpath://img[count(*)=0]   ///// /

Este XPath é para logotipo do texto wikipedia que é exibição na parte superior da página. Este XPath vai encontrar esse elemento de imagem que não tem qualquer elemento filho. Aqui nó imagem é passado e não tem qualquer elemento filho.

 

xpath://div[2]/descendant::img[count(*)=0]   / / / / 

 Este XPath é imagem do logotipo wikipedia que é exibição sob logotipo para texto. 

 



Artigo traduzido de: http://software-testing-tutorials-automation.blogspot.com.br/2013/06/xpath-tutorials-identifying-xpath-for.html

Destaques da Area de Testes votacoes abertas

Posted by JJ on April 24, 2014 at 1:55 PM Comments comments (1)

Hoje no Brasil, existem várias comunidades de Testadores de Software(Se você não está em nenhuma, procure uma e não fique de fora).


Eu particularmente estou inserido em algumas regionais de expressão:


  • Grupo de Usuários e Testadores do Rio Grande do Sul(GUTS-RS)
  • Grupo de Testadores do Ceará (GTS-CE)
  • Grupo de Testadores de Pernambuco (GTS-PE)
  • Grupo de Testadores de Uberlândia MG (UdiTest)


E também participo de algumas comunidades nacionais:


  • DFTestes - Grupo de Testadores do Brasil
  • AgileTesters - Grupo de Testadores Ágeis
  • Alats - Grupo de Testadores que visam novidades sobre as certificações da Alats
  • BSTQB - Grupo de Testadores que visam novidades sobre as certificações da ISTQB


E uma comunidade internacional de Testadores:


  • Selenium Users - Grupo de Testadores internacional que utilizam Selenium.



Dentro de cada comunidade existem seus destaques, aqueles que mais contribuem para a comunidade, sejam, respondendo as dúvidas do pessoal, sejam publicando artigos ou tutoriais que ajudam a comunidade de alguma forma.


Foi pensando nisso, que a comunidade Agile Tester criou uma votação de Destaques. Não somente para destaques das comunidades, também aqueles palestrantes de eventos que te influenciaram de alguma forma.

Também tem outras 2 categorias, Empresas(De testes ou de Treinamento, não vale a sua empresa que é de ração e tem 3 pessoas 1 desenvolvedor e vc e mais um testador) e também a categoria Blog.


Para votar é simples, basta inserir o nome de sua preferencia nos campos das categorias.



Vejam:

" Por Que? Nossa comunidade é grande, apesar de não parecer, e existem muitos profissionais, como empresas e blogs que nos ajudam no dia-a-dia em diversos sentidos, respondendo um e-mail na comunidade, oferecendo treinamentos de ferramentas e/ou processos atuais e com posts interessantes.

Entretanto, não conhecemos quem ajuda nossa área (Teste de Software) a crescer e ganhar destaque tanto dentro dela como fora. Por isso que o Agile Testers tomou a iniciativa de criar o "DESTAQUES".

A idéia é simples, apenas informe um ou mais pessoa(s), empresa(s) e blog(s) que você vê que tenha relevância. Não precisa ter ordem, apenas informe o nome.

Lembrando que isto é apenas um experimento e não vamos rankear e determinar quais profissionais, empresas e blogs são melhores, e sim mostrar os mais lembrados."

 

Vote aqui:

http://destaques.agiletesters.com.br/


Lembrando que é apenas 1 submissão por pessoa e que existem jurados em várias comunidades que também farão a auditoria dessa votação. Assim, votar em si mesmo é "trakinagem fácilmente descoberta hehe".


A votação não tem premiação, somente o reconhecimento daqueles que participam e influenciam a galera de alguma forma.

Então pessoal, é isso ai. Fico top demais né?


Abraços.

2 Workshop de Testes de Software de Uberlândia

Posted by JJ on April 22, 2014 at 1:00 PM Comments comments (1)

Nesta semana que se passou, o 4 All Testes organizou mais um Workshop de Testes de Software em Uberlândia, com 2 treinamentos e 1 palestra, o evento foi bem proveitoso e de grande credibilidade.

 

No 1° dia(16), foi realizado o treinamento em Testes de Software, onde podemos ver a seguinte apresentação:

 


Slides


Testes de Software

 

Neste curso que foi totalmente prático, os alunos realizaram várias baterias de exercícios práticos com técnicas que são utilizadas no dia a dia dos Testes, entre elas vira: Fluxo e Processos dos Testes de Software, Papéis de Testes, Levantamento de Testes. Teorias de Caixa Branca, Caixa Preta, Levantamento de Testes, Análise do Valor Limite, Verificação x Validação, Retestes x Testes Exploratórios. Bem como realizaram exercícios antes e depois de cada explicação dos conceitos e técnicas.

 

Na 2° parte do Workshop, foi realizado no dia 16, na empresa Sankhya, uma palestra sobre a Caracteristica ques os softwares hoje em dia mais ajuda ou atrapalha na hora da utilização pelo Usuário Final à Usabilidade.

 


Slides

Palestra Usabilidade no Software

 

A palestra contou com grande interatividade dos Participantes e com um bate-papo sobre conceitos que são utilizados na empresa e possibilidades de utilização, palestra trazida junto à Líder de Testes da empresa Cristine Candeloro, tivemos uma evolução sobre onde surge a questão de Usabilidade, até o que temos hoje de forte quanto à essa caracteristica do Software.

 

 

No 2° dia foi realizado o treinamento de Automação de Testes com Selenium.

 



Slides

Automação em Testes com Selenium

 

 

O treinamento de selenium, contou com vários exercícios e exemplos para a automação de testes, desde o início com a turma realizando automação com o modo Record and Play, até exportar como Java o script e rodar com o JUnit. Ponto auto do treinamento, foi a utilização de screenshots juntos com Data driven. Os alunos puderam ver, que evoluindo os testes, conseguiriamos realizar em apenas 1 script, 11 testes diferentes, assim, podendo programar os testes de regressão que mais fazem perder tempo tanto do desenvolvimento, quanto dos testes, quanto em problemas em produção.

 

Ao todo foram mais de 40 participantes do Workshop nos 2 dias.

Esperamos ter atendido às espectativas, e em breve poderemos realizar novamente em qualquer lugar.

 

Caso tenham interesse, podem entrar em contato.


#Exercicio3 Testando Entrada e Saída

Posted by JJ on April 1, 2014 at 12:20 AM Comments comments (0)

No nosso 3° exercício, vamos estudar algo que está no dia a dia do Testador, além, do trabalho, em toda sua vida. A premissa: "Você tem que dar, para receber"



 



Basicamente, você sempre passa alguma coisa e te devolvem alguma coisa, certo? Vejamos na nossa vida.

 

Para você comprar aquele IPhone tão desejado, você necessita ter dinheiro, certo?

Tirando a parte de como você vai obter esse dinheiro, para adquirir este produto tão sonhado, você necessita passar por um processo. Vamos entender o porquê:


 

 

" Você realiza uma pesquisa de preços, para ver se consegue pagar(ou você tem muita grana e não ta nem ai, assim, vai no primeiro lugar que achar). Chega na loja, pede ao vendedor que te mostre o produto, escolhe a cor que deseja, solicita aquele produto naquela cor, faz a requisição de compra, paga e assina o termo de compra(canhoto, nota fiscal etc.) e sai da loja feliz da vida com seu novo Iphone."



Nessa história temos um processo para realizar a compra contendo nesteverdadeiros critérios de entrada e saída.

 

Mas antes de analisarmos estes critérios vamos aos estudos

 


O Syllabus que é: "Este syllabus forma a base deconhecimento para a Qualificação Internacional de Teste de Software no nível Foundation." Palavras do Próprio.

 

Explica os critérios de entrada e saída:

 


5.2.3 Critério de Entrada 

Os critérios de entrada definem quando começar um teste, no início de um nível de teste ou quando um conjunto de testes está pronto para execução.


Os critérios de entrada podem ser constituídos de:

  • Disponibilidade do ambiente de teste.
  • Preparação da ferramenta de no ambiente de teste.
  • Disponibilidade de código a ser testado.
  • Disponibilidade dos dados de teste.

 

5.2.4 Critério de Saída 

Os critérios de saída definem quando parar de testar, no final de um nível de teste ou quando um conjunto de testes realizados atingiu um objetivo específico.


Os critérios de encerramento podem ser constituídos de:

  • Métricas como a cobertura de código, riscos ou funcionalidades.
  • Estimativa da densidade de defeitos ou segurança nas medições.
  • Custos.
  • Riscos residuais, como defeitos não solucionados ou falta de cobertura de teste em algumas áreas.
  • Cronograma, baseado na data de entrega do produto.



Nossa pesquisa pela Web mostrou uma apresentação de Eduardo Figueiredo que traz um modelo de entrada e saída.

http://homepages.dcc.ufmg.br/~figueiredo/disciplinas/aulas/testes-software_v01.pdf.

 






Então:

 

O que podemos entender como Entrada e Saída?

 

Simplesmente podemos utilizá-las em todo o ciclo de Testes, de Qualidade de Software e sim, de Desenvolvimento de Software. Deixando um pouco de lado o conceito em Processos de Entrada e Saída(Documento de requisitos -> Sistema). Voltando aos testes, podemos dividir em duas macro partes. Nos testes de Caixa Branca e nos testes de Caixa Preta.




Nos testes de Caixa Branca, entende-se que podemos inserir o mais limpoe mais baixo nível dos testes de Entrada e Saída:

 

Dado:

 

         Temos um sistema de notafiscal e retirada de compras, que buscam os códigos dos produtos informados,trazendo seus valores e somam os valores para mostrar o resultado final dacompra.

 

Dentro dessa expectativa, temos alguns testes, porém o mostrado aquiseria a somatória dos valores do produto para apresentar o valor da compra.

 

Mais ou menos seria isso:

 

         int produto1 = 59,90;
         int produto2 = 22,00;
         int resultado = 81,90;

         se( produto1 + produto2 =resultado){
                   print("Ocalculo está correto");

         }senão{
                   print("Aconteceualgo errado com o cálculo       );

         }

 

Onde:

 

 public class Calculadora {  
      public int somar(int x , int y){  
           return x+y;  
      }  
      public int subtrair(int x,int y){  
           return x-y;  
      }  
      public int multiplicar(int x, int y){  
           return x*y;  
      }  
      public int dividir (int x, int y){  
           return x/y;  
      }  
 }  


Então teríamos:

 

 @Test  
     public void somar() {  
         assertEquals("Passou com sucesso", 4, calculadora.somar(2, 2));  
     }  
     @Test  
     public void subtrair() {  
        assertEquals("Passou com sucesso", 0, calculadora.subtrair(2, 2));  
     }  
     @Test  
     public void multiplicar() {  
        assertEquals("Passou com sucesso", 4, calculadora.multiplicar(2, 2));  
     }  
     @Test  
     public void dividir() {  
        assertEquals("Passou com sucesso", 1 , calculadora.dividir(2, 2));  
     }  


Assim teríamos um teste de Entrada e Saída nos testes de Caixa Branca, informando uma entrada especifica dentro do código, e requisitando a saída correta.

 

É meio lógico um teste desse dar certo. Porém no nosso dia a dia veríamos que se o código do nosso programador estivesse assim:

 

      public int subtrair(int x,int y){  
           return x+y;  


Nosso teste daria erro, pois nossa Entrada seria 2+2, e a saída seria 0:

 

     @Test  
     public void subtrair() {  
        assertEquals("Passou com sucesso", 0, calculadora.subtrair(2, 2));  
     }  


 

Nos testes de Caixa Preta, não vemos o código, somente a interface jápronta. Assim, utilizaremos o sistema como se fossemos o usuário final. Informandodados reais e esperando os resultados corretos a partir dos dados informados.Testando o seu real funcionamento.

 

O Testlink trabalha com entradas e saídas, as entradas são ações à serealizar para se obter as saídas esperadas.

 

No nosso Software Gestor de Testes Testlink, nós utilizamos osconceitos de Entrada e Saída para executar os Casos(Cenários) de Testes.

 


Ações do passo seria o que nós entraríamos no sistema, Resultados Esperados seria o que o sistema responderia.

 

Dado:

 

         Temos um sistema de nota fiscal e retirada de compras, que buscam os códigos dos produtos informados, trazendo seus valores e somam os valores para mostrar o resultado final da compra.

 

Nessa expectativa, temos um teste:

Onde:

        Entrada:

         Informar um produto x; Este produto x, tem o valor x;

         Informar um produto y; Este produto y, tem o valor y;

 

        Saída:

         O Sistema retorna a somados produtos x e y;

         O resultado da soma deve ser correto;

 

Não entre em pânico caso o resultado do seu teste for como esse:

 


 

 


Voltando ao exemplo citado no início do artigo, teríamos além de váriasformas o seguinte Cenário de Teste como exemplo:

 

Pré requisitos:

Realizar uma pesquisa de preços;

Ter um resultado dessa pesquisa de preços;

Ir à loja de sua preferência;

Loja ter o produto em estoque.

 

Passo 1:

Entrada:

Requisitar ao vendedor o Produto

 

Saída:

Vendedor mostra o produto

 

Passo 2:

Entrada:

Escolher a cor do produto

 

Saída:

Vendedor mostra as cores disponíveis

 

Passo 3:

Entrada:

Escolhe o produto

Solicita a ordem de compra

 

Saída:

Vendedor tira a ordem de compra

Vendedor destina a ordem para o caixa

 

Passo 4:

Entrada:

Realiza o pagamento

 

Saída:

Caixa entrega nota de compra

 

Passo 5:

Entrada:

Assina nota fiscal

Retira produto

 

Saída:

Entrega produto com sucesso.

 



Desafio: Teste de Entrada e Saída, cadastre o usário e confira o cadastro no Relatório, faça isso para vários clientes.

Informe o nome, confira o nome.

Informe o animal, confira o animal e o dono correto.

Informe datas de nascimento diferentes. Entre outros.

 

 

 

 

Leitura do dia:

 

- Caixa Branca

- Caixa Preta

- Testlink

- Cenários de Testes

 

 

Post descritivo ao teste do exercício 3 - Testando Cadastro Veterinário Desktop

 



#Exercicio2 Testando os Valores Limites

Posted by JJ on March 12, 2014 at 1:45 PM Comments comments (0)

O exercício de hoje, será direcionado. No primeiro exercício você teve livre escolha para encontrar os defeitos e falhas no sistema.


Os campos respeitam seus limites?


Os mais experientes sabem que um problema sério e que não conseguimos fugir hoje no cenário brasileiro de testes, são os valores limites. Esses valores que deveriam ser testados na fase de Teste Unitário, porém, chegam sistemas em que você tem de testar os valores limites sim. E é isso que iremos fazer nesse exercício.


 

Não vou explicar o que é, pois temos 3 links que fazem isso melhor do que qualquer explicação são esses


 

Analise do Valor Limite - Wikipédia

http://pt.wikipedia.org/wiki/An%C3%A1lise_do_valor_limite


 

Analise do Valor Limite - Blog da Sarah Pimentel

http://ensaiosdeqa.blogspot.com.br/2010/03/analise-de-valor-limite.html


 

Trabalho feito por: Auri Marcelo Rizzo Vincenzi e Gilcimar Divino de Deus para a UFG.

http://www.inf.ufg.br/~auri/curso/arquivos/funcional03.pdf


Então vamos aos requisitos ocultos do Projeto. Temos 2 cadastros:


 

Dados do Cliente, contém os campos:

 


Nome do campo: Nome
Tipo de dados: Texto
Tamanho: 255

 

Nome do campo: Telefone
Tipo de dados: Texto
Tamanho: 255

 

 


Dados do Animal, contém os campos:

 

Nome do campo: Nome
Tipo de dados: Texto
Tamanho: 255

 

Nome do campo: Espécie
Tipo de dados: Texto
Tamanho: 255

 

Nome do campo: Raça
Tipo de dados: Texto
Tamanho: 255

 

Nome do campo: Data de Nascimento
Tipo de dados: Data Curta
Tamanho: 8

 


Desafio: Teste os valores limite dos campos dos cadastros.

 

 


Leitura do dia:

 

- Teste Unitário

- Defeito

- Falha

- Tipos de dados


Post descritivo ao teste do exercício 2 - Testando Cadastro Veterinário Desktop

 

 

Whatsapp Corrige a falha mas deixa um bug

Posted by JJ on March 11, 2014 at 10:40 AM Comments comments (0)

Hoje pela manha, verifiquei se o bug que eu reportei ontem havia sido corrigido, pelo menos eu não havia recebido nenhum feedback ou comunicado de correção.


Pois bem, alguns amigos no momento que encontrei passei os procedimentos e os mesmos conseguiram também atualizar. Então constatado que não era só no meu aparelho e sim da aplicação do Whatsapp. Consegui confirmar isso, hoje ao retestar verifiquei que o sistema não permite mais atualizar e deixa com a data da validade do Serviço com a data da Criação(ou no meu caso da alteração).


Porém, neste processo, o sisteminha, mostra minha data inicial de cadastro por alguns segundos(de 2 até 4 segundos), consegui tirar o print disso.


Veja como ficou:


Seguindo os mesmos passos do Bug Report, alterei novamente o número do telefone e voltei para o número correto.

Repare que a data era de 10 de março de 2015 a validade, então para eu atualizar deveria mudar para 11 de março de 2015, e não atualizou, corretamente.


Validando a alteração de número vinculado ao Whatsapp, para tentar aumentar a data de validade do serviço.

   


Note que a validade por 2 ou 3 segundos ficou em referencia à minha data de cadastro 25 de julho de 2013.


Alterando novamente para o número do meu Whatsapp



Note que novamente a validade por 2 ou 3 segundos ficou em referencia à minha data de cadastro 25 de julho de 2013.

(Isso deve ocorrer por algum problema de 'cach' ou atualização na camada de serviço, talvez eles devem buscar este valor diretamente do banco de dados de cadastro)

    


E a evidencia consegue provar que demora entre 2 a 4 segundos apenas com o nome dela, quando você tira um print da tela do android ele salva altomaticamente a screenshot com a Data e horário da evidência, então para você ver faça o seguinte:


> Clique com o botão direito nas imagens

>> Selecione copiar o endereço da imagem

>>> Cole este endereço em algum bloco de notas ou no browser e veja o nome da imagem.


Ex: Screenshot_2014-03-11-10-20-46.png

2014 > ano

03 > mes

11 > dia

10 > hora

20 > minutos

46 > segundos



Conclusão:


- O bug de alteração da data de Validade de Serviço através do número de telefone realmente existia.

- Foi corrigido entre o report feito.

- Deixou um resquicio(novo bug) para os que conseguiram efetuar a alteração


E o mais importante de tudo. Hoje saiu uma nova atualização 2.11.186. Não sei se deve ter relação com o Bug reportado, pois acredito que o problema não seja corrigido no client.


Então é isso, até mais.

Bug Report - Validade do Serviço Whatsapp

Posted by JJ on March 10, 2014 at 10:55 PM Comments comments (0)

Falha no sistema do Whatsapp, permite renovar a Validade do Serviço por 1 ano, sem requerer nenhum tipo de pagamento.


Passos para reproduzir a falha:


> Na página de Conversas clique com o botão de menu do celular

>> Escolha a opção Configurações




> No menu de Configurações

>> Clique em Informações da conta



> No menu de Informações da Conta

>> Clique em Mudar o número

 

 



> No menu Alterar número

>> Clique em Avançar



> No menu Alterar número

>> Preencha o seu número atual

>> Preencha um novo número qualquer

>> Clique em Concluído.

 

 



Neste momento você terá mudado seu Whatsapp para outro número.

 

 


Repita os passos anteriores e altere o número novamente para seu número do Whatsapp

> No menu Alterar número

>> Preencha o novo número que você alterou

>> Preencha o número que você sempre utilizou no Whatsapp.

>> Clique em Concluído.

 

Assim a validade do serviço terá sido alterada para mais um ano sem pagar nenhum centavo.


Reportei o bug pelo Menu de ajuda > Fale Conosco do próprio Whatsapp

Que gerou esse log:


{{classifier_delimiter}}

Debug info: +553491513107

Description: 2.11.152

Version: 2.11.152

Exp: 2015-03-10 22:51:54.000-0300

LC: BR

LG: pt

Context: settings/about

Carrier: TIM 11

Manufacturer: samsung

Model: GT-I8552B

OS: 4.1.2

Socket Conn: UP

Radio MCC-MNC: 724-03

CCode: 55 3491513107

Target: rel

Distribution: market

Product: delos3gub

Device: delos3geur

Build: JZO54K.I8552BUBUAMH1

Kernel: 3.4.0-1364649 #1 SMP PREEMPT Fri Aug 16 03:00:37 KST 2013

Connection: m.o.b.i.l.e. (H.S.D.P.A.)

Device ISO8601: 2014-03-10 23:36:03.706-0300

Phone Type: G.S.M.

Network Type: H.S.D.P.A.

Diagnostic Codes: TK-NS-1



#Exercicio1 Testando Sistema de Cadastros Desktop

Posted by JJ on March 10, 2014 at 9:35 AM Comments comments (3)

Exercício 1 para quem está começando testar ou para quem quer treinar suas habilidades nos testes de software.

O sistema que iremos testar é o seguinte:

 

 

Projeto

 

O Veterinário Vinicius Cândido contactou a empresa EngSoftUdi para a geração de um sistema de cadastro de Clientes para seu consultório veterinário. Solicitou que o sistema tivesse as seguintes funcionalidades:


 

  • Cadastrar Clientes
  • Cadastrar Animais
  • Editar Clientes
  • Editar Animais
  • Relatório de Clientes e seus animais.

 

O sistema proposto pela empresa foi feito em Access, com a seguinte estrutura.

Dados do Cliente, contém os campos:

Nome
Telefone


Dados do Animal, contém os campos:

Nome
Espécie
Raça
Data de Nascimento


 

Relatório de Clientes e seus animais, mostra os dados dos clientes e de seus animais, para facilitar a busca de um animal e um cliente.

 

 


Desafio: Testar este sistema.

São 08h00. Encontre o máximo de falhas que conseguir e envie o relatório de não conformidades.

Você tem 4 horas para realizar os testes e encontrar o máximo de defeitos possível, pois a entrega para o cliente será amanha. A parte da tarde será para corrigir estes defeitos encontrados e no final para retestar o sistem.


Post descritivo ao teste do exercício 1 - Testando Cadastro Veterinário Desktop


Rss_feed