Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

Prof. MSc. Claudio Furquim
UNIDADE I
Qualidade de Software
O que é Qualidade?
Qualidade de Software – Fundamentos 
Fonte: https://i.pinimg.com/236x/02/e2/a5/02e2a54e3a74e93e55301fc55b21dd68.jpg
 Qualidade é a propriedade que determina a essência de um ser ou coisa, podendo ser tanto 
boa quanto má essa propriedade.
Qualidade de Software – Fundamentos 
Fonte: https://i.pinimg.com/564x/d4/09/14/d40914ef7ca4e671e6a73259d56f0f51.jpg
 A qualidade de software é um conceito multifacetado que abrange diversas áreas, desde a 
concepção inicial do produto de software até sua entrega e manutenção.
 A qualidade de software é um campo importante na engenharia de software, e diversos 
conceitos fundamentais contribuem para compreender e melhorar a qualidade dos produtos 
de software.
 A qualidade não se limita apenas à ausência de defeitos ou falhas; ela também engloba a 
usabilidade, eficiência, confiabilidade, e conformidade com padrões e requisitos específicos.
Qualidade de Software – Fundamentos 
Fonte: 
https://revirnegocios.com.br/wp-
content/uploads/2017/03/001-o-
que-e-qualidade-e-como-
satisfazer-nossos-clientes.jpg
 Um modelo conceitual conhecido como "ciclo de vida do software" descreve as fases pelas 
quais um produto de software passa desde o momento em que é desenvolvido até o 
momento em que é lançado em um ambiente produtivo ou descontinuação. Cada etapa do 
ciclo de vida do software tem seus próprios objetivos, tarefas e resultados. Ao longo dos 
anos, vários modelos de ciclo de vida do software foram propostos.
Qualidade de Software – Fundamentos 
Fonte: 
https://revirnegocios.com.br/wp-
content/uploads/2017/03/001-o-
que-e-qualidade-e-como-
satisfazer-nossos-clientes.jpg
 Para entender melhor como a qualidade
de software é aplicada precisamos
entender e relembrar o ciclo de vida
do software.
 Todas as fases do ciclo de vida possuem
início e fim definidos, mas podem ocorrer
também de forma paralela em muitos
projetos, isso irá variar de empresa para
empresa e de projeto para projeto.
Qualidade de Software – Fundamentos 
Fonte: Autoria própria.
Ciclo de 
vida do 
software
Concepção
Definição de 
Requisitos
Design
DeployTestes
Implantação
Manutenção 
e Evolução
Em qual fase do ciclo de vida do software os programadores implementam funcionalidades
do sistema?
a) Design.
b) Definição de requisitos.
c) Implementação.
d) Testes.
e) Implantação.
Interatividade
Em qual fase do ciclo de vida do software os programadores implementam funcionalidades
do sistema?
a) Design.
b) Definição de requisitos.
c) Implementação.
d) Testes.
e) Implantação.
Resposta
 A qualidade do software é um conceito multifacetado que abrange diversos aspectos, desde 
a funcionalidade e desempenho até a segurança e a usabilidade. Para gerenciar e avaliar 
efetivamente esses diferentes atributos, foram desenvolvidos ao longo dos anos vários 
modelos de qualidade de software. Esses modelos fornecem um framework estruturado para 
ajudar as organizações a melhorar seus processos de desenvolvimento e garantir que os 
produtos finais atendam ou superem as expectativas dos usuários.
Qualidade de Software – Modelos de Qualidade de Software 
Fonte: 
https://revirnegocios.com.br/wp-
content/uploads/2017/03/001-o-
que-e-qualidade-e-como-
satisfazer-nossos-clientes.jpg
 A ISO 9126 foi publicada inicialmente em 1991 pela Organização Internacional de 
Normalização (ISO), intitulada "Engenharia de Software - Qualidade do Produto", é uma 
norma internacional que estabelece um conjunto de diretrizes para avaliar a qualidade do 
software e fornece um framework abrangente para avaliar diferentes aspectos da qualidade 
do software.
Qualidade de Software – Modelos de Qualidade de Software 
Fonte: https://cga.ind.br/cganovo/wp-content/uploads/2021/04/iso9001-297x300.jpg
 A ISO/IEC 25000, conhecida como SQuaRE (Software Product Quality Requirements and 
Evaluation), é uma série de normas desenvolvidas para fornecer um conjunto abrangente de 
diretrizes para avaliação e melhoria da qualidade do software. Ela substituiu a série ISO/IEC 
9126, ampliando e refinando os conceitos de qualidade de software. A estrutura da ISO/IEC 
25000 compreende quatro partes principais: Requisitos de qualidade do produto, Modelos de 
qualidade de produto, Medição da qualidade de produto e Gestão da qualidade de produto.
Qualidade de Software – Modelos de Qualidade de Software 
Fonte: https://cga.ind.br/cganovo/wp-content/uploads/2021/04/iso9001-297x300.jpg
Modelo do ISO 25000
Qualidade de Software – Modelos de Qualidade de Software 
Fonte: Autoria própria.
Qualidade 
no produto 
de 
Software
Planejamento e 
Requisitos
Desenvolvimento 
e Testes
Implantação e 
Manutenção
 O modelo de maturidade, como o Capability Maturity Model (CMM) e seu sucessor, o 
