PALESTRA Aplicação da Norma IEEE 829 como Mecanismo de Gerência do Processo de Teste de Produtos de Software Centro de Pesquisas Renato Archer Laboratório de Qualidade de Processos de Software - LQPS www.cenpra.gov.br Grupo de Teste Campinas, SP
Centro de Pesquisas Renato Archer - MCT 2000 2001 1991 ITI ITI 1984 FCTI FCTI CTI CTI # 2
Missão Incentivar o desenvolvimento da pesquisa científica e tecnológica nas atividades relacionadas à tecnologia da informação. Promove e realiza projetos de Pesquisa e Desenvolvimento; Realiza atividades de suporte às empresas do setor de Tecnologia da Informação. # 3
Estratégia de Atuação Tecnológica Pesquisa e Desenvolvimento Novos métodos e processos Novos produtos Novos conhecimentos Apoio às Empresas Consultoria tecnológica Prototipagem Qualificação Avaliação de conformidade Análise de falhas # 4
Modelos de Qualidade para Software O atua em: Melhoria de Processos de Software Avaliação de Produtos de Software Utiliza os modelos: SPICE - Futura Norma 15504 CMM # 5
TEMA DA PALESTRA Aplicação da Norma IEEE 829 como Mecanismo de Gerência do Processo de Teste de Produtos de Software
O que é Teste de Software? Teste de software é o processo de executar o software de uma maneira controlada com o objetivo de avaliar se o mesmo se comporta conforme o especificado. # 7
Visão Geral sobre Teste de Software Requisitos do Software Preparação do Teste Dados para Teste Resultados Esperados Software Resultados Obtidos Comparação Relatórios de Teste # 8
Visão Geral sobre Teste de Software Relatórios de Teste Análise sobre o Software concluir O software atende aos requisitos. ou O software não atende aos requisitos. Tem-se a garantia e o registro de que o software foi conferido. # 9
Porque Testar um Software? Todo teste de software visa atender a uma demanda: Por questão de qualidade; Por questão de economia; Por questão de segurança; Por questão de confiabilidade; Por questão de negócio. # 10
Porque Testar um Software? Por questão de negócio: O teste pode ser um mecanismo para avaliar o risco de se liberar um produto de software; Não somente um mecanismo para encontrar defeitos em um produto. A liberação de um produto de software é também uma decisão de negócio; Não apenas uma questão de qualidade. # 11
Porque Testar um Software? Teste é uma atividade orientada por risco: Quais os módulos mais sensíveis para os negócios da empresa? Quais os módulos mais complexos? Quais os módulos mais problemáticos? # 12
Porque as Empresas não Testam? Teste não é uma tarefa trivial, porque: Software é complexo. Software é intangível. Software é altamente modificável. Teste lida com pessoas (desenvolvedores, usuários, gerentes, etc.). # 13
Porque as Empresas não Testam? O teste de software exige: Conhecimento Planejamento Projeto Execução / Acompanhamento Integração com outras áreas Recursos (equipe, processo, treinamento, ferramenta, etc.). # 14
Porque as Empresas não Testam? O teste de software é um processo caro; Desconhecimento sobre a relação custo/benefício; Falta de profissionais especializados; Dificuldade em implantar um processo de teste; Desconhecem um procedimento de teste adequado; Desconhecem as técnicas de teste adequadas; Desconhecem como planejar a atividade de teste; Só se preocupam com teste na fase final do projeto. # 15
Custo de não se Testar um Software Existem alguns tipos de sistemas onde: As falhas causam prejuízos diretos; ou As falhas causam a perda de confiança do público. Sistemas onde o nível de segurança é crítico; Sistemas onde os negócios são críticos; Sistemas onde as aplicações são críticas; Sistemas em geral onde se exige um alto grau de confiabilidade. # 16
Custo de não se Testar um Software Relação entre o Custo e o Nível de Qualidade Custo Custo Total Custo do teste Custo de falha Nível de Qualidade # 17
Metodologia de Teste Tecnologia para Teste de Software em Ambientes Empresariais Objetivo: Desenvolver uma metodologia para a introdução ou a melhoria do processo de teste nas empresas produtoras de software. # 18
Metodologia de Teste A metodologia preconiza a realização de testes sistemáticos e pode ser empregada por: Empresas que desenvolvam software; Empresas que adquiram software. Está metodologia está dividida em 3 componentes: Treinamento; Processo de Teste; Suporte para Geração de Documentos. # 19
Metodologia de Teste Metodologia de teste de software baseada na Norma IEEE Std-829-1998. Metodologia direcionada para a gerência do processo de teste de software. Técnicas de teste adotadas de acordo com o projeto. Planejamento, Projeto, Execução dos testes e Análise dos Resultados. # 20
Metodologia de Teste Norma IEEE Std 829-1998 - Standard for Software Test Documentation Definida a partir das necessidades de grandes projetos do DoD. Padrão para a documentação de teste de software. Descreve um conjunto de 8 documentos básicos para as atividades de teste de software, cobrindo a preparação e registro dos resultados do teste A norma define: o propósito, a estrutura e o conteúdo de cada documento. # 21
Metodologia de Teste Documentos Gerados: Plano de Teste Especificação de Projeto de Teste Especificação de Casos de Teste Especificação de Procedimento de Teste Relatório de Encaminhamento de Item de Teste Preparação para o Teste Diário de Teste Relatório de Incidentes de Teste Relatório-Resumo de Teste Resultados do Teste # 22
Metodologia de Teste...... # 23
Metodologia de Teste Como toda atividade de produção de software, o teste requer uma preparação cuidadosa que precede sua execução. A preparação antecede a execução do teste e inclui os seguintes itens: Planejamento do teste; Projeto do teste; Especificação dos casos de teste; Especificação dos procedimentos de teste. # 24
Aplicação da Metodologia Experiência real de implantação de um Processo de Teste. Empresa com o perfil da maioria das empresas brasileiras que desenvolve software. # 25
Aplicação da Metodologia Fundada em 1995. Empresa com 10 funcionários. 1 Gerente Administrativo 1 Gerente Técnico 8 Técnicos (Analistas, Programadores e Estagiários) # 26
Aplicação da Metodologia Desenvolvimento de Software Integração de Sistemas Testes de Software Treinamento Software para Gerenciamento da Metrologia Alocação de Programadores Software para Gerenciamento da Manutenção Industrial B2B / B2C Commerce.pack # 27
Aplicação da Metodologia Tipos de Aplicações: Área de Qualidade de Produtos Industriais. Área Financeira. Gerenciamento da Manutenção Industrial. Gerenciamento de Laboratório de Metrologia. # 28
Aplicação da Metodologia Processo de Desenvolvimento de Software Conceito de fabrica de software baseada no modelo SPICE - Futura Norma 15504. # 29
Aplicação da Metodologia Implantação do Processo de Teste Trabalho inserido num projeto mais amplo de melhoria do processo de prospecção e desenvolvimento de software; Compreensão do processo atual sobre teste de software na empresa; Levantamento das necessidades de melhoria do atual processo de teste; Adaptação da metodologia de teste para a empresa; # 30
Aplicação da Metodologia Implantação do Processo de Teste Treinamento para a elaboração dos documentos; Acompanhamento efetuado por reuniões técnicas; Transferência integral da metodologia de teste; Capacitação da empresa para realizar testes em seus produtos de software; Projeto conduzido pelo gerente do produto. Projeto financiado pelo SEBRAE. # 31
Aplicação da Metodologia Projeto Piloto Software: SIQ-Metrologia Ver. 2.0 Principais Funcionalidades: Cadastro de instrumentos; Controle de datas de calibração; links para Procedimentos de Calibração, Ensaios, Uso e Manuseio dos Equipamentos; Cálculo de Incerteza de Medição (ISO GUM - Ver. 1995). Emissão de Registros de Calibração; Estudos de Tendência e Linearidade. # 32
Aplicação da Metodologia Projeto Piloto Software: SIQ-Metrologia Ver. 2.0 Sistema de Informações para Qualidade. Gerencia a calibração de equipamentos de medição utilizados nas indústrias. Principal cliente: Bosch Freios. Versão 2.0: Inserção de novas funcionalidades. Capacitação para uso do banco de dados MS - SQL Server. # 33
Aplicação da Metodologia Planejamento do Teste Elaboração de um Plano de Teste; Especificação de um Projeto de Teste; Especificação de um Procedimento de Teste; Criação dos Casos de Teste; # 34
Aplicação da Metodologia Planejamento do Teste Classificação dos Defeitos: Crítico Grave Médio Leve Referências: Conseqüências que os defeitos poderiam gerar para os usuários; Conseqüências que os defeitos poderiam gerar para a empresa. # 35
Aplicação da Metodologia Resultados Esforço: 340 h.h. 260 homens.hora Planejamento 170 h.h Aplicação dos Testes Registro dos Resultados 90 h.h 80 homens.hora Correção dos Defeitos Encontrados # 36
Aplicação da Metodologia Resultados Casos de Teste Executados: 220 Defeitos Detectados: 40 (alguns da versão anterior) 25 23 20 15 10 5 7 5 5 0 Críticos Graves Médios Leves # 37
Aplicação da Metodologia Coclusões: Em termos de custo: O tempo de teste da versão 2.0 (340 h.h) foi menor que o tempo de manutenção da versão anterior (350 h.h); Em termos de Complexidade: A aplicação de um processo de teste com o devido suporte de uma metodologia eficiente e adaptável pode ser uma prática possível no processo de desenvolvimento de software. A transferência tecnológica propiciou à empresa independência e agilidade na aplicação da metodologia para o teste de novos produtos; # 38
Aplicação da Metodologia Conclusões: Retorno: Inserção de um processo de teste; Reaplicação em versões posteriores; Maior satisfação do cliente; Melhoria da imagem da empresa; Maior controle da qualidade do produto; Foco na manutenção evolutiva. # 39
FIM Contatos: adalberto.crespo@cenpra.gov.br Fone (19) 3746-6175 AMPLA info@amplaconsultoria.com.br Fone (19) 3287-4214 # 40