Google+ Followers

quarta-feira, 20 de março de 2013

 

Automação de testes – 7 passos para o sucesso!

 

Automatizar os testes funcionais nos dias de hoje é essencial para o sucesso e a qualidade de um produto de software, mas para implantar a automação de testes funcionais em uma organização é necessário um estudo e um planejamento para que o mesmo ocorra com sucesso.
Nos parágrafos seguintes estarei apresentando os primeiros passos que você deve analisar e estudar antes de mergulhar no mundo da automação de testes.

Nos parágrafos seguintes estarei apresentando os primeiros passos que você deve analisar e estudar antes de mergulhar no mundo da automação de testes.

1° Passo – Apoio da liderança

 liderança

O apoio da liderança é o primeiro passo para que a automação de testes ocorra em uma organização, pois sem ela você não terá forças nem recursos para dar inicio a um projeto de automação de testes. A implantação de testes automatizados requer o investimento de recursos financeiros e humanos, sendo estes obtidos apenas com o consenso da liderança.
A grande dúvida neste passo é: como conseguir a confiança e o apoio da liderança? Para isso você precisa ter um embasamento teórico sobre automação muito forte para conseguir demonstrar com números e estatísticas que a automação trará benefícios suficientemente grandes para tal investimento.
- Onde devo procurar esse conhecimento para convencer meus líderes?
As empresas que vendem ferramentas de automação de testes tem muito material que pode ser estudado e apresentando como benefícios da automação de testes funcionais aos seus líderes. Um exemplo é a Smartbear que, como ajuda aos profissionais da área de teste que querem implantar automação de testes na organização onde trabalham, disponibilizam um material contendo uma lista de benefícios que a implantação de uma ferramenta de automação pode trazer.

Posso listar alguns desses benefícios:
  • Acelerar os testes de um roteiro em vários navegadores
  • Retorno rápido de resultados de falhas no sistema, agilizando o processo de correção
  • Encontrar bugs mais cedo e aumentar a cobertura de testes
  • Executar testes mais rápido que um ser humano
  • Reutilização de testes

2° Passo – Planejamento de escopo e prazo

- Já tenho apoio da liderança eu posso sair automatizando tudo?
A resposta é: não. Este é um projeto como qualquer outro e por isso precisa ser planejamento e estimado como tal.

Se você tentar abraçar o mundo tentando automatizar tudo as suas chances de sucesso vão diminuir consideravelmente, pois você não terá como estimar entregar rápidas para demonstrar para a liderança que a automação está gerando resultado. Isso pode levar tanto a sua frustração como automatizador como o descrédito da liderança perante ao projeto por não conseguir ver resultados no horizonte do projeto.
Como todo projeto, a automação também precisa ter um escopo definido para que haja previsões de entrega dos testes automatizados. Você, juntamente com a liderança, deve analisar qual é o produto ou funcionalidade do produto de sua organização que é mais crítico em questão de negócio e que normalmente tem a maior quantidade de problemas encontrados nos testes manuais para eleger este como escopo inicial da automação de testes.
Essa definição ajuda a mensurar os recursos financeiros e humanos que serão necessários para a automação ter o ritmo adequado e apresentar os resultados esperados em um período aceitável. Como também os recursos necessários para ampliar ou acelerar o processo de automação de testes.
 

3° Passo – Escolha da ferramenta

ferramenta
O próximo passo para a implantação da automação de testes em sua organização é a escolha da ferramenta que será utilizada. Nesta etapa você já tem o apoio da liderança e agora tem como objetivo escolher a ferramenta ideal para a sua organização.
- Como eu sei qual é a ferramenta ideal para a minha organização?
Existem inúmeras ferramentas de automação de testes no mercado, desde as mais caras até as gratuitas. Não é porque uma ferramenta é a mais cara do mercado que ela vai ser a melhor escolha para você.
Neste ponto você deve analisar os produtos de software e as tecnologias que envolvem o produto que a sua organização trabalha e fazer provas de conceito com as ferramentas quem mais se aproximam destas tecnologias.
As empresas com ferramenta comercial disponibilizam versões trial para que essa prova de conceito possa ser feita, não podemos esquecer das ferramentas gratuitas que podem muito bem atender a sua necessidade sem um grande investimento financeiro inicial.
Posso citar algumas das ferramentas mais conhecidas no mercado hoje
Ferramenta
Custo por licença
Selenium
Gratuita
Watir
Gratuita
TestComplete
$4499
QTP HP
$9000 (fonte: Comunidade de testes)
Rational Funcional Tester
$6430
Visual Studio Test Professional
$3292
Como você pode analisar, existem ferramentas de automação de testes para todos os gostos, o seu trabalho será analisar qual delas é o melhor custo benefício para o negócio de sua organização.

