Você está na página 1de 36

16/08/23, 11:17 Ead.

br

QUALIDADE E
TESTE DE SOFTWARE
Me. Roque Maitino Neto

INICIAR

https://student.ulife.com.br/ContentPlayer/Index?lc=idEBYjhTWhmQ1f8ZiQyNGA%3d%3d&l=7VR%2f%2fZ%2bc1EejWcwv33BGWw%3d%3d&c… 1/36
16/08/23, 11:17 Ead.br

introdução
Introdução
Aqui estamos em nosso primeiro encontro! Como de costume nestas
ocasiões, na unidade que agora iniciamos, serão desenvolvidos temas
introdutórios relacionados à qualidade de um produto de software, incluindo
conceitos e processos afins. Devido o caráter estritamente objetivo da
qualidade, deveremos abordar também seus padrões mais importantes e
seus meios de gerenciamento e manutenção. Por fim trataremos das métricas
aplicadas à qualidade, como meios de avaliar sua efetividade no processo de
criação de um software.

Esperamos que o domínio deste conteúdo funcione como boa base para seu
aprofundamento nos assuntos relacionados ao tema e que lhe sirva como
meio de alcançar seu sucesso profissional. Caro aluno, prezada aluna, aceite
nossas boas-vindas ao curso de Qualidade e Teste de Software!

https://student.ulife.com.br/ContentPlayer/Index?lc=idEBYjhTWhmQ1f8ZiQyNGA%3d%3d&l=7VR%2f%2fZ%2bc1EejWcwv33BGWw%3d%3d&c… 2/36
16/08/23, 11:17 Ead.br

tópico 1
tópico 1
Fundamentos da
Qualidade de Software

É provável que você já tenha ouvido elogios bastante calorosos dirigidos a


produtos mais antigos, construídos há algumas décadas e que, por algum
motivo, ainda estão em operação. Tomemos como exemplo uma máquina de
lavar roupas: seu material de construção resistente, seus comandos mais
simples e a sensação de robustez que se associa à suas formas são motivos
suficientes para que alguns atribuam a ela maior qualidade do que atribuem
às atuais. Hoje, no entanto, sabemos que fatores como consumo de energia
elétrica, oferta de funções mais convenientes, baixo custo de manutenção e
eletrônica confiável são bastante importantes na composição daquilo que se
considera uma boa máquina de lavar roupas.

Justamente pela transitoriedade do que se entende como um produto de


qualidade (o que é bom hoje pode não ser bom amanhã) e pela subjetividade
envolvida nas avaliações (minha opinião sobre um produto pode não ser a
mesma que a sua) é que se procura padronizar conceitos, métodos e formas
de avaliação da qualidade, sempre visando dar feição objetiva àquilo que
pode sofrer tanta influência de fatores subjetivos.

https://student.ulife.com.br/ContentPlayer/Index?lc=idEBYjhTWhmQ1f8ZiQyNGA%3d%3d&l=7VR%2f%2fZ%2bc1EejWcwv33BGWw%3d%3d&c… 3/36
16/08/23, 11:17 Ead.br

Com qualidade de software não é diferente. Pessoas e organizações que se


importam com a excelência dos produtos que fabricam e/ou usam devem se
orientar por parâmetros objetivos em suas comparações e medições de
qualidade, o que certamente mitigará a interferência de fatores meramente
subjetivos na difícil tarefa de imprimir o rótulo de “Produto de Qualidade” em
um software.

Antes de abordarmos algumas das boas definições de qualidade de software


que a literatura nos oferece, vale a colocação, desde já, da seguinte questão: o
que é um software de qualidade? Shaffer (2013) considera esta uma pergunta
difícil de ser respondida de uma única maneira. Uma possível medida seria a
adequação do produto ao seu propósito, o que significa que o software
funciona de acordo com o que foi projetado para fazer.

A expressão "adequação ao propósito" pressupõe a existência de um registro


da descrição das funcionalidades do produto. No caso de um software, seu
propósito está refletido em suas funções, que, por sua vez, estão descritas na
especificação de requisitos.

Uma outra medida é a qualidade do processo que gerou o software, item que
abordaremos com mais detalhes adiante. Numa relação direta entre valores,
muitos creem que um bom procedimento de criação é capaz de gerar um
bom produto. Por fim, pessoas com raciocínio voltado à Engenharia de
Software podem considerar que ter qualidade é simplesmente estar em
conformidade com as especificações previamente definidas.

Entender qualidade, seus padrões e suas medições são os desafios centrais


deste nosso encontro e começaremos a superá-los pela abordagem de alguns
conceitos básicos relacionados ao tema.

1.1 Qualidade do produto de software


Definir qualidade de um produto de software de forma universal e irretocável
e ainda alcançar unanimidade na comunidade de observadores é tarefa difícil.
Muitos autores lançaram conceitos que, com o passar do tempo, tornaram-se

https://student.ulife.com.br/ContentPlayer/Index?lc=idEBYjhTWhmQ1f8ZiQyNGA%3d%3d&l=7VR%2f%2fZ%2bc1EejWcwv33BGWw%3d%3d&c… 4/36
16/08/23, 11:17 Ead.br

superados ou mostraram-se incompletos. De acordo com IEEE (2014), autores


e organizações já definiram, de formas diferentes, o termo qualidade.
“Conformidade com os requisitos” e “atingimento de excelentes níveis de
adequação para o uso” foram definições comuns no passado. Uma grande
desenvolvedora relacionou qualidade como um valor de mercado, em que “o
cliente é o árbitro final”.

Mais recentemente a qualidade foi definida como a capacidade do produto de


satisfazer requisitos explícitos e implícitos, mediante condições específicas e
como o grau em que um produto de software atende aos requisitos
estabelecidos, desde que tais requisitos representem com precisão as
necessidades, desejos e expectativas das partes interessadas (IEEE, 2014).

De qualquer forma, já podemos extrair dois fatos deste contexto: (i) as


definições de qualidade baseiam-se na premissa da conformidade com os
requisitos. Em outras palavras, a qualidade é dependente das necessidades
que um software deve atender a fim de resolver algum problema no mundo
real e (ii) qualidade não significa perfeição, pois sempre será possível observar
itens a serem melhorados em algo que se reconhece como de boa qualidade.

Já que a perfeição em nossos produtos não é, via de regra, um estado


