Brasil Campeão da Copa do Mundo de Testes de Software

Uma semana se passou após a divulgação do resultado das finais, e talvez nesse momento eu já consiga compartilhar com vocês, de maneira mais precisa, como foi essa experiência.

Após o anúncio de nossa vitória na etapa continental, começamos uma série de preparativos, que consistiram desde a parte logística da viagem (passagens, hotel, documentos…), as demandas da organização (fotos, vídeos, entrevista…) e a preparação técnica para a organização.

Na parte técnica, analisamos o nosso desempenho na fase continental, destacando os pontos fortes que precisavam ser mantidos e os pontos de melhoria, onde precisaríamos realizar ajustes. A partir dessa análise nos dividimos, de modo a realizar as tarefas, que consistiam desde ajustes na estratégia de testes, test report e principalmente atividades de estudo e seleção de ferramentas para áreas como acessibilidade, segurança e usabilidade.

A competição:

A etapa final seguiu o mesmo modelo da continental, tivemos 3 horas para validar a aplicação (Comércio Eletrônico) e enviar um Test Report, que deveria abranger a estratégia utilizada, findings, recomendações e análise do produto. O grande diferencial nessa fase, foi que os jurados, equipe de reportagem e platéia podiam nos interromper com perguntas durante as três horas, o que aconteceu algumas vezes e exigiu jogo de cintura para responder e retomar o trabalho sem perder a concentração.

Este slideshow necessita de JavaScript.

Durante a prova final, utilizamos diversas ferramentas de apoio, abaixo aponto algumas:

  • Google Docs: Colaborativamente alimentávamos o test report, durante a execução, adicionando os defeitos encontrados e informações relevantes.
  • Trello: Antes da competição preparamos um quadro virtual, onde listamos as áreas de teste, e pudemos nos organizar, com o objetivo de evitar duplicação de trabalho e assegurar uma melhor cobertura.
  • MindMeister: Ferramenta para criação de mapas mentais, utilizada para descrevermos nossa estratégia de maneira mais visual.
  • HP Pronq Agile Manager: Ferramenta oficial da competição para gerenciamento dos defeitos.
  • Acessibilidade: Utilizamos ferramentas online, como Wave e daSilva, com o objetivo de apontar falhas de acessibilidade na estrutura do código.
  • Segurança: O Firebug foi uma das ferramentas que utilizamos para identificar potenciais falhas de segurança.

Placar com contagem de bugsAo final das três horas de trabalho intenso, ficou claro para nós ao conversarmos com alguns dos jurados e organizadores, que além das capacidades técnicas em testes, eles também estavam avaliando aspectos relacionados às metodologias ágeis, como a organização da equipe e comunicação interna e com o cliente.

Divulgação do resultado:

No dia seguinte, durante o Keynote de abertura da conferência, recebemos a premiação da etapa continental.

premiacao_etapaContinentalEnquanto, que a divulgação do resultado final aconteceu apenas a noite, durante a festa temática, organizada pelo evento. E claro, que ficamos muito felizes com o resultado final, representando o Brasil e elevando a nossa comunidade de testadores a uma posição de destaque.

Brasil Campeão

Por fim, um agradecimento especial a toda a organização do evento, toda estrutura e apoio fornecido antes, durante e após o evento foram impecáveis. Além da competição, pudemos aproveitar os 3 dias da conferência, que também foram excelentes e em breve compartilharei com vocês um pouco das palestras e workshops que pude assistir.

Dicas de onde encontrar material sobre testes com Selenium

No post de hoje compartilho com vocês um vídeo da Selenium conference 2014. Na apresentação, Dave Haeffner, um dos profissionais mais atuantes no trabalho com Selenium e autor do livro guia Selenium GuideBook, indica diversas fontes interessantes onde podemos encontrar materiais sobre automação com Selenium para testadores iniciantes, intermediários e avançados.

Vídeo da apresentação

Slides da apresentação

Copa do Mundo de Testes de Software – Finalistas Definidos

swtc_logo

As etapas continentais da STWC-2014 chegaram ao fim e já foram divulgados os vencedores de cada continente, que terão a oportunidade de disputar o título da primeira edição da copa do mundo de testes de software. As finais ocorrerão entre os dias 10 e 13 de novembro em Potsdam, na Alemanha, durante a conferência Agile Testing Days 2014.