4° Passo – Definição da linguagem de script

javascript

Todos os integrantes já conhecem a ferramenta que será utilizada para o projeto de automação, agora é preciso definir qual linguagem de script que a organização irá adotar para a escrita dos testes automatizados.
Essa escolhe deve ser muito bem estudada, pois é uma escolha sem volta. A partir do momento que a equipe de automação de testes começa a escrever os scripts, não há outra maneira de mudar de linguagem a não ser excluir tudo e começar do zero.
Normalmente a linguagem de script é escolhida com base na tecnologia que a empresa trabalha, a qual tem mais profissionais que a dominam. Uma empresa que desenvolve softwares em .Net tende escolher c# script, devido a familiaridade que todos já tem com a linguagem como uma empresa que desenvolve em delphi tende a escolher delphi script.
Caso a equipe de automação não esteja preparada para trabalhar com uma linguagem de script ela deverá ser treinada como também foi treinada para o uso da ferramenta.

5° Passo – Treinamentos

destTreinamentos

Mesmo com todo o apoio da liderança e com a ferramenta ideal para a sua organização, você não conseguirá automatizar tudo sozinho. Para o projeto de automação conseguir progredir será necessário ter uma equipe trabalhando para automatizar esses testes.
Essa equipe que estará focada no projeto de automação de testes terá que conhecer a ferramenta, até porque existe um velho ditado na área de automação de testes que diz “um tolo com uma ferramenta continua sendo um tolo”.
Então para você e sua equipe deixarem de serem meros tolos, terão que contratar treinamentos da ferramenta comprada, no caso de uma ferramenta comercial.
No caso de uma ferramenta gratuita, um líder técnico do projeto de automação pode se encarregar de estudar a ferramenta através dos documentos disponibilizados para ela e através de discussões em fóruns e blogs da comunidade de automação de testes. Assim existirá uma referência na equipe para repassar o conhecimento aos demais integrantes.

6° Passo – Inclusão da automação no processo de desenvolvimento

Você está prestes a iniciar a automação de testes na sua organização, mas agora não sabe por onde ou quando começar as suas atividades.
Para que a automação de testes se torne organizada e de um retorno, é necessário incluir a automação no processo de desenvolvimento da organização, fazendo com que a automação comece a fazer parte do dia a dia dos projetos de desenvolvimento.
Nesta etapa é normal incluir o SQA da organização para que o processo e as atividades da automação sejam analisadas para que o processo não fique sobre carregado, mas que seja o suficiente para que as atividades de automação e sua gestão sejam feitas.

7° Passo – Definição da estrutura dos scripts

arquitetura

Não confunda definição da estrutura dos scripts com definição da linguagem de script. Neste passo a linguagem de script já deve ter sido escolhida.
O objetivo deste passo é definir a estrutura funcional dos scripts de teste. Para isso você deve se fazer algumas pergunta:
Como vou separar os scripts de forma que cada script tenha o seu papel claramente definido?
Como vou organizar os scripts para facilitar a reutilização de rotinas?
Como a estrutura pode separar os scripts que contem os testes de regras de negócio e os scripts que possuem o mapeamento do sistema?
Essas são perguntas básicas que devem ser feitas no momento em que a estrutura dos scripts de testes estão sendo definidos. A escolha da estrutura será crucial para o sucesso da automação de testes na organização.
Uma estrutura de scripts mal pensada pode gerar numa pouca reutilização de scripts, fazendo com que o esforço na criação de scripts não diminua com o tempo, gerando uma carga de trabalho continua durante um longo período.

Conclusão

Você pode observar que a automação de testes não é algo trivial que pode ser feito da noite para o dia. É necessário muito estudo e um bom planejamento para que a automação de testes tenha sucesso em uma organização.
Este artigo serve para dar um norte a quem pretende começar na área de automação de testes ou quer implantar automação de testes em uma organização. Cada passo apresentado pode ser mais aprofundado em questão de contexto, porém deixarei para um artigo futuro.
Os passos a cima não são garantia de sucesso, mas aumentarão e muito as chances de você conseguir implantar automação de testes em sua empresa, mas a ausência de algum desses passos com certeza lhe trará muita dor de cabeça no futuro.