atingível, uma boa ideia para se atingir boa qualidade é o estabelecimento de
níveis aceitáveis de excelência em características do nosso software. Embora
possam ser desdobradas em outros tantos, quesitos como a corretude, a
eficiência e a usabilidade são tidos como indicadores amplamente aceitos da
qualidade do produto. Vejamos alguns deles (MAITINO NETO, 2016):

https://student.ulife.com.br/ContentPlayer/Index?lc=idEBYjhTWhmQ1f8ZiQyNGA%3d%3d&l=7VR%2f%2fZ%2bc1EejWcwv33BGWw%3d%3d&c… 5/36
16/08/23, 11:17 Ead.br

Figura 1.1 - Indicadores da qualidade do produto


Fonte: Adaptada de vectorcreator / 123RF.
#PraCegoVer: Apresenta quatro setas. Cada seta é composta por uma
imagem à sua esquerda, um texto centralizado e um número à sua direita.
Estão dispostas de cima para baixo: a primeira seta possui como cor de fundo
o vermelho, na sua extremidade esquerda temos a imagem de um celular, no
centro temos a palavra corretude e à direita o número um. A segunda seta
possui tom alaranjado como cor de fundo, na sua extremidade esquerda a
imagem de uma lâmpada, no centro a palavra eficiência e à direita o número
dois. A terceira seta tem tom verde água, na sua extremidade esquerda a
imagem de um gráfico, no centro a palavra usabilidade e à sua direita o
número três. A quarta e última seta tem tom azul escuro, na sua extremidade
esquerda a imagem de uma seta acertando o centro de um alvo, no centro a
palavra Portabilidade e à sua direita o número quatro.

Conforme a figura 1.1 observa-se os seguintes indicadores: Corretude , trata-


se da capacidade do software em executar suas funcionalidades conforme
elas foram definidas. Se pudéssemos resumir este item em uma pergunta, ela
seria próxima de: “o software faz aquilo que eu quero?”; Eficiência , relaciona-
se com o grau de adequação do programa aos recursos de hardware, tais
como processador e memória. Com a queda no custo do hardware, este
quesito tem merecido menos atenção do que no passado, já que as máquinas
podem ser dimensionadas com mais recursos sem a necessidade de grandes

https://student.ulife.com.br/ContentPlayer/Index?lc=idEBYjhTWhmQ1f8ZiQyNGA%3d%3d&l=7VR%2f%2fZ%2bc1EejWcwv33BGWw%3d%3d&c… 6/36
16/08/23, 11:17 Ead.br

investimentos financeiros. Usabilidade , este fator está relacionado com a


facilidade de uso do produto. Em outras palavras, trata-se da medida da
capacidade do público-alvo em obter valor do software por meio da sua
interface; e Portabilidad e, é possível usar o produto em outra plataforma?
Trata-se da medida de facilidade em mudar o software de uma plataforma
para outra. A portabilidade entre Windows e Mac pode ser usada como
exemplo.

reflita
reflita
Qual é o real interesse de um usuário em relação a um
produto de software? Quando ele pensa em qualidade do
software, em geral, ele se lembra da confiabilidade. No caso de
o produto já ser relativamente confiável, a usabilidade é que,
de fato, fará diferença. Além disso, um produto sempre nos
apresentará características visíveis e pelas quais esperamos.
Haverá também certas particularidades intrínsecas,
transparentes para o usuário, mas que comporão igualmente
qualidade do produto.

Fonte: Elaborado pelo autor.

Para que nossa noção de qualidade de um produto de software esteja


consolidada, falta-nos contato com alguns conceitos mais objetivos. Observe
o primeiro: “Qualidade é a totalidade das características de um produto de
software que lhe confere a capacidade de satisfazer necessidades implícitas e
explícitas” (ISO/IEC 9126-1, 2003, p. 17).

Observe que o autor relaciona qualidade às características do produto e à sua


capacidade de desempenhar o que se espera dele. Necessidades explícitas
são aquelas objetivamente expostas por quem demandou o produto. Por
exemplo, o cliente determina que o sistema deverá ser capaz de emitir
relatório de vendas por região e por cliente. Já as necessidades implícitas são
aquelas não ditas e que devem ser previstas pelo profissional responsável

https://student.ulife.com.br/ContentPlayer/Index?lc=idEBYjhTWhmQ1f8ZiQyNGA%3d%3d&l=7VR%2f%2fZ%2bc1EejWcwv33BGWw%3d%3d&c… 7/36
16/08/23, 11:17 Ead.br

pelo processamento dos requisitos. A compatibilidade do sistema ao


hardware disponível pode ser um exemplo neste caso.

Outra definição importante sobre qualidade de Software “é um processo


sistemático que focaliza todas as etapas e artefatos produzidos com o
objetivo de garantir a conformidade de processos e produtos, prevenindo e
eliminando defeitos” (BARTIÉ, 2002, p. 16). Nesta definição o autor relaciona
qualidade a um processo e não a uma providência ou ação isolada. Esta
particularidade prepara nosso caminho para a abordagem do processo de
desenvolvimento de software. Sigamos adiante.

1.2 Qualidade do Processo de


Desenvolvimento de Software
Relacionar diretamente a qualidade do produto à qualidade do processo que
o criou é prática constante no contexto da qualidade de software. Não é
exagerada a afirmação de que apenas um bom processo de desenvolvimento
irá gerar bons produtos, tampouco é a ideia de que assegurar a qualidade de
todas as etapas da construção de um produto irá garantir sua qualidade
global.

Neste sentido, a divisão da Engenharia de Software voltada à qualidade do


produto criou uma série de providências tomadas pela equipe durante o
processo de desenvolvimento para assegurar a qualidade do seu produto, de
maneira vinculada ao processo que o cria. A estas providências foi dado o
nome de SQA (Garantia da Qualidade do Software, ou do inglês Software
Quality Assurance ) e uma das suas definições mais objetivas é expressa como
"padrão planejado e sistemático de ações que são exigidas para garantir a
qualidade do software” (PRESSMAN, 1995, p. 733).

A garantia da qualidade não elege um único momento no processo de


desenvolvimento para atuar. Ao contrário, as atividades de SQA começam nas
fases iniciais do projeto e seguem até a finalização do software, o que nos faz

https://student.ulife.com.br/ContentPlayer/Index?lc=idEBYjhTWhmQ1f8ZiQyNGA%3d%3d&l=7VR%2f%2fZ%2bc1EejWcwv33BGWw%3d%3d&c… 8/36
16/08/23, 11:17 Ead.br