Capability Maturity Model Integration (CMMI), é uma abordagem estruturada para avaliar e 
aprimorar a capacidade de uma organização em realizar seus processos de forma eficaz
e eficiente.
Qualidade de Software – Modelos de Qualidade de Software 
 Modelo de Maturidade CMMI
Qualidade de Software – Modelos de Qualidade de Software 
Fonte: Autoria própria.
Nível 1 - Inicial
Nível 2 - Gerenciado
Nível 3 - Definido
Nível 4 - Gerenciado 
Quantitativamente
Nível 5 - Otimizado
Método 5S
 A metodologia 5S é uma prática fundamental
na engenharia da qualidade que visa criar 
e manter um ambiente de trabalho organizado, 
limpo e eficiente.
Qualidade de Software – Modelos de Qualidade de Software 
Programa 
5S
SEIRI (Senso 
de utilização)
SEITON 
(Senso de 
organização)
SEISOU 
(Senso de 
limpeza)
SEIKETSU 
(Senso de 
padronização)
SHITSUKE 
(Senso de 
autodisciplina)
Separar e 
eliminar o 
desnecessário
Organizar 
para facilitar 
o uso
Manter limpo 
e arrumado
Padronizar ou 
se utilizar de 
padrões
Disciplina 
para manter 
as práticas
Fonte: Autoria própria.
Six Sigma
 Six Sigma é uma metodologia de melhoria
de processos que visa a aprimorar a qualidade, 
aumentar a eficiência e reduzir os defeitos 
em produtos e serviços.
Qualidade de Software – Modelos de Qualidade de Software 
Metodologia Seis Sigma
Definir metas claras e as
melhorias almejadas.
Mensurar: entender 100%
como acontece cada processo
e suas características.
Analisar o sistema atual com
objetivo de identificar como
eliminar a lacuna entre os
números atuais.
Incrementar: você vai
melhorar o sistema e não
realizar mudanças estruturais.
Controlar para garantir
que as metas alcançadas
serão mantidas a longo prazo.
1
2
3
4
5
Fonte: Adaptado de: 
https://media.licdn.com/dms/image/D4D
22AQF3bwJqkf487Q/feedshare-
shrink_2048_1536/0/1721049856036?e
=2147483647&v=beta&t=OSErXly7sJfM
v8di8szX46aEsje_yuA_zq3xhUDVLw4
TQM – Gestão da Qualidade Total
 O TQM consiste numa estratégia de administração orientada a
criar consciência da qualidade em todos os processos organizacionais.
Qualidade de Software – TQM 
Fonte: 
https://static.wixstatic.com/media/702
95c_def1fafc070546bd89aa40f7068a
8680~mv2.jpg/v1/fill/w_640,h_640,al_
c,q_85,enc_auto/70295c_def1fafc070
546bd89aa40f7068a8680~mv2.jpg
TQM – Gestão da Qualidade Total
Qualidade de Software – TQM 
Estratégia de qualidade
Grupos de trabalho
Envolvimento de clientes
e fornecedores
Métodos estatísticos
Desempenho de 
processos
Padrões de qualidade
Detecção de 
erros Retificação
Sistemas de qualidade
Custo da qualidade
Solução de problemas
Planejamento da 
qualidade
TQM
Controle da
Qualidade
Garantia da
Qualidade
Inspeção
Fonte: Autoria própria.
A ISO/IEC 25000 veio depois de qual modelo de qualidade?
a) CMMI.
b) CMM.
c) ISO 9001.
d) DEMAIC.
e) ISO9126.
Interatividade
A ISO/IEC 25000 veio depois de qual modelo de qualidade?
a) CMMI.
b) CMM.
c) ISO 9001.
d) DEMAIC.
e) ISO9126.
Resposta
Tipos de Sistemas e a Qualidade de Software
 Os sistemas de informação são aespinha dorsal de quase todas as atividades em 
