Buscar

Qualidade e Testes 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 124 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 124 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 124 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

Qualidade e 
testes de software
Sandro Lopes Bianchini
Qualidade e 
testes de software
Sandro Lopes Bianchini
Bianchini, Sandro Lopes
Qualidade e testes de software. Sorocaba/SP, 2020. 62 f. Ed. 1.
Validador: Iremar Nunes de Lima.
Instituto Cultural Newton Paiva Ferreira Ltda. | ED+ Content Hub, 2020.
Assuntos:
1. Computadores - Software;
2. Control de qualidade;
3. Engenharia de software.
Formato: digital.
Recurso: PDF e HTML.
Requisitos do sistema operacional:
• Windows 8.1 ou superior;
• Mac OSX 10.6 ou superior;
• Linux - ChromeOS.
Configurações técnicas:
• 2GB de memória RAM;
• 2.5GHz de processador;
• 10GB de espaço em disco.
Navegadores:
• Google Chrome – Versão mais atualizada;
• Mozilla Firefox – Versão mais atualizada.
Dispositivos móveis:
• iOS 10 ou superior;
• Android 5 ou superior.
Modo de acesso: área restrita - Ambiente Virtual de Aprendizagem.
Todos os direitos desta edição são reservados ao Centro Universitário Facens.
Rodovia Senador José Ermírio de Moraes, 1425, km 1,5 – Sorocaba/SP
CEP: 18.085-784 | tel.: 55 15 3238 1188
Nenhuma parte desta publicação poderá ser reproduzida por qualquer meio ou forma sem autorização.
A violação dos direitos autorais é crime estabelecido pela Lei n.º 9.610/98 e punido pelo artigo 184 do Código Penal.
Todas as imagens, vetores e ilustrações são creditados ao Shutterstock Inc., salvo quando indicada a referência.
Conteúdo
Unidade 1
Introdução à qualidade de software ................................................ 6
Unidade 2
Processos de garantia de qualidade de software ......................... 19
Unidade 3
CMMI .................................................................................................. 32
Unidade 4
Modelo MPS.br .................................................................................. 47
Unidade 5
Introdução à atividade de teste de software ................................ 61
Unidade 6
Fases ou níveis do teste de software ............................................. 77
Unidade 7
Técnicas de teste de software ......................................................... 88
Unidade 8
Outros aspectos do teste de software ......................................... 109
Qualidade e testes de software | Unidade 1 - Introdução à qualidade de software
5
PALAVRAS DO AUTOR
Ao iniciar a jornada por essa disciplina, gostaria que você refletisse sobre os produtos que você consome. 
Você já se irritou com um defeito em um carro? Em um aparelho tocador de vídeo ou música? Uma 
peça de roupa com costura frágil? Irritou-se por ter adquirido um produto sem qualidade? Além desses 
produtos citados, muito provavelmente você já deve ter utilizado um aplicativo em um smartphone ou 
computador que exibiu uma mensagem de erro sem motivo aparentemente (apesar de você ter usado 
conforme as instruções do fabricante) ou ainda sofreu com alguma lentidão utilizando esse software. Ou 
seja, qualidade é importante em tudo aquilo que utilizamos para o bem-estar e atividades do cotidiano, 
sejam elas de lazer ou profissionais. No caso do software que você utiliza, essa afirmação não é diferente.
Diante dessa realidade, você conhecerá, por meio da disciplina de Qualidade e teste de software, o 
significado do termo qualidade para o produto conhecido por software dentro do contexto da atividade 
de engenharia de software, bem como as motivações que levam à sua prática e técnicas, processos e 
conceitos utilizados para alcançar a qualidade de software. Entre esses itens, por exemplo, a atividade 
de teste de software é tida como essencial para alcançar esse objetivo.
Uma vez que você compreenda os conceitos apresentados, poderá aplicá-los para a construção de 
produtos de software (aplicativos, software comerciais, sistemas críticos, sistemas operacionais, entre 
outros) que satisfaçam as necessidades das pessoas e evitem exatamente algum tipo de aborrecimento 
ou irritação ao utilizar um produto sem qualidade.
Seja bem-vindo(a) ao mundo da engenharia de software, que você conhecerá nessa disciplina.
Bons estudos!
Qualidade e testes de software | Unidade 1 - Introdução à qualidade de software
6
Unidade 1 Introdução à qualidade de software
Objetivo da aprendizagem:
• Esclarecer o que é qualidade em software e seus fundamentos, conceitos, termos e histórico.
Tópicos de estudo:
• Introdução à engenharia de software.
• O que é qualidade de software?
• Aspectos de qualidade de software.
Iniciando os estudos:
Você já reparou que, provavelmente, o dispositivo que esteja utilizando para ler este livro possua capa-
cidade computacional provida por um conjunto de hardware e software? Além desse dispositivo, outros 
equipamentos de seu cotidiano também utilizam recursos de hardware e software, seja sua televisão, 
seu telefone e até seu relógio? E especificamente, em relação ao software que os acompanha, ele foi 
projetado, desenvolvido e testado sob um processo rigoroso para enfim ser disponibilizado de forma 
comercial? Em vista disso, nessa unidade você verá um histórico da engenharia de software e como é 
possível conceituar o termo qualidade para um software.
Qualidade e testes de software | Unidade 1 - Introdução à qualidade de software
7
1 INTRODUÇÃO À ENGENHARIA DE SOFTWARE
Considerando o mundo que nos cerca, você pode perceber a presença de sistemas computacionais 
controlados tanto por hardwares quanto por softwares capazes de executar diversas funções. Há 
sistemas que controlam uma planta fabril desde a entrada da matéria-prima ao produto final; há outros 
que controlam o próprio sistema financeiro. Você encontrará ainda exemplos na indústria de entreteni-
mento, seja no desenvolvimento de jogos de computador, cinema, televisão e música. Nesses sistemas 
o uso de software é intenso (SOMMERVILLE, 2011).
Dada a utilização de software nos mais variados nichos, pode-se dizer que o software possui um duplo 
papel: ele é um produto e ao mesmo tempo é o veículo para se distribuir um produto. Além disso, 
é possível também ressaltar que o software distribui o produto mais importante de nossos tempos: a 
informação. Ele transforma dados pessoais em informações úteis de modo que possam ser utilizadas em 
um determinado contexto; gerencia informações comerciais para aumentar competitividade; fornece 
um portal para redes mundiais de informação e ainda os meios para a obtenção dessas informações. 
Isso nos leva a procurar entender como o software é produzido. Desde o início do desenvolvimento de 
software, quando esses eram construídos por programadores solitários até os dias atuais onde tem-se 
equipes inteiras destinadas a esse fim, muitas questões acerca do desenvolvimento de software são as 
mesmas (PRESSMAN; MAXIM, 2016):
• Por que leva tanto tempo para concluir o desenvolvimento de software?
Figura 1 - O mundo está em constante contato com a presença 
de sistemas computacionais, controlados tanto por hardwares 
quanto por softwares capazes de executar diversas funções.
Qualidade e testes de software | Unidade 1 - Introdução à qualidade de software
8
• Por que os custos de desenvolvimento de um software são tão altos?
• Por que não conseguimos encontrar todos os erros antes de entregarmos o software 
aos clientes?
• Por que gastamos tanto tempo e esforço mantendo programas existentes?
• Por que se continua a ter dificuldade em medir o progresso tanto do desenvolvimento 
quanto a manutenção do software?
Essas e outras questões levam à prática da engenharia de software.
O termo engenharia de software foi proposto em 1969 em uma conferência da OTAN, justamente para 
a discussão de questões relacionadas ao desenvolvimento de software, como as citadas anteriormente, 
por exemplo (SOMMERVILLE, 2011). Procurando na literatura, você encontrará diversas definições para 
o termo engenharia de software. Uma delas é a da IEEE (1990): “(1) A aplicação de uma abordagem siste-
mática, disciplinada e quantificável no desenvolvimento, na operação e na manutenção de software. (2) 
O estudo de abordagenscomo definido em (1).”
Em linhas gerais, a engenharia de software tem por objetivo apoiar o desenvolvimento profissional 
de software. Ela inclui técnicas que apoiam a especificação, projeto e evolução de programas. É uma 
disciplina de engenharia cujo foco está em todos os aspectos da produção de software, desde os está-
gios iniciais da especificação do sistema até sua manutenção, quando o sistema já está em utilização.
A ciência da computação se preocupa com as teorias e métodos que sustentam 
sistemas computacionais e de software, ao passo que a engenharia de software 
se preocupa com os problemas práticos de produção de software. Algum 
conhecimento de ciência da computação é essencial para engenheiros de 
software, da mesma forma que algum conhecimento de física é essencial para 
engenheiros elétricos.
Reflita
Para compreender melhor a engenharia de software, Pressman e Maxim (2016, p. 39) a define como 
uma tecnologia em camadas, como você pode observar na figura 2.
Qualidade e testes de software | Unidade 1 - Introdução à qualidade de software
9
Como a pedra fundamental que sustenta a engenharia de software, tem-se o foco na qualidade, impres-
cindível em qualquer abordagem de engenharia inclusive. A próxima camada é o processo, que mantém 
as camadas de tecnologia coesas, possibilitando que o software seja produzido de forma racional e 
respeitando os prazos estabelecidos. O processo, em geral, deve definir uma metodologia para o uso 
efetivo da tecnologia de engenharia de software. Por meio do processo, encontram-se subsídios para 
o gerenciamento de projetos, que estabelecem um contexto no qual são utilizados métodos técnicos 
e artefatos são produzidos (documentação, diagramas, relatórios etc). Além disso, são estabelecidos 
marcos, que possibilitam a garantia da qualidade e ainda o controle sobre as mudanças que podem ser 
feitas durante o desenvolvimento do software.
Para saber mais sobre o conteúdo, você pode ver o vídeo abaixo.
Título: O que um engenheiro de software faz?
Acesso em: 08/10/2019.
Disponível em: https://www.youtube.com/watch?v=wdU9L3DqU2w
Aprofunde-se
Informações técnicas sobre como um software pode ser produzido são encontradas na camada método. 
Nessa camada, você encontrará tarefas que incluem comunicação, análise de requisitos, modelagem de 
projeto, codificação do programa, testes e suporte.
Figura 2 - Engenharia de software: uma tecnologia em camadas.
Fonte: adaptado de Pressman e Maxim (2016).
ED+ Content Hub © 2019
https://www.youtube.com/watch?v=wdU9L3DqU2w
Qualidade e testes de software | Unidade 1 - Introdução à qualidade de software
10
Por fim, na camada ferramentas, existem utilidades que fornecem suporte automatizado ou semiauto-
matizado para o processo e para os métodos. Uma vez integradas, de modo que informações geradas 
por uma ferramenta possam ser utilizadas em outra, tem-se um sistema para o suporte ao desenvol-
vimento de software, denominado engenharia de software com o auxílio do computador (do inglês 
Computer-Aided Software Engineering, comumente conhecido como ferramentas CASE) (IEEE,1990).
Considerando a camada de processo, segundo Sommerville (2011, p. 5), existem muitos processos de 
software diferentes, porém todos devem possuir quatro atividades fundamentais:
1. Especificação de software: a funcionalidade do software e as restrições ao seu funcio-
namento devem ser definidas.
2. Projeto e implementação de software: o software deve ser produzido para atender 
às especificações.
3. Validação de software: o software deve ser validado para garantir que atenda às 
demandas do cliente.
4. Evolução de software: o software deve evoluir para atender às necessidades de 
mudança dos clientes.
Acesse na plataforma o vídeo: Atividades fundamentais de 
processos de engenharia de software.
Assista
Portanto, ao aplicar qualquer processo da engenharia de software que implemente essas atividades, de 
alguma maneira você garantirá qualidade. No próximo tópico será discutido sobre qualidade de software.
Para saber mais sobre o conteúdo, você pode ler o livro abaixo.
Título do livro: Guide to the Software Engineering Body of Knowledge (SWEBOK(R)) 
Local: Los Alamitos, CA.
Editora: IEEE Computer Society Press.
Data da publicação: 17/01/2014.
Aprofunde-se
2 O QUE É QUALIDADE DE SOFTWARE?
Como você viu no tópico anterior, a pedra fundamental da tecnologia da engenharia de software é o foco 
na qualidade. Todavia, antes de continuar, pense em um produto qualquer e reflita: o que é qualidade 
para você? Acredito que a definição exata para essa questão não deva ter sido encontrada facilmente. 
Qualidade e testes de software | Unidade 1 - Introdução à qualidade de software
11
Se essa questão for lançada para um grupo de alunos, provavelmente haverá respostas baseadas nas 
percepções pessoais de cada um. Ao retornar para o contexto de software, encontrará possivelmente a 
mesma dificuldade.
O aumento do uso de software trouxe proble-
mas para seus desenvolvedores, como pressão 
por entregas, aumento dos custos, sistemas 
apresentando falhas e mal escritos.
Problemas
Aplicar princípios da engenharia clássica para 
o desenvolvimento de software, a fim de 
profissionalizar essa atividade, com foco na 
criação de um produto com qualidade.
Solução
Nos anos iniciais, software era desenvolvido 
por programadores solitários, focados apenas 
na codificação deles.
Início
Endereçar o desenvolvimento de software de modo que o produto atenda aos anseios dos usuá-
rios, tanto por meio de suas funcionalidades (um editor de texto deve permitir editar textos e 
salvá-los em disco) quanto por meio de outros atributos não funcionais (o software de navegação 
de um avião não pode travar, deve ser resiliente).
Qualidade
Com a adoção de computadores pessoais, 
software passou a ganhar importância para 
as pessoas e empresas.
Uso intenso
Software, como qualquer produto desenvolvido, requer qualidade para atingir os resultados esperados por 
seus usuários. Além de cumprir com as funcionalidades esperadas, precisa possuir características 
relacionadas a aspectos como segurança e proteção.
Infográfico 1 - A importância da qualidade no software.
ED
+ 
Co
nt
en
t H
ub
 ©
 2