supor que a responsabilidade das equipes do projeto e demais stakeholders


também seja extensa.

A definição de SQA inclui a expressão “padrão planejado e sistemático de


ações”, não é mesmo? Pois bem, vamos então às ações (MAITINO NETO,
2016).

Assegurar a qualidade de um software envolve algumas tarefas e as três das


mais importantes estão descritas na sequência (PRESSMAN, 1995):

Aplicação de métodos técnicos: as providências associadas à SQA


começam a ser aplicadas a partir da especificação e do projeto do
sistema. Uma especificação de requisitos imprecisa certamente irá
comprometer a qualidade do produto final. Tão logo uma
especificação, um protótipo ou um lançamento preliminar de um
sistema tiver sido criado, será necessário avaliar sua qualidade.
Realização de revisões técnicas formais: esta é a atividade central
da avaliação da qualidade de um produto. Uma revisão técnica
formal é um encontro previsto na SQA no qual uma equipe (de 3 a 5
pessoas, normalmente) destacada para o trabalho concentra-se na
busca por problemas de qualidade no produto ou, mais comumente,
numa parte específica dele. Elas são aplicadas em vários momentos
do processo e são também, usualmente, referenciadas como
walkthrough (passo a passo) (MAITINO NETO, 2016).
Atividades de teste de software: embora seja tema a ser abordado
adiante, vale registrar, desde já, a criticidade da atividade de teste no
contexto da qualidade. A técnica de criação de software apurada, o
talento da equipe e a precisão do método não são capazes de
garantir a ausência total de defeitos no código.

O teste é uma atividade desempenhada para avaliar a qualidade do produto e


para sua melhoria, por meio da identificação de defeitos e problemas. O teste
de software consiste na verificação dinâmica do comportamento de um
programa em um conjunto finito de casos de teste, adequadamente

https://student.ulife.com.br/ContentPlayer/Index?lc=idEBYjhTWhmQ1f8ZiQyNGA%3d%3d&l=7VR%2f%2fZ%2bc1EejWcwv33BGWw%3d%3d&c… 9/36
16/08/23, 11:17 Ead.br

selecionado a partir de um número geralmente infinito de execuções do


programa (IEEE, 2014).

Nas próximas unidades trataremos de teste de software de modo mais bem


detalhado. Por ora, abordaremos padrões de qualidade.

https://student.ulife.com.br/ContentPlayer/Index?lc=idEBYjhTWhmQ1f8ZiQyNGA%3d%3d&l=7VR%2f%2fZ%2bc1EejWcwv33BGWw%3d%3d&… 10/36
16/08/23, 11:17 Ead.br

atividades
atividades
Embora possa não haver aceitação universal de uma única definição de software de
qualidade, existem algumas medidas que são geralmente aceitas. A exatidão é uma
delas; se um programa não conseguir adicionar uma coluna de números
corretamente, por exemplo, geralmente não é considerado de alta qualidade. Em
relação às atividades que compõem a garantia da qualidade de software (SQA),
analise as afirmações que seguem:

I – Para justificar sua aplicação, as atividades de SQA devem focar o sistema a partir
do momento em que ele for declarado implementado.

II – O teste de software integra as atividades de SQA e só pode ser aplicado se o


programa (ou parte dele) puder ser executado.

III - Uma revisão técnica formal integra as atividades de SQA e ocorre quando uma
equipe busca não-conformidades na qualidade do produto.

É verdadeiro o que se afirma apenas em:

a) Afirmativas I e II.
b) Afirmativas II e III.
c) Afirmativa III.
d) Afirmativa I.
e) Afirmativas II.

https://student.ulife.com.br/ContentPlayer/Index?lc=idEBYjhTWhmQ1f8ZiQyNGA%3d%3d&l=7VR%2f%2fZ%2bc1EejWcwv33BGWw%3d%3d&… 11/36
16/08/23, 11:17 Ead.br

tópico 2
tópico 2
Padrões Relacionados
com Qualidade de
Software

Em quais parâmetros podemos confiar na hora de escolhermos um modelo


de qualidade? Existem instituições que criam padrões de qualidade e os
atualizam com regularidade? Há um padrão melhor que o outro? Este
segundo tópico da primeira unidade aborda essas questões e alguns dos mais
bem-conceituados modelos de qualidade, com destaque para seus pontos
fortes e aplicações. Antes de nos debruçarmos sobre eles, vale a pena
sabermos um pouco mais sobre a organização que os cria e mantém.

A cidade de Genebra, na Suíça, abriga a sede da ISO, sigla da International


Organization for Standardization , órgão não vinculado ao governo e que,
desde 1947, já publicou mais de 20.000 normas internacionais que servem
como padrão para atividades relacionadas à tecnologia, manufatura,
agricultura, saúde e outras tantas atividades humanas.

Devido a proliferação de diferentes siglas em línguas diferentes para o órgão,


os fundadores resolveram adotar ISO mundialmente, por se tratar de palavra
derivada do grego isos , que significa igual (ISO, s.d.)

Dois dos principais padrões de qualidade utilizados mundo afora são:

https://student.ulife.com.br/ContentPlayer/Index?lc=idEBYjhTWhmQ1f8ZiQyNGA%3d%3d&l=7VR%2f%2fZ%2bc1EejWcwv33BGWw%3d%3d&… 12/36
16/08/23, 11:17 Ead.br

2.1 ISO 9001 – Sistema de Gestão da


Qualidade
Certamente que você já conhecia a norma 9001 da ISO por nome. Trata-se de
um dos mais utilizados padrões de qualidade do mundo. Ele fornece
especificação para sistemas de gestão de qualidade, com vistas às demandas
do cliente em relação ao produto (SEAR, 2015).

Por ser tão conhecido e bem referenciado, sua implantação sinaliza que a
organização é capaz de fornecer produtos em consonância com os requisitos
do cliente. Embora seja aplicável no processo de software, este padrão pode
ser implantado em qualquer organização, a despeito de seu tamanho e
finalidade.

