O documento apresenta uma introdução sobre qualidade e teste de software, abordando:
1) Definições de qualidade, teste de software, verificação e validação;
2) Papéis e perfis dos profissionais de teste;
3) Técnicas para derivar casos de teste a partir de casos de uso.
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
Teste de Software Introdução à Qualidade
1. Teste de Software: Introdução à Qualidade Camilo Ribeiro Esp. SE, ISTQB, CBTS
2. Consultor em arquitetura de testes e processos pela Caresoft Tecnologia ; Líder de Qualidade e Processos pela Alltcom Sistemas ; Palestrante em universidades como PUC Minas , UNI-BH e UNA . Mais de quatro anos atuando em Teste de Software e Processos; Participação em mais de 40 projetos de Software; Participação em projetos de implantação do CMMi (todos os níveis); Graduado em Sistemas para Internet pela Faculdade Pitágoras ; Pós graduado em Engenharia de Software pela UFMG ; Aluno da pós-graduação e pesquisa em Ciência da Computação na UFMG ; Certificado como especialista em Teste de Software pelo ISTQB e ALATS ; Membro do comitê de inovação em Teste de Software ALATS ; Mantedor do blog técnico www.bugbang.com.br ; Especialista em implementação e customização da ferramenta TestLink .
3. Agenda Camilo Ribeiro – camilo@camiloribeiro.com Breve introdução sobre qualidade e teste de software Mercado de trabalho e papéis Verificação, validação e QA Mitos sobre teste de software Introdução ao pensamento de testador Derivando casos de teste de casos de uso Técnicas de teste
4. O que é Qualidade? Qualidade é um conceito subjetivo que está relacionado diretamente às percepções de cada indivíduo. Diversos fatores como cultura, modelos mentais, tipo de produto ou serviço prestado, necessidades e expectativas influenciam diretamente nesta definição. Camilo Ribeiro – camilo@camiloribeiro.com
5. O que é teste de software? • Testar é o processo de executar um programa ou sistema com a intenção de encontrar defeitos (teste negativo) (Myers, 1979) • Testar é qualquer atividade que, a partir da avaliação de um atributo ou capacidade, permita determinar se o programa ou sistema obtém os resultados desejados (Hetzel, 1988) • Testar é verificar se o software está fazendo o que deveria fazer, de acordo com seus requisitos, e se não está fazendo o que não deveria fazer (Rios, Cristalli, Moreira e Souza, 2003) Camilo Ribeiro – camilo@camiloribeiro.com
6. O que é teste de software? Processo que consiste em todas as atividades do ciclo de vida, tanto estáticas quanto dinâmicas, voltadas para o planejamento, preparação e avaliação de produtos de software e produtos de trabalho relacionados a fim de determinar se eles satisfazem os requisitos especificados e demonstrar que estão aptos para sua finalidade e para a detecção de defeitos. (“Testing”, Glossário ISTQB 2007) Camilo Ribeiro – camilo@camiloribeiro.com
7. Perfil do profissional de teste de software Pesquisa realizada pelo Cristiano Caetano em 2007 (pesquisa 2010 em andamento www.testexpert.com.br ) Pesquisa Completa: “ Cargos e Salários - Quanto ganha o profissional de teste e qualidade de software.pdf ” Camilo Ribeiro – camilo@camiloribeiro.com
8. Papéis no Rational Unified Process (RUP) Camilo Ribeiro – camilo@camiloribeiro.com
9. Papéis e Cargos Papel != Cargo O RUP usa uma analogia onde os colaboradores de um projeto trocam de “chapéus” várias vezes durante o processo de desenvolvimento de software. Se assume o papel de gerente de Configuração, não quer dizer que é um Gerente de projetos. Camilo Ribeiro – camilo@camiloribeiro.com
10. Como o mercado informal classifica? Liderança Gestão de projetos Organizacional Negócios e Processos Técnica Arquitetura de Software Camilo Ribeiro – camilo@camiloribeiro.com
11. Certificação profissional Certificação Brasileira de Teste de Software: Associação Latino-Americada de Teste de Software www.alats.org.br Certified Tester Foundation Level; Certified Tester Advanced Level; International Software Testing Qualifications Boarder www.bstqb.org.br Certified Associate in Software Testing (CAST) ; Certified Software Quality Analyst (CSQA) ; Certified Software Tester (CSTE): Quality Assurance Institute www.qaibrasil.com.br/ Guia Completo para Certificações em Qualidade e Teste de Software - Versão 2008 Camilo Ribeiro – camilo@camiloribeiro.com
12.
13. Verificação, validação e QA Camilo Ribeiro – camilo@camiloribeiro.com Se a sua pergunta é... então você está falando de: Segui o processo? QA – Garantia de qualidade Fiz a coisa corretamente? Verificação Fiz a coisa certa? Validação
14. Quality Assurance (Garantia de Qualidade) “ Garantir que o processo seja seguido adequadamente e que seus produtos de trabalho sejam elaborados nos momentos adequados.” - CMMi for Development 1.2 Ligado ao processo da organização Camilo Ribeiro – camilo@camiloribeiro.com
15. Verificação “ O propósito da verificação é demonstrar que o produto ou seus produtos de trabalho atendem aos seus requisitos específicos.” - CMMi for Development 1.2 Ligado a Sintaxe, o como . . . Camilo Ribeiro – camilo@camiloribeiro.com
16. Validação “ O objetivo da validação é demonstrar que um componente do produto cumpre o seu uso pretendido quando colocado em seu ambiente pretendido.” - CMMi for Development 1.2 Semântica, o que . . . Camilo Ribeiro – camilo@camiloribeiro.com
17.
18. Transparência do teste Requisitos / Negócios (Abstração) Teste de caixa branca Teste baseado na análise da estrutura interna de um componente ou sistema. (Glossário ISTQB) Teste de caixa preta Teste, funcional ou não funcional, sem referência à estrutura interna do componente ou do sistema. (Glossário ISTQB) Camilo Ribeiro – camilo@camiloribeiro.com
19. Níveis, técnicas e tipos de teste Camilo Ribeiro – camilo@camiloribeiro.com Técnicas de Teste Nível de Teste Dimensões da Qualidade segundo o RUP Funcionalidade Confiabilidade Usabilidade Desempenho Suportabilidade Alguns tipos de Teste Caixa Branca Teste de Unidade Teste de Integração Segurança Integridade Carga Configuração Caixa Cinza Teste de Sistema Funcional Regressão Usabilidade Caixa Preta Teste de Aceitação Volume Maturidade Estresse Instalação Como Testar Quando Testar O que Testar
20. O que posso usar para criar testes? Requisitos Estórias de Usuário Dados Casos de uso Diagramas da UML Bugs Experiência Código Fonte Checklist Camilo Ribeiro – camilo@camiloribeiro.com Software fechado
21.
22. O que testar em um copo? Camilo Ribeiro – camilo@camiloribeiro.com
27. Casos de teste A, B, C, D, E M, N, O, P, Q V, W, X, Y, Z Cenário 3 do Caso de Uso 27 Caso de Teste 1 Caso de Teste 2 Caso de Teste 3 Camilo Ribeiro – camilo@camiloribeiro.com
28.
29.
30.
31.
32. Valores limites Baseado em intervalos matemáticos, onde, devemos testar pelo menos os valores nas extremidades dos intervalos. Pode ser representado por gráficos, por conjuntos de valores ou por expressões matemáticas. Camilo Ribeiro – camilo@camiloribeiro.com
33. Valores limites Todos veículos fabricados entre 15/01/2009 e 20/04/2009 são chamados para recall: Todos veículos com chassi maior ou igual a WAUZZZ44ZGN082819 e menor que WAUZZZ44ZGN095821 são chamados para recall: CT0N CT0N CT0N CT0N CT0N CT0N 14/01/2009 – false 15/01/2009 – false 16/01/2009 – true 19/04/2009 – true 20/04/2009 – false 21/04/2009 – false WAUZZZ44ZGN082818 – false WAUZZZ44ZGN082819 – true WAUZZZ44ZGN082820 – true WAUZZZ44ZGN095820 – true WAUZZZ44ZGN095821 – false WAUZZZ44ZGN095822 – false CT0N CT0N CT0N CT0N CT0N CT0N Camilo Ribeiro – camilo@camiloribeiro.com
34. Valores limites Imagine um sistema onde cada usuário pode publicar alguns avisos para serem exibidos na intranet, um telão ou em um outro dispositivo qualquer. Logado, o usuário informa qual o aviso, e qual o periodo que o aviso deve ser exibido. Ele pode cadastrar quantos avisos desejar, mas, no caso de uso de cadastro de avisos, existe uma regra: R001 - Um usuário não pode cadastrar dois avisos ocupando o mesmo período. Como testar essa regra? Camilo Ribeiro – camilo@camiloribeiro.com
35. Valores limites Inserir valores válidos (fora dos limites) Inserir um valor exatamente igual Inserir um valor qualquer Inserir valores em cada fronteira Inserir valores dentro dos limites Inserir valores que contenham os limites Testar novamente com outro usuário Agora repedir para a operação de atualização Camilo Ribeiro – camilo@camiloribeiro.com
36. Partição de Equivalência Baseado no princípio matemático dos conjuntos, onde, devemos testar pelo menos um elemento de cada conjunto distinto. Pode ser representado por gráficos, por conjuntos de valores ou por expressões de álgebra relacional. CT01 “ A” CT02 “ AB” CT03 “ B” Camilo Ribeiro – camilo@camiloribeiro.com
37. Partição de Equivalência Qualquer veículo pode ser alugado: Veículos Ciclomotores Caminhão Carro Ônibus Helicóptero 1 de cada subconjunto Pick-up CT01 Carro CT02 Pick-up CT03 Caminhão CT04 Ônibus CT05 Motocicleta CT06 Motoneta CT07 Helicóptero Camilo Ribeiro – camilo@camiloribeiro.com Motoneta Motocicleta
38. Teste de Sistema Camilo Ribeiro – camilo@camiloribeiro.com Um sistema é formado por várias funcionalidades ou “casos de uso”
39. Teste de Sistema Camilo Ribeiro – camilo@camiloribeiro.com Cada funcionalidade do sistema possui diversos fluxos
40. Teste de Sistema Integra cenários de várias funcionalidades para realizar um processo de negócio! Camilo Ribeiro – camilo@camiloribeiro.com
41. SMQS – Seminário Mineiro de Qualidade de Software Camilo Ribeiro – camilo@camiloribeiro.com http://www.smqs2010.base2.com.br/programacao/