01
9
Qualidade e testes de software | Unidade 1 - Introdução à qualidade de software
12
Para chegar em um conceito mais formal sobre o que é qualidade de software, deve-se antes construir 
o conceito de qualidade.
Segundo Garvin (1984, p. 25), citado por Pressman e Maxim (2016, p. 359), o conceito de qualidade é 
complexo e possui várias faces, podendo ser descrito por cinco pontos de vista diferentes. Esses pontos 
de vista são:
• Visão transcendental: a qualidade é algo que é reconhecido de imediato, porém não 
se consegue definir explicitamente.
• Visão do usuário: a qualidade é vista em termos de metas específicas de um usuário final.
• Visão do fabricante: a qualidade é definida em termos da especificação original do 
produto. Significa que se um produto atender às especificações, ele apresenta qualidade.
• Visão do produto: sugere que a qualidade pode estar ligada às características intrín-
secas do produto, como funções e recursos.
• Visão baseada em valor: a qualidade é medida tomando-se por base o quanto um 
cliente estaria disposto a pagar por um produto.
Esse artigo explora a qualidade, sob a ótica dos autores relacionados a um 
software, como seus usuários, desenvolvedores e patrocinadores de um 
software.
Título: Uma introdução à qualidade de software
Link: https://www.infoq.com/br/news/2012/05/An-Introduction-Software-Quality/
Aprofunde-se
Na indústria, a definição de qualidade seguiu, em linhas gerais, a visão do fabricante mencionada ante-
riormente. De acordo com Crosby (1979, apud SOMMERVILLE, 2011, p. 456), a qualidade é baseada na 
conformidade de um produto em relação a uma especificação detalhada e na noção de tolerân-
cias. A partir disso, obteve-se o entendimento que produtos poderiam ser especificados por completo e 
procedimentospoderiam ser criados para avaliar se um produto estivesse de acordo com suas especi-
ficações. Naturalmente, os produtos nem sempre cumprirão com todas as suas especificações, por isso 
admitiu-se tolerância. Se um produto estivesse ‘quase certo’, era considerado aceitável.
Entretanto, qualidade de software não pode ser comparada diretamente à qualidade na indústria. Tole-
rância é um conceito não aplicável aos sistemas digitais e, considerando as razões listadas abaixo, talvez 
seja impossível concluir objetivamente se um sistema de software atende ou não suas especificações 
(SOMMERVILLE, 2011). As razões são as seguintes:
1. Clientes e desenvolvedores de software podem interpretar os requisitos de modo 
diferente. Chegar a um acordo sobre se o software cumpre suas especificações ou não 
pode ser impossível.
https://www.infoq.com/br/news/2012/05/An-Introduction-Software-Quality/
Qualidade e testes de software | Unidade 1 - Introdução à qualidade de software
13
2. Em geral, as especificações integram requisitos de várias classes de stakeholders. 
Esses requisitos são um compromisso e podem não incluir os requisitos de todos os 
grupos de stakeholders. Os stakeholders excluídos podem perceber o sistema como um 
sistema de baixa qualidade, mesmo que esse implemente os requisitos acordados.
3. É impossível medir determinadas características de qualidade diretamente, por 
exemplo o quão facilitada é a manutenção de um software.
Acesse na plataforma o vídeo: Qualidade para softwares.
Assista
Tendo em vista essas razões, é possível considerar que a qualidade de software é um processo subjetivo, 
onde é necessário que uma equipe de gerenciamento de qualidade julgue se um software alcançou um 
nível aceitável de qualidade, considere se o software é adequado para sua finalidade ou não e também 
se responde às questões sobre características de um sistema, por exemplo:
• Durante o processo de desenvolvimento, os padrões de programação e documentação 
foram seguidos?
• O software foi devidamente testado?
• O software é suficientemente confiável para ser colocado em uso?
• O desempenho do software é aceitável para o uso normal?
• O software é útil?
• O software é bem estruturado e compreensível?
Esse artigo detalha o conceito de qualidade e sua evolução na história.
Título: Uma breve história da engenharia de qualidade
Link: https://www.dcce.ibilce.unesp.br/~adriana/ceq/Material%20
complementar/histquali.pdf
Aprofunde-se
Para cada uma das questões mencionadas, você encontrará aspectos que as permeiam. Esses aspectos 
serão discutidos no próximo tópico.
https://www.dcce.ibilce.unesp.br/~adriana/ceq/Material%20complementar/histquali.pdf
https://www.dcce.ibilce.unesp.br/~adriana/ceq/Material%20complementar/histquali.pdf
Qualidade e testes de software | Unidade 1 - Introdução à qualidade de software
14
3 ASPECTOS DA QUALIDADE DE SOFTWARE
Como você viu anteriormente, a qualidade de um sistema de software é subjetiva. Mais do que simples-
mente considerar sua funcionalidade, ou seja, avaliar se um software foi implementado corretamente, o 
entendimento sobre qualidade de software deve considerar atributos não funcionais, relacionados com 
a percepção do sistema por parte dos usuários. Na tabela 1 é possível ver 15 atributos sugeridos por 
Boehm et al. (1978, apud SOMMERVILLE, 2011, p. 457):
Segurança Compreensibilidade Portabilidade
Proteção Testabilidade Usabilidade
Confiabilidade Adaptabilidade Reusabilidade
Resiliência Modularidade Eficiência
Robustez Complexidade Capacidade de aprendizado
Outro aspecto vital na qualidade de software é a medição. Na engenharia de software, toda medição é 
nomeada com uma métrica. Uma métrica é uma medida, como custo ou tamanho, que pode ser aplicada 
ao software (BELL, 2005). A proposta do uso de métricas incluem os seguintes tópicos:
• Predizer atributos de qualidade para o software que será construído;
• Julgar a qualidade sobre o software ou uma porção dele que foi desenvolvida;
• Monitorar e melhorar o processo de desenvolvimento de software;
• Comparar e avaliar diferente abordagem de desenvolvimento.
Entre as métricas existentes é possível relacionar as métricas básicas. A medida mais simples que você 
encontrará para um software é seu tamanho. Geralmente é medido por linhas de código ou pontos por 
função. O tamanho em bytes afeta a memória principal e os requisitos de armazenamento, que por sua 
vez impactam no desempenho.
Para saber mais sobre o conteúdo, você pode ver o vídeo abaixo.
Título: O que é a análise de pontos de função?
Acesso em: 09/10/2019.
Disponível em: https://www.youtube.com/watch?v=9N1FMXrB9Kk
Aprofunde-se
Tabela 1 - Atributos não funcionais da qualidade de software.
Fonte: adaptado de Sommerville (2011).
https://www.youtube.com/watch?v=9N1FMXrB9Kk
Qualidade e testes de software | Unidade 1 - Introdução à qualidade de software
15
Outra métrica importante é a pessoas-mês, que pode ter um detalhamento maior, como pessoas-hora, 
uma medida do esforço de desenvolvimento. É uma métrica que impacta diretamente no custo do software. 
Essa informação pode ser utilizada por empresas para predizer o tempo de futuros desenvolvimentos.
A outra métrica básica é o número de bugs ou falhas. Essa métrica permitirá predizer quantos bugs 
podem permanecer ao final do desenvolvimento.
Esse artigo explora métricas para avaliação de qualidade.
Título: Métricas de Qualidade de Software
Link: https://www.tiespecialistas.com.br/metricas-de-qualidade-de-software/
Aprofunde-se
Existem também as métricas de complexidade, que se referem a quanto o código de um software é complexo. 
Uma métrica comumente utilizada nesse tipo é a análise de pontos por função. A ênfase aqui é que os 
programas sejam escritos de maneira clara e simples e, portanto, fáceis de checar, entender e modificar.
Acesse na plataforma o vídeo: Aspectos funcionais, não funcionais e 
estruturais: detalhando o conceito de qualidade de software.
Assista
https://www.tiespecialistas.com.br/metricas-de-qualidade-de-software/
Qualidade e testes de software | Unidade 1 - Introdução à qualidade de software
16
CONSIDERAÇÕES FINAIS
Nesta unidade você pôde conhecer melhor o que é a engenharia de software, seu histórico e seus obje-
tivos enquanto disciplina para profissionais da área de desenvolvimento de software. Como parte dos 
objetivos dessa disciplina, você também aprendeu que qualidade é um requisito essencial para a enge-
nharia de software. Por fim, também pôde entender que para se alcançar qualidade em um software, 
mais do que implementar suas funcionalidades propostas, é necessário considerar outros aspectos não 
funcionais, como confiabilidade e robustez.
Você seguirá seus estudos, aprofundando o conceito de qualidade, visando entender processos que 
possam garanti-la em um projeto de software.
Qualidade e testes de software | Unidade 1 - Introdução à qualidade de software
17
GLOSSÁRIO
IEEE: Institute of Electrical and Electronic Engineers.
Stakeholders: termo utilizado para designar todas as pessoas, em diferentes níveis, que estejam interes-
sadas em um projeto de software. Poderia ser traduzido como interessados.
Bug: defeito, falha ou erro no código de um programa que provoca seu funcionamento incorreto.
Qualidade e testes de software | Unidade 1 - Introdução à qualidade de software
18
REFERÊNCIAS
BELL, D. Software Engineering for Students. 4. ed. Addison-Wesley, 2005. 424 p. ISBN 9780321261274.
IEEE Std. 610.12. IEEE Standard Glossary of Software Engineering Terminology. The Institute of Elec-
trical and Electronics Engineers, New York, 1990.
PRESSMAN, Roger S; MAXIM, Bruce R. Engenharia de Software - Uma Abordagem Profissional. 8. ed. 
Porto Alegre: Amgh Editora, 2016. 968 p.
SOMMERVILLE, I. Engenharia de Software. Tradução Ivan Bosnic e Kalinga G. de O. Gonçalves. 9. ed. São 
Paulo: Pearson Prentice Hall, 2011. 529 p.
Qualidade e testes de software | Unidade 2 - Processos de garantia de qualidade de software
19
Unidade2 Processos de garantia de qualidade de software
Objetivo de aprendizagem:
• Apresentar ao aluno o processo que tem por objetivo controlar e garantir a qualidade dentro 
dos diversos processos de desenvolvimento de software.
Tópicos de estudo:
• Processos de garantia e de gestão da qualidade de software;
• Gestão da qualidade de produto;
• Gestão da qualidade de processo.
Iniciando os estudos:
Como você viu, a qualidade de software é um dos pilares da engenharia de software. A busca pela qualidade 
em um software representará a satisfação dos usuários por meio do fornecimento de um produto robusto, 
estável e que cumpre com a funcionalidade desejada desses usuários.
Para alcançar essa qualidade, no entanto, é necessário também que durante o processo de desenvolvimento 
haja algum elemento que determine e diga se a qualidade está em conformidade com aquilo que se espera. 
É necessário garantir que a qualidade no software esteja presente por meio de atividades que façam gestão e 
controle de todo o processo.
Nesta unidade, serão abordados processos de gestão e garantia da qualidade e você perceberá como eles 
apoiam o desenvolvimento de software.
Qualidade e testes de software | Unidade 2 - Processos de garantia de qualidade de software
20
1 PROCESSOS DE GARANTIA E DE 
GESTÃO DA QUALIDADE DE SOFTWARE
Se você pudesse observar o comportamento de muitos desenvolvedores de software espalhados nas 
muitas empresas que desenvolvem software, perceberia que ainda hoje eles acreditam que qualidade 
de software é algo que só deve ser considerado após a codificação do software em si. Porém, esse 
pensamento não poderia estar mais distante da verdade. A garantia da qualidade de software (SQA, do 
inglês Software Quality Assurance, muitas vezes ainda denominada gestão da qualidade) é um processo 
universal e deve ser aplicado em todo processo no qual se deseja obter qualidade (PRESSMAN; MAXIM, 
2016, p. 387).
Na indústria de software, SQA pode ter diferentes interpretações. Por vezes, apenas pode significar a 
definição de processos, procedimentos e padrões que têm por objetivo reforçar que a qualidade de 
software seja atingida. Em outras vezes, sua interpretação também inclui todo o gerenciamento de confi-
guração, atividades de verificação e validação aplicadas após o produto ter sido entregue. Pode-se consi-
derar que o SQA possui três principais preocupações em diferentes níveis (SOMMERVILLE, 2011, p. 454):
1. No nível organizacional, a gestão de qualidade está preocupada com o estabelecimento 
de um arcabouço de processos organizacionais e padrões que levem a softwares de 
alta qualidade. A consequência disso é que uma equipe de gestão de qualidade deve 
assumir a responsabilidade de definir os processos de desenvolvimento do software 
que serão usados e os padrões que devem ser usados nele, que incluem a documen-
tação relacionada, os requisitos de sistema, projeto e código.
• No nível de projeto, a gestão de qualidade envolve a aplicação de processos específicos 
de qualidade, que checam se os processos planejados foram seguidos e garantem que 
as saídas de projeto estejam em conformidade com os padrões aplicáveis ao projeto.
• No nível de projeto ainda, a gestão de qualidade também está preocupada com o esta-
belecimento de um plano de qualidade, em que devem ser definidas as metas de quali-
dade para o projeto e quais processos e padrões devem ser utilizados.
Para saber mais sobre o conteúdo, você pode ver o vídeo abaixo.
Título: Qual a diferença entre controle da qualidade e garantia da qualidade?
Acesso em: 20/10/2019.
Disponível em: https://www.youtube.com/watch?v=qNGgcVaHiSc
Aprofunde-se
https://www.youtube.com/watch?v=qNGgcVaHiSc
Qualidade e testes de software | Unidade 2 - Processos de garantia de qualidade de software
21
A gestão de qualidade fornece uma verificação diferente do processo de desenvolvimento de software. 
Cada entregável do processo de desenvolvimento é verificado para garantir que sejam consistentes 
com os objetivos organizacionais. Na figura abaixo, você pode observar que cada entregável (E1, E2, E3 
e assim por diante) do processo de desenvolvimento de software passa para o processo de gestão de 
qualidade, que segue seu próprio caminho.
Processo de
desenvolvimento
de software Entregável 1
Padrões e
procedimentos
Relatórios de
revisão de
qualidade
………Plano dequalidade
Entregável 2 Entregável 3 Entregável 4
Processo de
gestão de
qualidade
Ressalta-se que, além de seguir com um processo complementar ao desenvolvimento de software, 
a equipe que tem como função o SQA deve desempenhar o papel do cliente, funcionando como um 
serviço de defesa desse mesmo cliente, examinando o software sob sua ótica (PRESSMAN; MAXIM, 2016).
Acesse na plataforma o vídeo: A busca pela qualidade passa 
por processos de gestão e garantia.
Assista
1.1 ELEMENTOS DA GARANTIA DA QUALIDADE DE SOFTWARE
No SQA, engloba-se um amplo aspecto de preocupações e atividades que podem ser relacionadas da 
seguinte maneira (HORSH, 2003 apud PRESSMAN; MAXIM, 2016):
• Padrões: o IEEE, a ISO e outras organizações desenvolveram um conjunto de padrões 
para a engenharia de software e seus documentos relacionados. Os padrões podem 
ser adotados voluntariamente por uma organização de engenharia de software ou 
impostos pelo cliente ou demais interessados. A função do SQA aqui é garantir que 
os padrões, que por ventura tenham sido adotados, sejam seguidos e que todos os 
produtos resultantes estejam em conformidade com eles.
Figura 1 - Gestão de qualidade vs Processo 
de desenvolvimento de software. 
Fonte: adaptado de Sommerville (2011).
ED+ Content Hub © 2019
Qualidade e testes de software | Unidade 2 - Processos de garantia de qualidade de software
22
• Revisões e auditorias: as revisões técnicas são uma atividade de controle de quali-
dade realizada por engenheiros de software para engenheiros de software. Seu propó-
sito é o de revelar erros. Auditorias são um tipo de revisão efetuadas pela equipe de 
SQA com o intuito de assegurar que as diretrizes de qualidade estejam sendo seguidas 
no trabalho de engenharia de software. Por exemplo, uma auditoria de processo 
de revisão pode ser realizada para garantir que as revisões estejam sendo feitas de 
maneira que conduza a maior probabilidade possível de alcançar seu objetivo primário.
• Testes: os testes de software são uma função de controle de qualidade com um obje-
tivo principal: descobrir erros. Aqui, a função do SQA é garantir que os testes sejam 
planejados apropriadamente e conduzidos eficientemente de modo que se tenha a 
maior chance possível de alcançar seu objetivo primário.
• Coleta e análise de erros/defeitos: para melhorar, medir o próprio desempenho é 
essencial. O SQA reúne e analisa dados de erros e defeitos para melhor compreender 
como os erros são introduzidos e quais atividades de engenharia de software melhor 
se adaptam para sua eliminação.
• Gerenciamento de mudanças: as mudanças são um dos aspectos mais negativos em 
qualquer projeto de software. Se não forem administradas, podem gerar confusão, 
o que pode levar a uma qualidade aquém da desejada. O SQA garante que práticas 
adequadas de gerenciamento de mudanças tenham sido instituídas.
• Educação: um fator fundamental para se aprimorar as práticas de engenharia de 
software é a educação de engenheiros, gerentes e demais interessados. A organização 
de SQA assume a liderança nesse processo de aperfeiçoamento do software e é um 
proponente e patrocinador de programas educacionais.
• Gerência de fornecedores: pode-se encontrar três categorias de software oferecidas 
por fornecedores externos: pacotes prontos/comerciais (conhecidos como software de 
prateleira, como o Microsoft Office, oferecidos em caixas); software customizado (possui 
um esqueleto básico, como o oferecido em caixas, porém personalizado de acordo com 
as necessidades do comprador); e software sob encomenda (projetado e construído 
desde o início, a partir de especificações fornecidaspela empresa-cliente). Aqui, a função 
do SQA é garantir a qualidade do software por meio da sugestão de práticas de garantia 
de qualidade que o fornecedor, em linhas gerais, deve seguir e incorporar exigências de 
qualidade como parte de qualquer contrato com um fornecedor externo.
• Administração da segurança: com o aumento de crimes cibernéticos e novas regula-
mentações referentes à privacidade, toda organização de software deve instituir polí-
ticas que protejam os dados em todos os níveis, desde firewalls até checar modificações 
não autorizadas. O SQA garante o emprego de processos e tecnologias apropriadas 
voltadas para a segurança.
• Proteção: como o software é um componente fundamental de sistemas que envolvem 
vidas humanas, o impacto de defeitos escondidos pode ser trágico. O SQA pode ser 
Qualidade e testes de software | Unidade 2 - Processos de garantia de qualidade de software
23
responsável por avaliar o impacto de falhas de software e por iniciar as etapas necessá-
rias para a redução de riscos.
• Administração de riscos: embora a análise e redução de riscos seja uma preocupação 
de engenheiros de software, o grupo de SQA garante que as atividades da gestão de 
riscos sejam conduzidas corretamente e que planos de contingência relacionados a 
riscos tenham sido estabelecidos.
Além de analisar diferentes abordagens de processos utilizados para o SQA, esse artigo 
analisa também os custos decorrentes dos processos envolvidos sob a ótica financeira.
Título: The economics of sotfware quality assurance
Link: https://pdfs.semanticscholar.org/2d91/50f879c44bc9ac82e59dcb4b51c2e83e211f.pdf
Aprofunde-se
Somadas a essas atividades e preocupações, você poderá ver ainda o SQA envolvida na garantia de que 
atividades de suporte ao software, como manutenção, suporte online, documentação e manuais, sejam 
produzidas tendo como foco a qualidade.
2 GESTÃO DA QUALIDADE DE PRODUTO
Como você viu, uma das preocupações do SQA é o uso de padrões em seus processos de gestão. Um 
desses padrões são as normas ISO 9000. Essas normas podem ser aplicadas a uma variedade de orga-
nizações, desde a produção até a indústria de serviços. Por exemplo, a mais geral dessas normas, a 
ISO 9001, pode ser aplicada às organizações que projetam, desenvolvem e mantêm produtos, inclu-
sive softwares (SOMMERVILLE, 2011). Todavia, especificamente para o desenvolvimento de software, em 
1991, foi criada a ISO/IEC 9216. Foi traduzida para o Brasil em 1996, sob o nome NBR 13596. Posterior-
mente, essa norma brasileira foi substituída pela NBR ISO/IEC 9126-1.
A ISO/IEC 9126 é dividida em quatro partes (ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS, 2003):
• ISO/IEC 9126-1 - Modelo de Qualidade;
• ISO/IEC 9126-2 - Métricas Externas;
• ISO/IEC 9126-3 - Métricas Internas;
• ISO/IEC 9126-4 - Métricas de Qualidade em Uso.
A parte 1 apresenta um modelo de qualidade para o produto de software que será discutido adiante. As 
partes 2, 3 e 4 contemplam um conjunto de métricas para avaliação de atributos de qualidade interna 
(características dos produtos intermediários dos processos de desenvolvimento de software), qualidade 
externa (características do produto final de software gerado) e qualidade em uso (características do 
produto final, porém sob a perspectiva do usuário).
https://pdfs.semanticscholar.org/2d91/50f879c44bc9ac82e59dcb4b51c2e83e211f.pdf
Qualidade e testes de software | Unidade 2 - Processos de garantia de qualidade de software
24
O texto aborda o conceito de qualidade total do produto e seus determinantes, 
bem como as dimensões que compõem essa qualidade.
Título: Qualidade total do produto
Link: https://bit.ly/2Wpo1mW
Aprofunde-se
2.1 MODELO DE QUALIDADE
A parte 1 apresenta um conjunto de características para a definição de um modelo de qualidade, 
podendo ser aplicada a qualquer produto de software. Esse modelo, por sua vez, é composto de duas 
partes. Umas delas é o Modelo de Qualidade Interna e Externa (veja na figura abaixo).
Qualidade
interna e externa
• Funcionalidade
- Adequação
- Acurácia
- Interoperabilidade
- Segurança de acesso
- Conformidade
• Confiabilidade
- Maturidade
- Tolerância a falhas
- Recurerabilidade
- Conformidade
• Usabilidade
- Inteligibilidade
- Apreensibilidade
- Operacionalidade
- Atratividade
- Conformidade
• Eficiência
- Comportamento em
relação ao tempo
- Utilização de recursos
- Conformidade
• Manutenibilidade
- Analisabilidade
- Modificabilidade
- Estabilidade
- Testabilidade
- Conformidade
• Portabilidade
- Adaptabilidade
- Capacidade para
ser instalado
- Coexistência
- Capacidade para
substituir
- Conformidade
Nesse modelo, qualidade interna e externa são definidas por um conjunto de seis características básicas 
que um software deve possuir para ser considerado um produto de software de qualidade. Cada carac-
terística é dividida em um conjunto de subcaracterísticas. As características são:
• Funcionalidade: relacionada à finalidade do produto;
• Confiabilidade: diz respeito à frequência de falhas e recuperabilidade do software;
• Usabilidade: relacionada ao esforço para se utilizar/aprender o produto;
• Eficiência: refere-se ao desempenho do produto de software;
Figura 2 - Modelo de Qualidade Interna e Externa com suas 
características e subcaracterísticas.
Fonte: adaptado de Associação Brasileira de Normas Técnicas (2003).
ED+ Content Hub © 2019
https://bit.ly/2Wpo1mW
Qualidade e testes de software | Unidade 2 - Processos de garantia de qualidade de software
25
• Manutenibilidade: relacionada ao esforço para se modificar o software;
• Portabilidade: diz respeito à capacidade de transferir o produto para outros ambientes.
Acesse na plataforma o vídeo: A busca pela qualidade passa 
por processos de gestão e garantia.
Assista
Esse artigo possui um estudo de caso, onde a norma ISO/IEC 9126 é adaptada 
para sua aplicação em um domínio específico, no caso, aplicações B2B.
Lembrando que, ao acessar o link, você precisa realizar gratuitamente o login 
para baixar o conteúdo.
Título: Customizing ISO 9126 quality model for evaluation of B2B applications
Link: https://bit.ly/2BWONcU
Aprofunde-se
A segunda parte do modelo é formada pelo Modelo de Qualidade em Uso, dividida por quatro caracte-
rísticas de qualidade. Em linhas gerais, qualidade em uso é, para o usuário, o efeito combinado das seis 
características de qualidade do produto de software apresentadas anteriormente.
As características do Modelo de Qualidade em Uso são:
• Eficácia: é a capacidade do produto de software de permitir que usuários atinjam obje-
tivos especificados com acurácia e completitude em um contexto de uso especificado.
• Produtividade: é a capacidade do produto de software de permitir que seus usuá-
rios utilizem quantidade apropriada de recursos em relação à eficácia obtida em um 
contexto de uso especificado. Ressalta-se que recursos relevantes podem incluir tempo 
para término da tarefa, esforço do usuário, materiais ou custos financeiros.
• Segurança: é a capacidade do produto de software de apresentar níveis aceitáveis de 
riscos de danos a pessoas, negócios, software, propriedades ou ao ambiente em um 
contexto de uso especificado. De um modo geral, os riscos são decorrentes das defi-
ciências na funcionalidade (incluindo segurança de acesso), confiabilidade, usabilidade 
ou manutenibilidade.
• Satisfação: é a capacidade do produto de software de satisfazer usuários em um contexto 
de uso especificado. Em relação à satisfação, você deve considerar que é a resposta do 
usuário à interação com o produto e inclui atitudes relacionadas ao uso do produto.
https://bit.ly/2BWONcU
Qualidade e testes de software | Unidade 2 - Processos de garantia de qualidade de software
26
2.2 MÉTRICAS INTERNAS E EXTERNAS
Na parte 2 e 3 da ISO/IEC 9126 são apresentadas medições para a Qualidade Interna e a Externa. Quando 
os requisitos de qualidade do produto de software são definidos, as características de qualidade do 
produto que contribuem com os requisitos de qualidadesão listadas. Logo, as métricas externas compa-
tíveis com esses requisitos são especificadas para quantificar os critérios de qualidade que validam se o 
software atende às necessidades do usuário.
Os atributos de qualidade interna do software são definidos na sequência e especificados, com o obje-
tivo de atingir a qualidade externa e a qualidade em uso requeridas e considerá-las no produto durante 
seu desenvolvimento. Métricas internas compatíveis são especificadas para quantificar os atributos de 
qualidade interna, de modo que eles possam ser utilizados para verificar se os produtos intermediá-
rios resultantes do processo de desenvolvimento de software atendem às especificações de qualidade 
interna durante esse processo.
É importante levar em consideração que as métricas internas utilizadas tenham uma relação tão forte 
quanto possível com as métricas externas escolhidas, de modo que possam ser utilizadas para prever os 
valores de métricas externas. Entretanto, é difícil elaborar um modelo teórico rigoroso que estabeleça 
um relacionamento forte entre métricas internas e externas.
2.3 MÉTRICAS DA QUALIDADE EM USO
Na parte 4 da norma ISO/IEC 9126, estão reunidas métricas para avaliação das características de quali-
dade em uso do software.
Métricas de qualidade em uso medem o quanto um produto atende às necessidades de usuários para 
que atinjam objetivos especificados com eficácia, produtividade, segurança e satisfação em um contexto 
de uso especificado.
A avaliação de qualidade em uso valida a qualidade do produto de software em cenários de uso espe-
cífico. O relacionamento da qualidade em uso com as outras características de qualidade depende dos 
seguintes atores do processo de desenvolvimento de software:
• Do usuário final, para quem qualidade em uso é, principalmente, resultante de funcio-
nalidade, confiabilidade, usabilidade e eficiência;
• Da pessoa que mantém o software, para quem qualidade em uso é resultante de 
manutenibilidade;
• Da pessoa encarregada de portar o software, para quem qualidade em uso é resultante 
de portabilidade.
Qualidade e testes de software | Unidade 2 - Processos de garantia de qualidade de software
27
ED+ Content Hub © 2019
3 GESTÃO DA QUALIDADE DE PROCESSO
A qualidade de um produto de software também pode ser definida pela qualidade dos processos utili-
zados para o seu desenvolvimento. A qualidade do processo de software é esperada desde a coleta dos 
requisitos de usuário até a entrega do produto final, passando por um ciclo de vida que oferece uma 
análise crítica do contrato e estende-se à sua instalação e manutenção (LODI; CORDENONZI, 2002).
Pode-se encontrar uma relação direta entre qualidade do processo 
e a qualidade desejada para um produto. Com isso, uma vez 
melhorando o processo de construção, melhora-se o produto em 
si. Portanto, como melhorá-lo?
Facilidade de
compreensão: 
Todos os membros da equipe 
devem ser capazes de entender o 
processo no qual atuam;
Confiabilidade: 
Erros devem ser evitados ou 
ainda antecipados;
Facilidade
de adaptação: 
Mudanças devem ser 
facilmente implementadas;
Agilidade na
entrega do produto:
Há ganho de tempo na entrega 
de um produto de software 
com qualidade;
• Medir: procura melhorar as medidas de acordo 
com os objetivos da organização envolvida na 
melhoria de processos.
• Analisar: o processo atual é avaliado e os 
gargalos e pontos fracos são identificados.
• Mudar: mudanças são propostas para 
resolver pontos fracos identificados no processo. 
Ciclos de
avaliação contínua: 
Melhoria do processo 
de desenvolvimento de 
software
Infográfico 1 - Melhoria do processo 
de desenvolvimento de software.
Qualidade e testes de software | Unidade 2 - Processos de garantia de qualidade de software
28
Para tanto, encontram-se na literatura e na indústria modelos para definição, avaliação e melhoria de 
processos de software, entre eles:
• O CMM, também chamado de SW-CMM (Software CMM). Seu objetivo inicial foi estabelecer 
um padrão de qualidade para o software desenvolvido para as forças armadas americanas.
Esse artigo descreve os componentes do CMM e suas motivações.
Título: As características do CMM e o desenvolvimento de software com qualidade
Link: https://bit.ly/2WtSmk9
Aprofunde-se
• O SPICE, nome do projeto de elaboração da norma ISO/IEC 15504, que foi lançado 
em 1993, com o objetivo de gerar normas para a avaliação de processos, visando a 
melhoria contínua do processo e a determinação de sua capacitação.
• A ISO/IEC 12207, que foi aprovada em agosto de 1995 e estabelece os processos de 
atividades e tarefas a serem aplicados durante a aquisição, fornecimento, desenvolvi-
mento, operação e manutenção de software (ROCHA et al., 2001). Atualmente foi revi-
sada pela norma ISO/IEC/IEEE 12207:2017.
Acesse na plataforma o vídeo: Descrição da ISSO/IEC 12207.
Assista
https://bit.ly/2WtSmk9
Qualidade e testes de software | Unidade 2 - Processos de garantia de qualidade de software
29
CONSIDERAÇÕES FINAIS
Para que um produto atinja níveis aceitáveis de qualidade, você viu que diferentes aspectos e abor-
dagens devem ser considerados. A qualidade pode ser abordada analisando a qualidade do produto 
desenvolvido, considerando-se atributos como confiabilidade e usabilidade, por exemplo.
Outra abordagem vista é que a qualidade também deve ser atingida no que tange à qualidade dos 
processos envolvidos no próprio desenvolvimento de software.
Qualidade e testes de software | Unidade 2 - Processos de garantia de qualidade de software
30
GLOSSÁRIO
B2B: Business-to-Business.
CMM: Capability Maturity Model.
Entregável: (deliverables) são documentos, protótipos e também todos os demais itens intangíveis (tais 
como treinamento e homologação) que um processo produz e deve ser entregue quando for completado.
IEEE: em português, Instituto de Engenheiros Eletricistas e Eletrônicos.
ISO: International Organization for Standardization.
SPICE: Software Process Improvement and Capability Determination.
Qualidade e testes de software | Unidade 2 - Processos de garantia de qualidade de software
31
REFERÊNCIAS
ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. NBR 9126-1: Engenharia de Software - Qualidade do 
Produto. Rio de Janeiro, 2003.
PRESSMAN, Roger S; MAXIM, Bruce R. Engenharia de Software - uma abordagem profissional. 8.ed. 
Porto Alegre: Amgh Editora, 2016.
LODI, Silvanna; CORDENONZI, Walkiria. Aplicação de produto do software utilizando a ISO/IEC 9126. 
Disciplinarum Scientia|Ciências Naturais e Tecnológicas, v. 3, n. 1, p. 11-27, 2016.
ROCHA, Ana Regina Cavalcanti da et al. Qualidade de Software: teoria e prática. São Paulo: Prenttice 
Hall, 2001.
SOMMERVILLE, I. Engenharia de Software. Tradução Ivan Bosnic e Kalinga G. de O. Gonçalves. 9. ed. São 
Paulo: Pearson Prentice Hall, 2011.
Qualidade e testes de software | Unidade 3 - CMMI
32
Unidade 3 CMMI
Objetivo da aprendizagem:
• Apresentar o modelo CMMI, sua descrição e como ele auxilia na melhoria de processos de 
desenvolvimento de software.
Tópicos de estudo:
• Sobre o CMMI;
• Representações do CMMI;
• Áreas de processo do CMMI;
• Obtendo a certificação.
Iniciando os estudos:
Na constante busca por qualidade no desenvolvimento de software, com a finalidade de entregar aos 
clientes e usuários um produto de qualidade, é necessário também direcionar esforços para a promoção 
dos processos envolvidos.
Nesse sentido, você conhecerá em detalhes o modelo CMMI, ferramenta criada para auxiliar organizações 
desenvolvedoras de software na implementação da qualidade de processo até a qualidade do produto.
Qualidade e testes de software | Unidade 3 - CMMI
33
1 SOBRE O CMMI
O CMMI é um modelo de maturidade criado com o objetivo de proporcionar condições para a evolução 
das boas práticas de engenharia de software. Foi desenvolvido pelo Instituto de Engenharia de Software 
da Universidade de Carnegie Mellon (SEI/CMU), localizado em Pittsburg, nos Estados Unidos. O resul-
tado de uma série de estudosiniciais culminou na criação do CMM (Capability Maturity Model), Modelo 
de Capacidade e Maturidade (MACHADO, 2016).
No CMM, dependendo da área de aplicação, diferentes modelos foram criados, como o SW-CMM (CMM 
para Software) e SA-CMM (CMM para aquisição de Software). Procurando então evoluir e integrar esses 
modelos em um volume único, substituindo-os, o SEI criou o CMMI (Capability Maturity Model Integra-
tion) ou Integração de Modelos de Capacidade e Maturidade.
O objetivo do CMMI, em linhas gerais, é melhorar os processos de uma organização ao adotá-lo. 
Como um modelo de referência, serve como uma estruturação de práticas e abordagens de sucesso 
comprovado. Essas práticas procuram contribuir com a organização através da disponibilização de 
orientações sobre:
• Como avaliar a maturidade da organização e sua capacidade por área de processos;
• Como estabelecer atividades prioritárias para as melhores propostas;
• Como implementar as melhorias propostas.
O modelo de referência é composto por múltiplos modelos de processo em conjunto a seus manuais e 
material de treinamento e de avaliação. Esses modelos integram o gerenciamento de qualidade, utilizando 
as melhores práticas aplicadas a determinados domínios sobre as práticas de mudança da organização. 
Além disso, o CMMI fornece um mecanismo de avaliação bem estabelecido de maturidade de processo.
Acesse na plataforma o vídeo: Componentes do CMMI.
Assista
No CMMI você encontrará duas representações, por estágios e contínua. Nessas representações, encon-
tram-se os seguintes componentes (SOMMERVILLE, 2011):
1. Um conjunto de áreas de processo relacionadas às atividades de processos de software. 
O CMMI identifica áreas de processo relevantes para a melhoria e a capacidade de 
processo de software. Essas são organizadas em quatro grupos no modelo CMMI. Na 
representação contínua e na representação por estágios, aparecem em cada um deles.
2. Um número de metas, que são descrições abstratas de um estado desejável a ser atin-
gido por uma organização. O CMMI tem metas específicas, associadas a cada área de 
processo, e define o estado desejável para cada área. Ele também define metas gené-
ricas associadas com a institucionalização das boas práticas.
Qualidade e testes de software | Unidade 3 - CMMI
34
3. Um conjunto de boas práticas, que são as descrições das formas de como alcançar 
uma meta. Várias práticas específicas e genéricas podem ser associadas com cada 
meta dentro de uma área de processo. No entanto, o CMMI reconhece que o mais 
importante é a meta e não a maneira como ela é alcançada. As organizações podem 
usar quaisquer práticas adequadas para atingir qualquer uma das metas do CMMI, pois 
não precisam de fato adotar as práticas recomendadas no próprio CMMI.
Breve introdução ao CMMI, contendo conceitos, definições e motivações.
Título: CMMI: uma visão geral
Link: https://www.devmedia.com.br/cmmi-uma-visao-geral/25425
Aprofunde-se
Por fim, segundo Smith (apud MACHADO, 2016), o CMMI se tornou um veículo popular para a determina-
ção de maturidade de processo de desenvolvimento de software de organizações em diversos domínios.
Esse artigo foca nas razões por trás da adoção do CMMI e inclusive traz 
motivações existentes para o mercado brasileiro de software.
Título: Desmistificando o CMMI
Link: http://asrconsultoria.com.br/index.php/2016/06/22/desmistificando-o-cmmi/
Aprofunde-se
2 REPRESENTAÇÕES DO CMMI
Como você viu, o modelo CMMI possui duas representações: a representação por estágios e a repre-
sentação contínua. Na representação por estágios, o modelo é utilizado para avaliar a capacidade da 
organização como um todo. Na representação contínua, a medição é feita sobre a maturidade das áreas 
de processo específicas dentro da organização.
2.1 REPRESENTAÇÃO POR ESTÁGIOS
A representação por estágios se concentra nas melhores práticas que uma organização pode utilizar 
para melhorar processos das áreas do nível que se deseja atingir. Antes de iniciar a utilização do modelo 
CMMI, os processos da organização devem ser mapeados em relação aos processos e áreas de processo 
do CMMI. Esse mapeamento permitirá controlar a melhoria do processo da organização por meio da 
possibilidade de analisar o nível de conformidade da organização em relação ao modelo. Ressalta-se 
https://www.devmedia.com.br/cmmi-uma-visao-geral/25425
http://asrconsultoria.com.br/index.php/2016/06/22/desmistificando-o-cmmi/
Qualidade e testes de software | Unidade 3 - CMMI
35
que não é necessário que todas as áreas de processo do CMMI mapeiem exatamente um por um 
os processos de uma organização.
Na representação por estágios, há uma sequência de atividades e práticas que deve ser respeitada em 
cada estágio, uma vez que servem de base para se alcançar o estágio seguinte. Cada um dos estágios é 
conhecido por níveis de maturidade (Maturity Levels). Na figura abaixo, você encontrará os cinco níveis 
de maturidade propostos na representação por estágios do CMMI:
Você pode compreender os níveis da representação por estágios da seguinte maneira:
• Nível 1 – Inicial: os processos de uma organização são imprevisíveis, pouco contro-
lados e caóticos.
• Nível 2 – Gerenciado: os processos de uma organização são caracterizados por 
projeto e geralmente as ações são frequentemente reativas.
• Nível 3 – Definido: os processos de uma organização são bem caracterizados e 
compreendidos pela organização (envolvem toda a organização) e são proativos.
• Nível 4 – Gerenciado quantitativamente: aqui os processos de uma organização são 
medidos e controlados.
• Nível 5 – Otimizado: nesse nível, os processos de uma organização estão sob cons-
tante melhoria.
Figura 1 - Níveis de maturidade da 
representação por estágios do CMMI.
Fonte: adaptado de Sommerville (2011).
ED
+ 
Co
nt
en
t H
ub
 ©
 2
