Adélia Barros (adelia_nassau@yahoo.com.br) Testes de Software Adélia Barros (adelia_nassau@yahoo.com.br)

Slides:



Advertisements
Apresentações semelhantes
Análise e Projeto de Sistemas I
Advertisements

Metodologia de testes Nome: Gustavo G. Quintão
Estratégias de Teste de Software
ISO Processos do Ciclo de Vida do Software
GERENCIAMENTO DE INTEGRAÇÃO DO PROJETO
Fundamentos de Engenharia de SW
Débora da Silva Orientadora: Maria Inés Castiñeira
Prentice Hall Engenharia de Software: Teoria e Prática Shari Lawrence Pfleeger Capítulo 8 Defeitos e falhas de software Especificação errada: pode não.
Tópicos Motivação para teste Por que algumas empresas não testam
PMBoK Project Management Body of Knowledge
Gerenciamento do escopo do projeto
Faculdade de Ciências Sociais de Aplicadas de Petrolina – FACAPE
Adélia Barros Requisitos Adélia Barros
Qualidade de Software Aula 2
Simulação de Sistemas Prof. MSc Sofia Mara de Souza AULA2.
Abordagem Estratégica ao Teste de Software
TIPOS DE TESTES APLICÁVEIS E NÃO APLICÁVEIS AO PROJETO
TSDD Teste de segurança durante o desenvolvimento.
Testes – visão geral Vanilson Burégio.
Visão Geral do Desenvolvimento de Sistemas e Papéis no Desenvolvimento de Software Marcely Dias
Introdução aos conceitos de Teste de Software
José Roberto Blaschek Gerência do Escopo José Roberto Blaschek.
RUPinho Qualidade de Software
Prof.Alfredo Parteli Gomes
Modelos de Maturidade de Processos de Software
Gestão de Projetos Ms. Karine R. de Souza
Qualidade de Software Aula 2 / 2014/1
Otimizando sua TI, maximizando seus negócios
Gerência de Configuração - GC
ANÁLISE E DESENVOLVIMENTO
Processo de Aquisição Adilson de Almeida Cezar Meriguetti
Etapas do Projeto DC.IC.15 Data Revisão: 07/04/2017 Início Fim
O Processo de desenvolvimento de software
Marcio de Carvalho Victorino Processo Unificado. Unidade VI: Teste.
Gerenciamento da Qualidade
The Avengers Testers Team. Diraci Junior Trindade da Silva Analista de Qualidade CWI Software Coordenador do GUTS-rs
Especificação em Projeto de Sistemas
Teste de Software Conceitos iniciais.
Qualidade de Software Aula 4
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
Sistemas de informação para processos produtivos
Introdução a Teste de Software
Qualidade no Desenvolvimento de Software Wolley W. Silva Baseado nas notas de aula dos professores Tatuo e Daisy.
Automação de Testes de Software
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE AULA 5
Gestão de projetos de Software GTI-16
Instrutor: Objetivos:.
Desenvolvimento de Sistemas - Fluxo de Testes
Engenharia de Software com o RUP - Workflow de Testes Parte II Alexandre Vasconcelos, André Santos, Augusto Sampaio, Hermano Moura, Paulo Borba © Centro.
Engenharia de Software
Processo e Qualidade.
Gerenciamento de Qualidade
Introdução à Validação de Processo e Controle de Alterações Formação de Auditores CPG FAT02SP Ricardo P. Moisés Instituto RACINE Data da aula: 24/07/2009.
Verificação e Validação
Abordagem Sistemática Guilherme Amaral Avelino Avaliação e Controle de Sistemas de Informação.
Qualidade de Produtos de Software
Testes (verificação e validação)
Sobre a Prime Control A Prime Control é um Centro de Excelência em Qualidade de Software. Nossa missão é desenvolver, aperfeiçoar e realizar serviços.
RUP – Rational Unified Process Márcia Seabra Cabral Prof. Augusto Sampaio Centro de Informática - UFPE.
Engenharia de Software
ISO9001:2000 para Software Professor: Alexandre Vasconcelos Equipe: Amanda Pimentel Börje Karlsson Danielly Karine Erika Pessoa Jorge Cavalcanti Jose Edson.
Programa criado em Apoio ao programa: Ministério da Ciência e Tecnologia da Finep Banco Interamericano de Desenvolvimento Universidades e Governo.
Introdução – ISO Conceitos relacionados a Norma NBR ISO/IEC 12207; Procedimentos de ciclo de vida e desenvolvimento de software; Objetivos e a estrutura.
Estimativa, Teste e Inspeção de Software
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
GUTS-RS TESTES EM PROJETO DE IMPLANTAÇÃO ERP.
Gerência de Sub-Contratação - SAM
Gerência de Projetos Gerenciamento de Escopo. Gerenciamento de Escopo do Projeto...inclui os processos necessários para assegurar que o projeto inclui.
TESTES DE SOFTWARE – AULA 1 Prof. Me. Ronnison Reges Vidal
ROTEIRO PARA ELABORAÇÃO DE SISTEMA ESTRUTURADO
Transcrição da apresentação:

Adélia Barros (adelia_nassau@yahoo.com.br) Testes de Software Adélia Barros (adelia_nassau@yahoo.com.br)

Roteiro Definições Testes e Homologação X CMMI Testes Papéis e Fluxos de Atividades Artefatos Benefícios Conclusão

Definições Testes Afirmações mais comuns Garantir que o programa corresponde à sua especificação; Certificar de que o software não faz o que não está proposto para ser feito; Ter confiança de que o software terá um desempenho adequado; Provar que o programa não contêm erros; O teste do software é uma das fases do processo de engenharia de software que visa atingir um nível de qualidade de produto superior. O objetivo, por paradoxal que pareça, é mesmo o de encontrar defeitos no produto, para que estes possam ser corrigidos pela equipe de programadores, antes da entrega final. A maioria das pessoas pensa que o teste de software serve para demonstrar o correto funcionamento de um programa, quando na verdade ele é utilizado como um processo da engenharia de software para encontrar defeitos. O conceito de teste de software pode ser compreendido através de uma visão intuitiva ou mesmo de uma maneira formal. Existem atualmente várias definições para esse conceito. De uma forma simples, testar um software significa verificar através de uma execução controlada se o seu comportamento corre de acordo com o especificado. O objetivo principal desta tarefa é encontrar o número máximo de erros dispondo do mínimo de esforço, ou seja, mostrar aos que desenvolvem se os resultados estão ou não de acordo com os padrões estabelecidos.

Definições Testes Definição Formal É uma atividade direcionada para avaliar um atributo ou capacidade de um programa ou sistema e determinar se o mesmo satisfaz os resultados requeridos. [Hetzel] São técnicas de controle da qualidade baseadas na realização de experimentos controlados. [Staa] É o processo de executar um programa ou sistema com a intenção de encontrar erros. [Myers] O teste do software é uma das fases do processo de engenharia de software que visa atingir um nível de qualidade de produto superior. O objetivo, por paradoxal que pareça, é mesmo o de encontrar defeitos no produto, para que estes possam ser corrigidos pela equipe de programadores, antes da entrega final. A maioria das pessoas pensa que o teste de software serve para demonstrar o correto funcionamento de um programa, quando na verdade ele é utilizado como um processo da engenharia de software para encontrar defeitos. O conceito de teste de software pode ser compreendido através de uma visão intuitiva ou mesmo de uma maneira formal. Existem atualmente várias definições para esse conceito. De uma forma simples, testar um software significa verificar através de uma execução controlada se o seu comportamento corre de acordo com o especificado. O objetivo principal desta tarefa é encontrar o número máximo de erros dispondo do mínimo de esforço, ou seja, mostrar aos que desenvolvem se os resultados estão ou não de acordo com os padrões estabelecidos.

