UM ESTUDO SOBRE ABORDAGENS DE TESTE E SUAS CONTRIBUIÇÕES PARA A QUALIDADE NO ...
Uniinfo2010 introdução teste de software - priscila coelho blauth2
1. UNIINFO 2010
Mini-curso: Introdução
ao Teste de Software
UNIINFO - Semana da Informática UNISINOS
– Mini-curso –
UNISINOS
24 de maio de 2010
Priscila Coelho dos Santos Blauth
(priscila.coelho.blauth@gmail.com)
1
2. UNIINFO 2010
Mini-curso: Introdução
ao Teste de Software Apresentação
Instrutora e Turma
UNISINOS
2
3. UNIINFO 2010
Mini-curso: Introdução
ao Teste de Software Apresentação
Instrutora e Turma
UNISINOS
3
4. UNIINFO 2010
Mini-curso: Introdução
ao Teste de Software Apresentação
Instrutora e Turma
• Nome
• Empresa em que trabalha, papel/atividades
• O que sabes sobre qualidade de software? E sobre testes de
software?
• Qual expectativa do mini-curso?
UNISINOS
4
5. UNIINFO 2010
Mini-curso: Introdução
Agenda
ao Teste de Software
Módulo I – Processo de Teste de Software
O que é teste de software, seus benefícios, vantagens e objetivos.
Apresentação de conceitos básicos de qualidade de software e
alternativas para garantir a qualidade do produto dentro do processo de
desenvolvimento de software
Módulo II – Técnicas e Estratégias de Teste de Software
Visão geral das de uma seleção principais técnicas e estratégias de teste
de software existentes no mercado, para contextualização.
Módulo III – Recursos para o Teste na Organização
UNISINOS
Apresentação dos recursos humanos e físicos para a inserção de um
processo de testes na organização, tipos de ferramentas essenciais.
5
6. UNIINFO 2010
Mini-curso: Introdução
ao Teste de Software
Módulo I – Processo de Teste
de Software
UNISINOS
6
7. UNIINFO 2010
Mini-curso: Introdução
ao Teste de Software O que é “teste de
software”?
“Teste de software é o
processo de executar o
programa com a intenção
de encontrar bugs.”
Glendford Myers, 1979
UNISINOS
7
8. UNIINFO 2010
Mini-curso: Introdução
ao Teste de Software O que é “teste de
software”?
"Os testes são técnicas de controle de qualidade que avaliam diretamente o
produto que está sendo construído, atuando, basicamente, na
identificação e remoção de erros.
Devem ser conduzidos de forma sistemática, para que os mesmos sejam
bem sucedidos.”
PRESSMAN, 1992
“Testar o software é verificar se ele está fazendo o que deveria fazer, de
acordo com os seus requisitos, e se não está fazendo o que não deveria
fazer.”
Emerson Rios, 2006
UNISINOS
8
9. UNIINFO 2010
Mini-curso: Introdução
ao Teste de Software O que é “teste de
software”?
O teste prova que o software tem erros, e não que o
software está livre deles!
Os principais objetivos do teste são:
Revelar as falhas do sistema,
preferencialmente antes de entrar em
produção
Avaliar a qualidade do produto baseado
em critérios objetivos
UNISINOS
9
10. UNIINFO 2010
Mini-curso: Introdução
ao Teste de Software O que é “teste de
software”?
Porém, é impossível achar todos os bugs:
Impossível testar todas as formas e alternativas de entrada de dados
Impossível testar as diversas possibilidades e condições criadas pela lógica do
programador
UNISINOS
Se não se pode descobrir todos os erros do sistema e não se poder
afirmar que ele estará 100% correto, então...
Por que testar?
10
11. UNIINFO 2010
Mini-curso: Introdução
ao Teste de Software O que é “teste de
software”?
Teste é uma abordagem de controle da qualidade – diferente da
garantia da qualidade, que preocupa-se com implementação e melhoria
dos processos de software em geral.
Os testes de software devem ser realizados de forma sistemática, com
seu processo definido e monitorado, perfis de profissionais e feramentas
adequadas.
O teste não deve ser uma atividade isolada no processo de
desenvolvimento. Ele deve ocorrer em vários pontos, trazendo maior
valor à empresa.
UNISINOS
11
12. UNIINFO 2010
Mini-curso: Introdução
ao Teste de Software Processo de Teste de
Software
O que é um processo?
É um conjunto de atividades interligadas entre si, que recebe entradas e gera
saídas com valor agregado.
Entradas Atividades Saídas
UNISINOS
12
13. UNIINFO 2010
Mini-curso: Introdução
ao Teste de Software Processo de Teste de
Software
• Um processo definido não tem o objetivo de engessar, mas
sim de direcionar o esforço da organização para tarefas mais
complexas;
• Paraum processo ser maduro, deve ser institucionalizado,
documentado, utilizado por todos e continuamente
melhorado;
UNISINOS
• Modelos de melhoria de processo servem para guiar, e não
para certificar.
13
14. UNIINFO 2010
Mini-curso: Introdução
ao Teste de Software Processo de Teste de
Software
• Um processo serve para:
• Direcionar atividades de uma equipe;
• Especificar quais os artefatos devem ser elaborados e
quando;
• Definir responsabilidades e papéis e dirigir as tarefas
de cada indivíduo e da equipe toda (incluindo cliente);
• Definir critérios para monitoramento e medição dos
produtos de cada fase e atividades do projeto.
UNISINOS
14
15. UNIINFO 2010
Mini-curso: Introdução
ao Teste de Software Processo de Teste de
Software
• O esquema a seguir mostra uma proposta de processo de testes genérico:
Retirado de “Teste de Software”, Emerson Rios, 2006
Planejamento
Procedimentos
Especificação Execução Entrega
iniciais
Preparação
UNISINOS
Elaboração documento que sela acordo entre
partes envolvidas – externas e internas da
empresa. Possui informações sobre objetivos,
equipe, avaliações de riscos
15
16. UNIINFO 2010
Mini-curso: Introdução
ao Teste de Software Processo de Teste de
Software
• O esquema a seguir mostra uma proposta de processo de testes genérico:
Retirado de “Teste de Software”, Emerson Rios, 2006
Planejamento
Procedimentos
Especificação Execução Entrega
iniciais
Preparação
UNISINOS
Elaboração/revisão do Plano de
Testes, incluindo as estratégias que
serão adoradas.
16
17. UNIINFO 2010
Mini-curso: Introdução
ao Teste de Software Processo de Teste de
Software
• O esquema a seguir mostra uma proposta de processo de testes genérico:
Retirado de “Teste de Software”, Emerson Rios, 2006
Planejamento
Procedimentos
Especificação Execução Entrega
iniciais
Preparação
UNISINOS
Preparação/manutenção do ambiente
de testes, incluindo equipamentos,
versões e ferramentas.
17
18. UNIINFO 2010
Mini-curso: Introdução
ao Teste de Software Processo de Teste de
Software
• O esquema a seguir mostra uma proposta de processo de testes genérico:
Retirado de “Teste de Software”, Emerson Rios, 2006
Planejamento
Procedimentos
Especificação Execução Entrega
iniciais
Preparação
UNISINOS
Elaboração e revisão dos
casos de teste, testes
estáticos
18
19. UNIINFO 2010
Mini-curso: Introdução
ao Teste de Software Processo de Teste de
Software
• O esquema a seguir mostra uma proposta de processo de testes genérico:
Retirado de “Teste de Software”, Emerson Rios, 2006
Planejamento
Procedimentos
Especificação Execução Entrega
iniciais
Preparação
UNISINOS
Execução dos testes conforme
os casos de teste com registros
desta execução
19
20. UNIINFO 2010
Mini-curso: Introdução
ao Teste de Software Processo de Teste de
Software
• O esquema a seguir mostra uma proposta de processo de testes genérico:
Retirado de “Teste de Software”, Emerson Rios, 2006
Planejamento
Procedimentos
Especificação Execução Entrega
iniciais
Preparação
UNISINOS
Conclusão do processo de testes
com a entrega do sistema em
produção
20
21. UNIINFO 2010
Mini-curso: Introdução
ao Teste de Software Processo de Teste de
Software
UNISINOS
Priscila Coelho Blauth - Software Process Consultoria
Retirado de www.lgcnsglobal.com/Testing/Testing-Models.html 21
22. UNIINFO 2010
Mini-curso: Introdução
ao Teste de Software Processo de Teste de
Software
Na especificação/elicitação de requisitos:
Revisar documentação (incoerência, ambigüidades,
padrões)
Verificar se todas os processos de negócio foram
abordados
Verificar se os requisitos estão corretos, completos,
consistentes, testáveis...
UNISINOS
22
23. UNIINFO 2010
Mini-curso: Introdução
ao Teste de Software Processo de Teste de
Software
UNISINOS
Na análise:
Verificar se todos os requisitos foram
abordados
Verificar inconsistência de regras
Verificar testabilidade
23
24. UNIINFO 2010
Mini-curso: Introdução
ao Teste de Software Processo de Teste de
Software
Na arquitetura/projeto:
Verificar possível incoerência na junção dos componentes
Verificar completa comunicação entre as partes do software
Verificar faltas/sobras na integração
Verificar se “bate” com regras determinadas na análise
UNISINOS
24
25. UNIINFO 2010
Mini-curso: Introdução
ao Teste de Software Processo de Teste de
Software
Na codificação:
Verificar se está de acordo com o especificado
Verificar se atende aos requisitos
Verificar padrões de codificação e de usabilidade
Verificar possíveis problemas de documentação
UNISINOS
25
26. UNIINFO 2010
Mini-curso: Introdução
ao Teste de Software Processo de Teste de
Software
“A qualidade do produto de software
depende da qualidade do processo para
desenvolvê-lo.” Watts Humphrey
UNISINOS
26
27. UNIINFO 2010
Mini-curso: Introdução
ao Teste de Software Processo de Teste de
Software
Identifique os defeitos do produto e
melhore o seu processo!
UNISINOS
Fonte: www.defectmanagement.com 27
28. UNIINFO 2010
Mini-curso: Introdução
ao Teste de Software
Módulo II – Técnicas de
Teste de Software
UNISINOS
28
29. UNIINFO 2010
Mini-curso: Introdução
ao Teste de Software Técnicas de Teste de
Software
Técnicas de teste são formas sistemáticas de exercitar
o produto de software com o intuito de identificar seus
defeitos
As técnicas de teste podem ser usadas
independentemente dos paradigmas ou metodologias
de desenvolivmento
UNISINOS
29
30. UNIINFO 2010
Mini-curso: Introdução
ao Teste de Software Técnicas de Teste de
Software
Existem várias técnicas atualmente. A seguir serão
apresentadas as principais cujos conceitos básicos
acabam gerando outras técnicas mistas
Existem 2 principais abordagens das técnicas:
estrutural e funcional
UNISINOS
30
31. UNIINFO 2010
Mini-curso: Introdução
ao Teste de Software Teste de Caixa
Branca
Também conhecido como glass box, white box ou caixa aberta
É o teste estrutural do software
Trabalha diretamente sobre o código-fonte do componente de
software
O testador (outro desenvolvedor) tem acesso ao código fonte da
aplicação e pode construir códigos para efetuar a ligação de
bibliotecas e componentes
Técnica normalmente utilizada no teste de unidade, onde uma
unidade do software (classe, método, função) é testado
Também pode ser usada no teste de integração
Pode ser necessária criação de drivers e stubs para apoiar na
execução do teste - mocks
UNISINOS
Driver: exercita a unidade que se está testando – envio de
valores, coleta e comparação de resultados
Stub: quando é necessário substituir uma outra unidade ao
qual a unidade que está sendo testada depende
31
32. UNIINFO 2010
Mini-curso: Introdução
ao Teste de Software Teste de Caixa
Branca
No teste estrutural pode ser combinado critérios de seleção
Normalmente se utiliza ferramenta para auxiliar nos testes
Como é avaliado o código fonte, existem ferramentas específicas
para cada linguagem
Ex.: JUnit para Java
UNISINOS
32
33. UNIINFO 2010
Mini-curso: Introdução
Teste de Caixa Preta
ao Teste de Software
Também conhecido como black box
Analisa apenas funcionalidade (entrada-saída) do programa
Não analisa código
Tipos de defeitos encontrados:
Falhas de interface;
Funções incorretas ou ausentes;
Acesso a banco de dados;
Erros de desempenho;
Erros de inicialização e término.
Baseado na especificação e em padrões definidos
UNISINOS
Procura verificar se todas as funcionalidades previstas foram
implementadas e se respondem como esperado
33
34. UNIINFO 2010
Mini-curso: Introdução
Teste de Caixa Preta
ao Teste de Software
Principais técnicas:
Valor limite;
Classes de equivalência;
Tabelas de decisão;
Baseada em estados.
A aplicação das técnicas:
Podem ser utilizadas isoladamente ou em conjunto;
UNISINOS
Auxiliam na identificação de um conjunto de casos de teste
potencialmente revelador de falhas.
34
35. UNIINFO 2010
Teste de Caixa Branca
Mini-curso: Introdução
ao Teste de Software
ou Caixa Preta?
Técnicas se complementam.
A escolha depende de uma série de fatores, como:
Tipo do sistema
Padrões que devem ser adotados
Requisitos contratuais
Objetivo dos testes
Documentação disponível
Conhecimentos dos testadores
UNISINOS
Investimentos disponíveis (tempo, recursos)
Ciclo de vida de desenvolvimento
Etc.
35
36. UNIINFO 2010
Mini-curso: Introdução
ao Teste de Software Teste de
Desempenho
Tem como objetivo avaliar o comportamento da aplicação
em condições de sobrecarga (com um determinado
número de usuários interagindo simultaneamente com a
aplicação), para identificar gargalos de hardware e
software.
Vantagens:
Melhorar a qualidade das aplicações implantandas
Identificar gargalos de software
UNISINOS
Dimensionar corretamente o hardware das suas aplicações
Reduzir o risco de problemas no ambiente de produção
Prever o comportamento da aplicação numa condição de carga
36
37. UNIINFO 2010
Mini-curso: Introdução
ao Teste de Software Teste de
Desempenho
Pode-se gerar uma curva de degradação da aplicação, que
é o comparativo do tempo de resposta em relação ao
número de usuários simultâneos.
Ex.:
UNISINOS
37
38. UNIINFO 2010
Mini-curso: Introdução
ao Teste de Software Teste Baseado em
Riscos
Os testes baseados em riscos são baseados nos riscos do negócio da
aplicação
Baseia-se na premissa de que se os defeitos mais “importantes” são
achados mais cedo quando se tem um melhor planejamento e
efetividade nos esforços despendidos para testar
Uma boa análise de risco da aplicação permite tomar melhores
decisões sobre a cobertura do teste, focando o esforço nos
módulos/funcionalidades mais importantes.
Algumas perguntas podem ser feitas no momento do levantamento:
Que funcionalidades e atributos são críticos para o sucesso do produto?
Quão grave é um problema numa funcionalidade ou atributo (para
clientes, usuários, pessoas de fora)?
UNISINOS
Em que frequência esta funcionalidade é utilizada?
Podemos “sobreviver” sem isso?
38
39. UNIINFO 2010
Mini-curso: Introdução
Teste de Regressão
ao Teste de Software
É o re-teste do software após alguma modificação (como
na correção de um defeito)
Objetivos:
Verificar se o problema foi efetivamente corrigido
Verificar se outros erros não surgiram onde antes não havia
Dificuldade: saber o quanto re-testar
UNISINOS
Dicas:
Combinar casos de teste
Automatizar o que for possível
39
40. UNIINFO 2010
Mini-curso: Introdução
Teste Automatizado
ao Teste de Software
Servem para automatizar uma ou mais técnicas em um ou
mais níveis de teste
Não é milagroso – deve existir estrutura na organização
“Um tolo com uma ferramenta continua sendo um tolo”
Exemplos de usos:
Teste de interface de unidades e verificação de assertivas
Teste de GUI (capture/replay)
Teste de carga e estresse
Teste de desempenho/deteccção de gargalos
UNISINOS
Exemplos: TestComplete (Automated QA), Selenium,
Mercury TestRunner, IBM Funciotnal Tester.
40
41. UNIINFO 2010
Mini-curso: Introdução
Teste Exploratório
ao Teste de Software
Baseia-se na experiência, “feeling” do testador
Quando aliado a outras técnicas formais ajuda a identificar testes especiais
não identificados pelas abordagens formais
A eficiência do teste dependerá muito da experiência e habilidade do
testador
Teste exploratório é, ao mesmo tempo, o design do teste, a execução e
registro e aprendizado (do próprio software)
O teste exploratório pode ser aplicado:
Executar testes quando requisitos não estão completamente documentados
Executar testes quando existe pouco tempo disponível
Executar testes quando não se conhece o aplicativo a ser testado
Executar testes em ambientes pouco testados pelos testes convencionais
UNISINOS
Identificação dos passos para tentar reproduzir um defeito aleatório
Investigação de efeitos colaterais
Investigação de defeitos semelhantes.
41
42. UNIINFO 2010
Mini-curso: Introdução
ao Teste de Software
Módulo III – Recursos para o
Teste na Organização
UNISINOS
42
43. UNIINFO 2010
Mini-curso: Introdução
Recursos Físicos
ao Teste de Software
Ambiente de testes dedicado
Sistema(s) operacional(is) adequado(s)
Banco de dados em separado
Atualizações de versões
Máquinas
Aparelhos externos – celular, automações, periféricos
em geral
UNISINOS
Ferramentas de testes
43
44. UNIINFO 2010
Mini-curso: Introdução
Ferramentas
ao Teste de Software
Todo o processo de software necessita de ferramentas de apoio
Para o processo de testes, existem alguns tipos de ferramentas
básicas:
Ferramenta para registro e gestão de defeitos
Ferramenta para documentação (plano de testes, casos de
testes, casos de teste padrões)
Ferramenta para controle do andamento do teste em relação
ao seu escopo
Outras:
UNISINOS
Ferramenta para registro de execução e gerenciamento de
testes
Ferramenta que contém o processo de teste (workflow)
Ferramentas para teste automatizado e outros tipos de testes
de requisitos não-funcionais
44
45. UNIINFO 2010
Mini-curso: Introdução
Ferramentas
ao Teste de Software
Planilhas e processadores de texto servem como ferramentas
básicas
Ferramenta deve fornecer mínimas possibilidades de se extrair
métricas
Existem centenas de ferramentas no mercado, pagas e free, para
vários tipos de utilidades (ex.: Bugzilla e Mantis – gestão de
defeitos)
Sites com indicações de ferramentas:
http://www.testingfaqs.org/
http://www.opensourcetesting.org/
UNISINOS
E-book “Automação e Gerenciamento de Testes: Aumentando a
Produtividade com as Principais Soluções Open Source e
Gratuitas”, de Cristiano Caetano.
45
46. UNIINFO 2010
Mini-curso: Introdução
Equipe de Teste
ao Teste de Software
Ainda não há uma “padronização” de funções usualmente
utilizada pelas empresas no Brasil
Os papéis atualmente utilizados são:
Executor de Teste
Automatizador de Teste Em algumas empresas, a função
Analista de Teste “Testador” executa 1 ou mais
desses papéis
Arquiteto de Teste
Engenheiro de Teste
Gerente de Teste
UNISINOS
Gerente Especialista
Gerente Consultor
Consultor Especialista em QA
46
47. UNIINFO 2010
Mini-curso: Introdução
Equipe de Teste
ao Teste de Software
Alguns requisitos técnicos que podem ser avaliados:
Conhecimentos gerais sobre as práticas e princípios de
engenharia de software
Conhecimento das práticas e princípios de teste de software
Conhecimentos básicos sobre métodos e estratégias de teste
Conhecimentos em Planejamento, Design e Execução de testes
Habilidade de redação clara e objetiva, boa comunicação
Facilidade de leitura e intrerpretação de textos
Ter bom raciocínio lógico
Conhecimentos de redes de computadores, banco de dados,
sistemas operacionais
UNISINOS
Conhecimentos de gestão de configuração
Habilidades para definir, coletar e analisar medidas de teste de
software
Conhecimentos básicos em ferramentas de automação
47
48. UNIINFO 2010
Mini-curso: Introdução
Equipe de Teste
ao Teste de Software
Além da questão técnica, o profissional da área de
testes deve ser:
Detalhista, observador
Pró-ativo
Crítico
Bom relacionamento interpessoal com vários
papéis da equipe inclusive cliente
UNISINOS
48
49. UNIINFO 2010
Mini-curso: Introdução
Equipe de Teste
ao Teste de Software
Atualmente existem 4 principais certificações em teste de
software disponíveis no Brasil:
Internacionais:
QAI (Quality Assurance Institute) - www.qaiworldwide.org
CAST – Certified Associate in Software Testing
CSTE - Certified Software Tester
ISBTQ (International Software Testing Qualifications Boarding) -
www.istqb.org, no Brasil representado pelo BSTQB (Brazilian
Software Testing Qualification Board) - www.bstqb.org.br
CTFL – Certified Tester, Foundation Level
CTAL – Certified Tester Advanced Level
Nacionais:
UNISINOS
IBQTS (Instituto Brasileiro de Qualidade em Testes de Software) -
http://www.ibqts.com.br/
ALATS (Associação Latino-Americana de Teste de Software) -
http://www.alats.org.br
CBTS (Certificação Brasileira de Teste de Software)
49
50. UNIINFO 2010
Mini-curso: Introdução
Equipe de Teste
ao Teste de Software
Modelos organizacionais:
Por projeto – parte da equipe ou por área em
separado;
Por habilidades – alocados de acordo com a
necessidade do projeto;
Fábrica de teste – teste tratado como um projeto
em separado, por equipe especializada.
UNISINOS
50
51. UNIINFO 2010
Mini-curso: Introdução
ao Teste de Software
Considerações Finais
UNISINOS
51
52. UNIINFO 2010
Mini-curso: Introdução
Visão geral
ao Teste de Software
Existem diferentes técnicas e aplicabilidades que
dependem do objetivo do negócio e das características do
sistema
Os testes podem ser aplicados nas diferentes fases do
desenvolvimento do software
A equipe responsável não deve estar diretamente
subordinada ao projeto
UNISINOS
Como para o desenvolvimento de software, a atividade de
testes requer um processo definido com atividades,
ferramentas, papéis e responsabilidades...
52
53. UNIINFO 2010
Mini-curso: Introdução
Considerações finais
ao Teste de Software
O processo de teste deve ser documentado
Ferramentas para controle são essenciais
Os critérios de qualidade do testador deve ser o
mesmo do início ao fim do projeto. A decisão de
corrigir ou não um bug que pareça “bobo” no final do
projeto não cabe ao testador, deve ser de
responsabilidade da gerência;
Não confie na memória – nem na sua, nem na do
desenvolvedor. Documente, cadastre todas as falhas
mesmo que ele diga “Peraí que eu já corrijo isso!”. Não
esqueça que a documentação da falha é essencial para
UNISINOS
o testador, e o reteste pode acontecer horas ou dias
depois da detecção.
53
54. UNIINFO 2010
Mini-curso: Introdução
Considerações finais
ao Teste de Software
Os objetivos do teste são:
Verificar as regras de negócio
Verificar padrões
Verificar usabilidade...
MAS também: não deixar o usuário fazer
“bobagens”. O testador deve se colocar no lugar do
usuário.
E lembre-se: NUNCA SUBESTIME UM
USUÁRIO!
UNISINOS
54
55. UNIINFO 2010
Mini-curso: Introdução
ao Teste de Software Leis de Teste
(incluindo Murphy)
Se alguma coisa pode dar errado, ela dará
Qualquer programa não-trivial contém pelo menos 1 bug
Sempre haverá mais 1 bug
Qualquer erro pode se esconder, não antes da aplicação já
estar em produção durante 6 meses é que será descoberto o
pior dos bugs
Nada é tão fácil quanto parece
Não existe nenhum trabalho tão simples que não possa ser
feito errado
Todos superam sua capacidade de incompetência, porém,
nunca haverá testadores suficientes.
UNISINOS
Se construtores construíssem prédios do modo como
programadores constróem software, então o primeiro pica-
pau destruiria uma civilização.
55
56. UNIINFO 2010
Mini-curso: Introdução
ao Teste de Software
OBRIGADA!
Priscila Coelho Blauth
priscila.coelho.blauth@gmail.com
UNISINOS
56
57. UNIINFO 2010
Mini-curso: Introdução
Referências
ao Teste de Software
Emerson Rios e Trayahú Moreira – Teste de Software -2ª edição. Alta Books, 2006.
Cem Kaner – Improve the Power of Your Tests with Risk-Based Test Design. Conferência
de Testes Baseados em Riscos, Florida, 2008.
Rajnikant Puranik – The Art of Creative Destruction. SPD, 2005.
Glenford J. Myers, Tom Badgett, Todd M. Thomas, Corey Sandler – The Art of Software
Testing. Wiley, 1979
Kleber G. Greco, Ricardo Cristalli – Referência Complementar – CBTS. 2007
Alexandre Bartie – Garantia da Qualidade de Software. Campus, 2002.
Taisy Silva Weber – Tolerância a falhas: conceitos e exemplos. Programa de Pós-Graduação
em Computação - Instituto de Informática – UFRGS.
Juliana Herbert – Formação em Teste de Software. UNISINOS, 2004.
Fábio Oliveira – Capacitação em Técnicas de Teste de Software. PUCRS, 2003.
Cristiano Caetano – Testes Exploratórios de A a Z. Retirado de
http://www.linhadecodigo.com.br/Artigo.aspx?id=1102.
Driving Software Quality – Lisa Crispin. Revista IEEE Software – dez/2006. Volume 3
número 6.
UNISINOS
IEEE Standard for Software Test Documentation - IEEE Std 829-1998. IEEE, 1998
KOOMEN, Tim et al. Tmap Next, for result-driven testing. UTN Publishers, 2006.
POL, Martin; TEUNISSEN, Ruud & VEENENDAAL, Erik. Software Testing: A Guide to the
Tmap® Approach. Addison-Wesley Professional, 2001.
KOOMEN, Tim & POL, Martin. Test Process Improvement: A Practical Step-by-Step Guide to
Structured Testing. Addison-Wesley Professional, 1999.
57
58. UNIINFO 2010
Mini-curso: Introdução
Alguns sites da área
ao Teste de Software
Sites:
www.testexpert.com
www.badsoftware.com
www.stickyminds.com
www.testing.com
Software Quality Institute: http://lifelong.engr.utexas.edu/sqi/index.cfm
ALATS: www.alats.org.br
http://www.testingcraft.com
http://testinggeek.com/
Blogs:
http://guts-rs.blogspot.com/
UNISINOS
http://sembugs.blogspot.com
http://gtsw.blogspot.com/
http://testbugs.blogspot.com/
58