01
9
Qualidade e testes de software | Unidade 3 - CMMI
36
Acesse na plataforma o vídeo: A representação por estágios do CMMI.
Assista
Título: 1 - ISD BRASIL - o que é o nível 1 de maturidade do CMMI
Acesso em: 28/10/2019.
Disponível em: https://youtu.be/kF8sxDDoRns
Aprofunde-se
Comumente, você encontrará organizações avaliadas nos níveis de maturidade do CMMI, sendo referen-
ciadas, por exemplo, como: “a organização X está no nível 3 do CMMI”.
Título: 2 - ISD BRASIL - implementando o CMMI nível 3 de maturidade
Acesso em: 28/10/2019.
Disponível em: https://youtu.be/PiQh_bzoJoc
Aprofunde-se
2.2 REPRESENTAÇÃO CONTÍNUA
Na representação contínua do CMMI, ou CMMI Contínuo, diferentemente da representação por estágios, 
não se tem a maturidade de uma organização medida por níveis preestabelecidos. Nessa representação, 
a maturidade é medida em cada processo individualmente. Para avaliação dos processos, são utilizados 
níveis de capacidade (Capability Levels) (MACHADO, 2016):
• Nível 0 - Incompleto (Ad hoc).
• Nível 1 - Executado (definido): o processo é executado de modo a completar somente 
o trabalho necessário demandado.
• Nível 2 - Gerenciado: é sobre planejar a execução e confrontar o executado contra o 
que foi planejado.
• Nível 3 - Definido: o processo é construído sobre as diretrizes do processo existente e 
é mantida uma descrição do processo.
• Nível 4 - Quantitativamente gerenciado/ Gerido quantitativamente: é quando o 
processo é gerenciado quantitativamente através de estatísticas e outras técnicas.
• Nível 5 - Em otimização (ou otimizado): o processo gerido quantitativamente é alte-
rado e adaptado para atender às necessidades negociais/estratégicas da empresa.
https://youtu.be/PiQh_bzoJoc
Qualidade e testes de software | Unidade 3 - CMMI
37
Acesse na plataforma o vídeo: A representação contínua do CMMI
Assista
Esse artigo se concentra especificamente na representação contínua 
e seus níveis de capacidade de maneira simplificada.
Título: CMMI - Representação Contínua - Níveis de Capacidade
Link: https://bit.ly/375B0z0
Aprofunde-se
Quando uma organização busca apenas melhorar processos específicos, a representaçãocontínua é 
indicada. Por exemplo, em uma organização você poderá encontrar processos tanto no nível de capaci-
dade 1 quanto no nível 4. Talvez por uma decisão interna ou qualquer outro fator, a organização queira 
melhorar apenas o processo que se encontra no nível 1. Na figura abaixo, há um possível perfil de 
avaliação de processo nos diferentes níveis de capacidade da representação contínua. Nessa figura, você 
pode observar que diferentes processos possuem diferentes níveis de capacidade atribuídos.
Figura 2 - Exemplo de um perfil de avaliação de 
processos em níveis de capacidade.
Fonte: adaptado de Sommerville (2011).
https://bit.ly/375B0z0
Qualidade e testes de software | Unidade 3 - CMMI
38
Esse artigo apresenta uma comparação entre as representações do CMMI 
em inglês.
Título: SEI CMMI Representations
Link: https://www.tutorialspoint.com/cmmi/cmmi-representations.htm
Aprofunde-se
3 ÁREAS DE PROCESSO DO CMMI
Acesse na plataforma o vídeo: Áreas de processo.
Assista
Em cada uma das representações do CMMI, existem áreas de processo distribuídas tanto nos níveis de 
maturidade (representação por estágios) quanto nos níveis de capacidade (representação contínua). Uma 
área de processo é o agrupamento de práticas relacionadas a determinado contexto que, quando execu-
tadas de forma coletiva, satisfazem uma série de metas consideradas importantes para alcançar uma 
melhora significativa naquele contexto (ou seja, atingir um certo nível de maturidade) (MACHADO, 2016).
Na tabela abaixo, você poderá visualizar as áreas de processo existentes na representação por estágios. 
Cada nível é composto por uma coleção de áreas de processo.
Nível de maturidade Áreas de processo
Nível 2 - Gerenciado
Gestão de requisitos; 
Planejamento de projeto; 
Monitorização e controle de projeto; 
Gestão do acordo com o fornecedor;
Medição e análise; 
Garantia da qualidade do processo e do produto; 
Gestão de configurações.
Nível 3 - Definido
Desenvolvimento de requisitos; 
Solução técnica; 
Integração do produto; 
Verificação; 
Validação; 
Enfoque no processo organizacional; 
Definição do processo organizacional;
Formação organizacional; 
Gestão integrada do projeto; 
Gestão de risco; 
Integração de equipes; 
Gestão integrada de fornecedores; 
Ambiente organizacional para integração; 
Análise das decisões e resolução.
Nível 4 - Gerenciado quantitativamente
Performance do processo; 
Organizacional;
Gestão quantitativa do projeto.
Nível 5 - Otimizado Inovação e desenvolvimento organizacional; Análise e resolução de causa.
Tabela 1 - Níveis de maturidade da representação por 
estágios do CMMI e suas respectivas áreas de processo.
Fonte: adaptado de Machado (2016).
https://www.tutorialspoint.com/cmmi/cmmi-representations.htm
Qualidade e testes de software | Unidade 3 - CMMI
39
Já em relação à representação contínua, as áreas de processo são divididas por categoria, como pode 
ser visto na tabela a seguir:
Categoria Áreas de processo
Gestão de processos
Enfoque no processo organizacional; 
Definição do processo organizacional; 
Formação organizacional;
Desempenho de processo organizacional; 
Inovação e implementação organizacional.
Gestão de projeto
Planejamento de projeto; 
Monitorização e controle de projeto; 
Gestão do acordo com o fornecedor; 
Gestão integrada do projeto;
Gestão de risco de integração de equipes; 
Gestão integrada de fornecedores; 
Gestão quantitativa do projeto.
Engenharia
Gestão de requisitos; 
Desenvolvimento de requisitos; 
Solução técnica;
Integração do produto; 
Verificação; 
Validação.
Suporte
Gestão de configurações; 
Garantia da qualidade do processo e do produto; 
Medição e análise;
Análise das decisões e resolução; 
Ambiente organizacional para integração; 
Análise e resolução causal.
Esse artigo apresenta uma descrição detalhada de práticas genéricas e 
específicas de cada área de processo do CMMI em inglês.
Título: CMMI - Key Process Areas
Link: https://www.tutorialspoint.com/cmmi/cmmi_process_areas.htm
Aprofunde-se
Por fim, para cada área de processo, como já mencionado, existem metas genéricas e específicas. Na 
tabela abaixo, você pode ver alguns exemplos de metas associadas às áreas de processo:
Meta Área de processo
Ações corretivas são gerenciadas até a conclusão, quando 
o desempenho ou os resultados do projeto se desviam 
significativamente do plano.
Monitoração e controle de projeto (meta específica).
O desempenho atual e o progresso do projeto são monitorados 
frente ao planejamento do próprio projeto.
Monitoração e controle de projeto (meta específica).
Os requisitos são analisados e validados e uma definição da 
funcionalidade requerida é desenvolvida.
Desenvolvimento de requisitos (meta específica).
Causas raiz de defeitos e outros problemas são sistematicamente 
determinados.
Análise causal e resolução (meta específica).
O processo é institucionalizado como um processo definido. Meta genérica.
Tabela 2 - Categorias da representação contínua do 
CMMI e suas áreas de processo associadas.
Fonte: adaptado de Machado (2016).
Tabela 3 - Exemplos de metas para algumas áreas de processo do CMMI.
Fonte: adaptado de Sommerville (2011).
https://www.tutorialspoint.com/cmmi/cmmi_process_areas.htm
Qualidade e testes de software | Unidade 3 - CMMI
40
Essa dissertação de mestrado apresenta um trabalho relevante ao 
mapear as áreas de processo do CMMI em relação a métodos ágeis de 
desenvolvimento em inglês.
Título: Mapping CMMI process areas to agile best practices
Link: https://run.unl.pt/bitstream/10362/60403/1/TGI0186_final.pdf
Aprofunde-se
4 OBTENDO A CERTIFICAÇÃO
A obtenção da certificação CMMI traz consigo uma série de benefícios para a organização que pretende 
adotá-la (PROMOVE, 2018):
• Maior controle produtivo: o objetivo principal da implantação desse modelo é a 
capacidade de monitorar e controlar os processos de desenvolvimento e entrega de 
softwares e serviços. Com isso, a organização que o obtiver terá uma visão geral do 
fluxo produtivo, desde seu planejamento até a execução. Com indicadores compara-
tivos relevantes, facilita o processo de compreensão de onde estão os pontos fortes 
e fracos da sua equipe e de seus projetos, adaptando o desenvolvimento às necessi-
dades encontradas.
• Mais produtividade: processos otimizados e um fluxo simplificado de trabalho vão se 
traduzir em aumento de produtividade no mundo corporativo. Somado a isso, a certifi-
cação CMMI permite a inclusão de uma estrutura inteligente de comunicação interna. 
A empresa tem mais ferramentas para produzir e mais integração para colaborar.
• Iteração constante: nos níveis mais altos do CMMI, o controle da produção é inte-
grado ao trabalho do gestor, facilitando seu trabalho em buscar constantemente a 
melhora de processos e o aumento da produtividade citada anteriormente. Além disso, 
ao mesmo tempo em que se busca otimizar o trabalho de uma equipe, essa mesma 
equipe possui as ferramentas necessárias para otimizar um código, refinar um produto 
ou aprimorar a entrega de um serviço. Por isso a iteração constante é uma vantagem 
competitiva importante para quem trabalha com produtos de softwares.
Em 2007, a empresa Ci&T, especializada em desenvolvimento e outsourcing de 
aplicações, obteve o nível CMMI 5. Para tanto, foi necessário o investimento do 
montante de aproximadamente US$1 milhão. Esse investimento foi necessário 
para um treinamento de quatro anos, com preparação e adequação de processos.
Fonte: https://www.baguete.com.br/noticias/software/13/04/2007/cit-investe-us-1-milhao-na-
conquista-do-cmmi5
Reflita
https://run.unl.pt/bitstream/10362/60403/1/TGI0186_final.pdf
https://www.baguete.com.br/noticias/software/13/04/2007/cit-investe-us-1-milhao-na-conquista-do-cmmi5
https://www.baguete.com.br/noticias/software/13/04/2007/cit-investe-us-1-milhao-na-conquista-do-cmmi5
Qualidade e testes de software | Unidade 3 - CMMI
41
• Agilidade para atender demandas: as demandas de clientes acompanham a velo-
cidadecom que a tecnologia avança. Portanto, as organizações que obtêm sucesso 
nesse mercado são aquelas que identificam e alcançam nichos antes de concorrentes, 
consolidando-se como uma referência entre aquela clientela. Para conseguir atingir 
esse ponto de agressividade, qualquer negócio precisa de uma TI organizada e pronta 
para responder a uma demanda o mais rápido possível. Nesse sentido, a certificação 
CMMI garante que você tenha a inteligência e a otimização de processos necessárias 
para conseguir esse feito.
• Menos riscos no planejamento: se há controle na capacidade produtiva de uma 
organização, os riscos no planejamento são menores. É possível mapear demandas e 
sugerir processos que atinjam seus objetivos gastando-se menos e com qualidade na 
entrega. Previsibilidade é uma das palavras-chave para organizações que buscam a 
certificação em CMMI.
• Maior satisfação do cliente: processos definidos e monitorados, agilidade na resposta 
às demandas e, principalmente, qualidade na entrega ao cliente são as características 
que levam sua organização a satisfazer sua clientela com sucesso. Em um mercado 
acirrado e volátil, essa satisfação significa entregar um produto ou serviço de qualidade 
com preço acessível e que supere expectativas. No caso das concorrências públicas, 
trata-se de uma forma de se destacar como uma solução prática, confiável e segura.
Acesse na plataforma o vídeo: Razões para a certificação.
Assista
Qualidade e testes de software | Unidade 3 - CMMI
42
Aspectos para obtenção
da certificação CMMI 
Há diversos aspectos que devem ser contemplados para a obtenção da certificação CMMI. Tais 
aspectos vão de encontro a um processo rigoroso de avaliação. 
O planejamento da avaliação 
dura em média 3 meses.
A condução da avaliação 
dura de 6 a 8 dias.
Resultado da avaliação: 
ocorre imediatamente após a 
condução da avaliação.
A avaliação tem duração de 3 
anos. Após esse período, é 
necessário realizar uma nova 
avaliação.
Deve ser definido por quem 
deseja obter a certificação de 
qual será o escopo organizacional.
Avaliação
• Coletar dados para entender os 
processos implementados;
• Determinar nível de aderência de um 
processo em relação aos componentes 
do CMMI;
• Determinar grau de satisfação das 
metas investigadas;
• Identificar pontos fortes e fracos do 
processo;
• Atribuir classificação.
1
A avaliação deve ser conduzida 
por um profissional capacitado 
chamado “lead appraiser”. 
2
34
5
6 7
ED
+ 
Co
nt
en
t H
ub
 ©
 2