A ISO 9001:2015 (2015 indica o ano em que foi atualizada) adota uma
abordagem de processo para desenvolvimento, implementação e melhoria da
eficácia de um sistema de gestão da qualidade, com o objetivo de aumentar a
satisfação do cliente com o produto. Ela se baseia em 7 princípios de
gerenciamento de qualidade: Foco no Cliente, Liderança, Engajamento de
Pessoas, Abordagem de Processo, Melhoria, Tomada de Decisão Baseada em
Evidências, Gestão de Relacionamento (MAITINO NETO, 2016).

2.2 ISO/IEC 90003 – Orientações para


Qualidade de Processo de Software
Se a ISO 9001 aborda aspectos gerais da qualidade, falta-nos uma norma que
forneça parâmetros para as atividades relacionadas à qualidade de software.
Esta norma existe e é conhecida por ISO/IEC 90003:2014. Ela endereça
orientações para aplicação da ISO 9001 nos processos de aquisição,
fornecimento, desenvolvimento, operação e manutenção de um programa de
computador e serviços de suporte relacionados.

https://student.ulife.com.br/ContentPlayer/Index?lc=idEBYjhTWhmQ1f8ZiQyNGA%3d%3d&l=7VR%2f%2fZ%2bc1EejWcwv33BGWw%3d%3d&… 13/36
16/08/23, 11:17 Ead.br

Sua aplicação é indicada em sentido amplo para transações de produtos de


software entre organizações. Especificamente é usada em processos de
aquisição de produtos que darão suporte a um processo em uma empresa,
produtos relacionados à um equipamento específico de hardware ou
produtos relacionados à um serviço de software.

https://student.ulife.com.br/ContentPlayer/Index?lc=idEBYjhTWhmQ1f8ZiQyNGA%3d%3d&l=7VR%2f%2fZ%2bc1EejWcwv33BGWw%3d%3d&… 14/36
16/08/23, 11:17 Ead.br

atividades
atividades
Em quais parâmetros podemos confiar na hora de escolhermos um modelo de
qualidade? Existem instituições que criam padrões de qualidade e os atualizam com
regularidade? Há um padrão melhor que o outro? Considerando as características
gerais dos padrões de qualidade de software, analise as afirmativas a seguir:

I – Um padrão de qualidade sempre deve ser criado e mantido pela desenvolvedora


do software.

II – A adoção de um padrão de qualidade pode contribuir para que a


desenvolvedora que o adotou seja reconhecida como organização preocupada com
a qualidade.

III – Os padrões de qualidade disponíveis referem-se apenas à qualidade do


processo, já que a qualidade do produto pode ser padronizada apenas pela sua
desenvolvedora.

É verdadeiro o que se afirma apenas em:

a) Afirmativas I e II.
b) Afirmativas II e III.
c) Afirmativa III.
d) Afirmativa I.
e) Afirmativa II.

https://student.ulife.com.br/ContentPlayer/Index?lc=idEBYjhTWhmQ1f8ZiQyNGA%3d%3d&l=7VR%2f%2fZ%2bc1EejWcwv33BGWw%3d%3d&… 15/36
16/08/23, 11:17 Ead.br

tópico 3
tópico 3
Gerência de Qualidade de
Software

A gerência da qualidade de um software pode e deve ser entendida como um


procedimento sistêmico, idealmente, já incorporado na organização e que
inclua processos, pessoas e ferramentas dirigidas à obtenção da qualidade do
produto.

Quando tomamos como exemplos ferramentas computacionais de


gerenciamento financeiro ou de gerenciamento de pessoas, espera-se que
tais sistemas sejam partes integrantes da organização, alinhados com
necessidades particulares de finanças ou de gestão de pessoas.

De acordo com Moorthy (2013), um sistema de gestão de qualidade de


software deve possuir 4 níveis: o nível 1 é composto pelo manual de
qualidade da empresa; o nível 2 refere-se aos métodos e processos usados
pela equipe para entregar suas tarefas; o nível 3 contém as linhas principais,
os checklists e os modelos, usados com bastante frequência no dia a dia e
importantes na manutenção da consistência das informações e, por fim, o
nível 4 refere-se aos registros e documentos usados para fins de validação de
um produto, usados como evidências de uma atividade e úteis para referência

https://student.ulife.com.br/ContentPlayer/Index?lc=idEBYjhTWhmQ1f8ZiQyNGA%3d%3d&l=7VR%2f%2fZ%2bc1EejWcwv33BGWw%3d%3d&… 16/36
16/08/23, 11:17 Ead.br

futura. A figura a seguir mostra a organização dos níveis de um sistema de


gestão de qualidade.

Figura 1.2 - Níveis de um sistema de gestão de qualidade de software


Fonte: MOORTHY (2013, p. 184).
#PraCegoVer: Apresenta uma pirâmide, dividida em quatro partes, cada uma
com uma cor e uma descrição. A base da pirâmide possui cor verde com a
descrição: Registros e documentos que servem para validar que os requisitos
foram atendidos. O segundo nível da pirâmide, de baixo para cima possui a
cor azul claro com a descrição: Linhas principais, checklists e modelos. O
terceiro nível da pirâmide, de baixo para cima possui a cor azul escuro com a
descrição: Métodos e processos. O topo da pirâmide, possui a cor vermelha e
a descrição: Manual de qualidade.

Nunca é demais ressaltar que, se quisermos conferir à qualidade o lugar que


lhe é devido no processo de criação de um produto de software, então
também devemos tratá-la como a um processo, que deve permear a criação.
A busca pela qualidade deve definir os requisitos, os responsáveis por cada
etapa, as medições incluídas e o feedback. Em poucas linhas, o planejamento
da qualidade envolve a definição do produto no que se refere às suas
características de qualidade e o planejamento dos recursos e atividades para
se obter o produto desejado.

https://student.ulife.com.br/ContentPlayer/Index?lc=idEBYjhTWhmQ1f8ZiQyNGA%3d%3d&l=7VR%2f%2fZ%2bc1EejWcwv33BGWw%3d%3d&… 17/36
16/08/23, 11:17 Ead.br

Pois bem, um processo específico de gestão de software é definido no padrão


IEEE 12207.0-96 e inclui o processo de garantia da qualidade, mais conhecido
pela abreviatura SQA ( Software Quality Assurance ou Garantia da Qualidade do
Software). Como você bem se lembra, este processo foi abordado em nosso
item 1.

Outro processo que visa conferir qualidade ao produto é o que chamamos de