Referências

http://smartbear.com/CMSPages/GetFile.aspx?guid=07531430-501d-40b8-bcf8-6e69ae16d6b8
http://www.toolsjournal.com/articles/item/195-10-best-tools-for-test-automation
http://watir.com/
http://docs.seleniumhq.org/
http://www.microsoft.com/visualstudio/en-gb/products/2010-editions/test-professional
http://www-142.ibm.com/software/products/us/en/functional

sábado, 9 de março de 2013

HTML5: NOVOS DESAFIOS PARA OS TESTES
profissional-de-teste
Mais de 10 anos depois, o HTML, a linguagem de marcação que estrutura grande parte da web como conhecemos hoje foi atualizada. A versão 5 do HTML trouxe mudanças significativas que oferecem uma experiência completamente nova para os usuários.
Embora exista um longo caminho a percorrer para consolidação da nova versão, muitos navegadores importantes, como Internet Explorer 9, Opera, Safari 4, Firefox 3.6 e Chrome já reconhecem grande parte da linguagem, incluindo tags de vídeo e suporte à tecnologia Canvas.
O HTML 5 oferece uma experiência de web muito mais rica para usuários além de ferramentas adicionais para desenvolvedores, que podem criar aplicações mais complexas com base em um conjunto de padrões abertos.
 O desenvolvimento de aplicações para plataforma web sempre acompanha a evolução do HTML uma vez que tal linguagem estrutura a web. Em meados dos anos 2000 quando o mercado deixou de diagramar as páginas web com a utilização de elementos de tabelas, e passou a utilizar o conceito de tableless, muitos desenvolvedores de aplicações para web tiveram que se adequar a nova realidade do mercado.
Com a atualização do HTML para versão 5, essas mudanças serão muito mais significativas e muitos dos aspectos do desenvolvimento de aplicação web terão que ser  readequadas novamente. Em relação ao controle da qualidade dessas novas aplicações, quais mudanças aconteceram? Quais serão os novos desafios para o teste de software de aplicações construídas em HTML 5?
Validação da web semântica
O conteúdo das páginas construídas com HTML é muito mais estruturado e deve garantir a web semântica das paginas, que nada mais é do que utilizar o elemento de marcação certo para cada informação que é colocada na página. Por exemplo, um paragrafo de texto deve está dentro de uma tag <p></p>, um titulo dentro de uma tag <title></title> etc. O HTML 5 possui novos elementos de marcação para que toda informação da página esteja bem estruturada, isso tem como principal consequência facilitar a indexação de informação das páginas pelos mecanismo de busca da web (Google). A Web semântica vem ganhando força, e se tornando um fator importante para visibilidade dos web sites na internet. Nesse novo cenário das aplicações do HTML 5, garantir que as páginas estejam construídas com web  semântica  é extremamente importante. Validar a web semântica do conteúdo dessas páginas é um dos desafios para o teste na era do HTML 5.
Novas API’s de Desenvolvimento: um fator a mais de risco.
O HTML 5 traz consigo uma mudança significativa no paradigma de desenvolvimento para web. Tal mudança reflete no surgimento de novas API’s e alterações de outras existentes para sustentarem o propósito do HTML 5, de oferecer experiências ricas para os usuários. Utilizar essas novas API’s  adiciona um fator de risco para falhas nas aplicações, o que faz  com que o escopo dos testes aumentem para garantir o funcionamento esperado dessas novas aplicações. Ou seja, um esforço a mais para os testes no HTML 5.
Novos elementos de marcação para web
No mercado de Qualidade de Software, existem muitas ferramentas para automação da execução de testes funcionais em aplicações web, podemos citar. TestComplete, Functional Tester, Selenium entre outros. Essas ferramentas funcionam bem com a versão anterior do HTML. Mas é agora com o HTML 5 e tantos novos elementos web a serem considerados nas aplicações, como tais ferramentas vão se comportar? Já existem novas ferramentas especificamente voltadas para aplicações HTML 5? São respostas que temos que descobrir.
Aplicações multimídias
O avanço na gestão de vídeos é um dos principais destaque do HTML 5. A nova versão da linguagem contempla uma série de tags para objetos multimídia como vídeos, arquivos de áudio e gráficos vetoriais. Ate a versão anterior do HTML, as aplicações multimídia eram dominadas pelo Flash e muitas vezes fugiam do escopo dos testes, mas com HTML 5 isso deve mudar. Como passaremos a testar as aplicações multimídia construídas com HTML 5? É outro desafio para o teste nesse novo cenário.
Plataformas móveis
E o que dizer das plataformas móveis? O flash já não é utilizados nas plataformas móveis, como profetizado pelo guru, Steve Jobs, o que abriu espaço para o HTML 5 que na sua essência é multiplataforma, limitados apenas à compatibilidade dos navegadores com suas funcionalidades. A tendência é que com desenvolvimento é consolidação do HTML 5 as aplicações para plataformas moveis cresçam em quantidade e complexidade e com isso a necessidade de testes que contribuam para a qualidade dessas aplicações deve aumentar exponencialmente. Novas metodologias e técnicas de testes devem surgir nos próximos tempos para atender a essa necessidade.
HTML 5, mais do que uma nova tecnologia, representa uma nova era para aplicações web. Não só a estrutura básica das paginas da Web deve ser alterada, mas também muitos outros paradigmas, processos e tecnologias que a sustentam. A disciplina de Qualidade do Software, certamente, também sofrerá dessas alterações para acompanhar essa nova era. A forma de como se testar as aplicações depois do surgimento do HTML 5 deverá superar todos esses novos desafios que foram citados e outros que ainda surgiram a fim de que as aplicações construída em HTML 5 possam oferecer novas experiência para o usuário com a máxima qualidade possível.  nhar essa nova era.

