Buscar

Aula 5 As atividades de teste no processo de desenvolvimento de software

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 12 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Disciplina Online
2018.3 EAD - PROCESSOS DE DESENVOLVIMENTO DE SOFTWARE (CCT0746/3021104) 9002
Aula 5 As atividades de teste no processo de desenvolvimento de software
Apresentação:
Nesta aula, iremos definir o conceito de teste para o processo de desenvolvimento de software.
A fase de teste tem como objetivo detectar possíveis defeitos ou erros que possam surgir na fase de implementação. Nessa fase, de testes, deve-se coletar os resultados e analisá-los e consertá-los antes de sua implantação.
Essa fase é essencial para aumentar a qualidade do produto ou sistema em que será implantado.
Objetivos
Conhecer as atividades de teste no processo de desenvolvimento de software;
Encontrar a existencia de falhas;
Entender as necessidades da etapa de teste na melhora da qualidade do sistema;
Analisar os diversos tipos de teste para sistema ou produto.
Demosnstrar que o software está livre de defeitos;
Testes de Software
Conceito de teste para o processo de desenvolvimento de software
Teste de Software é uma ação que faz parte do processo de desenvolvimento de software, e tem como principal objetivo o de revelar falhas para que sejam corrigidas até que o produto final atinja a qualidade desejada ou acordada.
Os analistas de testes, técnicos de testes ou homologadores, são responsáveis para realizar uma bateria de testes de diferentes naturezas e propósitos, envolvendo não apenas os testes funcionais da aplicação, mas diversas outras atividades como:
· Avaliação da especificação de requisitos,
· Avaliação de projeto técnico,
· Verificações em outros documentos,
· Testes de performance e capacidade,
· Avaliação de interface,
· Dentre outros.
“Quanto mais cedo, defeitos forem encontrados antes da implementação do sistema, o custo de correção é menor em relação ao encontrado na fase de produção”
De acordo com o padrão IEEE número 610.12-1990, podemos classificar:
Engano – ação humana, por exemplo, tomada pelo programador, que produz um resultado incorreto.
Defeito – passo, processo ou definição de dados incorreto, por exemplo, uma instrução ou comando incorreto.
Erro – diferença entre o valor obtido e o valor esperado. Qualquer resultado incorreto ou inesperado na execução do programa.
Falha – produção de uma saída incorreta com relação à especificação.
CAUSA:
· Engano
· Defeito
· Erro
CONSEQUÊNCIA:
· Falha
Teste de Software é um processo que faz parte do desenvolvimento de software, e tem como principal objetivo revelar falhas/bugs para que sejam corrigidas até que o produto final atinja a qualidade desejada.
1 Teste
Processo definido com intenção de encontrar um erro.
2 Objetivo
Encontrar um erro que ainda não foi descoberto. Um teste bem sucedido corresponde à descoberta de um erro não previsto.
3 Critério
Definição de uma métrica que, após análise do comportamento do sistema, atenda o critério.
4 Procedimento
Conjunto de instruções para a realização de testes.
5 “Script” de teste
É uma representação definida de um procedimento teste.
Processo de Teste de Software
O Processo de Teste de Software divide-se em três partes principais e fundamentais:
Planejamento dos testes: “Garantir que os testes sejam preparados antes do fim da implementação do produto”.
Execução dos Testes: “Executar os casos e procedimentos de teste especificados e comparar os resultados esperados e obtidos, registrando esses resultados”.
Controle dos testes: “Garantir que os testes planejados sejam executados corretamente e seus resultados possam ser registrados através da sua monitoração constante”.
Vejamos alguns tipos de testes:
Teste caixa preta
Neste teste o objetivo é testar todas as entradas e saídas desejadas, mediante uma determinada entrada definida de dados Aqui não se está preocupado com o código, cada saída indesejada é vista como um erro. Os mecanismos internos do sistema não são levados em conta
Teste caixa branca
Neste caso o objetivo principal é testar o código dos componentes do sistema, quanto a sua estrutura e construção. Os mecanismos internos do sistema serão analisados e suas representações lógicas também. Este teste não exclui a necessidade do Teste Caixa Preta, uma vez que o funcionamento interno do sistema ou produto pode corresponder logicamente, podendo produzir uma saída diferente da esperada. É comum se encontrar partes do código que nunca foram testadas.
Os testes de caixa branca são baseados na arquitetura interna do software. Realizam a verificação de código. Tem como objetivo identificar defeitos nas estruturas internas do sw, através de simulação que exercite a estrutura usada na codificação.
TESTE ATIVIDADE V&V
Validação de Software – estamos construindo o software certo? (se funciona);
Verificação de Software – estamos construindo o software da maneira certa? (se atende as especificações do cliente).
Classificação dos testes
Quanto à utilização do código:
TESTES ESTÁTICOS:
São testes realizados pela análise estática e visual do código fonte, podendo haver um questionário ou alguma ferramenta para acompanhar os testes. Nesse caso, os componentes do software são verificados sem que o produto seja executado. Seja por meio de uma ferramenta automatizada ou dos testes manuais, o principal objetivo dessa técnica é identificar erros de programação, tais como:
· Prática ruins de programação
· Práticas ruins;
· Erros de sintaxe;
· Falhas de segurança.
A análise estática auxilia gestores de TI a identificar todas as linhas de código que foram mal escritas durante a criação de um software. Todos os caminhos de execução, processamento e exibição de valores são examinados. Como consequência, erros mais comuns são descobertos mais rapidamente.
Os testes estáticos quando feitos antes da fase de implementação são baseados em auditorias e revisões da documentação do sistema. Quando realizado na fase de implementação são realizados verificações no código fonte.
TESTES DINÂMICOS:
São testes baseados na execução do código do programa, podendo ser encarado como de forma complementar a análise estática. Ttrabalha, principalmente, com as informações que são inseridas nas rotinas de entrada e saída de dados. Além disso, são verificados itens como:
· O tempo de resposta;
· A performance da aplicação;
· A capacidade do software se adaptar a diferentes ambientes;
· O comportamento funcional.
A análise dinâmica permite que problemas mais sutis sejam identificados. Sem considerarmos o grau de complexidade, as chances de um “bug” passar por uma análise estática e uma análise dinâmica, sem ser rastreado é consideravelmente baixa. Dessa forma, o teste dinâmico consegue dar mais segurança e confiabilidade ao produto final.
Classificação quanto ao nível dos testes
TESTES DE UNIDADE:
Teste em nível de módulo, componente ou classe. É o teste cujo objetivo é um “pedaço do código”, ou em alguns módulos definidos que representam uma única unidade. A documentação do projeto define a quantidade de módulos a serem testados.
Em geral, realizado pelo próprio programador, ou pelo seu par (em caso de ser usada nas metodologias ágeis).
TESTES DE INTEGRAÇÃO:
Teste utilizado para garantir que um ou mais componentes combinados, ou unidades, não contenham erros. Podemos dizer que um teste de integração é composto por diversos testes de unidade.
A cada teste de unidade encerrado, a unidade é integrada ao sistema já pronto, formando um nova versão, que deve ser testado em conjunto.
Os testes de integração tem como objetivo identificar erros na integração dos diversos módulos, já testados individualmente.
Testa-se, em geral, as interfaces entre os componentes.
TESTES DE SISTEMAS:
Teste do sistema como um todo ou de uma entrega parcial, contendo todos os elementos. Análise e verificação de todos os componentes do sistema. Validar se estão em conformidade com os requisitos anteriormente definidos. Para uma melhor análise, o teste deve ser feito por uma equipe independente, diferente da equipe desenvolvedora.
TESTES DE VALIDAÇÃO:
Teste realizado após a integração de todos os módulos ou unidades do sistema.
Explore Mais:
Visão geral de teste de softwareCaracterização de teste de software
Níveis de teste e Desenvolvimento dirigido a testes
TESTE DE CONHECIMENTO
Os testes de software são importantes para complementar as revisões e aferir o nível de qualidade conseguido. Marque a modelidade de teste a seguir que melhor representa a frase:
"São testes baseados na execução do código do programa. Os testes seguem, também, um questionário com base nos aspectos estruturais e funcionais do programa."
· Testes modulados.
· Testes estáticos.	
· Testes dinâmicos.
· Testes de UML.	
· Testes estruturados.
Teste que leva em conta a sua estrutura interna de construção. Os mecanismos internos do sistema serão analisados e suas representações lógicas também. 
Marque a alternativa que indica o tipo de teste mencionado acima.
· Teste de interação
· Teste simples
· Teste caixa branca
· Teste caixa preta
· Teste iterativo
Os testes de software são importantes para complementar as revisões e aferir o nível de qualidade conseguido. Marque a classificação de teste a seguir que melhor representa a frase:
"Teste que não leva em conta os mecanismos e definições internos do sistema. O objetivo principal está no resultado da saída de dados do sistema, mediante a entrada definida de dados.".
· Teste caixa branca.
· Teste estrutuardo.
· Teste de sistemas.	
· Teste caixa preta.
· Teste orientado a objeto.
Na fase de testes, aquele responsável por identificar erros durante a integração e interação entre os módulos ou unidades do sistema é o teste:
· funcional.
· de aceitação.
· de unidade.
· de validação.
· de integração.
Sabemos que existem duas modalidade de testes de software. Ela são classificadas em:
I- Testes Estáticos, onde permite que o código seja avaliado em termos de defeitos estruturais ou fraquezas sistemáticas que possam gerar defeitos;
II- Testes Estáticos, que são realizados após a integração de todos os módulos do sistema;
III- Testes Dinâmicos, que são testes baseados na execução do código do programa, e para isso precisam de um questionário com base nos aspectos estruturais e funcionais do programa;
IV- Testes Dinâmicos, que devem ser feitos antes da implementação, ou seja, nas fases iniciais;
É correto, apenas, o que se afirma em:
· I e II;
· II e IV;
· III e IV;
· II e III;
· I e III;
Quando falamos de requisitos de software os stakeholders são:
· Os usuários principais do software, os usuários que são afetados direta ou indiretamente pelo software e a equipe de desenvolvimento.
Os stakeholders nada mais são do que as pessoas e as organizações que podem ser afetadas por um projeto, de forma direta ou indireta, positiva ou negativamente.
Eles também são conhecidos por serem as partes interessadas, que fazem parte da base da gestão de comunicação, e são muito importantes para o planejameoto e execução de um projeto.
· Os clientes do projeto que pagam pelo software.
· Os usuários principais do software e o gerente de desenvolvimento
· Toda a equipe de informática, envolvida diretamente ou não com o projeto de software de que está se falando.
· Os desenvolvedores do software, incluindo a gerência.
Um tipo de teste de sistemas de software é também chamado de ¿teste comportamental¿ e focaliza os requisitos funcionais do software,permitindo ao engenheiro de software derivar conjuntos de condições de entrada que vão exercitar plenamente todos os requisitos funcionais de um programa. Esse tipo de teste tende a ser aplicado durante os últimos estágios do teste e tenta encontrar erros em funções incorretas ou omitidas, de interfaces, de estrutura de dados ou de acesso à base de dados externa, de comportamento ou desempenho de iniciação e término. Além disso, é um tipo de teste que despreza, de propósito, a estrutura de controle, sendo a atenção focalizada no domínio da informação. Esse tipo é conhecido por teste:
· e) de lógica composta.
· c) de fluxo de dados.
· a) caixa-preta.
· b) caixa-branca.
· d) de caminho básico.
A empresa de consultoria ARTMAIS está desenvolvendo um projeto de controle do acervo da História e Patrimônio Cultural da Saúde no Brasil, embasada nas normas de seu PDS. Atualmente, o projeto encontra-se no último estágio do processo de validação das funcionalidades pelos usuários e clientes. É uma fase importante na qual os usuários interagem com todo o sistema.
Com base no texto acima, identifique, nas opções abaixo, qual a fase de teste do PDS em que o projeto se encontra no momento.
· Teste de Sistemas		
· Teste de Aceitação
Os testes de aceitação são realizados por um grupo restrito de usuários finais do sistema, que simulam operações de rotina do sistema de modo a verificar se seu comportamento está de acordo com o solicitado. Teste formal conduzido para determinar se um sistema satisfaz ou não seus critérios de aceitação e para permitir ao cliente determinar se aceita ou não o sistema.
Validação de um software pelo comprador, pelo usuário ou por terceira parte, com o uso de dados ou cenários especificados ou reais. Pode incluir testes funcionais, de configuração, de recuperação de falhas, de segurança e de desempenho.
· Teste de Carga do Sistema
· Teste da Unidade
· Teste de Integração

Continue navegando