TESTE DE SOFTWARE E METODOLOGIAS ÁGEIS Lílian Simão Oliveira REVISANDO ALGUNS CONCEITOS Teste de Software objetivo encontrar erros de projeto e/ou implementação. Fonte: Google Images Teste de Software: O processo de analisar um item de software para detectar a diferença entre as condições desejadas e as condições existentes (ou seja, estado esperado e estado obtido) e avaliar uma característica/atributo de um item de teste. Teste de software é um conjunto de um ou mais casos e procedimentos de teste. Item de Teste: Um item de software que será objeto de teste. Caso de Teste: Descreve uma condição particular a ser testada. É composto por valores de entrada e um resultado esperado. Procedimento de teste: Uma descrição dos passos necessários para executar um caso de teste ou um grupo de casos de teste. FASES PARA TESTAR Preparação dos Testes Casos de Testes Aplicação dos Testes Relatório com os resultados TESTE DE SOFTWARE X PROCESSO DE DESENVOLVIMENTO Ciclos de interação com o processo de desenvolvimento: Os processos de teste e de desenvolvimento devem estar separados, porém estão em um ciclo constante. O processo de teste tenta identificar falhas originadas no processo de desenvolvimento. A partir das falhas detectadas, os desenvolvedores tentam identificar a localização exata do erro ou defeito. Com isso, novamente será seguido o processo de desenvolvimento para tentar corrigir a falha identificada, e este ciclo é seguido até a conclusão do produto. Figura 1: Relevância de cada tipo de ferramenta apresentada neste livro em relação às fases de um ciclo de vida de desenvolvimento de software. Disponível em: http://www.linhadecodigo.com.br/ Autor: Cristiano Caetano ORGANIZAÇÃO DOS TESTES Conflito de interesses: O desenvolvedor tem interesse em demonstrar que o programa está livre de erros e que funciona de acordo com os requisitos. Assim, o desenvolvedor projeta e executa testes que demonstram que o programa funciona, em vez de descobrir erros. Um grupo de teste independente não tem esse conflito. ORGANIZAÇÃO DOS TESTES Concepções equivocadas: Os desenvolvedores não devem fazer nenhum teste. O grupo de teste independente (ITG) deve se envolver com o projeto somente quando os passos de teste estão para começar. Organização recomendada: O desenvolvedor testa as unidades individuais e faz testes de integração até a arquitetura do software estar completa. Depois, o ITG trabalha junto com o desenvolvedor para garantir que testes rigorosos serão conduzidos. FERRAMENTAS OPEN SOURCE – TESTE DE PERFORMACE • OpenSTA - http://www.opensta.org/ • JMeter - http://jakarta.apache.org/jmeter/index.html • Microsoft WEB Application Stress Tool http://www.microsoft.com/downloads/details.aspx?FamilyID=e2c0585a-062a439e-a67d-75a89aa36495&DisplayLang=en • WEBLOAD - http://www.WEBload.org/ • The Grinder - http://grinder.sourceforge.net/ Disponível em: http://www.linhadecodigo.com.br/ Autor: Cristiano Caetano FERRAMENTAS OPEN SOURCE – GESTÃO DE TESTE • • • • • • • TestLink - http://www.teamst.org/ QaManager - http://qamanager.sourceforge.net/ rth - http://www.rth-is-quality.com TestMaster - http://testmaster.sourceforge.net/ Testitool - http://majordojo.com/testitool/ Test Case Web (TCW) - http://tcw.sourceforge.net/ Testopia - http://www.mozilla.org/projects/testopia/ Disponível em: http://www.linhadecodigo.com.br/ Autor: Cristiano Caetano FERRAMENTAS OPEN SOURCE – GESTÃO DE DEFEITOS • • • • • Mantis - http://www.mantisbt.org/ Bugzilla - http://www.bugzilla.org/ Scarab - http://scarab.tigris.org/ BugNET - http://www.bugnetproject.com/ TRAC - http://trac.edgewall.org/ Disponível em: http://www.linhadecodigo.com.br/ Autor: Cristiano Caetano FERRAMENTAS OPEN SOURCE – TESTES FUNCIONAIS Selenium (WEB) - http://www.openqa.org/selenium/ actiWATE (WEB) - http://www.actiwate.com/ Marathon (Java Swing) - http://www.marathontesting.com/marathon/ Watir (WEB) - http://wtr.rubyforge.org/ Canoo WEBTest (WEB) - http://WEBtest.canoo.com/ Apodora (WEB) - http://www.apodora.org/ Abbot (Java Swing) - http://abbot.sourceforge.net SoapUI (WEBServices) - http://www.soapui.org/ SOAPSonar Personal Edition (WEBServices) http://www.crosschecknet.com/ • LISA WS-Testing (WEBServices) http://www.itko.com/site/products/lisa/ws_testing.jsp • Squish for KDE (Linux) - http://www.froglogic.com • SharpRobo (WinForm .NET) http://confluence.public.thoughtworks.org/display/SHRO/Home • • • • • • • • • Disponível em: http://www.linhadecodigo.com.br/ Autor: Cristiano Caetano TESTE DE SOFTWARE MODELO V TEST FIRST X TEST END Fonte: Erdogmus (2005) apud Leal (?) O XP recomenda o Test First A técnica Test Driven Development (TDD) tem pouco mais de 10 anos e foi criada dentro do escopo do eXtreme Programming (XP) (Wasmus; Gross, 2007). O seu objetivo é proporcionar ao desenvolvedor uma maneira simples de desenvolver software e que resulte em código fonte com legibilidade e fácil de manter TDD EXEMPLOS DE TESTE DE SOFTWARE ÁGIL UTILIZADOS NO MERCADO INDT Slideshare de Eliane Colings: Simpósio Brasileiro de Qualidade de Software (2010) http://pt.slideshare.net/elianecollins/sbqs -2010-processo-de-teste-desoftware-para-scrum Boas práticas de teste ágil para mobile http://pt.slideshare.net/elianecollins/agile-mobile-testing Scrum Gathering Paris (2013) http://pt.slideshare.net/elianecollins/scrum -gathering-paris-2013-testautomation-strategy-for-scrum-projects Encontro de Qualidade (2012) Manaus http://pt.slideshare.net/elianecollins/apresentao -sobre-teste-gil-noencontro-de-qualidade-de-manaus-2012 MONOGRAFIA SOBRE O TEMA 2010 – MBA - Unieuro Centro Universitário BH- Minas RENATA ELIZA PINTO FERREIRA SIBELE ESTEVES RAMOS VIVIAN CRISTINA LAGARES SCRUM NO TESTE DE SOFT WARE Estudo de Caso nas empresa” Voice Technology Ci&T Empresa A EMBRAS.net Disponível em: http://www.omegabrasil.com.br /user files/produtos_categorias_14_cat alogo.pdf DEVOP Fonte: 4Linux – diponível em: http://www.4linux.com.br/o -que-edevops UM POUCO DE HISTÓRIA http://www.targettrust.com.br/blog/mercado-de-ti/o-que-edevops/ PALAVRAS CHAVES Cloud Automatização Integração contínua Comunicação Computação nas nuvens Segundo a Microsoft o que é DevOP e quais são os produtos que a empresa oferece para essa metodologia: http://social.technet.microsoft.com /wiki/ptbr/contents/articles/29336.o -que-e-devops.aspx FERRAMENTAS Atlas A ferramenta recentemente introduzida pela HashiCorp provê visibilidade da infraestrutura, incluindo servidores, contêineres e máquinas virtuais, adicionando também configurações de gerenciamento e de serviços. Construído sobre projetos open source abertos como Vagrant, Packer, Serf, Consul e Terraform, o Atlas permite criar através de uma variedade de serviços cloud, como AWS, Google Compute Engine, Azure e OpenStack, além de prover um painel de controle de desenvolvimento, entrega e manutenção de aplicações. Versões instaladas devem ser lançadas ao longo de 2015. Fonte: Computer World (2015) Disponível em: http://computerworld.com.br/tecnologia/2015/01/30/7ferramentas-para-criar-uma-cultura-de-devops-correta#_=_