01
9
Infográfico 1 - Aspectos para obtenção da certificação CMMI.
Qualidade e testes de software | Unidade 3 - CMMI
43
Esse artigo apresenta o método SCAMPI em detalhes, método utilizado em 
avaliações do SEI para organizações que almejam a certificação CMMI.
Título: Standard CMMI® Appraisal Method for Process Improvement 
(SCAMPI) Version 1.3b
Link: https://cmmiinstitute.com/resources/standard-cmmi-appraisal-method-
process-improvement-scampi-version-13b-method-definition
Aprofunde-se
Em 2017, a DB1 Global Software, multinacional de tecnologia sediada em Maringá 
(PR), renovou a certificação CMMI Nível 3, emitida pelo CMMI Institute, que 
atesta aderência ao padrão internacional de qualidade de software. A primeira 
certificação foi concedida à DB1 em 2013 e, desde então, vem credenciando a 
empresa ao crescimento nos negócios e à participação em licitações oficiais.
Fonte: https://bit.ly/2q4l53B
Reflita
https://cmmiinstitute.com/resources/standard-cmmi-appraisal-method-process-improvement-scampi-version-13b-method-definition
https://cmmiinstitute.com/resources/standard-cmmi-appraisal-method-process-improvement-scampi-version-13b-method-definition
https://bit.ly/2q4l53B
Qualidade e testes de software | Unidade 3 - CMMI
44
CONSIDERAÇÕES FINAIS
Nesta unidade, você pôde conhecer o modelo CMMI, muito utilizado em organizações de desenvolvi-
mento de software, no intuito de melhorarem seus processos.
Uma vez melhorados seus processos, por consequência a organização ganha reconhecimento no 
mercado, facilitando a captação de novos clientes e solidifica sua marca.
Qualidade e testes de software | Unidade 3 - CMMI
45
GLOSSÁRIO
SEI/CMU: Software Engineering Institute/Carnegie Mellon University.
Qualidade e testes de software | Unidade 3 - CMMI
46
REFERÊNCIAS
MACHADO, Felipe Nery Rodrigues. Análise e Gestão de Requisitos de Software - Onde nascem os 
sistemas. 3. ed. São Paulo: Érica, 2015.
PROMOVE. Certificação CMMI: conheça os benefícios alcançados por empresas brasileiras, 2018. 
Disponível em: https://www.promovesolucoes.com/certificacao-cmmi-conheca-os-beneficios-alcancados-por-
-empresas-brasileiras/. Acesso em: 31 nov. 2019.
SOMMERVILLE, I. Engenharia de Software. Tradução Ivan Bosnic e Kalinga G. de O. Gonçalves. 9. ed. São 
Paulo: Pearson Prentice Hall, 2011.
https://www.promovesolucoes.com/certificacao-cmmi-conheca-os-beneficios-alcancados-por-empresas-bras
https://www.promovesolucoes.com/certificacao-cmmi-conheca-os-beneficios-alcancados-por-empresas-bras
Qualidade e testes de software | Unidade 4 - Modelo MPS.br
47
Unidade 4 Modelo MPS.br
Objetivo da aprendizagem:
• Apresentar o modelo MPS.br.
Tópicos de estudo:
• O que é o MPS.br;
• Componentes do MPS.br;
• Comparação entre modelos.
Iniciando os estudos:
Seguindo seu estudo no mundo da engenharia de software, com foco na qualidade, você já percebeu que 
a qualidade de um produto de software só pode ser alcançada por meio do aperfeiçoamento e melhoria 
dos seus próprios processos de desenvolvimento.
Para atingir esse objetivo, você pode contar com frameworks, normas e modelos, que fornecem suges-
tões das melhores práticas para a melhoria de processos. Um desses modelos, focando o mercado 
nacional, é o MPS.br.
Nesta unidade, você conhecerá então o modelo MPS.br, seu histórico, motivações e sua estrutura.
Qualidade e testes de software | Unidade 4 - Modelo MPS.br
48
1 O QUE É O MPS.BR
Como você já viu, um dos pilares da engenharia de software é a busca por qualidade. Por meio da 
melhoria dos processos de desenvolvimento, objetiva-se a construção de produtos de qualidade. 
No Brasil, desde 1993, com o Programa Brasileiro de Qualidade e Produtividade de Software (PBQP 
Software), o País tem investido na melhoria de qualidade de software. Porém, a partir de um estudo do 
MIT (Massachusetts Institute of Technology) foi constatado que empresas nacionais que seguiram com 
iniciativas para melhoria de processos de desenvolvimento de software, utilizaram a certificação ISO 
9000, ao invés de outros modelos específicos para software (WEBER, 2006).
De acordo com dados do Ministério da Ciência e Tecnologia, em 2003, 214 empresas que desenvolviam 
software no Brasil tinham certificação ISO 9000 e outras 30 empresas possuíam certificações CMM do 
SEI/CMU. Dessas últimas, a maioria era subsidiária de multinacionais. Em relação às suas certificações, 
24 empresas possuíam certificação nível 2, cinco no nível 3, uma no nível 4 e nenhuma no nível 5 até 
então (WEBER, 2005).
Para facilitar o uso de um modelo específico para software, a Associação para Promoção da Excelência 
do Software Brasileiro, Softex, propôs o projeto MPS.br – Melhoria de Processo de Software Brasileiro. 
O programa iniciou-se em 2003, sob coordenação da Softex, contando com a participação de universi-
dades, indústrias e do governo brasileiro. O principal objetivo do MPS.br é desenvolver e semear um 
modelo de melhoria de processos visando estabelecer um caminho economicamente viável para que 
organizações, incluindo as pequenas e médias empresas (PMEs), alcancem benefícios da melhoria de 
processos e da utilização de boas práticas da engenharia de software em um intervalo de tempo acei-
tável (KALINOWSKI et al., 2011).
Figura 1 - Em 2003, 214 empresas que desenvolviam 
software no Brasil tinham certificação ISO 9000.
Qualidade e testes de software | Unidade 4 - Modelo MPS.br
49
Assim como outros modelos de referência, o MPS.br possui uma página 
web ondeexibe as atuais empresas que possuem níveis de maturidade 
atestados pelo modelo. Essas empresas e seus níveis podem ser vistas no 
endereço https://softex.br/mpsbr/avaliacoes/
Aprofunde-se
O programa tem duas metas a serem alcançadas a médio e longo prazo, a meta técnica e a meta de negó-
cios (SOFTEX, 2016). A meta técnica visa o aprimoramento do programa em si e é composta pelos itens:
A. Guias de modelos de maturidade do MPS;
B. Formação de Instituições Implementadoras (II), credenciadas para prestar serviço de 
consultoria dos modelos do MPS, sendo eles o modelo de referência para software 
(MR-MPS-SW), modelo de referência para serviços (MR-MPS-SV) e modelo de referência 
para gestão de pessoas (MR-MPS-RH);
C. Formação de Instituições Avaliadoras (IA), credenciadas para prestar serviços de 
avaliação, seguindo modelo proposto pelo MPS;
D. Formação de Instituições de Consultoria de Aquisição (ICA), credenciadas para prestar 
serviços de aquisição de software ou serviços relacionados.
Já a meta de negócios, tem por objetivo a disseminação e viabilização dos modelos MPS para a melhoria 
de competitividade das PMEs (como foco principal) e até de grandes organizações privadas e governa-
mentais. É composta por:
A. Criação e aprimoramento do modelo de negócio chamado de MN-MPS;
B. Realização de cursos, provas e workshops MPS;
C. Apoio para organizações que implementaram o modelo MPS;
D. Transparência para as organizações que realizaram a avaliação MPS.
Acesse na plataforma o vídeo: O que é o MPS.br.
Assista
https://softex.br/mpsbr/avaliacoes/
Qualidade e testes de software | Unidade 4 - Modelo MPS.br
50
ED
+ 
Co
nt
en
t H
ub
 ©
 2