Verificação e Validação. Para facilitar as referências ao tema, os termos
verificação e validação são tratados como apenas um. De acordo com IEEE
(2014), trata-se de um processo bem estruturado para avaliar os produtos de
software em todo o seu ciclo de vida, do planejamento até sua efetiva
entrega. Em resumo, retrata o esforço da equipe para garantir que a
qualidade está embutida no software e que ele reflete o desejo do usuário. A
Verificação e Validação (V&V), como também é conhecido esse processo, está
interessada diretamente na qualidade do produto.

O grupo revisões e auditorias inclui dois principais procedimentos (MAITINO


NETO, 2016):

Revisões técnicas: o objetivo de uma revisão (ou análise) técnica é o


de avaliar um produto de software para determinar a sua adequação
para a sua utilização pretendida. O objetivo é o de identificar
discrepâncias a partir das especificações e dos padrões aprovados.
Os resultados devem fornecer evidências que confirmem (ou não)
que o produto atende às especificações;
Inspeções: o propósito de uma inspeção é detectar e identificar
anomalias no software. Esta prática se diferencia das revisões em
dois aspectos: alguém que exerça cargo de gestão sobre qualquer
membro da equipe de inspeção não deverá participar desse
processo, e uma inspeção deve ser conduzida por um facilitador
imparcial, treinado em técnicas de inspeção. As inspeções incluem
também um líder, um responsável pelos registros da seção e um
número reduzido de inspetores, comumente de 2 a 5 pessoas.

Abordados itens fundamentais da gestão da qualidade de um software,


avançamos agora rumo aos meios de se medir o produto.

https://student.ulife.com.br/ContentPlayer/Index?lc=idEBYjhTWhmQ1f8ZiQyNGA%3d%3d&l=7VR%2f%2fZ%2bc1EejWcwv33BGWw%3d%3d&… 18/36
16/08/23, 11:17 Ead.br

https://student.ulife.com.br/ContentPlayer/Index?lc=idEBYjhTWhmQ1f8ZiQyNGA%3d%3d&l=7VR%2f%2fZ%2bc1EejWcwv33BGWw%3d%3d&… 19/36
16/08/23, 11:17 Ead.br

atividades
atividades
A Inspeção de Software é um processo formal de verificação do software, que pode
ser aplicado para, praticamente, todos os artefatos gerados durante o ciclo de
desenvolvimento e que tem o custo mais alto de aplicar, mas também é o que
produz o melhor resultado. Considerando conteúdo relacionado à inspeção de
software, assinale a alternativa que contém a correta caracterização deste
procedimento.

a) As inspeções não preveem a escolha de um líder para o procedimento.


b) Inspeções e revisões técnicas diferenciam-se apenas pela fase do processo
em que são executadas.
c) Numa inspeção não se admite a participação de alguém que exerça cargo
de gestão sobre qualquer membro da equipe de inspeção.
d) Nas inspeções, a quantidade de participantes varia de acordo com a
quantidade de defeitos que aqui imagina que o produto tenha.
e) É durante o processo de inspeção que a quantidade de participantes da
equipe de qualidade é discutida e revista.

https://student.ulife.com.br/ContentPlayer/Index?lc=idEBYjhTWhmQ1f8ZiQyNGA%3d%3d&l=7VR%2f%2fZ%2bc1EejWcwv33BGWw%3d%3d&… 20/36
16/08/23, 11:17 Ead.br

tópico 4
tópico 4
Métricas de Qualidade de
Software

É muito difícil concebermos uma atividade desempenhada profissionalmente


que não inclua maneiras de se medir o que é produzido. Essas medidas,
sejam relacionadas ao tamanho físico, à complexidade funcional ou ao
desempenho, visam assegurar algo indispensável em um ambiente produtivo:
o controle. Neste tópico você terá contato com o conceito de métrica e
medição, com algumas formas de medições de um produto de software, além
de revisões e inspeções. Com essas providências a equipe deverá garantir e
manter a qualidade de um software. Em frente!

4.1 Métrica e Medição


A medição é o processo pelo qual os números são atribuídos aos atributos de
entidades do mundo real. Na medição, atribui-se um valor numérico a uma
grandeza física. Por exemplo, quando medimos a distância entre dois pontos
e obtemos 5 metros, estamos atribuindo o valor 5 à grandeza física chamada
distância. Usaremos o termo medição tanto para descrever um processo
quanto um valor de atributo. A medição é tipicamente uma quantificação

https://student.ulife.com.br/ContentPlayer/Index?lc=idEBYjhTWhmQ1f8ZiQyNGA%3d%3d&l=7VR%2f%2fZ%2bc1EejWcwv33BGWw%3d%3d&… 21/36
16/08/23, 11:17 Ead.br

direta, que envolve um único valor, ao passo que métrica é uma quantificação
indireta, que envolve o cálculo e o uso de mais de uma medida. Vamos a um
exemplo de métrica: considerando a medida de número de linhas de código
de um programa e a medida de número de defeitos encontrados em todo o
programa, podemos estabelecer a métrica de quantidade de defeitos por
linha de código.

É desejável que as métricas sejam capazes de fornecer informação relevante


para a tomada de decisão e para a comparação de desempenhos. É
necessário que você tenha em mente um fato importante: existem métricas
referenciais, usadas normalmente de forma padronizada pelos
desenvolvedores. No entanto, uma métrica pode ser baseada no objetivo da
organização e na sua necessidade de informação para a tomada de uma
decisão.

Devemos considerar também que uma métrica deve ser calculada com
facilidade, que ela tenha condições de ser repetida quantas vezes forem
necessárias, que sua unidade seja compreensível e universal e que, por fim,
seu processamento possa ser automatizado.

Imagine que dois projetos de software – com alguma similaridade funcional


entre eles – estejam em construção. Se você quiser saber qual dos dois
projetos está sendo mais produtivo, você deve realizar a medição do tamanho
do projeto e do esforço para produzi-lo. Contudo, sem uma métrica, a
comparação não seria viável, tampouco útil (MOORTHY, 2013).

Já sabemos que, feitas as medições, podemos (e devemos) utilizá-las para


gerar as métricas. Para fins de classificação, algumas métricas são geradas a
partir de medidas obtidas diretamente, geralmente, por contagem do atributo
observado. Às métricas geradas damos o nome de métricas diretas. Outras
métricas, porém, são obtidas indiretamente. A elas damos o nome de
métricas indiretas.

Para fins de averiguação da qualidade de um software é comum a aplicação