organizações modernas. Desde sistemas de gerenciamento de banco de dados até 
aplicativos móveis, eles desempenham um papel vital na coleta, armazenamento, 
processamento e distribuição de informações em diversos setores e indústrias.
Qualidade de Software – Tipos de Sistemas e a Qualidade 
Qualidade de Software – Tipos de Sistemas e a Qualidade 
• Críticos
• Embarcados
• Tempo real
Tipos de 
Sistemas
Tipos de Sistemas: Críticos
 Os sistemas críticos representam uma categoria de software e hardware cujo funcionamento 
ininterrupto e correto é considerado vital para as operações que suportam. Esses sistemas 
são frequentemente associados a setores como aviação, medicina, energia nuclear e 
controle de tráfego aéreo, onde falhas podem resultar em consequências catastróficas, 
incluindo perda de vidas humanas, danos ambientais significativos ou prejuízos econômicos 
de grande escala.
Qualidade de Software – Tipos de Sistemas e a Qualidade 
Fonte: 
https://s3.static.brasilescola.uol.com.br/be/
2022/03/torres-de-uma-usina-nuclear.jpg
Tipos de Sistemas: Embarcados
 O termo “embarcado” refere-se ao fato de que esses sistemas são integrados ao hardware 
do dispositivo em que estão instalados, em oposição a sistemas de propósito geral, como 
computadores pessoais, onde o software pode ser instalado e modificado livremente.
Qualidade de Software – Tipos de Sistemas e a Qualidade 
Fonte: 
https://www.lopese
giorno.com.br/wp-
content/uploads/20
22/07/credit-card-
machine-
g353cd03d1_1920-
1024x683.jpg
Tipos de Sistemas: Embarcados
 Embora os termos "software embarcado" e "sistema embarcado" estejam relacionados e 
frequentemente se sobreponham, há uma distinção sutil entre eles:
Qualidade de Software – Tipos de Sistemas e a Qualidade 
Software embarcado Sistema embarcado
Refere-se especificamente ao software que é 
projetado para ser executado em um sistema 
embarcado.
Refere-se ao conjunto completo de hardware e 
software que formam um dispositivo ou sistema 
dedicado.
Ele é desenvolvido para realizar funções 
específicas dentro do sistema embarcado.
Além do software embarcado, o sistema 
embarcado inclui todos os componentes físicos 
(hardware) que compõem o dispositivo.
Pode incluir o firmware e drivers de dispositivo, 
aplicativos específicos ou até mesmo sistemas 
operacionais especializados para sistemas 
embarcados.
Isso pode incluir processadores, memória, 
sensores, atuadores e quaisquer outros 
dispositivos eletrônicos que sejam necessários 
para o funcionamento do sistema.
O software embarcado é uma parte essencial de 
um sistema embarcado, pois é o que permite que 
o hardware execute suas funções designadas.
O sistema embarcado é projetado para realizar 
uma função específica ou um conjunto de 
funções, geralmente sem a capacidade de ser 
facilmente reprogramado ou reconfigurado para 
outros fins.
Tipos de Sistemas: Tempo Real
 Os sistemas de tempo real são fundamentais em diversas aplicações críticas, nas quais a 
execução de tarefas dentro de prazos específicos é crucial para o funcionamento adequado 
do sistema. Esses sistemas são projetados para responder a eventos ou dados externos em 
um intervalo de tempo determinado, garantindo assim a eficiência e segurança operacional.
Qualidade de Software – Tipos de Sistemas e a Qualidade 
Fonte: https://i.pinimg.com/originals/01/9a/2d/019a2d16277d159cd2ef1298a4c60ab8.png
Um sistema projetado para funcionar em um ônibus espacial pode ser considerado?
a) Crítico.
b) Real Time.
c) Embarcado.
d) Near Time.
e) Nenhuma das alternativas.
Interatividade
Um sistema projetado para funcionar em um ônibus espacial pode ser considerado?
a) Crítico.
b) Real Time.
c) Embarcado.
d) Near Time.
e) Nenhuma das alternativas.
Resposta
Processos de Testes de Software
 Os testes de software representam uma etapa essencial no desenvolvimento de sistemas, 
garantindo que o produto final esteja alinhado com os requisitos especificados e livre de 
defeitos críticos. A fase de testes não apenas identifica falhas antes do software chegar ao 
usuário final, mas também assegura a qualidade do produto em termos de funcionalidade, 
desempenho, segurança e compatibilidade.
Qualidade de Software – Testes de Software 
Processos de Testes de Software: Planejamento
 O planejamento e a definição de estratégias de testes são etapas fundamentais no ciclo de 