A forma de como se testar as aplicações depois do surgimento do HTML 5 deverá superar todos esses novos desafios que foram citados e outros que ainda surgiram a fim de que as aplicações construída em HTML 5 possam oferecer novas experiência para o usuário com a máxima qualidade possível.

Fonte:http://www.fabricadetestes.com.br/
Falha em smartphones Galaxy permite driblar ferramentas de bloqueio 
  
Samsung Galaxy
BUG possibilita que você ignore qualquer trava do aparelho e tenha acesso a todo o conteúdo.
Um novo bug do aparelho foi descoberto, mostrando que é possível driblar todas as ferramentas de segurança e chegar à tela inicial do sistema sem grandes dificuldades — o que significa que qualquer informação presente no dispositivo pode ser facilmente obtida caso você o perca, por exemplo.
O curioso é que a falha consegue quebrar todo e qualquer tipo de serviço de trava usada para impedir o acesso não autorizado. Assim, seja no bloqueio por padrão ou por meio de algum código, a pessoa consegue acessar as demais funções em apenas alguns segundos.
A falha foi identificada inicialmente em um Galaxy Note II, mas logo foi percebido que o Galaxy S3 com a versão 4.1.2 do Android também apresentou o mesmo problema, indicando que se trata de alguma brecha de segurança no software da própria Samsung que permite a invasão. No entanto, até o momento, a companhia sul-coreana não comentou o assunto e não há nenhuma previsão de lançamento para um patch de correção.
Diante disso, é natural que você, como proprietário de um Galaxy, sinta-se inseguro ao deixar seu smartphone nas mãos de alguém. Sem saber se seu aparelho está vulnerável ou não, qualquer pessoa que esteja com ele em mãos pode se tornar uma ameaça — principalmente se você tiver alguma imagem ou vídeo comprometedor escondido ali.
É por isso que o site ZDNet trouxe um pequeno passo a passo para que você possa testar a segurança de seu dispositivo. A ideia é que, com isso, você tenha certeza de que seu Samsung está ou não seguro — mesmo com a falha sendo incrivelmente fácil de ser explorada.
Segundo a página, basta acessar a função Chamada de Emergência na tela bloqueada e, dentro dela, entrar nos contatos do aparelho. Então, basta pressionar o botão Home e, logo em seguida, o Power duas vezes para ter acesso à tela principal do sistema.
No entanto, mesmo com a aparente simplicidade, realizamos o teste em dois Galaxy S3, ambos atualizados para a versão 4.1.2 do Android, e em nenhum dos casos foi possível superar o bloqueio apresentado. De acordo com o ZDNet, isso pode ter acontecido por conta do tempo necessário para apertar os botões Home e Power.
Mais info: http://tecmundo.com.br/galaxy/37300-falha-em-smartphones-galaxy-permite-driblar-ferramentas-de-bloqueio.htm

Fonte: ZDNet, Slash Gear