segunda-feira, 28 de março de 2011

Quero entrar para área de teste de software. E agora?

Iniciar em uma área é sempre uma questão delicada. Quase sempres questões como o que eu preciso saber? como conseguir um emprego? são as maiores dúvidas de um profissional inciante. Caso a segunda pergunta já tenha sido respondida, o testador com emprego, certamente já terá mais algumas perguntinhas cruciais a serem respondidas. Mas vamos voltar a primeira pergunta: O que eu preciso saber?

Bom, tem um monte de conceitos básicos que são primordiais para todo testador. Comecar absorvando-os é uma ótima pedida. Leia o conceito, cerfique-se de ter compreendido e passe para o próximo. Conhecer é sempre preciso!


Tá, mas onde eu encontro esses conceitos? Eu mesmo já estou perguntado isso. Começando com uma busca no google, já dá para ter uma ideia de quais são exatamentes estes conceito. Explorando a pesquisa começa-se a enxergar a luz no fim do túneo. Experimente!


Ok, fiz a pesquisa, comecei a compreender tudo, mas eu gosto de livros! Gosto de fundamentar tudo. Tem algum livro que ajude nessa área? Sim, caro leitor, e olha bem o título dele:





Pode ser considerado a obra referência pra os proficionais da nossa área e é indicado para para todo inciante por conter conceitos e informações que auxiliam no desenvolvimento das tarefas de nosso dia-a-dia.


Certo, vou comprar o livro. Mas eu quero aprender uma ferramenta. Todo mundo usa!!
Eu preciso aprender uma também!! Esse é o tipo de informação que me amedronta. E infelizmente, é o que mais ouço. E eis o que sempre respondo:
Vai aprender a ferramenta pra que? Você vai usa-la como? Você já tem um processo de testes definido?
E aí, rebatem: Que processo? Estou começando agora!
Então, aprenda o básico. Concentre seu esforço nisso: leia, aprenda, acesse forúns, tire dúvidas. Só depois... bem depois... comece a se preocuparar com ferramentas.


Ah, treinamentos também são sempre bem vindos:

http://www.iterasys.com.br/

http://www.cps.softex.br/agenda.php

http://www.testexpert.com.br/?q=forum/58

Se você ainda está pensando na segunda pergunta: como conseguir um emprego?, não se desespere. Esse, certamente, será um assunto para próximos posts.



quarta-feira, 23 de março de 2011

Teste de Software - Deinições

“O teste de programas pode ser usado para mostrar a presença de defeitos,
mas nunca para mostrar a sua ausência.” (Dijkstra)



Caiu de paraquedas nesta página e ainda está se perguntando: mas que raios é esse tal de teste de software?

Pois bem, vamos pedir uma ajuda para os universitários:


A Wikipédia nos diz o seguinte:

"O teste do software é a investigação do software a fim de fornecer informações sobre sua qualidade em relação ao contexto em que ele deve operar. Isso inclui o processo de utilizar o produto para encontrar seus defeitos.O teste é um processo realizado pelo testador de software, que permeia outros processos da engenharia de software, e que envolve ações que vão do levantamento de requisitos até a execução do teste propriamente dito."


Já Myers, do famoso The Art of Software Testing diz que: "É o processo de executar um programa com o objetivo de encontrar defeitos"


Para Hetzel: "o teste é uma atividade cujo objetivo é avaliar um atributo ou capacidade de um programa ou sistema e determinar se este atende aos requisitos "

Bach acredita que "Teste é um processo através do qual exploramos e entendemos o status dos benefícios e os riscos associados com a liberação de um software ou sistema"

E aí, subindo no ombro de gigantes deu para ter uma ideia?



Fontes:

Bach, James, “Test Automation Snake Oil”. Windows Technical Journal, p. 40-44,

out. 1996.

Hetzel, William, “Guia Completo ao Teste de Software”. Campus, 1987.

Myers, G.J., The Art of Software Testing, 2nd edition, John Wiley & Sons, 2004.

sexta-feira, 18 de março de 2011

História do Teste de Software

 
 
 
Uma das coisas que sempre me chamam atenção nas áereas que estudo é a História. Tenho curiosidade de saber o que aconteceu, como aconteceu, o que surgiu primeiro, quando Fulano fez aquela coisa...E é movida a essa curiosidade que comecei a pesquisar a história do teste de software. O Emerson Rios tem um artigo muito abrangente sobre o tema. Neste post, irei listar alguns dos fatos mais mportantes.

Nos anos 40, quando o Mark II foi lançado, foi datado, em 1947, o aparecimento do termo Bug para caracterizar um defeito.
Nos anos 50, época em que as Tabelas matemáticas auxiliavam a computação, em 1957, Charles L. Baker estudando sobre o livro Digital Computer Programming (Dan McCracken) estabelece a diferença entre tirar defeitos e testar software.

