GoConqr hat ein neues Design! Sag uns, wie es dir gefällt.

Folien

Testes de software

Felipe penna Informática concursando Portugiesisch 16 Folien

Testes de software

Folien in diesem Satz (16)

  1. Qualidade de software - 1º parte

    • Panorama:
    • * Criar um conjunto de atividades para garantir alta qualidade e controle;
    • * Aplicar o que foi criado a todos os projetos.
    • * Usar métricas para refinar essas atividades
    • *Como garantir que o trabalho foi realizado corretamente?
    • Encontrando erros antes de se tornarem defeitos! Ou seja, trabalhando para melhorar a eficiência da remoção dos defeitos
    • *A garantia da qualidade de software, é uma atividade aplicada em todo processo do software.
    • O que é Garantia de Qualidade de Software?
    • O Software Quality Assurance (SQA) consiste nos meios para garantir a qualidade do software a ser lançado, monitorando os métodos e processos de engenharia de software.
  2. Qualidade de software - 2º parte

    • Atuantes pela qualidade de software – engenheiros de software, gerentes de projeto, clientes,
    • vendedores e os indivíduos que trabalham em um grupo de SQA.
    • Alguns atributos:
    • Funcionalidade
    • O software deve fornecer funções apropriadas conforme os requisitos e essas funções devem ser implementadas corretamente.
    • O software deve ter interoperabilidade, o que significa a eficácia com que o software interage com outros componentes do sistema.
    • Deve estar em conformidade com as leis e diretrizes e deve tratar as transações relacionadas a dados com a máxima segurança.
    • Confiabilidade
    • A confiabilidade do software é sua capacidade de executar sob condições específicas por um período de tempo definido. Implica também a capacidade do software em suportar as falhas de seus componentes.
    • O software é confiável com base em sua maturidade que é a frequência das falhas e capacidade de recuperação, que é a capacidade do software para ficar totalmente operacional após uma falha.
    • Usabilidade
    • A usabilidade do software é sua facilidade de uso. Também se refere à facilidade com que um usuário pode entender as funções do software e quanto esforço é necessário para que os usuários entendam as suas funções.
    • Eficiência
    • A eficiência do software depende das práticas de arquitetura e de codificação que foram seguidas durante o seu desenvolvimento.
    • Manutenibilidade
    • A capacidade de manutenção do software depende da complexidade e legibilidade do código. Também se refere à facilidade de identificar e corrigir uma falha no software. O software é analisado com base na facilidade de identificar a principal causa de falha e a facilidade de modificação do código para remover essa falha.
    • A facilidade de manutenção também depende de sua testabilidade, ou seja quanto esforço é necessário para testar o sistema.
    • Portabilidade
    • A portabilidade do software é sua capacidade de se adaptar às mudanças em seu ambiente. Define com que facilidade um sistema se adapta a quaisquer alterações feitas nas suas especificações. Também inclui a facilidade de instalação do software e como é fácil substituir um componente do sistema em um determinado ambiente.
    • Para garantir que um software tenha um bom desempenho nesses atributos de qualidade, precisamos dos seguintes componentes de garantia de qualidade de software.
  3. Qualidade de software - 3º parte

    • Componentes pré-projeto
    • Os componentes do pré-projeto garantem que os recursos necessários para o projeto, o cronograma e o orçamento estejam claramente definidos. O plano de desenvolvimento e garantia de qualidade foi claramente determinado. Os componentes são os seguintes:
    • Plano de Desenvolvimento
    • Plano de qualidade
    • Cronograma
    • Recursos necessários (hardware e recursos humanos)
    • Avaliações de risco
    • Metodologia do Projeto
  4. Qualidade de software - 4º parte

    • Ferramentas de garantia de qualidade de software:
    • * Existem diferentes ferramentas, porém vale ressaltar as categorias que elas precisam atender
    • Infraestrutura
    • Gerenciamento de Releases
    • Controle de Códigos Fonte
    • Revisão de Código
    • Análise Automatizada de Código
    • Revisão em Pares
    • Teste (Software QA)
    • Gerenciamento de Testes
    • Gestão de Bugs e Problemas
    • Testes de navegadores, dispositivos e sistema operacional
    • Teste de Usabilidade
    • Teste de Carga
    • Teste Automatizado e Integração Contínua
    • Monitoramento e Análise
    • Monitoramento de Disponibilidade
    • Manipulação de Exceção
    • Monitoramento de Log
    • Monitoramento de Desempenho
    • Teste e monitoramento de segurança
  5. Elementos da qualidade de software

    • *Padrões. (pág 478 pressman (ver sobre seis sigma))
    • *Revisões e auditorias.
    • *Testes
    • *Coleta e análise de erros/defeitos.
    • *Gerenciamento de mudanças.
    • *Educação
    • *Gerência dos fornecedores.
    • *Administração da segurança.
    • *Proteção.
    • *Gestão de riscos.
  6. Testes de software

    • Objetivo: é testado para revelar erros cometidos inadvertidamente quando foi projetado e construído.
    • Qual é o artefato?
    • Plano que descreve uma estratégia global e um procedimento e designando etapas específicas de teste e os tipos de testes
    • que serão feitos.
    • Como garantir que o trabalho foi realizado corretamente?
    • Revisando a especificação do teste antes do teste, pode-se avaliar a integralidade dos casos de teste e das tarefas de teste.
    • Verificação refere-se ao conjunto de tarefas que garantem que o software implementa corretamente uma função específica. Se uma determinada função atinge seu objetivo.
    • Validação refere-se a um conjunto de tarefas que asseguram que o software foi criado e pode ser rastreado segundo os requisitos do cliente.
  7. Princípios dos testes

    • Princípios dos Testes
    • Segundo Brunelli, os componentes essenciais para o teste de software de um programa podem ser divididos em:
    • Executável do programa (código do programa compilado);
    • Relação dos comportamentos esperados;
    • Apresentação do mecanismo de avaliação dos comportamentos esperados;
    • Descrição das funções;
    • Descrição de como observar se uma ação resultou na execução esperada.
    • O levantamento dos comportamentos esperados é considerado uma das maiores dificuldades na elaboração dos testes, portando sua elaboração deve ser feito de forma cautelosa e de acordo com os requisitos do sistema.
  8. O processo de testes

    • O Processo de Teste, como qualquer outro processo, necessita ser refinado continuamente, permitindo seu amadurecimento, de maneira a ampliar sua atuação e permitir aos envolvidos no projeto uma maior visibilidade e organização dos seus trabalhos. O que se deseja nesta etapa é uma maior agilidade e controle operacional dos projetos de testes.
    • Realizar testes de software é uma tarefa bastante complexa quando se desconhece o que é qualidade. Nas indústrias automobilísticas, como é o caso da maioria das grandes indústrias, qualidade está intimamente associada a custo de retrabalho.
    • Na área de Engenharia de Software, desde Roger Pressman e seu livro Engenharia de Software, que inclusive é uma das referências deste artigo, muitas companhias passaram a compreender que qualidade apenas pode ser obtida com auditoria do processo e certificação dos itens que possuem maior impacto no resultado do produto.
    • Falando especificamente de Testes, podemos citar como principais técnicas:
    • Teste Funcional;
    • Teste Estrutural;
    • Teste Baseado em Falha ou Erro;
    • Teste de Caixa Branca;
    • Teste de Regressão.
  9. Testes funcionais

    • TÉCNICAS FUNCIONAIS
    • • caixa-branca
    • • caixa-preta
    • • regressão
    • TÉCNICAS NÃO FUNCIONAIS
    • • desempenho
    • • carga
    • • usabilidade
    • • confiabilidade
    • • recuperação
    • • segurança
    • FASES DE TESTES
    • • unidade
    • • integração
    • • sistema (Teste de Componentes)
    • • aceitação (Teste de Validação)
    • • operação (Teste de Sistema.)
    • ARTEFATOS
    • • caso de teste
    • • plano de teste
  10. Teste funcional (caixa preta)

    • O teste funcional, que também é conhecido como teste “caixa - preta”, são os testes definidos de acordo com os requisitos funcionais do software. Como não há conhecimento sobre a operação interna do programa, o analista concentra-se nas funções que o software contemplará. Baseado na especificação determina-se as saídas que são esperadas para um determinado conjunto de dados.
    • Esse tipo de teste reflete a ótica do usuário, o stakeholder (ler Nota 2) interessado em utilizar o programa, sem levar em conta os detalhes de sua construção. Comparado a outros modelos, sua concepção é relativamente simples.
    • revelar problemas como:
    • Funções incorretas ou omitidas;
    • Erros de interface;
    • Erros de comportamento ou desempenho;
    • Erros de iniciação e término.
  11. Teste Funcional (caixa branca)

    • Teste Caixa Branca
    • Possui acesso ao código fonte, conhecendo a estrutura interna do produto. Sendo analisados e possibilitando que sejam escolhidas partes específicas de um componente para ser avaliados, permitindo uma busca precisa do comportamento da estrutura.
    • Os níveis de teste caixa branca são os Testes de Unidade e o Teste Estático.
    • Teste de unidade
    • O teste de unidade é a fase de teste que tem como finalidade testar individualmente as funcionalidades do software em questão, garantindo que todas as funcionalidades do software sejam testadas pelo menos uma vez.
    • Uma das desvantagens do teste de unidade é que sua implementação é exaustiva e necessita de prazos maiores para realização, sendo que para a realização dos testes deve-se conhecer os objetivos e especificações dos requisitos de cada uma das funcionalidades do software. Por outro lado, sua vantagem é a localização e prevenção de falhas por estar testando cada uma das funcionalidades individualmente.
  12. Teste Funcional (regressão)

    • Essa é uma técnica de teste aplicável a uma nova versão de software ou a uma versão em desenvolvimento. Ela consiste em aplicar, a cada nova versão do software ou a cada ciclo, todos os testes que já foram aplicados nas versões ou ciclos de teste anteriores do sistema. Inclui-se nesse contexto a observação de fases e técnicas de teste de acordo com o impacto de alterações provocado pela nova versão ou ciclo de teste.
    • Para efeito de aumento de produtividade e de viabilidade dos testes, é recomendada a utilização de ferramentas de automação, de forma que, sobre a nova versão ou ciclo de teste, todos os testes anteriores possam ser executados novamente com maior agilidade.
  13. Teste de integração

    • O teste de integração é a fase que testa a integração dos componentes do sistema, se estão de acordo com os requisitos do software, levando em consideração a sua funcionalidade em conjunto e não as suas regras de negócios, procurando assim erros associados a interfaces. O teste de integração pode ser dividido em dois tipos:
    • Não Incremental: Os módulos do sistema são interligados e combinados, e o software é testado como um todo, dificultando a localização dos erros e a correção dos erros encontrados;
    • Incremental: O software é testado em partes, possibilitando que as interfaces sejam testadas de forma incremental, facilitando encontrar erros e isolá-los para correção. O teste incremental possui duas estratégias:
    • Integração descendente (top-down), onde os módulos do sistema são integrados de cima para baixo de acordo com a hierarquia de controle do software; e
    • Integração ascendente (bottom-up), onde a construção e os testes dos módulos são iniciados da parte mais baixa da estrutura do software.
    • Teste de componentes
    • No teste de componentes os componentes do software são testados separadamente de acordo com a especificação e estrutura das funcionalidades. Estes componentes são as integrações de interface e unidades do software, com diversas classes no seu desenvolvimento.
    • O desenvolvedor do software é sempre responsável pelo teste das unidades individuais (componentes) do programa, garantindo que cada uma execute a função ou apresente o comportamento para o qual foi projetada. Em muitos casos, o desenvolvedor também faz o teste de integração – uma etapa de teste que leva à construção (e teste) da arquitetura completa do software. Somente depois que a arquitetura do software está concluída é que o grupo de teste independente se envolve. O papel de um grupo independente de teste (ITG, independent test group) é remover problemas inerentes associados ao fato de deixar o criador testar aquilo que ele mesmo criou. O teste independente remove o conflito de inte-
    • resses que, de outra forma, po
  14. Testes automatizados

    • Os testes automatizados são desenvolvidos como programas ou scripts que têm como principal objetivo exercitar o sistema, testando as funcionalidades e verificando se estão de acordo com as especificações dos requisitos do sistema e os objetivos esperados.
    • Existem diversas vantagens para a utilização dos testes automatizados, dentre el as destacam-se:
    • Menor tempo na execução dos testes;
    • Verificação do sistema durante o processo de desenvolvimento;
    • Alcançar melhor qualidade do software;
    • Casos de testes mais elaborados.
    • A grande vantagem dos testes automatizados é que podem ser repetidos a qualquer momento, seja em uma nova funcionalidade ou alguma modificação em uma funcionalidade específica. Sua implementação reduz os esforços e o tempo gasto, reduzindo as chances de que ocorram falhas humanas na execução dos testes.
    • Os testes automatizados reduzem o tempo no processo de testes, porém, precisa ser complementado por outros tipos de testes.
  15. Teste de sistema(não funcionais)

    • Já é uma questão de medição, testar os atributos de qualidade Básico
    • O teste de sistema é realizado após o sistema estar pronto, sendo avaliados todos os componentes e funcionalidades. O objetivo do teste de sistema é exercitar todo o software, assegurando que todos os elementos que compõem o sistema estão de acordo com as especificações dos requisitos, incluindo todos os itens de hardware e software que compõem a regra de negócio. Existem vários tipos de teste de sistema, tais como:
    • Teste de Desempenho (agilidade),
    • Teste de Segurança (confiabilidade),
    • Teste de Recuperação (recuperação de dados)
    • e Teste de Inicialização (inserção).
  16. Espiral de testes

    • Espiral de testes

Informationen

Beschreibung
concursando Informática (Engenharia de Software) Folienset am Testes de software, erstellt von Felipe penna am 16/02/2022.
Erstellt von
Felipe penna
Aufrufe
5
Bewertung

Feedback

Worum geht es?

Wie gefällt dir das neue Design?

Dein Eindruck