Definições Testes Verificação Dinâmica No contexto da macroatividade é uma verificação dinâmica do comportamento do produto ou componente de software em um conjunto finito de casos de teste, em relação ao comportamento esperado. Verificação Dinâmica Os testes serão realizados com o produto ou componente de software em execução. O teste do software é uma das fases do processo de engenharia de software que visa atingir um nível de qualidade de produto superior. O objetivo, por paradoxal que pareça, é mesmo o de encontrar defeitos no produto, para que estes possam ser corrigidos pela equipe de programadores, antes da entrega final. A maioria das pessoas pensa que o teste de software serve para demonstrar o correto funcionamento de um programa, quando na verdade ele é utilizado como um processo da engenharia de software para encontrar defeitos. O conceito de teste de software pode ser compreendido através de uma visão intuitiva ou mesmo de uma maneira formal. Existem atualmente várias definições para esse conceito. De uma forma simples, testar um software significa verificar através de uma execução controlada se o seu comportamento corre de acordo com o especificado. O objetivo principal desta tarefa é encontrar o número máximo de erros dispondo do mínimo de esforço, ou seja, mostrar aos que desenvolvem se os resultados estão ou não de acordo com os padrões estabelecidos.

Definições Finito Esperado Os testes são aplicados a um conjunto limitado de casos de teste selecionado através do equilíbrio entre os recursos disponíveis e os requisitos de teste. Esperado É necessário definir os resultados aceitáveis; O comportamento observado do produto pode ser comparado com: Especificação; Expectativas do usuário; O teste do software é uma das fases do processo de engenharia de software que visa atingir um nível de qualidade de produto superior. O objetivo, por paradoxal que pareça, é mesmo o de encontrar defeitos no produto, para que estes possam ser corrigidos pela equipe de programadores, antes da entrega final. A maioria das pessoas pensa que o teste de software serve para demonstrar o correto funcionamento de um programa, quando na verdade ele é utilizado como um processo da engenharia de software para encontrar defeitos. O conceito de teste de software pode ser compreendido através de uma visão intuitiva ou mesmo de uma maneira formal. Existem atualmente várias definições para esse conceito. De uma forma simples, testar um software significa verificar através de uma execução controlada se o seu comportamento corre de acordo com o especificado. O objetivo principal desta tarefa é encontrar o número máximo de erros dispondo do mínimo de esforço, ou seja, mostrar aos que desenvolvem se os resultados estão ou não de acordo com os padrões estabelecidos.

Definições Alvo do Teste Teste de Unidade Teste de Integração Visa testar pequenas partes ou unidades do sistema. Teste de Integração Visa encontrar falhas provenientes da integração das unidades/componentes do sistema. Teste de Sistema Visa encontrar falhas no comportamento do sistema. Varre-o simulando a utilização de um usuário final. Sistema UI O teste do software é uma das fases do processo de engenharia de software que visa atingir um nível de qualidade de produto superior. O objetivo, por paradoxal que pareça, é mesmo o de encontrar defeitos no produto, para que estes possam ser corrigidos pela equipe de programadores, antes da entrega final. A maioria das pessoas pensa que o teste de software serve para demonstrar o correto funcionamento de um programa, quando na verdade ele é utilizado como um processo da engenharia de software para encontrar defeitos. O conceito de teste de software pode ser compreendido através de uma visão intuitiva ou mesmo de uma maneira formal. Existem atualmente várias definições para esse conceito. De uma forma simples, testar um software significa verificar através de uma execução controlada se o seu comportamento corre de acordo com o especificado. O objetivo principal desta tarefa é encontrar o número máximo de erros dispondo do mínimo de esforço, ou seja, mostrar aos que desenvolvem se os resultados estão ou não de acordo com os padrões estabelecidos. Comp.

Definições Objetivo do Teste Testes de Aceitação Teste Funcional Validar o comportamento do sistema conforme os requisitos do cliente; Realizado geralmente por um grupo restrito de usuários finais do sistema. Teste Funcional Verificar o comportamento do sistema em relação a sua especificação. Teste de Regressão Verificar se as modificações não causaram efeitos indesejados através de um re-teste seletivo do sistema.

Definições Objetivo do Teste Teste de Performance Teste de Stress Verificar se o sistema está conforme com os requisitos específicos de performance como, capacidade e tempo de resposta. Teste de Stress Verificar o sistema com a carga máxima projetada. Teste de Usabilidade Avaliar a facilidade de uso e aprendizagem do sistema pelo usuário final.