de medidas em fatores que caracterizam este software. Para isso, nada mais
apropriado do que a busca por um modelo de qualidade consagrado para

https://student.ulife.com.br/ContentPlayer/Index?lc=idEBYjhTWhmQ1f8ZiQyNGA%3d%3d&l=7VR%2f%2fZ%2bc1EejWcwv33BGWw%3d%3d&… 22/36
16/08/23, 11:17 Ead.br

definirmos as características desejáveis em um programa. O modelo de


qualidade ISO/IEC 25010:2011 estabelece um conjunto de oito características
internas e externas de um software, divididas em outras tantas
subcaracterísticas. Para facilitar a compreensão global da norma e facilitar sua
síntese, o quadro 1.1 apresenta tais características de qualidade, separadas
entre próprias do produto e próprias do uso, conforme será́ explicado na
sequência.

https://student.ulife.com.br/ContentPlayer/Index?lc=idEBYjhTWhmQ1f8ZiQyNGA%3d%3d&l=7VR%2f%2fZ%2bc1EejWcwv33BGWw%3d%3d&… 23/36
16/08/23, 11:17 Ead.br

Tipo Características Subcaracterísticas

Características Completude funcional,


Adequação
do produto corretude funcional (acurácia)
funcional
e funcionalidade apropriada.

Maturidade, disponibilidade,
Usabilidade tolerância à falhas e
recuperabilidade.

Apropriação reconhecível,
inteligibilidade, operabilidade,
proteção contra erro do
Usabilidade
usuário, estética de interface
com o usuário e
acessibilidade.

Comportamento em relação
Eficiência de
ao tempo, utilização de
desempenho
recursos, capacidade.

Confidencialidade,
integridade, não repúdio,
Segurança
rastreabilidade de uso e
autenticidade.

Coexistência e
Compatibilidade
Interoperabilidade.

Modularidade, reusabilidade,
Capacidade de analisabilidade,
Manutenção modificabilidade,
testabilidade.

https://student.ulife.com.br/ContentPlayer/Index?lc=idEBYjhTWhmQ1f8ZiQyNGA%3d%3d&l=7VR%2f%2fZ%2bc1EejWcwv33BGWw%3d%3d&… 24/36
16/08/23, 11:17 Ead.br

Adaptabilidade,
Portabilidade instalabilidade e
substituibilidade.

Efetividade Efetividade.

Eficiência Eficiência.

Utilidade, prazer, conforto e


Satisfação
confiança.
Características
de uso Mitigação de risco econômico,
mitigação de risco à saúde e
Uso sem riscos
segurança e mitigação de
risco ambiental.

Cobertura de Completude de contexto e


contexto flexibilidade.
Quadro 1.1 - Modelo de qualidade da ISO 25010:2011.
Fonte: WAZLAWICK (2013, p. 233).

#PraCegoVer: Apresenta um quadro com fundo na cor cinza com três


colunas, onde a primeira linha está na cor azul-escuro contendo o título de
cada coluna. As demais linhas alternam em tons de cinza-claro e cinza-escuro.

A primeira coluna representa o tipo de característica de qualidade, sendo


listados os seguintes tipos: Características de Produto e Característica de Uso.
Na segunda coluna são apresentadas as características de cada tipo
apresentado e na terceira coluna são apresentadas as subcaracterísticas de
cada característica.

No tipo características do produto, na primeira linha, temos como


característica Adequação funcional e como subcaracterística: Completude
funcional, corretude funcional (acurácia) e funcionalidade apropriada.

https://student.ulife.com.br/ContentPlayer/Index?lc=idEBYjhTWhmQ1f8ZiQyNGA%3d%3d&l=7VR%2f%2fZ%2bc1EejWcwv33BGWw%3d%3d&… 25/36
16/08/23, 11:17 Ead.br

Na segunda linha temos como característica Usabilidade e como


subcaracterísticas: Maturidade, disponibilidade, tolerância à falhas e
recuperabilidade.

Na terceira linha temos como característica Usabilidade e como


subcaracterísticas: Apropriação reconhecível, inteligibilidade, operabilidade,
proteção contra erro do usuário, estética de interface com o usuário e
acessibilidade.

Na quarta linha temos como característica Eficiência de desempenho e como


subcaracterísticas: Comportamento em relação ao tempo, utilização de
recursos, capacidade.

Na quinta linha temos como característica Segurança e como


subcaracterísticas: Confidencialidade, integridade, não repúdio,
rastreabilidade de uso e autenticidade.

Na sexta linha temos como característica Compatibilidade e como


subcaracterísticas: Coexistência e Interoperabilidade.

Na sétima linha temos como característica Capacidade de Manutenção e


como subcaracterísticas: Modularidade, reusabilidade, analisabilidade,
modificabilidade, testabilidade.

Na oitava linha temos como característica Portabilidade e como


subcaracterísticas: Adaptabilidade, instalabilidade e substituibilidade.

Na nona linha temos como característica Efetividade e como subcaracterística:


Efetividade.

Na décima linha temos como característica Eficiência como subcaracterística:


Eficiência.

No tipo características de uso, na primeira linha temos como característica

https://student.ulife.com.br/ContentPlayer/Index?lc=idEBYjhTWhmQ1f8ZiQyNGA%3d%3d&l=7VR%2f%2fZ%2bc1EejWcwv33BGWw%3d%3d&… 26/36
16/08/23, 11:17 Ead.br

Satisfação e como subcaracterísticas Utilidade, prazer, conforto e confiança.

Na segunda linha temos como característica Uso sem riscos e como


subcaracterísticas: Mitigação de risco econômico, mitigação de risco à saúde e
segurança e mitigação de risco ambiental.

Na terceira linha temos como característica Cobertura de contexto e como


subcaracterísticas: Completude de contexto e flexibilidade.

Os parâmetros de qualidade, normalmente, são segmentados entre os que


possuem mais afinidade com o processo, com o produto percebido pelo
usuário ou com o produto sob o ponto de vista da equipe. As medidas de
qualidade internas, por exemplo, servem para avaliar aspectos que
usualmente são percebidos apenas pelos desenvolvedores. A capacidade de
manutenção e a facilidade em se aplicar testes são bons exemplos dessas
medidas.

As medidas de qualidade externa alcançam características avaliadas pela


equipe do ponto de vista do usuário. Por exemplo, a eficiência e capacidade
de operação de um programa.