Como havia mencionando no post anterior sobre a copa do mundo, estávamos na expectativa dos resultados da etapa da América do Sul e felizmente o resultado foi maravilhoso, a minha equipe, CESAR Brazil, conseguiu o primeiro lugar e nesse momento já estamos em ritmo acelerado de preparação para as finais na Alemanha!

Para a etapa final teremos as 6 equipes já anunciadas:

  • The Annunciation (Nova Zelândia – Oceania)
  • QuadCore (Canadá – América do Norte)
  • Open Box Software (África do Sul – África)
  • Army Ants (Romênia – Europa)
  • teststar (China – Ásia)
  • CESAR Brazil (Brasil – América do Sul)
  • Equipe adicional representando a Antártica formada entre os inscritos para o evento.

A final deve seguir as mesmas regras das etapas continentais, porém não podemos descartar eventuais surpresas. Quando voltarmos da Alemanha completarei a série de posts sobre o evento compartilhando como foi a experiência de participar da etapa final =)

stwc_banner_675x120_sa_winner

O que estão falando sobre Testes de Software em Nova York?

Entre os dias 11 e 13 de Agosto aconteceu em Nova York a nona edição do CAST 2014(Conference of the Association of Software Testing). A conferência voltada inteiramente para a área de Testes de Software contou com a participação de diversos palestrantes discutindo e compartilhando informações e experiências referentes aos mais diversos tipos de problemas e práticas aplicadas na indústria.

Os vídeos das palestras já estão disponíveis no canal da associação no youtube. Na lista de palestras várias me parecem bem interessantes, particularmente, optei por começar pelo Keynote realizado pelo James Bach, autor de diversos livros na área, com tema Test Cases are Not Testing: Toward a Performance Culture. Apesar de não ser um tema novo, debater sobre como devemos usar os casos de teste ou mesmo se devemos usá-los, ainda é algo que rende muitas discussões. No vídeo, James faz diversas comparações bem interessantes e que reforçam o erro que é tratar testes de software como uma simples aplicação de passos de um caso de teste.

“We’ve got to stop thinking of testing as a thing and start thinking about testing as a performance, like an actor in a play, in order to get management to appreciate what we do.”

Divirtam-se!

Copa do Mundo de Testes de Software – Etapa América do Sul

A primeira etapa da copa do mundo de testes de software chegou ao seu final, após a realização de cada uma das eliminatórias continentais.

No último dia 19 de julho tive a oportunidade de participar da etapa da América do Sul e compartilho com vocês como foi a experiência.

Preparação:

Começamos nossa preparação através de uma rápida reunião um dia antes do evento, onde definimos nossa estratégia baseando-se nas informações que tínhamos até o momento e preparamos um “template” para o relatório de testes, que deveríamos mandar ao final da competição.

Já no dia do evento, 30 minutos antes do horário previsto para o início da competição recebemos as últimas instruções dos organizadores, que descreviam: 

Utilizamos esse tempo antes do horário de início para instalar o aplicativo, entender suas principais características e utilizando o quadro como apoio identificamos sub-áreas da aplicação e os tipos e técnicas de testes que gostaríamos de aplicar.

As 3 horas de competição:

Com o auxílio das informações no quadro direcionamos o nosso foco para maximizar a execução e identificação de falhas. Ao longo das 3 horas, que passaram voando, exploramos e reportamos diversas falhas de diferentes níveis de severidade, além de itens referentes a usabilidade da aplicação. 

Durante o tempo disponível para execução, priorizamos a comunicação entre os membros da equipe, com o objetivo de:

  1. Evitar duplicação de esforços;
  2. Compartilhar de maneira fácil e rápida informações relevantes e defeitos encontrados;
  3. Trabalharmos em conjunto na investigação e identificação de problemas.

Como nosso time possui 4 integrantes, definimos que 1 trabalharia com maior foco na elaboração do relatório que deveria ser entregue ao final do evento, enquanto os demais permaneceriam voltados para execução. Essa organização nos permitiu continuar com a execução até quase os últimos minutos disponíveis sem comprometer a elaboração e entrega do relatório.

Valeu a pena?