Testes e Homologação x CMMI Área de Processo Verificação O objetivo da verificação é assegurar que os produtos de trabalho selecionados (artefatos) atenderão seus requisitos. [CMMI 2004] Atividades que atendem à verificação: Revisão por Pares: Verificação estática dos artefatos produzidos em todas as fases do projeto. Testes: Verificação dinâmica do software ou componente de software em execução. Homologação: Verificação dinâmica através de testes de aceitação. O teste do software é uma das fases do processo de engenharia de software que visa atingir um nível de qualidade de produto superior. O objetivo, por paradoxal que pareça, é mesmo o de encontrar defeitos no produto, para que estes possam ser corrigidos pela equipe de programadores, antes da entrega final. A maioria das pessoas pensa que o teste de software serve para demonstrar o correto funcionamento de um programa, quando na verdade ele é utilizado como um processo da engenharia de software para encontrar defeitos. O conceito de teste de software pode ser compreendido através de uma visão intuitiva ou mesmo de uma maneira formal. Existem atualmente várias definições para esse conceito. De uma forma simples, testar um software significa verificar através de uma execução controlada se o seu comportamento corre de acordo com o especificado. O objetivo principal desta tarefa é encontrar o número máximo de erros dispondo do mínimo de esforço, ou seja, mostrar aos que desenvolvem se os resultados estão ou não de acordo com os padrões estabelecidos.

Testes e Homologação Verificação Estática Dinâmica Homologação Testes Revisão por Pares Dinâmica Homologação Testes O teste do software é uma das fases do processo de engenharia de software que visa atingir um nível de qualidade de produto superior. O objetivo, por paradoxal que pareça, é mesmo o de encontrar defeitos no produto, para que estes possam ser corrigidos pela equipe de programadores, antes da entrega final. A maioria das pessoas pensa que o teste de software serve para demonstrar o correto funcionamento de um programa, quando na verdade ele é utilizado como um processo da engenharia de software para encontrar defeitos. O conceito de teste de software pode ser compreendido através de uma visão intuitiva ou mesmo de uma maneira formal. Existem atualmente várias definições para esse conceito. De uma forma simples, testar um software significa verificar através de uma execução controlada se o seu comportamento corre de acordo com o especificado. O objetivo principal desta tarefa é encontrar o número máximo de erros dispondo do mínimo de esforço, ou seja, mostrar aos que desenvolvem se os resultados estão ou não de acordo com os padrões estabelecidos.

Testes e Homologação x CMMI A validação confirma que o produto, como fornecido, irá atender o seu uso pretendido. Em outras palavras, a validação assegura que “você construiu a coisa certa”. [CMMI 2004] Validação O teste do software é uma das fases do processo de engenharia de software que visa atingir um nível de qualidade de produto superior. O objetivo, por paradoxal que pareça, é mesmo o de encontrar defeitos no produto, para que estes possam ser corrigidos pela equipe de programadores, antes da entrega final. A maioria das pessoas pensa que o teste de software serve para demonstrar o correto funcionamento de um programa, quando na verdade ele é utilizado como um processo da engenharia de software para encontrar defeitos. O conceito de teste de software pode ser compreendido através de uma visão intuitiva ou mesmo de uma maneira formal. Existem atualmente várias definições para esse conceito. De uma forma simples, testar um software significa verificar através de uma execução controlada se o seu comportamento corre de acordo com o especificado. O objetivo principal desta tarefa é encontrar o número máximo de erros dispondo do mínimo de esforço, ou seja, mostrar aos que desenvolvem se os resultados estão ou não de acordo com os padrões estabelecidos. Dinâmica Homologação

Papéis e Fluxos de Atividades Planejar Testes Nesta atividade será definido o escopo, os recursos a serem utilizados, prazos, estratégias e técnicas de testes. Artefatos de Entrada Requisitos Relatório de Análise e Impacto Artefatos de Saída Plano de Testes Configuração de Hardware e Software

Papéis e Fluxos de Atividades Subatividades x Papéis x Artefatos