O modelo ISO/IEC 25010:2011, cujas características foram resumidas na


tabela acima, agregou as características internas e externas num único grupo
e o chamou de características do produto. Elas podem ser avaliadas no
ambiente de desenvolvimento, ao passo que as características do software
em uso podem apenas ser avaliadas durante o efetivo uso do sistema.

Parece-nos bastante desafiador construir um produto que tenha boa


adequação à todas essas características e, por isso, vale conhecer melhor
algumas das características de qualidade mencionadas no quadro 1.1.

4.1.1 Adequação funcional


Antes conhecida como funcionalidade apenas; ela se refere à existência de
um conjunto de funções que satisfazem às necessidades previamente

https://student.ulife.com.br/ContentPlayer/Index?lc=idEBYjhTWhmQ1f8ZiQyNGA%3d%3d&l=7VR%2f%2fZ%2bc1EejWcwv33BGWw%3d%3d&… 27/36
16/08/23, 11:17 Ead.br

estabelecidas, quando o produto é usado sob condições especificas. Duas de


suas subcaracterísticas são a Completude Funcional (o software apresenta
todas as funções necessárias ao usuário?) e a Corretude Funcional ou
Acurácia (o software gera dados e consultas corretos segundo o que foi
definido?) (WAZLAWICK, 2013).

4.1.2 Confiabilidade
Se um software é capaz de manter comportamento consistente com o que se
espera dele ao longo do tempo, então ele pode ser considerado confiável. A
confiabilidade tem a ver com o funcionamento do programa em situações
incomuns. Ela pode ser medida diretamente e estimada usando-se dados
históricos e de desenvolvimento, ou seja, um computador poderá́ ser
considerado livre de falhas quando não tiver alguma incidência em um
determinado ambiente e num determinado período (PRESSMAN, 1995). Desta
definição, o que ainda não temos claro é o que significa falha. Quando
tratarmos de teste de software com mais detalhes, esse conceito será
abordado.

Vale aqui também destacar duas de suas subcaracterísticas: a Disponibilidade


(avalia o quanto o software está operacional e livre para uso quando
necessário) e a Tolerância à Falhas (avalia a forma como o software reage em
situação anormal).

4.1.3 Usabilidade
De forma simplificada, podemos entender essa característica como a
facilidade em se usar um programa, do ponto de vista do usuário. Em linhas
gerais, o programa é fácil de usar se ele é (REISS, 2012): Funcional – ele
realmente funciona?; Responsivo – ele me fornece respostas adequadas?;
Ergonômico – eu posso facilmente ver, clicar, arrastar e girar as coisas?;
Conveniente – tudo está bem onde eu preciso que esteja? “À prova de tolos” –
o projetista me ajuda a não cometer erros ou quebrar coisas?

A usabilidade também apresenta subcaracterísticas, incluindo (WAZLAWICK,


2005): Operabilidade – o produto é fácil de usar e controlar?; Proteção contra

https://student.ulife.com.br/ContentPlayer/Index?lc=idEBYjhTWhmQ1f8ZiQyNGA%3d%3d&l=7VR%2f%2fZ%2bc1EejWcwv33BGWw%3d%3d&… 28/36
16/08/23, 11:17 Ead.br

erro do usuário – o programa consegue evitar que o usuário cometa erros?; e


Acessibilidade – avalia o grau em que o produto foi projetado para atender
usuários com necessidades especiais.

4.1.4 Segurança
Se um programa consegue proteger os dados e as funções de acessos não
autorizados, então ele tem um bom nível de segurança. Algumas de suas
subcaracterísticas devem ser destacadas. Entre elas: Confidencialidade –
mede o grau em que os dados e funções ficam disponíveis para quem, de
fato, tem autorização para acessá-los; Rastreabilidade de uso – mede o grau
em que as ações realizadas por uma pessoa ou por um sistema podem ser
rastreadas de forma a ser efetivamente comprovado que, de fato, foi essa
pessoa ou sistema que realizou tais ações.

4.1.5 Capacidade de manutenção


Trata de uma característica que atrai interesse direto apenas da equipe de
desenvolvimento, já que não afeta a percepção do usuário em relação ao
sistema. Como você certamente já inferiu, trata-se da capacidade do sistema
em passar por manutenção. Assim como todas as outras características
apresentadas, essa também conta com divisões. Vamos a elas: Modularidade
– o sistema é bem dividido em módulos? Mudanças em um dos módulos
devem causar mínimo impacto nos outros; Reusabilidade – há partes do
sistema que podem ser usadas na construção de outro sistema?;
Analisabilidade – o sistema permite que se faça depuração com facilidade?

No âmbito das características de qualidade do software em uso, vale destacar


(WAZLAWICK, 2013):

4.1.6 Efetividade
Capacidade que o produto tem de proporcionar ao cliente o atingimento de
seus objetivos de negócio.

4.1.7 Satisfação

https://student.ulife.com.br/ContentPlayer/Index?lc=idEBYjhTWhmQ1f8ZiQyNGA%3d%3d&l=7VR%2f%2fZ%2bc1EejWcwv33BGWw%3d%3d&… 29/36
16/08/23, 11:17 Ead.br

Capacidade que o produto tem de satisfazer o cliente em ambiente de uso.


Pode ser dividida em Utilidade, Prazer, Conforto e Confiança.

4.1.8 Uso sem riscos


O uso do software não pode implicar riscos para pessoas, negócios ou
ambiente. Divide-se em mitigação do risco econômico, mitigação do risco
ambiental e mitigação do risco à saúde e segurança.

Outros parâmetros têm sua descrição disponível na literatura e podem ser


usados como medidas para a qualidade de um software. Como marco
introdutório trataremos neste tópico apenas da ISO/IEC 25010:2011.

saiba mais
Saiba mais
Com linguagem simples e objetiva, o autor do
artigo indicado defende a importância do
teste no processo de qualidade, promovendo
comparações com outras áreas e
mencionando as dimensões da qualidade.

ACESSAR

https://student.ulife.com.br/ContentPlayer/Index?lc=idEBYjhTWhmQ1f8ZiQyNGA%3d%3d&l=7VR%2f%2fZ%2bc1EejWcwv33BGWw%3d%3d&… 30/36
16/08/23, 11:17 Ead.br

