Este artigo tem como objetivo mostrar a utilização de testes automatizados de software abordando as suas vantagens e melhorias no desenvolvimento de soluções tecnológicas utilizando linguagens de programação abrangendo à qualidade inerente ao software entregue. Nas seções seguintes inicialmente terá uma abordagem sobre o que são testes de software, uma mudança na forma de se pensar em desenvolvimento de software, como utilizar de testes automatizados em projetos de software, mostrando os benefícios ao se utilizar desta estratégia na criação de sistemas. Serão também abordadas as necessidades de se utilizar ou não os testes em projetos de software, como essa abordagem pode ser aplicada em projetos legados quanto em novos projetos. Será comentado sobre os tipos de testes existentes e como escolher o tipo apropriado ao sistema que se pretende automatizar os testes. Comentar-se-á as diferenças entre testes de Caixa Branca e de Caixa Preta e como proceder na escolha para utilização. Para exemplificar a prática de testes programaticamente será utilizado as ferramentas Selenium que é um driver que expõe uma interface que interage com o navegador a partir de métodos e funções. TheIntern um framework Javascript para testar web sites e aplicações. Para que seja possível executar os testes funcionais criados a partir do framework TheIntern será utilizado a plataforma NodeJs
2. Matheus Costa Vieira
• Natural de Porto Alegre - RS
• Graduado em Sistemas de Informação pela Universidade Positivo
• Pós-graduado em Engenharia & Arquitetura de Software pela
Universidade Estácio de Sá
3. Roadmap
• Breve história sobre testes de software
• Importância do processo de teste de software
• Testes automatizados de software
• Interação com o navegador através do Selenium com NodeJS e
TheIntern
• Metodologias de testes
• Ferramentas para teste de software
4. Breve História Sobre Testes de Software
• 1947 – Harvard Mark I – falha a execução dos cálculos
• 1960 – Livro Computer Programming Fundamentals
• 1975 – Métodos de teste de Programas –Willian Hetzel
• 1976 – Conceito de complexidade ciclomática
• 1979 – A Arte deTestar Software – Glenford Myers
• 1981 – Barry Boehm – Custo na correção de erro
5. Breve História Sobre Testes de Software
• 1984 – Relação defeito – requisito mal formulado – James Martin
• 1986 – ModeloV – mais efetivo em requisitos
• 1991 – ISSO 9126 – Características do software
• 1992 – Star SoftwareTesting
• 1993 – EuroStar
• 1995 –Winrunner
6. Breve História Sobre Testes de Software
• 1998 – ISEB – Britsh Computer Society
• 1999 –TPI – Martin Pol e Koomen
• 2002 – ISTQB responsável pelo ISTQB SoftwareTest, IBM Rational
FunctionalTester
• 2005 –TMMI
7. Breve História Sobre Testes de Software -
Brasil
• 2002 - ALATS
• 2003 –Teste de Software – Emerson Rios eTrayahú
• 2006 – CBTS, BSTQB
• 2007 – BRATESTE
• 2008 – MPT.Br
8. Importância do processo de teste de
software
• Entre 1960 e 1970 ¾ do processo
• Maior complexidade
• Otimização do processo
• Programador não gosta de testar
• Testes juntos com o desenvolvimento
• Therac-25
9. Teste Automatizados de software
• Características:
• Repetibilidade
• Simplicidade
• Independência
• Testes de Caixa Branca e Preta, End to End, Aceitação
10. Interação com navegador através do
Selenium com NodeJS e TheIntern
• 2004 – Jason Huggins – ThougthWorks
• 2009 – Motor JavascriptV8 – Google -> NodeJS - Ryan Dahl
• 2013 –TheIntern - Sitepen