Buscar

Aula_Metrica

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 42 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 42 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 42 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

Gestão e Qualidade de Software
Rafaela Moreira (rafaela.cruz@prof.unibh.br)
Felipe Andrade
@prof.unibh.br)
MATERIAL E ENTREGA DAS ATIVIDADES
Material
Links do Drive disponibilizados no Ulife.
Entregas
Através do Ulife.
O que entregar:
Resoluções dos exercícios em .pdf (com cabeçalho preenchido, enunciado e respostas) 
Formato de entrega: 
Em grupo: NomeAtividade-NomeGrupo.extensãoArquivo
Individual: NomeAtividade-NomeSobrenomeAluno-Matricula.extensãoArquivo
Ex: Atividade1-RafaelaMoreira-091223.pdf
COMO APRENDEMOS?
APROVAÇÃO
75%
FREQUÊNCIA
70
PONTOS
DICAS
Faça: 
Os trabalhos
As provas
As atividades
Estude!
Na dúvida, converse com os colegas ou professor, mas tente resolver alguns problemas sozinho.
Não se baseie apenas em slides ou conteúdo em sala, vá além!
Você só irá aprender praticando! 
* Geralmente quem vai até o fim é aprovado!
AULA 1
Qualidade de Software
Ementa
	Qualidade de software de produto e de processo
	Estratégias de testes como forma de garantia da qualidade
	Estimativa e indicadores de software
	Gestão de configuração e versionamento de software
	Evolução de softwares legados
	Modelos de qualidade de produto e processos