atividades
atividades
O modelo ISO/IEC 25010:2011, cujas características foram resumidas no Quadro 1.1
- Modelo de qualidade da ISO 25010:2011, agregou as características internas e
externas num único grupo e o chamou de características do produto. Elas podem
ser avaliadas no ambiente de desenvolvimento, ao passo que as características do
software em uso podem apenas ser avaliadas durante o efetivo uso do sistema.
Tendo como base os parâmetros de qualidade considerados na avaliação de um
produto, analise as afirmações que seguem:

I) A confiabilidade de um software está relacionada ao grau de adequação da


metodologia que o criou às habilidades da equipe de qualidade.

II) A rastreabilidade de uso é uma subcaracterística da usabilidade e refere-se ao


grau em que as ações realizadas por uma pessoa ou por um sistema podem ser
rastreadas.

III) A adequação funcional está relacionada ao grau em que as funções do sistema


satisfazem os requisitos previamente especificados.

É correto apenas o que se afirma em:

a) Afirmativa III.
b) Afirmativas II e III.
c) Afirmativas I e III.
d) Afirmativas I, II e III.
e) Afirmativa II.

https://student.ulife.com.br/ContentPlayer/Index?lc=idEBYjhTWhmQ1f8ZiQyNGA%3d%3d&l=7VR%2f%2fZ%2bc1EejWcwv33BGWw%3d%3d&… 31/36
16/08/23, 11:17 Ead.br

indicações
Material
Complementar

LIVRO

Engenharia de Software: Conceitos e


Práticas
Raul Sidnei Wazlawick
Editora: Campus
ISBN: 978-85-352-6120-2
Comentário: O livro indicado trata a Engenharia da
Qualidade sob a ótica da qualidade, mesmo quando
aborda questões meramente procedimentais. Embora
tenha caráter genérico, o livro dedica três capítulos
exclusivamente para processos de qualidade, incluindo
ótimo tratamento para testes de software.

https://student.ulife.com.br/ContentPlayer/Index?lc=idEBYjhTWhmQ1f8ZiQyNGA%3d%3d&l=7VR%2f%2fZ%2bc1EejWcwv33BGWw%3d%3d&… 32/36
16/08/23, 11:17 Ead.br

FILME

O Jogo da Imitação
Ano: 2014
Comentário: O filme está ambientado na Segunda
Guerra Mundial e trata da atuação de Alan Turing na
criação de um artefato eletromecânico capaz de
decifrar o código dos nazistas para troca de mensagens
entre o comando de guerra e seus homens de campo.

TRAILER

https://student.ulife.com.br/ContentPlayer/Index?lc=idEBYjhTWhmQ1f8ZiQyNGA%3d%3d&l=7VR%2f%2fZ%2bc1EejWcwv33BGWw%3d%3d&… 33/36
16/08/23, 11:17 Ead.br

conclusão
Conclusão
Chegamos ao final da primeira unidade do nosso curso e a diversidade de
assuntos tratados, certamente, foi uma das suas marcas. Analisamos diversas
feições do que se entende por qualidade sob a ótica da possibilidade de
aprimoramento constante dos produtos e processos inseridos no contexto.
Registramos alguns conceitos formais sobre o tema para, então, tratarmos da
qualidade do produto e da qualidade do processo. Como a objetividade deve
ser buscada nas avaliações de qualidade, propusemos visão geral de duas
importantes normas de qualidade. Na sequência, buscamos definir meio de
se praticar a gerência da qualidade e, por fim, abordamos algumas
características de um software que podem ser usadas como parâmetro de
medição para sua qualidade.

Em nosso próximo encontro daremos mais um passo em busca da qualidade


ao tratarmos de teste de software. Bom estudo e até a próxima!

referências
Referências
Bibliográfica

https://student.ulife.com.br/ContentPlayer/Index?lc=idEBYjhTWhmQ1f8ZiQyNGA%3d%3d&l=7VR%2f%2fZ%2bc1EejWcwv33BGWw%3d%3d&… 34/36
16/08/23, 11:17 Ead.br

ALL About ISO . International Organization of Standardization. Disponível em:


< http://www.iso.org/iso/home/about.htm >. Acesso em: 14 mar. 2018.

ASSOCIAÇÃO BRASILEIRA DE NORMAS TÉCNICAS. NBR ISO/IEC 9126-1 :


engenharia de software – qualidade de produto – parte 1: modelo de
qualidade. Rio de Janeiro: ABNT, 2003.

BARTIÉ, A. Garantia da qualidade de software: as melhores práticas de


Engenharia de Software aplicadas à sua empresa. 5. ed. São Paulo: Elsiever,
2002.

IEEE – INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS. SWEBOK:


Guide to the Software Engineering Body of Knowledge. 3. ed. Piscataway: IEEE,
2014. Disponível em: < https://ieeecs-
media.computer.org/media/education/swebok/swebok-v3.pdf >. Acesso em:
03 abr. 2019.

MAITINO NETO, R. Engenharia de software . Londrina: Editora e


Distribuidora Educacional S.A., 2016. 224 p.

MOORTHY, V. Jumpstart to software quality assurance. [S.I. : s.n.], 2013.

PRESSMAN, R. S. Engenharia de Software . São Paulo: Makron Books, 1995.

______. São Paulo: Pearson Prentice Hall, 2009. 1056 p.

REISS, E. Usable usability: simple steps for making stuff better. Indianapolis:
John Wiley & Sons, 2012.

SEEAR, D. J. ISO 9001: 2015 Back to the future . A review of the new ISO
Annex SL structure for Certification Standards using the draft ISSO 9001: 2015
to explain the changes. USA: AuthorHouse, 2015.

SHAFFER, S. C. A brief introduction to software development and quality


assurance management. [S.l.: s.n.], 2013.

WAZLAWICK, R.S. Engenharia de Software: conceitos e práticas. Rio de


Janeiro: Elsevier, 2013.

https://student.ulife.com.br/ContentPlayer/Index?lc=idEBYjhTWhmQ1f8ZiQyNGA%3d%3d&l=7VR%2f%2fZ%2bc1EejWcwv33BGWw%3d%3d&… 35/36
16/08/23, 11:17 Ead.br

IMPRIMIR

https://student.ulife.com.br/ContentPlayer/Index?lc=idEBYjhTWhmQ1f8ZiQyNGA%3d%3d&l=7VR%2f%2fZ%2bc1EejWcwv33BGWw%3d%3d&… 36/36

Você também pode gostar