Na década de 60,os progressos começam a se tornarem mais significativos: em 61, O livro Computer Programming Fundamentals apresenta um capítulo sobre teste de software. Em 67, Num trabalho publicado pela IBM William Elmendorf fala numa abordagem para os testes funcionais. Logo em seguida, em 1968, Um relatório publicado numa conferência sobre Engenharia de Software e patrocinado pela OTAN fala sobre qualidade de software.

Jà na década de 70, em 1973, é publicado o livro: Métodos de teste de programas de William Hetzel. Nesse mesmo ano, William Elmendorf desenvolve o gráfico de causa e efeito. Outro fato importante: em 1975,Gilb publica as suas leis da falta de confiabilidade na revista Datamation. A lei dizia o seguinte: "A capacidade de encontrarmos e manusearmos defeitos de qualquer sistema serve como base para entendermos os defeitos que nós não iremos nunca encontrar.”

Em 1976, Thomas McCabe introduz o conceito de complexidade ciclomática como uma métrica de software num artigo para a IEEE e Glenford Myers no seu livro Software Confiável discute conceitos de teste de software e afirma que o objetivo do testador é fazer o programa falhar. Em 77, é publicado o livro Métricas de Software de Tom Gilbs que é considerado o livro base para um grande número de métricas de software.

Ano de 1979 "A arte de testar software" Glenford Myers publica o primeiro livro somente sobre teste de software. Nesse mesmo ano, Phillip Crosby descreve os seus famosos 14 passos para a melhoria da qualidade de softwares.

Década de 80: no seu famoso livro Software Engineering Economics Barry Boehm introduz o conceito que o custo de fixar um defeito cresce exponencialmente no tempo, isso em 1981. Em 1982, Gerald Weinberg descreve, no livro Repensando a análise e o projeto de sistemas, o desenvolvimento e o teste iterativo.

A norma IEEE 829, primeira versão do padrão de documentação de teste de software é pulbicada em 1983. James Martim publica em 1984, um manifesto sobre distribuição de defeitos onde afirma que metade dos defeitos tem a sua origem em requisitos mal definidos. E em 1986 é publicado o famoso Modelo em V.

Em 1988, Cem Kaner, Cem Kaner, Jack Falk e Hung Nguyen no seu livro Teste de Software introduzem pela primeira vez a terminologia teste exploratório. Este livro é também famoso pela abordagem pragmática dada ao teste de software. No mesmo ano, num artigo publicado na revista da ACM David Gelperin e William Hetzel discutem quatro modelos de teste e a evolução do teste de software e a empresa Qualtrak desenvolve o software DDTS (sistema de monitoramento distribuído de defeitos) para gestão de defeitos em ambiente Unix.
A década de 90 já se inicia com Boris Beizer definindo a taxonomia de defeitos no seu livro Técnicas de Teste de Software. Neste mesmo livro, Beizer demonstra o efeito do pesticida Paradox onde afirma quanto mais você testa tanto mais imune os defeitos ficam para os seus testes.

Em 1991 é publicada a ISO 9126, norma lista as seis características de qualidade que todo software deveria ter. Em 1992 é realizada a primeira conferência STAR (software testing análise e revisão) e em 93 a a primeira conferência EuroSTAR, o maior evento mundial em teste de software. Nesse mesmo ano, 93, Daniel Mosley aplica pela primeira vez o conceito de tabelas de decisão em teste de software.

Já no ano de 1995, Martin Pol, Ruud Teunissen e Erik van Veenendaal publicam o seu modelo de gerência estruturada de teste: TMap. Neste mesmo ano a Mercury lança a primeira versão da ferramenta de teste Winrunner.

Em 1998, a British Information System Examinations Board cria a primeira certificação européia em teste de software: ISEB. No ano de 1999 Martin Pol e Koomen lançam o modelo Test Process Impromement (TPI) voltado para melhoria de processos de teste de software.

Anos 200! Em 2002 acontece a fundação da ISTQB, e atualmente com sede na Bélgica o International Software Testing Qualifications Board órgão responsável pelo exame de certificação ISTQB Certified Tester. Neste mesmo ano, a IBM lança o famoso IBM Rational Functional Tester.
No Brasil, ainda em 2002, é criada a ALATS – Associação Latino Americana de Teste de Software com sede no Brasil.

Em 2003, é lançado o primeiro livro sobre teste de software em português: lançado por Emerson Rios e Trayahu Moreira o livro Teste de Software. Em 2005, é publicado a primeira versão do modelo TMMi voltado para melhoria de processo de teste de software.

Outra marca brasileira: em 2006 é realizado no Brasil o primeiro exame CBTS – Certificação Brasileira em Teste de Software. E em, 2008 é lançada a primeira primeira versão do modelo MPT (Melhoria de Processo em Teste de Software) voltado para melhoria do processo de teste de software.
Claro que desde 2008 até os dias atuais ainda ocorreram mais alguns eventos super importantes, mas isso já é assunto para outro post.

Fonte: RIOS Emersom, Historória resumida em fatos do Teste de Softwate, disponível em
<http://www.iteste.com.br/LinkClick.aspx?fileticket=FI3CvtavRpk%3d&tabid=249&mid=440>