Bibliografia
PRESSMAN, Roger; MAXIM, Bruce. Engenharia de software: uma abordagem profissional. 8 ed. São Paulo: Bookman, 2016.E-book. Disponível em: https://integrada.minhabiblioteca.com.br/books/9788580555349
SOMMERVILLE, Ian. Engenharia de software. 8. ed. São Paulo: Pearson Prentice Hall, 2011. E-book. Disponível em: https://plataforma.bvirtual.com.br/Leitor/Publicacao/276/pdf/13
GONÇALVES, Priscila de Fátima.; BARRETO, Jeanine dos Santos.; ZENKER, Aline Maciel.; FAGUNDES, Rubem. Testes de software e gerência de configuração. Soluções Educacionais Integradas, 2019. E-book. Disponível em: https://integrada.minhabiblioteca.com.br/books/9788595029361 
Distribuição de Pontos
A1 – 30 Pontos
A2 – 30 Pontos
A3 – 40 Pontos
A3 – 20 Pontos ( Parceria C&T)
A3 – 10 Pontos (Aula Teórica)
A3 – 10 Pontos (Aula Prática)
Detalhamento A3
Cap. 19
Conceitos Qualidade de Software
‹#›
Histórico
A necessidade de maior qualidade de software surgiu a partir do momento que o software ficou cada vez mais integrado a todas as atividades de nossas vidas. Na década de 1990, as principais empresas reconheciam que bilhões de dólares por ano eram desperdiçados em software que não apresentava as características e as funcionalidades prometidas. 
Qual o prejuízo causado por software de má qualidade?
Impacto
As definições variam, mas especialistas dizem que bastam três ou quatro defeitos a cada 1.000 linhas de código para que um programa execute de forma inadequada (PRESSMAN, 2016)
Definição
Em um nível mais pragmático, David Garvin, da Harvard Business School, sugere que “qualidade é um conceito complexo e multifacetado” que pode ser descrito segundo cinco pontos de vista diferentes (Pressman,2016): 
1 - A visão transcendental sustenta que qualidade é algo que se reconhece imediatamente, mas não se consegue definir explicitamente.
2 - A visão do usuário enxerga a qualidade em termos das metas especificas de um usuário. Se um produto atende a essas metas, ele apresenta qualidade. 
3 - A visão do fabricante define qualidade em termos da especificação original do produto. Se o produto atende as especificações, ele apresenta qualidade. 
4 - A visão do produto sugere que a qualidade pode ser ligada as características inerentes (por exemplo, funções e recursos) de um produto. 
5 - A visão baseada em valor mede a qualidade tomando como base o quanto um cliente estaria disposto a pagar por um produto. 
Exercício
Quais características você entende que um software com boa qualidade precisa ter? 
Software bom é aquele que funciona. Você considera que esta afirmação esteja correja? Justifique sua Resposta. 
David Garvin
David Garvin sugere que a qualidade deve ser considerada adotando-se um ponto de vista multidimensional que começa com uma avaliação da conformidade e termina com uma visão transcendental (estética). Embora as oito dimensões de qualidade de Garvin não tenham sido desenvolvidas especificamente para software, elas podem ser aplicadas quando se considera qualidade de software:
Dimensões de qualidade de Garvin
Qualidade do desempenho 🡺 Funcionalidade com desempenho?
Qualidade dos recursos 🡺 Gera valor?
Confiabilidade 🡺 Possui erros ou falhas?
Conformidade 🡺 Segue os padrões e convenções acordadas?
Durabilidade 🡺 Fácil de ser mantido?
Facilidade de manutenção
Estética 🡺 Questões visuais e de usabilidade
Percepção 🡺 Visão do usuário
Qualidade não é apenas conformidade com requisitos!
Fatores de qualidade ISO 9126
Funcionalidade. O grau com que o software satisfaz as necessidades declaradas, conforme indicado pelos seguintes subatributos: adequabilidade, exatidão, interoperabilidade, conformidade e segurança.
Confiabilidade. A quantidade de tempo por que o software fica disponível para uso, conforme indicado pelos seguintes subatributos: maturidade, tolerância a falhas, facilidade de recuperação.
Usabilidade. O grau de facilidade de utilização do software, conforme indicado pelos seguintes subatributos: facilidade de compreensão, facilidade de aprendizagem, operabilidade.
Eficiência. O grau de otimização do uso, pelo software, dos recursos do sistema, conforme indicado pelos seguintes subatributos: comportamento em relação ao tempo, comportamento em relação aos recursos.
Facilidade de manutenção. A facilidade com a qual uma correção pode ser realizada no software, conforme indicado pelos seguintes subatributos: facilidade de análise, facilidade de realização de mudanças, estabilidade, testabilidade.
Portabilidade. A facilidade com a qual um software pode ser transposto de um ambiente para outro, conforme indicado pelos seguintes subatributos: adaptabilidade, facilidade de instalação, conformidade, facilidade de substituição.
Custo da qualidade
Custo relativo para correção de erros e defeitos
Exercício – 1 ponto : 06/09/2021
Ler e resumir o capítulo 19
Defina detalhadamente Qualidade de Software.
Explique cada uma das dimensões de Garvin.
Cap. 22
Estratégias e teste de software
https://integrada.minhabiblioteca.com.br/reader/books/9788580555349/pageid/493
‹#›
Estratégia de teste
A estratégia de teste de software fornece um roteiro que descreve os passos a serem executados como parte do teste, define quando esses passos são planejados e então executados e quanto trabalho, tempo e recursos serão necessários. Portanto, qualquer estratégia de teste deve incorporar planejamento dos testes, projeto de casos de teste, execução dos testes e coleta e avaliação dos dados resultantes.
Estratégia de teste
Uma estratégia de teste de software deve ser flexível o bastante para promover uma estratégia de teste personalizada. Ao mesmo tempo, deve ser rígida o bastante para estimular um planejamento razoável e o acompanhamento à medida que o projeto progride. 
Teste de Software
Teste é um conjunto de atividades que podem ser planejadas com antecedência e executadas sistematicamente. Por essa razão, deverá ser definido, para o processo de software, um modelo para o teste – um conjunto de etapas no qual podem ser empregadas técnicas especificas de projeto de caso de teste e métodos de teste.
Uma estratégia de teste de software deve acomodar testes de baixo nível, necessários para verificar se um pequeno segmento de código fonte foi implementado corretamente, bem como testes de alto nível, que validam as funções principais do sistema de acordo com os requisitos do cliente. Uma estratégia deve fornecer diretrizes para o profissional e uma serie de metas para o gerente. Como os passos da estratégia de teste ocorrem no instante em que as pressões pelo prazo começama aumentar, deve ser possível medir o progresso no desenvolvimento, e os problemas devem ser revelados o mais cedo possível.
Teste de Software
Características Gerais
 O teste começa no nível de componente e progride em direção à integração do sistema computacional como um todo.
Diferentes técnicas de teste são apropriadas para diferentes abordagens de engenharia de software e em diferentes pontos no tempo.
O teste é realizado pelo desenvolvedor do software e (para grandes projetos) por um grupo de teste independente.
O teste e a depuração são atividades diferentes, mas a depuração deve ser associada a alguma estratégia de teste
https://www.youtube.com/watch?v=FCMYM01Wflc
Princípios
Exemplo
Considere um software que simule uma calculadora que possua as operações básicas da matemática (+, - , / , *). Descreva quais tipos de teste seria necessário para validar se o software esta construído da forma correta.
Calculadora
	Número	Descrição do Teste	Objetivo
	1	Multiplicar dois números e verificar se o resultado é igual ao resultado esperado.	Verificar se esta correta a operação de multiplicação calculada pelo software.
			