01
9
Na figura abaixo, você pode ver que o programa MPS.br foi concebido por entidades que utilizaram 
modelos e normas preestabelecidos e também observaram a realidade das empresas brasileiras:
Modelos
e normas
(ISO/IEC, CMM)
Realidade das
empresas
brasileiras
Softex
Governo
Universidades
Este artigo apresenta os resultados de uma pesquisa realizada com o 
objetivo de identificar dificuldades e fatores de sucesso relacionados à 
implementação de processos de software utilizando o MR-MPS e o CMMI.
Título: Dificuldades e Fatores de Sucesso na Implementação de Processos 
de Software Utilizando o MR-MPS e o CMMI
Link: https://www2.unifap.br/furtado/files/2017/04/007.pdf
Aprofunde-se
2 COMPONENTES DO MPS.BR
O modelo MPS possui cinco componentes, como ilustrado na figura abaixo. Como já mencionado no 
tópico anterior, possui o modelo de referência MPS para software (MR-MPS-SW), o modelo de referência 
MPS para serviços (MR-MPS-SV), o modelo de referência MPS para gestão de pessoas (MR-MPS-RH), o 
método de avaliação (MA-MPS) e o modelo de negócio (MN-MPS).
Acesse na plataforma o vídeo: MPS.br e seus componentes.
Assista
Figura 2 -Síntese do MPS.br.
Fonte: adaptado de Weber (2011).
https://www2.unifap.br/furtado/files/2017/04/007.pdf
Qualidade e testes de software | Unidade 4 - Modelo MPS.br
51
Na figura abaixo, você pode ver a composição do modelo MPS e a integração entre seus componentes:
Modelo MPS
ISO/IEC
15504
Modelo de Referência
para Software
MR-MPS-SW
Modelo de Referência
para Serviço
MR-MPS-SV
Guia Geral
de Serviço
Modelo de Referência
para Gestão de Pessoas
MR-MPS-RH
Guia Geral
de Gestão
de Pessoas
Método de Avaliação Modelo de Negócio
MN-MPSMA-MPS
Guia de
Avaliação
Guia Geral
de Software
Guia de
Aquisição
CMMI
ISO/IEC
12207
Documento
do Projeto
O Modelo de Referência para o Processo de Software do MPS (MR-MPS-SW) (SOFTEX, 2016) contém 
todos os requisitos que as organizações devem possuir para serem compatíveis com o modelo MPS. A 
estrutura do modelo é formada por níveis de maturidade que são a combinação entre os processos e 
sua capacidade.
O MR-MPS-SW segue definições contidas nas normas ISO/IEC 12207 e ISO/IEC 15504. Além disso, foi 
construído para ser compatível com o modelo do SEI/CMU CMMI.
O Guia de Aquisição é um documento adicional e complementar que fornece subsídios para organi-
zações que almejem adquirir software e serviços correlatos com base em normas internacionais e em 
práticas sugeridas internacionalmente. Em linhas gerais, esse guia não contém requisitos do MR-MPS, 
mas sim boas práticas de aquisição de software e serviços correlatos.
O Método de Avaliação descreve como seu próprio nome sugere um processo de avaliação. Esse processo 
de avaliação é composto por requisitos para os avaliadores se capacitarem na avaliação em si e também 
descreve os requisitos necessários para que organizações se tornem aderentes ao MR-MPS.
O Modelo de Negócio, por sua vez, contém a descrição das regras de negócio para três domínios: o 
domínio do projeto MPS.br, o domínio das instituições implementadoras do modelo e instituições avalia-
doras e, por fim, o domínio das empresas e organizações que queiram fazer uso do modelo MPS para 
melhorar seus processos de software.
Figura 3 - Modelo MPS.
Fonte: adaptado de Softex (2016).
ED
+ 
Co
nt
en
t H
ub
 ©
 2