Papéis e Fluxos de Atividades Projetar Testes Nesta atividade, os casos de testes serão elaborados. Em paralelo, será iniciada a preparação do ambiente de testes. Artefatos de Entrada Plano de Testes Requisitos Modelo de Projeto Artefatos de Saída Modelo de Testes Plano de Testes ‏ Configuração de Hardware e Software Especificação das Unid. de Implementação

Papéis e Fluxos de Atividades Subatividades x Papéis x Artefatos

Papéis e Fluxos de Atividades Implementar Testes Neste momento serão implementados os scripts automáticos e/ou manuais, programas, stubs, e massas de dados. Artefatos de Entrada Modelo de Testes Especificação das Unid. de Implementação Modelo de Projeto‏ Plano de Testes ‏ Configuração de Hardware e Software Artefatos de Saída Unidade de Implementação

Papéis e Fluxos de Atividades Subatividades x Papéis x Artefatos

Papéis e Fluxos de Atividades Executar Testes Nesta atividade os testes serão executados e os relatórios de resultados serão gerados para posterior avaliação. Artefatos de Entrada Build do Sistema Modelo de Testes Artefatos de Saída Log de Testes ‏ Resultados de Testes

Papéis e Fluxos de Atividades Subatividades x Papéis x Artefatos

Papéis e Fluxos de Atividades Avaliar Resultados Nesta atividade os resultados serão consolidados. Tem por finalidade indicar a qualidade do produto para tomada de decisão do gerente. Artefatos de Entrada Plano de Testes ‏ Resultados de Testes Modelo de Requisitos Modelo de Testes ‏ Artefatos de Saída Relatório de Avaliação de Testes

Papéis e Fluxos de Atividades Avaliar Resultados

Benefícios Vantagens Aumento da qualidade do produto; Aumento das chances de sucesso numa Homologação; Redução de retrabalho; Diminuição de manutenções corretivas; Maior credibilidade junto ao cliente; O teste do software é uma das fases do processo de engenharia de software que visa atingir um nível de qualidade de produto superior. O objetivo, por paradoxal que pareça, é mesmo o de encontrar defeitos no produto, para que estes possam ser corrigidos pela equipe de programadores, antes da entrega final. A maioria das pessoas pensa que o teste de software serve para demonstrar o correto funcionamento de um programa, quando na verdade ele é utilizado como um processo da engenharia de software para encontrar defeitos. O conceito de teste de software pode ser compreendido através de uma visão intuitiva ou mesmo de uma maneira formal. Existem atualmente várias definições para esse conceito. De uma forma simples, testar um software significa verificar através de uma execução controlada se o seu comportamento corre de acordo com o especificado. O objetivo principal desta tarefa é encontrar o número máximo de erros dispondo do mínimo de esforço, ou seja, mostrar aos que desenvolvem se os resultados estão ou não de acordo com os padrões estabelecidos.

Conclusão Conclusão A principal finalidade dos testes é localizar e expor os pontos fracos do software; A realização dos testes é normalmente limitada por restrições de prazo ou de custos; Testes deve ser visto como uma atividade crítica e realizada de forma sistemática e efetiva. [Patton] O teste do software é uma das fases do processo de engenharia de software que visa atingir um nível de qualidade de produto superior. O objetivo, por paradoxal que pareça, é mesmo o de encontrar defeitos no produto, para que estes possam ser corrigidos pela equipe de programadores, antes da entrega final. A maioria das pessoas pensa que o teste de software serve para demonstrar o correto funcionamento de um programa, quando na verdade ele é utilizado como um processo da engenharia de software para encontrar defeitos. O conceito de teste de software pode ser compreendido através de uma visão intuitiva ou mesmo de uma maneira formal. Existem atualmente várias definições para esse conceito. De uma forma simples, testar um software significa verificar através de uma execução controlada se o seu comportamento corre de acordo com o especificado. O objetivo principal desta tarefa é encontrar o número máximo de erros dispondo do mínimo de esforço, ou seja, mostrar aos que desenvolvem se os resultados estão ou não de acordo com os padrões estabelecidos.

Dúvidas?