8 minutos
Estratégia de teste de software – visão global
O processo de software pode ser visto como a espiral ilustrada na Figura a seguir. Inicialmente, a engenharia de sistemas define o papel do software e passa à análise dos requisitos de software, na qual são estabelecidos o domínio da in- formação, função, comportamento, desempenho, restrições e critérios de validação para o software.
Visão Global
Teste de Unidade
O teste de unidade começa no centro da espiral e se concentra em cada unidade (por exemplo: componente, classe ou objeto de conteúdo de WebApp) do software, conforme implementado no código-fonte.
Teste de Unidade
 O teste de unidade usa intensamente técnicas de teste, com caminhos específicos na estrutura de controle de um componente para garantir a cobertura completa e a máxima detecção de erros. 
Teste de integração
O foco está no projeto e construção da arquitetura de software. O teste de integração cuida de problemas associados a aspectos duais de verificação e construção de programa. Técnicas de projeto de casos de teste que focalizam entradas e saídas são mais predominantes durante a integração, embora técnicas que usam caminhos específicos de programa possam ser utilizadas para segurança dos principais caminhos de controle. 
Teste de validação
Durante este tipo de teste, os requisitos estabelecidos como parte dos requisitos de modelagem são validados em relação ao software criado. Depois que o software foi integrado (construído), é executada uma serie de testes de ordem superior. Os critérios de validação (estabelecidos durante a analise de requisitos) devem ser avaliados. O teste de validação proporciona a garantia final de que o software satisfaz a todos os requisitos funcionais, comportamentais e de desempenho.
Teste do sistema
O software e outros elementos são testados como um todo. A última etapa de teste de ordem superior extrapola os limites da engenharia de software, entrando em um contexto mais amplo de engenharia de sistemas de computadores. O software, uma vez validado, deve ser combinado com outros elementos do sistema (por exemplo, hardware, pessoas, base de dados). O teste de sistema verifica se todos os elementos se combinam corretamente e se a função/desempenho global do sistema é obtida.
Processo
Considerando o processo de um ponto de vista procedimental, o teste dentro do contexto de engenharia de software é, na realidade, uma serie de quatro etapas implementadas sequencialmente. 
Conclusão do Teste
Uma questão clássica surge todas as vezes que se discute teste de software: “Quando podemos dizer que terminamos os testes – como podemos saber que já́ testamos o suficiente?”. Infelizmente, não há uma resposta definitiva para essa pergunta, mas há algumas respostas pragmáticas e algumas tentativas iniciais e empíricas.
Uma resposta é: “O teste nunca termina; o encargo simplesmente passa do engenheiro de software para o usuário”. Todas as vezes que o usuário executa o programa no computador, o programa está sendo testado. Esse fato destaca a importância de outras atividades de garantia da qualidade do software. Outra resposta (um tanto cínica, mas, ainda assim, exata) é: “O teste acaba quando o tempo ou o dinheiro acabam”.
Exercícios (Descreva e demonstre testes para cada algoritmo abaixo)
1 – Elabore um algoritmo em java que represente uma calculadora com as operações (+, - , / e *).
2 - Elabore um algoritmo em java que solicite o nome e idade de 5 pessoas.
3 - Elabore um algoritmo em java que solicite 5 números inteiros para o usuário e apresente o 
 maior ao final da execução.
4 - Elabore um algoritmo em java que solicite 5 números inteiros para o usuário e apresente o 
 menor ao final da execução.
5 - Elabore um algoritmo em java que apresente na tela todos os números pares presentes em um 
 intervalo solicitado para o usuário.
6 - Elabore um algoritmo em java que leia um arquivo txt e apresente apenas a primeira linha dele 
 na tela (O aluno deverá criar o arquivo txt para testar a aplicação).
7 - Elabore um algoritmo em java que solicite 10 números para o usuário e salve em um arquivo txt a
 media simples entre eles.
Exercícios
Defina teste de unidade.
Defina teste de integração.
Defina teste de validação.
Descreva os 7 princípios de teste de software.
Cite uma certificação em teste de software que é utilizada atualmente no mercado de trabalho.
Assista o vídeo sobre teste de unidade : https://www.youtube.com/watch?v=5V012tGZot4

Continue navegando