Com certeza! Todos da equipe gostaram da experiência e nos divertimos bastante trabalhando em conjunto para encontrar defeitos relevantes. Ao final das 3 horas podemos dizer que conseguimos atingir uma cobertura interessante das funcionalidades do sistema, mesmo enfrentando situações, como a inexistência de requisitos e a restrição de tempo.

Agora, só nos resta aguardar pelo resultado e por novas edições da competição!

Como capturar um screenshot no Selenium WebDriver

Capturar um screenshot é uma das ações frequentemente desejadas, quando automatizamos um teste com selenium.

A aplicação do screenshot, pode ser útil de diferentes maneiras, como provendo evidências de um problema encontrado ou servindo para análise e comparação do estado da interface, etc.

Abaixo, disponibilizo um exemplo, extremamente simples, utilizando o Selenium WebDriver com Java.

import java.io.File;
import java.io.IOException;
import java.util.Date;

import org.apache.commons.io.FileUtils;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class SimpleScreenshot {
	private static WebDriver driver;

	/**
	 * Inicialização do driver do firefox
	 */
	@BeforeClass
	public static void beforeClass() {
		driver = new FirefoxDriver();

	}

	/**
	 * Navega para url do bytes don't bite
	 * Captura o Screenshot
	 */
	@Test
	public void testScreenshot() {
		driver.get("http://www.bytesdontbite.com");
		takeScreenshot("teste");
	}

	/**
	 * Método para capturar screenshot
	 * @param fileName - Nome do arquivo
	 */
	public static void takeScreenshot(String fileName){
		File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
		Date data = new Date();
	    try {
			FileUtils.copyFile(scrFile, new File("D:\\SeleniumScreenShots\\"+fileName+ data.getTime()+".jpeg"),true);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	/**
	 * Encerra o driver
	 */
	@AfterClass
	public static void afterClass() {
		driver.quit();
	}

}

Como pudemos ver no código acima, a única coisa que precisamos fazer é implementar o método takesScreenshot, e utilizá-lo nos pontos em que julgarmos necessário. No exemplo, simplesmente iniciamos um FirefoxDriver e o nosso “teste” se resumiu a navegar para a url do bytes don’t bite e em seguida chamar a captura do screenshot.
Ainda não conhece o Selenium?
Uma das mais utilizadas ferramentas para automação de testes em aplicações web. Permite interagir com o navegador e simular as operações comumente encontradas nas páginas web.

Deseja conhecer mais sobre o Selenium?

— UPDATE —

Inscrições abertas

O curso de Automação de Testes Para Web com Selenium está disponível na modalidade de Ensino à distância. Contaremos com um material de vídeo-aulas, apostilas e exercícios, além do acompanhamento de um professor/tutor.

Valor: R$250,00 (Pode ser parcelado no cartão de crédito)

promo_banner

Copa do Mundo de Testes de Software – Inscrições Abertas

No mês passado apresentamos a Copa do Mundo de Testes aqui no blog. E hoje, recebi a notícia que as inscrições para a primeira copa do mundo de testes de software estão oficialmente abertas.  Abaixo, segue o resumo das principais informações.

Equipes:

Podem possuir de 1 a 4 integrantes. Não há limite de equipes por empresa.

Fase de Qualificação Continental:

Na primeira etapa, as disputas serão realizadas online. E apenas uma equipe será classificada por continente.

Fase Final:

Realizada presencialmente, durante o evento Agile Testing Days.

Critérios de Pontuação:

Os critérios não foram modificados, mantendo as informações do post anterior:

Diferentes aspectos levados em consideração, como: melhor bug report, melhor report de testes, bug mais valioso, etc.

O foco principal será o aspecto funcional de determinadas aplicações indicadas pelos avaliadores no início de cada etapa, podendo existir um tempo adicional alocado para aspectos não-funcionais.

O tempo para validação da aplicação sugerida será de aproximadamente 3 horas, podendo haver tempo adicional para aspectos não-funcionais.

Premiação:

Na etapa de classificação os vencedores continentais receberão:

– Entradas para os 3 dias do Agile Testing Days

– Passagens aéreas

– Shuttle aeroporto/hotel

– Hospedagem de 5 diárias

– Cópias autografadas do novo livro de Lisa Crispin e Janet Gregory 

Por fim, os grandes vencedores da etapa final receberão:

2014-03-11_0805