desenvolvimento de software, estabelecendo um roteiro claro para garantir que o produto 
final atenda aos padrões de qualidade exigidos. Essa fase envolve a identificação dos tipos 
de testes mais adequados ao projeto, a alocação de recursos, a definição do cronograma e a 
escolha das ferramentas necessárias para executar os testes.
Qualidade de Software – Testes de Software 
Processos de Testes de Software
 Um aspecto fundamental nos testes modernos é a diversificação das técnicas utilizadas:
Qualidade de Software – Tipos de Testes 
Testes unitários
 focam em 
verificar a 
menor parte 
do software 
isoladamente
Testes de 
integração
 asseguram 
que diferentes 
módulos ou 
serviços 
funcionem 
conjuntamente
Testes de 
sistema
 avaliam o 
comportamento 
do software 
como um todo
Testes de 
aceitação
 validam se 
o sistema 
atende às 
expectativas 
do cliente ou 
usuário final
Processos de Testes de Software: Automação de testes
 A automação de testes é um processo essencial que visa automatizar a execução de casos 
de teste, comparar os resultados esperados com os resultados reais, bem como relatar 
discrepâncias, sem intervenção humana direta. Essa abordagem acelera o processo de teste 
e aumenta a precisão e a confiabilidade dos testes realizados. Em vez de realizar testes 
manualmente, os desenvolvedores e testadores podem criar scripts que simulam interações 
do usuário e verificam se o software se comporta conforme o esperado.
Qualidade de Software – Testes de Software 
Processos de Testes de Software: Automação de testes
 Na figura ao lado, está o passo
a passo de como funciona o
processo de automação
de testes.
Qualidade de Software – Tipos de Sistemas e a Qualidade 
Integração com pipeline de CI/CD
Análise dos resultados 
Execução dos testes automatizados 
Desenvolvimento dos scripts de testes
Seleção de ferramenta de automação
Identificação dos cenários de testes
Processos de Testes de Software: Continuous Integration(CI) e Continuous Delivery(CD)
 A Continuous Integration (integração contínua) refere-se à prática de integrar o código 
produzido por diferentes membros da equipe em um repositório compartilhado, de forma 
frequente e regular. Isso significa que, várias vezes ao dia, o código produzido por diferentes 
desenvolvedores é combinado em um único código-fonte principal. Esse processo é 
automatizado e é acompanhado pela execução de testes automatizados para garantir que 
o código integrado funcione conforme o esperado e não quebre a aplicação existente.
Qualidade de Software – Tipos de Sistemas e a Qualidade 
Processos de Testes de Software: Continuous Integration(CI) e Continuous Delivery(CD)
 A Continuous Delivery (entrega contínua) vai um passo além, automatizando todo o processo 
de entrega de software, desde a integração do código até a implantação em um ambiente de 
produção. Assim, sempre que uma alteração é feita no código e passa com sucesso por 
todos os testes automatizados, ela está pronta para ser entregue aos usuários finais. Com a 
entrega contínua, as empresas podem reduzir significativamente o tempo necessário para 
lançar novas funcionalidades ou correções de bugs, além de garantir uma entrega mais 
confiável e consistente.
Qualidade de Software – Tipos de Sistemas e a Qualidade 
Processos de Testes de Software: Continuous Integration(CI) e Continuous Delivery(CD)
Qualidade de Software – Tipos de Sistemas e a Qualidade 
Fonte: https://miro.medium.com/v2/resize:fit:720/format:webp/1*G9ctO_oroLJNmXuoly_DvQ.pngQual dos itens abaixo não é um tipo de teste?
a) Teste de sistema.
b) Teste integrado.
c) Teste unitário.
d) Teste modular.
e) Teste de aceitação.
Interatividade
Qual dos itens abaixo não é um tipo de teste?
a) Teste de sistema.
b) Teste integrado.
c) Teste unitário.
d) Teste modular.
e) Teste de aceitação.
Resposta
 BARTIÉ, Alexandre. Garantia da qualidade de software: adquirindo maturidade 
organizacional. Rio de Janeiro: Elsevier, 2002.
 PROJECT MANAGEMENT INSTITUTE. Um guia do conhecimento em gerenciamento de 
projetos (Guia PMBOK®). 5. ed. [S.l.]: Project Management Institute, 2013.
 ENGHOLM, Hélio Jr. Engenharia de software na prática. São Paulo: Novatec, 2010.
 DEMING, W. Edwards. Saia da crise. São Paulo: Editora Marques Saraiva, 1990.
Referências
ATÉ A PRÓXIMA!

Mais conteúdos dessa disciplina