01
9
Qualidade e testes de software | Unidade 4 - Modelo MPS.br
52
2.1 MODELO DE REFERÊNCIA MPS PARA SOFTWARE
Como já mencionado, o Modelo de Referência é composto por níveis de maturidade. São ao todo sete 
níveis de maturidade que são sequenciais e acumulativos. Em cada um desses níveis, você encontrará 
processos e suas capacidades.
O progresso nos níveis de maturidade é obtido quando são atendidos todos os resultados, propósitos 
e atributos dos processos relacionados a determinado nível. Na figura abaixo, você pode visualizar a 
estrutura do Modelo de Referência.
Os níveis do MR-MPS são:
• Nível A – Em otimização;
• Nível B – Gerenciado quantitativamente;
• Nível C – Definido;
• Nível D – Largamente definido;
• Nível E – Parcialmente definido;
• Nível F – Gerenciado;
• Nível G – Parcialmente gerenciado.
Figura 4 - Estrutura do MR-MPS.
Fonte: Weber (2011).
ED
+ 
Co
nt
en
t H
ub
 ©
 2
01
9
Qualidade e testes de software | Unidade 4 - Modelo MPS.br
53
Título: Introdução ao nível G do Modelo MPS de Software
Acesso em: 03/11/2019.
Disponível em: https://www.youtube.com/watch?v=TWwTk4Spcgc
Aprofunde-se
O nível inicial é o nível G, mais imaturo, enquanto o nível A é o mais maduro. A graduação em sete níveis 
permite uma implementação e reconhecimento mais gradual de melhoria de processo, facilitando a 
adequação de pequenas e médias empresas, com obtenção de resultados em prazos menores. Dentro 
de cada, tem-se caracterizadas as capacidades do processo que são representadas por um conjunto de 
atributos de processo (AP). A capacidade de processo expressa o grau de refinamento e institucionali-
zação com o processo que é executado na organização ou unidade organizacional.
No MPS.br temos os seguintes atributos de processo:
• AP 1.1 - O processo é executado: o processo realiza o que foi proposto para ele, produ-
zindo os resultados esperados.
• AP 2.1 - O processo é gerenciado: a execução do processo possui alguma gestão.
• AP 2.2 - Os produtos de trabalho são gerenciados: os produtos de trabalho originados 
pelo processo são gerenciados, isto é, produzidos, controlados e mantidos.
• AP 3.1 - O processo é definido: há um padrão a ser seguido e o mesmo apoia a imple-
mentação do processo.
• AP 3.2 - O processo está implementado: o processo, agora padronizado, é de fato 
implementado para atingir os seus objetivos.
• AP 4.1 - O processo é medido: algumas medições são usadas para garantir que o desem-
penho do processo ajude a alcançar os objetivos para o qual esse processo foi proposto.
• AP 4.2 - O processo é controlado: o processo é controlado estatisticamente, permitindo 
se ter previsibilidade, estabilidade e capacidade de execução.
• AP 5.1 - O processo é o objeto de inovações: as mudanças no processo são identificadas 
a partir da análise dos seus indicadores e da investigação de possíveis inovações.
• AP 5.2 - O processo é otimizado continuamente: significa que as mudanças no 
processo têm, de fato, impacto

Outros materiais