Você está na página 1de 168

QUALIDADE E AUDITORIA DE TECNOLOGIA

DA INFORMAÇÃO
DOUGLAS DELA GIUSTINA
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 2

SUMÁRIO
INTRODUÇÃO3 ISO/IEC 15504 e a norma SPICE 68
QUALIDADE DE SOFTWARE 4 Histórico68
Eras da Qualidade 5 Square: ISO/IEC 25000 75
Gestão estratégica da Qualidade 8 MPS BR 85
Gurus da Qualidade 8 PSP e TSP 91
Porque precisamos pensar em qualidade de software?9 Síntese102
Qualidade de software 12 TESTE DE SOFTWARE 105
Qualidade do Produto e Qualidade do Processo 13 Fundamentos de Teste 106
Processo de Garantia da Qualidade 14 Processo de Teste 109
Custos da Qualidade 17 Verificação e Validação (V&V) 110 CENTRO UNIVERSITÁRIO UNIFTEC
Síntese20 Documentação no Teste 118 Rua Gustavo Ramos Sehbe n.º 107.
Caxias do Sul/ RS
FERRAMENTAS DA QUALIDADE 22 O Teste nos Ciclos de Vida 122
Fluxograma23 Níveis, Tipos e Técnicas de Teste 124
Diagrama de Causa e Efeito 26 Níveis de Teste (Quando testar) 125 REITOR
Folhas de Verificação 28 Tipos de Teste (O que testar?) 130 Claudino José Meneguzzi Júnior
Técnicas de Teste (Como testar?) 132 PRÓ-REITORA ACADÊMICA
Gráfico de Pareto 31
Débora Frizzo
Diagrama de Dispersão 34 Caminhos independentes de programa: 135
PRÓ-REITOR ADMINISTRATIVO
Histograma37 Síntese145 Altair Ruzzarin
Cartas de Controle 40 AUDITORIA DA TECNOLOGIA DA INFORMAÇÃO147 DIRETORA DE EDUCAÇÃO A DISTÂNCIA (EAD)
Síntese44 Fundamentos de auditoria de sistemas de informações Lígia Futterleib

MÉTRICAS DA QUALIDADE DE SOFTWARE 46 148


Por que medimos software ? (alguns motivos)  47 Pontos de Controle da Auditoria 151 Desenvolvido pela equipe de Criações para o
Terminologias de Métricas 47 Organização da Auditoria 153 ensino a distância (CREAD)
Metodologia Goal/Question/Metric – GQM  51 Padrões e Código de Ética 156 Coordenadora e Designer Instrucional
Ferramentas de apoio à auditoria 158 Sabrina Maciel
Dimensões para Medição de Software  53
Diagramação, Ilustração e Alteração de Imagem
Síntese54 Técnicas de Auditoria 160
Jaqueline Boeira
NORMAS E MODELOS DA QUALIDADE 56 Síntese163 Revisora
ISO/IEC 9126 57 REFERÊNCIAS167 Luana dos Reis

ISO/IEC 12207 60
INTRODUÇÃO
Caro companheiro de jornada: A nossa disciplina de Qualidade e Auditoria de Tecnologia da Informação fornece uma base para
implementarmos uma cultura de busca pela qualidade de software e políticas para monitorar o cumprimento destas políticas, através de
auditorias. Nela, estudaremos desde os conceitos mais básicos da qualidade e auditoria, até técnicas de teste de software e normas que
norteiam o desenvolvimento do mesmo, entre outros assuntos relevantes para a completa formação de um profissional nesta área.

Nosso conteúdo está dividido em 6 capítulos, onde o primeiro refere-se à “Introdução à qualidade de software”, o segundo a “Ferra-
mentas da Qualidade”, o terceiro a “Métricas da Qualidade de Software”, o quarto a “Normas e Modelos da Qualidade”, o quinto a “Teste
de Software” e, por último, a “Auditoria da Tecnologia da Informação”.

Ao final desta disciplina seremos capazes de reconhecer a importância e a necessidade de buscar, avaliar e empregar as melhores práticas
no desenvolvimento de software, embasados nas abordagens estudadas, com a aplicação de técnicas e ferramentas tanto de teste quanto de
auditoria de software e contribuírem com a melhoria do nível do software desenvolvido.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 4

QUALIDADE DE
SOFTWARE
Qualidade: Quem é você?
Antes de entrarmos em detalhes sobre a qualidade do
software, é importante iniciarmos com uma reflexão: O que é
qualidade? Conversando com nossos pares, ouvindo especia-
listas ou consultando livros de diversos autores, chegaremos à
conclusão de que qualidade é algo um tanto quanto relativo,
onde na percepção de um grupo de interessados algo pode
ser definido como tendo qualidade, e na percepção de outro
grupo, o mesmo produto ou serviço poderá ser definido como
não possuindo qualidade.
Este aparente impasse nos leva a uma necessidade de estru-
turar uma série de requisitos que consigam determinar se algo
tem ou não qualidade, eliminando ou reduzindo ao máximo o
fator da percepção ou de valores individuais.
A estruturação passa tanto pelo conhecimento das reais
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 5

necessidades do cliente, quanto pela definição de requisitos Inspeção


internos de qualidade, a fim de garantir a sobrevivência da
empresa fornecedora. Quando a industrialização teve início até meados do século
XIX, quase tudo era fabricado por artesãos, onde a produção
Eras da Qualidade era realizada em pequena quantidade. O trabalhador partici-
pava de praticamente todo o ciclo do produto e as inspeções
A fim de entendermos melhor os porquês de algumas falhas eram realizadas conforme critérios do artesão, sendo assim um
atuais é necessário estudarmos um pouco de história. Esta no- procedimento natural e corriqueiro.
ção é importante para atingirmos os objetivos do capítulo dois, A inspeção formal só passou a ser necessária com o sur-
onde serão detalhadas as principais ferramentas da qualidade. gimento da produção em massa e a necessidade de peças in-
A figura mostra a sequência das eras da qualidade, com tercambiáveis.
a era subsequente englobando as características da era prede- No início do século XX, Frederick W. Taylor, conhecido
cessora e ampliando o escopo de atuação. como o criador da “administração científica”, atribuiu maior
legitimidade à atividade de inspeção, separando-a do processo
de fabricação e atribuindo-a a profissionais especializados.
A partir desta separação, as atividades de inspeção foram
se transformando rapidamente em um processo independente
e associada ao controle de qualidade.

Fonte: Autor
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 6

Nessa era a inspeção era realizada em 100% dos produtos. Controle Estatístico da Qualidade

A grande chave para identificar esta Era é que a etapa de O início desta era foi a publicação, em 1931, da obra Eco-
resolução de problemas verificados durante a inspeção, não era nomic control of quality of manufactured product que atribuiu
de responsabilidade do departamento de inspeção. um caráter mais científico à pratica da busca da qualidade.
Nessa obra encontram-se os fundamentos, os procedimentos
e as técnicas para tornar a qualidade mais efetiva, uma vez que
nesta fase são utilizados controles da qualidade via processos
estatísticos.
Destes processos estatísticos destacam-se o Controle de
processo e a Amostragem. O primeiro caracteriza-se pela de-
finição de um processo padrão e seu monitoramento, enquanto
o segundo é caracterizado por definição de métricas estatísticas
para a determinação de uma amostra aceitável para a inspeção,
uma vez que inspecionar todos produtos era inviável.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 7

final do ciclo de vida do produto, envolvendo todas as pessoas


participantes deste processo, sem esquecer de aprimorarmos
as técnicas tradicionais da qualidade já existentes.

O principal marco desta era foi o TQC (total quality control)

Os principais movimentos desta era são: a atenção aos


Custos da Qualidade, ao Controle Total da Qualidade, a En-
genharia da Qualidade e o Zero Defeito. O primeiro atenta-se
aos custos de não termos qualidade, o segundo caracterizou-se
Para refletir: Somente podemos controlar o que medimos. por envolver todos os departamentos da empresa na busca
pela qualidade, o terceiro trata da expansão da qualidade para
Garantia da Qualidade fora da fronteira da organização (incluindo o uso pelo cliente,
durabilidade, entre outros) e por fim, o quarto baseou-se no
Nesta era a principal diferença é que o enfoque saiu da princípio de “fazer certo da primeira vez”, para obtermos o
detecção de falhas em processos e produtos para a prevenção menor custo.
dos defeitos.
É desta época o conceito de TQC (total quality control),
onde devemos abordar a qualidade desde a fase de projeto até o
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 8

Gestão estratégica da Qualidade Ishikawa

Observamos que esta era se caracterizou pelo entendimento Seu nome completo é Kaoru Ishikawa (13 de julho de
que a qualidade era muito mais do que um emaranhado de 1915 – 16 de abril de 1989) e foi um engenheiro de controle de
normas, modelos, procedimentos, enfim, questões técnicas. qualidade, teórico da administração das companhias japonesas.
Desta forma, devemos considerá-la uma área de cunho prio- Aprendeu os princípios de controle estatístico da qualidade
ritariamente estratégico, ligada diretamente ao sucesso ou ao desenvolvido pelos americanos. Com base nesse aprendiza-
fracasso de uma empresa. do, expandiu os conceitos de gerenciamento do Dr. William
Eduards Deming e do Dr. Joseph Moses Juran para o sistema
Gurus da Qualidade japonês contribuindo, desta forma, no desenvolvimento de uma
estratégia de qualidade especificamente japonesa.
A história nos brinda com diversos gurus da qualidade, que O legado deixado por Kaoru Ishikawa para a gestão da
contribuíram com diversas ferramentas, técnicas e métodos para qualidade é o conceito de Círculo de Controle da Qualidade
melhorar a qualidade em todas as áreas. Para o nosso estudo, o (CCQ ) e sete ferramentas da qualidade que são: Gráfico de
principal guru foi Kaoru Ishikawa, para o qual apresentamos Pareto, Diagrama de Causa e Efeito, Histograma, Folhas de
abaixo um resumo de sua história e contribuições. Verificação, Gráficos de Dispersão, Fluxogramas e Cartas
de Controle. Veremos em maiores detalhes estas importantes
ferramentas mais adiante em nosso estudo.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 9

Porque precisamos pensar em qualidade de


software?

Estamos cercados por softwares em todos os lugares e somos


lembrados disso o tempo todo. Por exemplo, os smartphones
nos auxiliam, facilitando a nossa vida e algumas vezes nos
dando a impressão de estarmos sendo vigiados.
Desta forma, o software se tornou um componente essencial Pensemos no nosso grau de dependência de softwares em nosso dia a dia.
Então .... vamos imaginar que tudo parou.... o que faremos agora????
em nossas vidas como já era nas empresas estando embutido
em sistemas de todas as naturezas: de transportes, médicos, Se o cenário descrito anteriormente já nos deu um certo
militares, de telecomunicações, de processos industriais, etc. medo, sabemos que outros problemas de software podem ser
Agora, vamos fazer um exercício de imaginação, onde se bem mais graves. Podem representar o completo fracasso co-
por um problema qualquer, em nosso dia a dia, ficarmos im- mercial do produto, ou causar prejuízos milionários e no pior
possibilitados de usar o nosso smartphone, o caixa eletrônico cenário, a perda de vidas humanas.
do banco, ou outro item “indispensável”. Vocês não sentiram Aproveitemos esta conversa para analisarmos duas situa-
uma certa insegurança? Eu senti. ções, onde erros aparentemente inocentes de software geraram
consequências dramáticas. Nestes relatos falaremos a respeito
do Projeto Ariane 5 e o Caso Therac-25.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 10

Projeto Ariane 501 informação de voo.


O SRI-2 não forneceu dados corretos, mas um código de
Em 4 de junho de 1996, foi lançado o primeiro foguete erro, em virtude de uma exceção de software. O sistema de
Ariane 5. Decorridos 40 segundos da sequência de lançamento reserva (SRI-1) não pôde ser utilizado porque ele próprio já
e a uma altitude de 3.700 metros, o foguete desviou-se de sua havia reportado a mesma falha, 72 milissegundos antes.
trajetória e se autodestruiu com uma explosão. O custo des- Mas, o que causou, de fato, o problema? Uma exceção
se desastre foi avaliado em mais de 300 milhões de dólares, proveniente de um cálculo: um número em ponto flutuante
quantia suficiente para pagar um salário de 2,5 mil dólares a representado com 64 bits foi convertido para um inteiro com
100 programadores que trabalhassem durante um século. sinal de 16 bits. O número era demasiado grande para ser
Relato da análise do acidente: “O foguete começou a desin- representado com 16 bits e isso causou uma falha. Existiam
tegrar-se a 39 segundos, em razão a uma carga aerodinâmica outros pontos do mesmo código com conversões semelhantes,
excessiva: a pressão do ar contra o veículo estava muito elevada. mas que eram protegidos por testes. O trecho do software havia
O motivo foi o ângulo de ataque muito pronunciado, ou seja, em sido copiado do Ariane 4, onde funcionava corretamente; no
vez de “cortar” o ar na vertical, o foguete estava em um ângulo Ariane 5, o cálculo se tornava defeituoso em razão do com-
de 20 graus. O ângulo exagerado de ataque foi causado por portamento diferente do foguete. Pior do que isso, tal cálculo
um comando de direcionamento dos motores. Esse comando sequer era necessário. ”
foi enviado pelo computador com base nos dados fornecidos Este exemplo nos mostra alguns aspectos que cercam a
pelo SRI-2. Entre esses dados havia um padrão de bits signi- qualidade de software:
ficando um código de erro, incorretamente interpretado como • a importância e o papel determinante dos requisitos sobre
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 11

os resultados; Em 26 de julho de 1985, na Ontario Cancer Foundation, em


• a dificuldade de garantir que requisitos sejam consistentes Ontário, Canadá, um operador acionou a máquina e decorridos
em projetos complexos; 5 segundos ela parou de funcionar. O display mostrava uma
• a lei de Dijkstra, segundo a qual testes não garantem mensagem de que nenhuma radiação teria sido emitida e que a
a ausência de erros devido à dificuldade de verificar e máquina estava em simples pausa aguardando para continuar a
validar programas completamente. operação. Como se tratava de mensagens comuns, o operador
simplesmente ativou outra vez o Therac-25. A máquina des-
Caso Therac-25 ligou-se novamente com as mesmas mensagens. O operador
insistiu um total de 5 vezes, quando, então, o Therac-25 entrou
O Therac-25 era uma máquina utilizada em terapia em um modo de suspensão que obrigava uma reinicialização
radiológica. Diferente de suas versões anteriores, era totalmen- do computador. Um técnico do hospital foi chamado e não
te controlado por um computador, um PDP-11. Enquanto as verificou nada de anormal com o equipamento; não seria a
versões anteriores possuíam travas mecânicas para impedir primeira vez que isso teria acontecido.
erros de operação, no Therac-25 toda segurança ficou a cargo A paciente faleceu em 3 de novembro. Uma autópsia reve-
do software. As mensagens de erro não eram claras: algumas lou que a superexposição à radiação causou tantos danos que,
se limitavam a palavra malfunction, seguida de um número se ela tivesse sobrevivido, seria preciso receber uma prótese
entre 1 e 64. A ocorrência de falhas era bastante comum; não para a cabeça do fêmur praticamente destruída pela radiação.
obstante, os operadores teriam recebido a informação de que No total, seis pacientes foram vítimas dos erros de projeto do
não era preciso se preocupar. Therac-25.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 12

Qualidade de software Como exemplo de tentativa de enquadramento do software


com qualidade, apresentamos as dimensões de qualidade de
Agora que já conhecemos um pouco sobre qualidade e Garvin abaixo:
já tomamos consciência dos impactos que erros de software
podem causar, entramos no primeiro tema de nossos estudos, Questões referentes a empresas de software
a famosa Qualidade de Software.
Podemos definir a qualidade de software como uma gestão Não é somente devido a falhas em testes ou levantamentos
de qualidade efetiva aplicada de modo a criar um produto útil de requisitos ineficientes que residem os problemas. Observa-
que forneça valor mensurável para aqueles que o produzem e mos que as próprias empresas de software possuem modelos
para aqueles que o utilizam. Devemos ter em mente que um imaturos de desenvolvimento, e outros problemas internos
grande conjunto de fatores definirá se obteremos ou não sof- gerando softwares com baixa percepção de qualidade e de
tware de qualidade. manutenção custosa.
PROCESSO DE SOFTWARE Dentre os principais problemas podemos citar:
USUÁRIO • acúmulo de trabalho;
PROCESSO DE
DESENVOLVEDOR REQUISITOS DESENVOLVIMENTO PADRÕES • produto as vezes funciona, mas o prazo e custo para
ORGANIZAÇÃO construí-lo são maiores do que o planejado;
• sucesso depende muito do esforço heroico das pessoas;
REQUISITOS ATENDIDOS SOFTWARE PRODUTO PADRÕES ATENDIDOS • os clientes e funcionários ficam insatisfeitos.
Os problemas listados anteriormente e outros tantos, le-
SOFTWARE COM QUALIDADE
Fonte: Autor
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 13

varam as organizações desenvolvedoras de software a atuar Quem é o cliente?


fortemente na qualidade de seus produtos e processos. As
normas representadas pelas figuras abaixo, são exemplos de Cliente é todo aquele que recebe o resultado de um conjunto
esforços para sumarizar boas práticas no desenvolvimento de de atividades, podendo ser:
software, fornecendo insumos para que as empresas constru- • Interno: recebe os resultados do trabalho que nós fa-
am suas metodologias para o desenvolvimento, manutenção e zemos.
evolução de suas aplicações. • Externo: recebe os resultados do trabalho que a orga-
nização faz.

Qualidade do Processo

Qualidade do Produto e Qualidade do Processo de Software consiste em um conjunto de ferra-


Processo mentas, métodos e práticas utilizadas por pessoas para produzir
e manter sistemas de software.
O título nos traz as duas dimensões principais da quali- O processo é como um livro de receitas, que informa ao
dade, que estão intimamente ligadas e são descritas a seguir. cozinheiro o procedimento de preparo e os ingredientes ne-
cessários. Cada receita define o modelo de um prato.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 14

OBJETIVOS
produto de software possuirá ou não qualidade.
Além da influência inegável do processo, os testes são um
ENTRADAS SAÍDAS
instrumento extremamente valioso para aumentar o grau de
ATIVIDADES
qualidade de um produto. As atividades de teste englobam não
somente o produto pronto, mas também auditorias e inspeções
RECURSOS E INSFRAESTRUTURA em todos os pontos do desenvolvimento, desde a definição de
Então é fundamental que o processo seja estabelecido e se- estratégias para um produto de software.
guido para que possamos ter um processo produtivo controlado.
Além disso, é fundamental que este processo seja aprimorado Processo de Garantia da Qualidade
constantemente, pois as necessidades mudam, o cenário do
mercado muda e novas metodologias/tecnologias surgem. Serve para garantir que os processos e produtos de software,
no ciclo de vida do projeto, estejam em conformidade com os
Qualidade do Produto requisitos especificados e referenciados aos planos estabelecidos.
Os erros em software são gerados durante todo o processo
A qualidade de um produto de software é altamente in- de desenvolvimento, embora mais da metade seja ocasionada
fluenciada pela qualidade do processo utilizado em seu desen- nas fases iniciais do desenvolvimento. O antigo modelo para
volvimento e manutenção. garantia da qualidade pregava que o software somente ia ser
Um processo de maior qualidade irá levantar os requisitos verificado nas fases de testes, porém este modelo deve ser evi-
de uma forma mais correta e completa, determinando se um tado a todo custo, através do planejamento da qualidade em
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 15

todas as etapas do desenvolvimento dos produtos. Planejamento da Qualidade


Garantia da Qualidade em todo o ciclo de desenvolvimento
Consiste na identificação de quais padrões de qualidade
PROSPECÇÃO DO PROJETO
CLIENTE REQUISITOS ANÁLISE IMPLEMENTAÇÃO ENTREGA serão utilizados no projeto de software, através da verificação
(DESIGN()
de quais são importantes para o projeto em questão, além de
estabelecer o plano de execução para satisfação dos padrões

TEMPO
Fonte: Bartié 2002
selecionados.

Este tópico nos leva diretamente aos estudos realizados Garantia da Qualidade
pelo PMI (Project Management Institute) que no seu guia
PMBOK subdivide a garantia da qualidade em três pilares, Com os padrões selecionados e o plano definido, neste pilar
conforme a figura a seguir. executamos as atividades para garantir a qualidade. Importante
avaliar desde já se o que está sendo gerado pelo projeto está
em conformidade com o que foi solicitado e se os processos
definidos estão sendo efetivos neste caminho.
Utilizando este processo corretamente, conseguiremos
identificar melhorias tanto no produto quanto nos processos
envolvidos para produzi-lo.
Adaptado de Bartié 2002
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 16

Controle da Qualidade Garantia da Qualidade Controle da Qualidade


Foco:
O objetivo aqui é acompanhar os resultados do projeto Quando utilizamos, temos Quando utilizamos, temos por
por objetivo evitar defeitos no objetivo identificar e corrigir
e identificar se os mesmos encontram-se em conformidade
processo usado para fazer o defeitos no produto final.
com os padrões de qualidades definidos. Este processo deve produto. Com isso, concluímos Com isso, percebemos que o
ser executado de forma contínua e em todas as fases do de- que este é um processo controle da qualidade é um
senvolvimento. Identificado uma inconsistência, esta deve ter proativo de qualidade. processo reativo.
a causa raiz encontrada e tratada de forma correta, a fim de Objetivo:
evitar a repetição. O objetivo do QA é melhorar O objetivo do controle de
o desenvolvimento e testar qualidade é identificar
processos para que não defeitos depois que o produto
Garantia x Controle da Qualidade surjam defeitos quando é fabricado e antes de ser
o produto está sendo lançado.
Pessoal!!! Vamos resumir o que vimos sobre Garantia e desenvolvido.
Controle da Qualidade através da tabela a seguir, onde com- Como?
paramos os dois processos.
Estabelecendo um bom Encontrando e eliminando
sistema de gestão da fontes de problemas de
qualidade e avaliação da sua qualidade através de
adequação com auditorias ferramentas e equipamentos
periódicas da conformidade para que as demandas do
das operações do sistema. cliente sejam continuamente
atendidas e superadas.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 17

O quê? Como Ferramenta:


Prevenção de problemas As atividades ou técnicas Garantia da qualidade é uma Controle da qualidade é uma
de qualidade por meio utilizadas para atingir e ferramenta de gestão. ferramenta corretiva.
de atividades planejadas manter a qualidade do Metodologia:
e sistemáticas, incluindo produto, processo e serviço.
A garantia da qualidade é O controle da qualidade é
documentação.
voltada ao processo. voltado ao produto.
Responsáveis:
Custos da Qualidade
Todos os membros das O controle da qualidade é
equipes envolvidas no geralmente responsabilidade
desenvolvimento do produto. de uma equipe específica, que A qualidade não é totalmente algo que podemos obter de
testa o produto para ver se forma gratuita. Para tanto, investimentos financeiros, treina-
existem defeitos. mentos, softwares e outras iniciativas precisam ser realizadas
Exemplo: adicionalmente para a busca da qualidade de software como
Temos a verificação e Validação / Teste de Software.
um todo.
inspeção prévia.
Segundo Bartié (2002), “Um dos maiores desafios a ser
Técnicas Estatísticas
considerado é estabelecer um modelo de custos relacionados
Ferramentas e técnicas Quando as ferramentas e
estatísticas quando aplicadas técnicas estatísticas são a implantação de um processo de garantia da qualidade de
a processos (entradas de aplicadas aos produtos software.”
processo e parâmetros acabados (saídas do A figura mostra um modelo de custo de qualidade de
operacionais), eles são processo), eles são chamados
software proposto por Bartié:
chamados Controle Estatístico de Controle da Qualidade
de Processos (CEP). Estatística (CQE).
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 18

Custo do Projeto

Custo do
Custo da Qualidade
Desenvolvimento

Custo de Produção do
Software

Custo da Conformidade

Custo da Não-
Conformidade
Custo da Prevenção de Custo da Prevenção de
Defeitos • Re-revisões;
Defeitos • Retestes;
Revisões: • Metodologias; • Correções:
• Problema; • Treinamento; • Código Fonte;
• Requisitos; • Ferramentas; • Documentação;
• Modelagem; • Políticas; • Reestruturação;
• Planos de Teste; • Procedimentos; • Redistribuição de
• Scripts de Teste; • Planejamento; Versões;
Inspeções de Código; • Análises; • Atrasos no
Teste (1a Execução); • Métricas; Cronograma;
Auditorias. • Relatório da • Falhas de Existe uma correlação entre os custos da
Qualidade; Produção; não conformidade com os investimentos
• Projetos de em prevenção de defeitos. Quanto maiores
• ETC.
Inovação. estes investimentos, menor a incidência de
Modelo de Custo de Qualidade de Software, adaptado de Bartié 2002. não-conformidades.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 19

No modelo apresentado, é proposta a criação de duas categorias dade, ou seja, o foco está exatamente no processo. As atividades aqui
separadas para os custos relacionados a conformidade e o custo da realizadas são orientadas ao processo, e estas incluem:
não-conformidade: • Definição de Metodologias;
• Treinamentos;
Custo da Detecção de Defeitos • Ferramentas de apoio ao processo de desenvolvimento;
• Definição de Políticas;
Podemos fazer referências para o termo controle da qualidade, ou • Procedimentos;
seja, o foco está exatamente no produto. As atividades aqui realizaremos • Padrões;
aqui serão orientadas ao produto desenvolvido, e estas incluem: • Especificações e convenções;
• Revisões de requisitos; • Planejamento do SQA;
• Revisões de Modelagem; • Relatórios de Qualidade para melhoria de processo.
• Revisões de Planos de Teste;
• Inspeções de código; Custo da Não-Conformidade
• Testes de Software.
Por outro lado, o custo da não-conformidade está relacionado às
Custo da Prevenção de Defeitos perdas que o projeto terá, não optando pela detecção e prevenção de
defeitos:
Assim como detecção de defeitos está associada ao controle da • Re-reviões;
qualidade, a prevenção de defeitos está associada a garantia da quali- • Retestes;
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 20

• Correções de código-fonte e documentação muito constantes; constantemente com as práticas utilizadas em outros setores da economia.
• Reestruturação; Vimos também que a qualidade depende de um processo bem
• Redistribuição das versões do software; estabelecido, que seja seguido e que evolua conforme evoluem as ne-
• Atrasos no cronograma; cessidades do negócio, tanto da parte do usuário quanto da parte da
• Falhas na produção. empresa fornecedora.
Deveremos associar a estrutura de custos apresentada a todas as Além disso, sabemos agora que somente um processo não garante
atividades de um processo de engenharia de software. Em todos os a qualidade do produto, precisamos prestar muita atenção ao que está
projetos a serem construídos ou modificados, devemos ter uma política na parte interna do software, ou seja, a forma que o mesmo está sendo
de distribuição de custos semelhante ao modelo apresentado para todas construído, mesmo que o que apareça ao usuário funcione perfeitamente,
as atividades. seja bonito e tenha uma usabilidade surpreendente.
Podemos observar que existem entidades dedicadas a buscar a maior
Síntese padronização possível nos processos de software e oferecer garantias de
que a empresa está alinhada com os padrões (através das certificações).
Neste capítulo vimos que a qualidade de software é um tema muito Por fim, conseguimos agora dimensionar os custos que um controle
importante, superando as fronteiras somente do software e interferin- de qualidade eficiente pode evitar, custos esses que podem ser financeiros
do fortemente na vida das pessoas usuárias dos mesmos, inclusive em ou não. Também neste tema sabemos que deve haver uma conscientização
questões de saúde. de todos os níveis hierárquicos da empresa sobre os impactos que uma
Também observamos que o tema qualidade de software baseia-se suposta falta de qualidade ou retrabalho podem causar, gerando assim
nos princípios e gurus da qualidade padrão, tendo evoluído juntamente e engajamento e comprometimento com a melhoria contínua.
Exercícios

1. O que os gurus da qualidade estudados neste capítulo têm


em comum? Explique.

2. Tendo em vista o que estudamos, qual o primeiro passo para


a implantação de um sistema de qualidade de software em uma
empresa que desenvolve sistemas?

3. Pesquise sobre novos gurus da qualidade, que prosseguiram


com o trabalho dos vistos neste capítulo. Quem são eles? O que
cada um defende? Quais as evoluções que estão nos trazendo?

4. Faça uma pesquisa para identificar as principais normas


aplicadas para qualidade em desenvolvimento de software.

5. A partir da pesquisa do item 4, escolha a principal para fazer


um resumo de 1 página sobre ela.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 22

FERRAMENTAS
DA QUALIDADE
As ferramentas tradicionais da qualidade
são 100% aplicáveis ao desenvolvimento de
software. Vamos estudá-las?
As ferramentas apresentadas a seguir foram propostas por
Kaoru Ishikawa e são utilizadas para coleta, processamento e/ou
disposição das informações sobre a variabilidade dos processos.
Todas visam a melhoria dos processos analisados.
Mas quais são as principais ferramentas? A lista está na
figura a seguir, pessoal!!! Importante notarmos que nem todas
as ferramentas possuem o mesmo foco.
Foco na Identificação do Problema Foco na Análise do Problema

GRÁFICO HISTOGRAMA
FLUXOGRAMA DE PARETO DIAGRAMA
DE DISPERSÃO
FOLHAS DE VERIFICAÇÃO DIAGRAMA DE
CAUSA E EFEITO CARTAS
DE CONTROLE
Fonte: Autor
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 23

Fluxograma Relatórios,
formulários,
Documento
documentos,
A finalidade desta ferramenta é identificar o caminho real
fichas, etc.
e ideal para um produto ou serviço com o objetivo de identi- Possibilidade de
ficar os desvios. O fluxograma é uma ilustração sequencial de Decisão alternativas (sim/
todas as etapas de um processo, mostrando como cada etapa não, +/-, etc.).
é relacionada. Ele utiliza símbolos facilmente reconhecidos Indica o fluxo de
Fluxo do processo informações e de
para denotar os diferentes tipos de operações em um processo.
operações.
Sempre possui um início, um sentido de leitura (ou fluxo) e
Conexão do fluxo
um fim. Conector de fluxo
na mesma página.
Os principais símbolos aceitos serão apresentados na tabela
Conexão de fluxo
a seguir:
Conector de página de uma página
para outra página.
O que representa Observações,
Título Símbolo Informações
no fluxo explicações ou
adicionais
algo inserido no
Ponto de início e processo.
Terminal
término do fluxo.
Antes de iniciarmos a preparação de um fluxograma de
Operações
Processamento processo temos que conhecer muito bem a rotina do processo.
manuais.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 24

Devemos nos familiarizar bem com o processo e coletar infor- 4. O símbolo de processo admite mais de uma linha de
mações de todos os envolvidos (do operador, supervisor, equipe entrada de fluxo e apenas uma linha de saída.
de compras, setor financeiro, etc.). Também é indicado que a 5. O símbolo de decisão admite mais de uma linha de en-
pessoa detentora do maior conhecimento no processo partici- trada de fluxo (alguns autores recomendam apenas uma
pe da elaboração do fluxograma. Descubra o que puder sobre linha de entrada de fluxo) e várias linhas de saída.
as atividades. Trabalhe com fatos e dados não com opiniões. 6. O símbolo de documento (impressão ou leitura) deve
Organize as informações em um ou mais fluxogramas. possuir uma linha de fluxo chegando e uma outra saindo.
Os fluxogramas também podem ser elaborados para qual-
quer sequência de eventos de natureza administrativa, tais Regras para processamento de fluxo de execução:
como: trajeto de uma fatura, fluxo de materiais, etapas em um
processo de alteração técnica, liberação de cota, colocação de O fluxograma permite três ordens distintas de execução:
pessoal, venda ou assistência técnica de um produto. • Sequencial: as atividades são executadas uma após a outra.
Regras básicas dos f luxogramas: • Por seleção: ocorre quando uma via de processamento
1. O texto de cada símbolo deve se limitar a instrução a é escolhida em um ponto de bifurcação, de forma que
ser executada. cada via conduz a um processamento distinto.
2. O texto do símbolo processo deve iniciar com um verbo • Por repetição: faz com que a execução ocorra em ciclos de
na voz ativa. processamento até atingirem uma condição de finalização.
3. Apenas uma linha de fluxo deve partir ou chegar a um
terminador ou conector.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 25

Processamento sequencial: decisão com base no valor lógico de uma expressão.


• No entanto, executaremos repetidamente a mesma sequ-
• Processamos um conjunto de passos (ações) em série. ência de ações enquanto o resultado da expressão lógica
• Não há qualquer possibilidade de alterar a ordem de se mantiver verdadeiro.
processamento das ações. Exemplo completo: Acompanhamento de um setor de
• Após processarmos o 1º passo, processamos o 2º e assim produção
sucessivamente. INÍCIO
ORDENS DE SERVIÇO
PLANOS DE CONTROLE
DAR UMA VOLTA RELATÓRIOS DE INSPEÇÃO
COMPLETA EM TODO
REGISTROS
Processamento por seleção: SETOR, MÁQUINA POR
MÁQUINA, 4 X AO DIA
DAR UM 1
EM T
POR MÁ

VERIFICAR DOCUMENTAÇÃO

• Utilizamos o símbolo de decisão para escolhermos um


INSPECIONAR LINHA
DE PRODUÇÃO

caminho de processamento a ser seguido. EM ORDEM?


NÃO
VERIFICAR ERROS
VERIFICAR
CONTROLE SIM
A

• O fluxo de processamento segue por uma das vias, de-


HÁ NÃO
CONFORMIDADE
IDENTIFICAR
SIM TOMAR AS AÇÕES
NECESSÁRIAS EMITIR
NÃO
pendendo do valor da expressão avaliada no início da
RELATÓRIO
TOMAR AS AÇÕES
1 NECESSÁRIAS
FIM
estrutura.

Processamento por repetição: Vantagens

• Neste caso, também há a necessidade de tomarmos uma Como ferramenta de análise de processos, o fluxograma
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 26

apresenta vantagens que o qualificam como eficaz no trabalho Diagrama de Causa e Efeito
a que se propõe:
• É uma ferramenta gráfica, um retrato, quadro ou dese- A finalidade desta ferramenta é explorar e indicar todas as
nho, sendo muito mais representativo do que centenas causas possíveis de uma condição ou um problema específico.
de palavras escritas. Podemos encontrar este diagrama como sendo chamado de
• Permite uma visão global de todo o processo analisado. “Diagrama de Ishikawa”. Ele é um método utilizado para lo-
Os integrantes de cada atividade passam a se ver como calizar a causa original ou raiz de um problema e sua estrutura
componentes do processo e conseguem enxergar como macro está desenhada na figura a seguir.
podem influenciar ou ser influenciados pelas atividades
antecedentes ou subsequentes.
• Mostra com clareza oportunidades de aperfeiçoamento
no processo. Passo a passo de como construiremos o diagrama:
• Define exatamente o pessoal envolvido nas atividades
do processo, identificando muitas vezes clientes negli- 1. Definimos o cabeçalho:
genciados em análises anteriores. • Pode conter o título, data e autor (ou grupo de trabalho).
• As informações sobre o processo são mais claras, per- 2. Definimos o efeito:
mitindo explicá-lo com facilidade para os profissionais • Vamos utilizar uma definição objetiva (em uma frase
que não tomam parte dele. para o problema a ser analisado). Normalmente é escrito
• Permite fixar limites com uma maior facilidade. no lado direito e ao centro da folha.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 27

3. Desenhamos o eixo central: ramo da categoria).


• É uma flecha horizontal que aponta para o efeito. Usu- • Subcausa: é uma causa potencial que pode contribuir com
almente desenhada no meio da folha. uma causa específica (são ramificações de uma causa).
4. Indicamos as categorias das possíveis causas: • Realize um brainstorming que permita a geração do
• Cada categoria representa os principais grupos de fato- maior número de causas em curto intervalo de tempo.
res relacionados com efeito. As flechas são desenhadas Faça, repetidamente a pergunta: Quais as causas que,
inclinadas, as pontas convergindo para o eixo central. provavelmente, provocaram esse efeito?
• Para cada efeito existem, seguramente, inúmeras causas 6. Revisamos todo o diagrama:
que podem ser agrupadas em seis categorias conhecidas • É aconselhável que seja feita uma investigação para frente,
como “6 M”: Método, Mão de Obra, Matéria-prima, a partir de cada subcausa ou causa até o efeito. Faça, re-
Meio Ambiente, Medida e Máquina. petidamente, a pergunta: Esta causa, realmente, provoca
• Nas áreas de serviços e processos transacionais utilizam-se este efeito?
como categorias básicas: Procedimentos, Pessoas, Ponto, Exemplo de diagrama para o problema a seguir: Imagine
Políticas, Medição e Meio Ambiente. que você está tentando monitorar falhas de seu próprio com-
5. Identificaremos as possíveis causas e subcausas (itens 5 portamento e determinou que seu principal problema é falar
e 6 da figura): demais em momentos impróprios.
• Causa: é uma causa potencial pertencente a uma cate-
goria que pode colaborar com o efeito (as f lechas são
desenhadas em linhas horizontais, apontando para o
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 28

Benefícios do Diagrama de Ishikawa

• Ajuda o aperfeiçoamento do processo.


• Documenta de forma visual as causas potenciais, que
podem ser revistas e atualizadas com facilidade poste-
riormente.
Principais razões para utilizarmos o Diagrama de Ishikawa • Provê urna estrutura para o brainstorming.
• Ajuda no envolvimento de todos.
• Para identificar as informações a respeito das causas de
um problema. Folhas de Verificação
• Para organizar e documentar as causas potenciais de um
efeito ou de uma característica da qualidade. As folhas de verificação são tabelas ou planilhas simples,
• Para indicar o relacionamento de cada causa e subcausa usadas para facilitar a coleta e análise de dados. O uso das folhas
as demais, e, ao efeito ou característica da qualidade. de verificação economiza tempo, eliminando o trabalho de se
• Reduzir a tendência de deixar de procurar a causa ver- desenhar figuras ou escrever números repetitivos.
dadeira, ou parar cedo demais, devido à complexidade São formulários planejados, nos quais os dados coletados
do conjunto de informações. são preenchidos de forma fácil e concisa. Registram os dados
dos itens a serem verificados, permitindo uma rápida percepção
da realidade e uma imediata interpretação da situação, ajudando
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 29

a diminuir erros e confusões. • Fazer comparação de uma amostra real com os limites
de especificação.
Dica: O tempo da coleta não pode ser muito extenso. Deve-se • Investigar aspectos do defeito.
definir um tempo mínimo e um tempo máximo! • Obter dados de amostras específicas.
• Determinar o turno, dia, hora, mês e ano, período em
Folha de Verificação – Quando usamos? que ocorre o problema.
• Fornecer dados para várias ferramentas, tais como: dia-
As folhas de verificação são ferramentas que questionam grama de Pareto, diagrama de dispersão, diagrama de
o processo e são relevantes para alcançar a qualidade. controle, histograma, etc.
Usamos para:
• Dispor os dados de uma forma organizada, facilitando Pré-requisitos para Construção da Folha de Verificação:
a utilização.
• Verificar a distribuição do processo: coleta de dados de • Identificar claramente o objetivo da coleta de dados:
amostra da produção ou de processos administrativos; quais são os dados a serem coletados e porquê?
• Verificar itens defeituosos ou não conformidades: saber • Decidir como coletar os dados: Como serão coletados os
o tipo de defeito e sua porcentagem. dados? Quem irá coletar os dados? Quando serão cole-
• Verificar a localização do defeito ou da não conformidade: tados os dados? Qual método será utilizado para coleta
mostrar o local e a forma de ocorrência. dos dados?
• Verificar as causas dos defeitos ou das não conformidade. • Estipular a quantidade de dados que serão coletados:
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 30

tamanho da amostra. Que eventos estão ocorrendo?


• Coletar os dados dentro de um tempo específico: decidir
o tipo de folha de verificação a ser usada, decidir qual o Por exemplo, tipo de defeito: ortografia, pontuação, man-
formato dos dados, serão números, valores ou símbolos? chas, parágrafos, números errados e alinhamento.
• Fazer um modelo de folha de verificação.
Quando ou quantas vezes ocorrem os eventos
Exemplo de folha de verificação:
Por exemplo, frequência dos defeitos: ortografia: 5; pon-
Erro de tuação: 13; manchas: 4; parágrafos: 12; números errados: 2;
Jan Fev Mar Abr Total
Digitação
alinhamento: 20.
Ortografia | || | | 5
Pontuação ||| |||| || |||| 13
Onde estão ocorrendo os eventos?
Números
| | 2
errados
Manchas | | | | 4 Por exemplo, localização do defeito: No local onde foram
Parágrafos || ||| ||||| || 12 colhidas as informações.
Alinhamento |||| |||||| |||| |||||| 20
TOTAL 11 17 14 14 56 Análise:

• Os eventos em questão estão ocorrendo junto com outras


QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 31

mudanças ou eventos? (Ex.: outros fatores de influência). contribuição de cada uma em relação à total. É uma das fer-
• A lterações de profissional, equipamento etc. ramentas mais eficientes para encontrar problemas. Priorizar
• Depois pergunte: Esqueci de alguma coisa? Então faça os poucos, mas vitais.
uma reflexão.
• Em resumo, lembre-se da finalidade da coleta de dados Como faremos um gráfico de Pareto:
e tente elaborar uma lista de verificação apropriada e de
fácil utilização, para atender as suas necessidades. 1. Identificamos o problema:
• Identificamos o problema a ser investigado e separamos
Gráfico de Pareto por categorias aspectos como: não conformidades, causas,
entre outras.
O gráfico de Pareto é um diagrama que apresenta os itens • Exemplo: Uma empresa fabrica e entrega seus produtos
e a classe na ordem dos números de ocorrências, apresentando para várias lojas de varejo e quer diminuir o número de
a soma total acumulada. devoluções. Decidiu-se investigar as seguintes razões para
Permite-nos visualizar diversos elementos de um problema a devolução da entrega: separação errada, faturamento
auxiliando na determinação da sua prioridade. É representado incorreto, atraso da transportadora, pedido errado, atraso
por barras dispostas em ordem decrescente, com a causa prin- na entrega, preço errado, produto danificado e outras.
cipal vista do lado esquerdo do diagrama, e as causas menores 2. Quantificaremos os valores para cada categoria:
são mostradas em ordem decrescente ao lado direito. Cada • Coletamos dados para quantificar a extensão do problema,
barra representa uma causa exibindo a relevante causa com a evidenciando a contribuição de cada categoria.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 32

• Exemplo: A partir da coleta dos dados, obteve-se as Razões Número de Ocorrências


seguintes ocorrências para cada categoria: Atraso na entrega 140
Razões Número de Ocorrências Atraso da transportadora 125
Separação errada 45 Produto danificado 65
Faturamento incorreto 60 Faturamento incorreto 60
Atraso da transportadora 125 Separação errada 45
Pedido errado 30 Pedido errado 30
Atraso na entrega 140 Preço errado 20
Preço errado 20 Outros 15
Produto danificado 65 Total 500
Outros 15
Total 500 4. Calculamos o número de ocorrências acumulado:
• Incluiremos uma nova coluna na tabela com os casos
3. Listamos as categorias em ordem decrescente: acumulados.
• Vamos listar as categorias em ordem decrescente de nú- • E xemplo: Para o exemplo anterior, a nova tabela é:
mero de ocorrências.
• E xemplo: Para o exemplo anterior, a nova tabela é:
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 33

Número de Ocorrências Número de Ocorrências Frequência Frequência


Razões Razões
Ocorrências Acumuladas Relativa Acumulada
Ocorrências Acumuladas
Atraso na entrega 140 140 Atraso na entrega 140 140 28 28
Atraso da
Atraso da 125 265 25 53
125 265 transportadora
transportadora
Produto danificado 65 330 13 66
Produto danificado 65 330 Faturamento
60 390 12 78
Faturamento incorreto
60 390
incorreto Separação errada 45 435 9 87
Separação errada 45 435 Pedido errado 30 465 6 93

Pedido errado 30 465 Preço errado 20 485 4 97


Outros 15 500 3 100
Preço errado 20 485
Total 500 100
Outros 15 500
Total 500 6. Construamos um gráfico de colunas:
• Para cada categoria definida no eixo horizontal, cons-
5. Calculamos a frequência relativa (%) e acumulada (%) truiremos uma coluna com altura proporcional ao seu
para cada categoria: número de ocorrências.
• Frequência relativa = (número de ocorrência na categoria • No lado esquerdo ficarão aquelas que contribuem, mais
/ número total de ocorrências) x 100. fortemente, para o problema analisado.
• Frequência acumulada = (casos acumulados até a categoria 7. Construamos um gráfico de linhas:
/ número total de ocorrências) x 100. Exemplo: • Iremos mostrar a contribuição acumulativa das categorias
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 34

no eixo vertical direito, no qual constará, por exemplo: Diagrama de Dispersão


participação acumulada (%). Exemplo:
O objetivo é mostrar o que acontece com uma variável
quando a outra muda, para testar possíveis relações de causa
e efeito.
Elaboramos diagramas de causa e efeito (Ishikawa) quando
precisamos enumerar todas as causas possíveis relacionadas a
uma situação específica. Com o diagrama de dispersão deve-
mos então estudar a relação entre as causas e os efeitos, agin-
do naquelas relacionadas e deixando as não relacionadas. Se
Sem um Plano de Ação para resolver a causa dos problemas, for encontrada uma nova causa devemos adicioná-la na lista.
nossa análise não servirá para nada! Pense nisso!! Somente através deste processo o trabalho de elaboração do
Para diminuirmos o problema de devolução de produtos, diagrama de dispersão terá um impacto real.
teremos que criar um plano de ação para a empresa diminuir os O diagrama de dispersão é um gráfico onde pontos no
atrasos de entrega da fábrica e da transportadora. Observando espaço cartesiano XY são usados para representar simultane-
o gráfico anterior, resolveremos em torno de 53% do problema. amente os valores de duas variáveis quantitativas, medidas em
cada elemento do conjunto de dados.
Um diagrama de dispersão não pode provar que uma va-
riável causa outra, mas mostra se existe uma relação e a sua
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 35

intensidade ou natureza. Como elaboramos um Diagrama de Dispersão:


Em um diagrama de dispersão o eixo horizontal (X) repre-
senta os valores medidos de uma variável e o eixo (Y) representa 1. Coletamos o maior número de pares de amostras de
os valores da segunda variável. dados que julgarmos relacionados entre si e incluiremos
Observemos nas figuras como os pontos marcados formam eles na planilha.
um padrão de agrupamento. A direção e a proximidade dos 2. Desenhamos os eixos horizontal e vertical do diagrama.
pontos nos indicam a intensidade da relação entre as variáveis. Colocaremos os valores mais altos na parte superior do
eixo vertical e à direita no eixo horizontal. Normalmen-
te colocamos a variável “causa “ no eixo horizontal e a
variável ”efeito “, no eixo vertical.
3. Marcamos os dados no diagrama. Se houver valores
repetidos, circularemos o ponto tantas vezes quantas
Quanto mais o padrão tender a uma linha reta mais forte forem necessárias.
fica a relação entre as variáveis. Uma linha reta significaria que
cada vez que uma variável se modificasse, a outra também se Exemplo de Diagrama de Dispersão
modificaria na mesma proporção.
Observemos atentamente o diagrama de dispersão a seguir,
onde poderemos visualizar a relação entre a potência de um
micro-ondas e o tempo de cozimento dos alimentos.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 36

Tempo de
cozimento Potência
Diagrama de Dispersão correspondente: ingeridas.
(segundos)
Possível correlação positiva
180 957
172 975
Se houver um aumento em X, Y sofrerá algum
164 993 aumento, mas Y parece ter outras causas além de
178 961
X, exemplo: chuva x trânsito.
168 985
167 987
Nenhuma correlação.
178 966 Acréscimos ou decréscimos em x não alteram
176 974
Interpretação dos Diagramas de Dispersão y, exemplo: seca no Nordeste x colheita de uvas
169 982
183 955
no Sudeste.
171 971 Para que os diagramas de dispersão sejam fer- Possível correlação negativa
178 960
ramentas úteis, a adoção de medidas apropriadas Um aumento em X causará uma tendência
170 977
185 953
depende da interpretação correta. Apresentamos de decréscimo em Y. Exemplo: treinamento X
170 978 abaixo alguns exemplos dos diagramas de disper- erros cometidos.
171 981
são mais comuns: Correlação negativa
191 949
170 976
Um aumento em X causará um decréscimo
182 968 Correlação positiva em Y, portanto, se X for controlado, Y será con-
176 981
Um aumento em Y depende de um aumento trolado, exemplo: temperatura de conservação
187 951
166 988
de X. Se X estiver controlado, Y estará natu- de alimento x prazo de validade. (Verdadeiro
177 972 ralmente controlado, exemplo: peso x calorias em uma faixa).
187 952
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 37

Em resumo, nos diagramas de dispersão vamos nos lem- de uma escola, uma das maneiras mais adequadas para isso
brar dos seguintes pontos: seria fazê-lo por meio de um histograma.
1. As relações positivas e negativas são igualmente impor- O histograma é uma variação do gráfico de barras. Enquan-
tantes; to o gráfico de barras descreve os dados em barras e categorias
2. Podemos somente afirmar que X e Y estão relacionados separadas, o histograma representa os dados da mesma categoria
e em que grau, não que um é causa do outro; no intervalo analisado, por isso, sem espaço entre as barras.
3. No caso de investigarmos a relação de mais de duas vari- Alunos!! Ponto importante sobre a interpretação do histogra-
áveis há diversos métodos de correlação, mas estão além ma, considerando o formato do gráfico resultante! Analisemos as
do escopo deste curso. Poderemos encontrar também informações a seguir com atenção!!
testes estatísticos para calcular o grau exato de correlação, Histograma simétrico ou normal: acontece
conhecido como coeficiente de correlação, mas que não quando o processo é padronizado e os dados são
será tratado nesta disciplina; entretanto, devemos estar estáveis, permitindo variações pequenas. O pico
cientes de sua existência. dos dados fica ao centro do gráfico, e suas variações vão de-
crescendo de maneira simétrica dos dois lados.
Histograma Histograma assimétrico: acontece geralmente
quando os dados são tolerados até um número
Usamos os histogramas para mostrar a frequência com que limite, não podendo ultrapassar este limite. Seu
algo acontece. Por exemplo, em um caso onde fosse necessário pico é concentrado em um dos lados, e os dados fora de padrão
mostrar de forma gráfica a distribuição de altura de estudantes decrescem para o lado oposto.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 38

Histograma com dois picos: acontece quando de maneira visual facilmente


são apresentadas duas coletas de dados diferentes
para comparação. A análise deve ser feita separa- Como faremos um histograma?
damente, observando ao desenho dos dois gráficos.
Histograma “platô”: acontece geralmente quando • Coletamos a amostra com um número significativo de
há anormalidade nos dados decorrentes de falhas. dados, usando uma folha de verificação.
As barras têm praticamente os mesmos tamanhos. • Organizamos os dados em uma planilha.
Histograma aleatório: acontece quando os dados • Determinamos o número de categorias e o intervalo en-
analisados não apresentam nenhum padrão. As tre as categorias (caso façamos no Excel, esse valor será
barras sobem e descem sem critério. calculado automaticamente, porém precisamos lembrar
de colocar os dados em uma única coluna, pois caso
Quando utilizamos o Histograma? contrário o Excel irá fazer o gráfico incorretamente).
• Organize os dados, colando-os dentro das categorias, de
Utilizamos o histograma para analisar a frequência de vezes acordo com o intervalo.
que as saídas de um processo estão padronizadas, atendendo • Coloque os dados no gráfico, com as categorias no eixo
aos requisitos estabelecidos e qual a variação que elas sofrem. horizontal e a frequência de ocorrência no eixo vertical.
Com os dados dispostos graficamente, o Histograma per- • Verifique e analise a forma do gráfico.
mite a visualização de resultados históricos e a análise de evi-
dências para a tomada de decisão da variação de frequências
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 39

Exemplo de Histograma

O responsável de uma linha de produção queria saber se


a densidade do produto metálico estava conforme o esperado.
Ele coletou 80 amostras do produto.
Amostras do Produto
40,9 43,6 41,3 39,9 40,6 39,8 44,2 37,9
Assim, ele pode perceber que as saídas estavam seguindo
40,8 36,6 42,3 43,5 41 39,6 41,3 43,5
o padrão normal de variação. As amostras do produto analisa-
41,5 43,7 39,9 41 41,8 42,3 40,2 39,1
das ficaram dispostas próximas do centro em (torno de 80%),
43,2 38,4 41,9 39,2 38 40,4 40,1 39,4
e que alguns frascos (em torno de 20%) apresentam concen-
38,7 41,3 41,4 40,9 40,3 39,2 39 40,7
tração próxima dos valores mínimos. Ou seja, nessa amostra
42,3 40,6 41,2 40,2 40,4 39,5 45 39,9
coletada a maior parte dos produtos estão em conformidade
43,4 40,4 41,6 40,6 40,2 42,8 43,7 39,7
com o esperado.
41,5 40,1 41,7 41,8 42,9 43,4 43,3 41,9
Entretanto, se o valor entre 35,4 a 36,8 fossem considerados
43,4 41,7 40 38,3 42,1 39,3 37,2 43,8
não conformes, por exemplo, teríamos uma pequena quanti-
39,6 41 42,3 39,2 40,4 35,4 39,2 42,6
dade de produtos fora das especificações planejadas, e a partir
de então, poderíamos aplicar ações corretivas nesse processo.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 40

Cartas de Controle • Existem muitos itens do mesmo lado da média? Sete itens
do mesmo lado da média representam um problema de
Os gráficos de controle nos fornecem uma regra de decisão processo, não é normal acontecer isso.
muito simples: pontos dispostos fora dos limites de controle • Quão próximos os itens estão da média? Se estiverem muito
indicam que o processo está “fora de controle”. Se todos os próximos, significa que seu processo está indo muito bem,
pontos dispostos estão dentro dos limites e dispostos de forma talvez seja melhor reduzir os limites, é uma espécie de zoom.
aleatória, consideramos que “não existem evidências de que o • E xistem várias outras análises possíveis, para tornar-se
processo esteja fora de controle”. um especialista sugiro que procure um curso de Controle
Podemos observar no primeiro gráfico que os dados estão Estatístico de Processos.
dispostos entre os limites do intervalo, exceto uma observação. E não esqueça, apenas olhar os dados não serve para muita
Observe também que há indícios de falta de aleatoriedade no coisa, se houver desvios, é preciso tomar ações corretivas. Para
gráfico (os últimos 8 pontos estão abaixo da linha central), isso, nada mais útil que fazer uma análise de causa e efeito e,
entretanto, o gráfico da Amplitude apresenta um comporta- posteriormente, um plano de ação.
mento supostamente aleatório.
Para analisar o gráfico gerado, questionaremos sempre os
dados!
Reflexões que podemos realizar:
• Quantos itens estão acima ou abaixo dos limites? Se houver,
saberemos que tem alguma coisa bem errada acontecendo!
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 41

Benefícios dos gráficos de controle os programas de CEP em:


1. Focar a organização da empresa na diminuição da variação.
Os gráficos de controle, ao distinguir as causas comuns das 2. Estabelecer um ambiente aberto que minimize as competições
causas especiais de variação e indicar se o problema é local ou internas e de suporte para o trabalho em equipe.
merece atenção gerencial, evita frustrações e o custo de erros 3. Dar suporte e favorecer os treinamentos necessários.
no direcionamento da solução de problemas. 4. Aplicar o CEP para promover um melhor entendimento das
Ao melhorar o processo, os gráficos de controle produzem: variações da engenharia de processo.
• Um aumento na porcentagem de produtos capazes de 5. Aplicar o CEP para gerenciar os dados e usar a informação
satisfazer aos requisitos do cliente. obtida nas decisões do dia a dia.
• Uma diminuição do retrabalho e sucata, diminuindo,
consequentemente, os custos de fabricação. Filosofia da engenharia
• Aumenta a probabilidade geral de produtos aceitáveis.
• Informações para melhoria do processo. Como a engenharia usa a informação para poder planejar o
Para que possamos atingir os benefícios da aplicação do desenvolvimento que podem e irão ter influência no nível de varia-
CEP, a organização precisa se preparar: ção do produto final, apresentamos algumas maneiras de como a
engenharia pode mostrar o uso efetivo do CEP:
Filosofia da gerência 1. Focar a organização na redução da variação através do plane-
jamento do processo, ou seja, número de mudanças no design,
As decisões da gerência da empresa podem afetar diretamente planejamento da manufatura e montagem.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 42

2. Estabelecer um ambiente aberto que minimize a competição isto é, controlar o número de diferentes processos, o impacto
interna e prevaleça o trabalho em equipe. dos processos multi-ferramentais, ferramentas e máquinas de
3. Dar suporte para que os funcionários envolvidos no processo manutenção, etc.
façam treinamentos adequados. 2. Estabelecer um ambiente de engenharia aberto que possa
4. Aplicar o CEP para promover um melhor entendimento das minimizar a competição interna e dar suporte para o trabalho
variações da engenharia de processo. de equipe.
5. Exigir um melhor entendimento da variação e estabilidade 3. Incentivar, manter e treinar os funcionários no uso do CEP;
em relação aos dados que são usados no desenvolvimento do 4. Aplicar o CEP para entender a variação e estabilidade dos
projeto. dados que serão usados no desenvolvimento do processo.
6. Favorecer as mudanças na engenharia do produto que foram 5. Usar as análises do CEP para promover melhorias no processo.
fruto das análises do CEP que podem ajudar na diminuição 6. Não passar a responsabilidade pelas cartas de controle para os
da variação. operadores até que o processo esteja sob controle. A transfe-
rência de responsabilidade do processo só deve ocorrer quando
Manufatura o processo estiver sob controle.

Como a manufatura desenvolve e opera máquinas e os sistemas


de transferência que podem impactar o nível e o tipo de variação Controle da qualidade
no produto final.
1. Focar a organização da manufatura na redução da variação, O controle da qualidade é um componente crítico que provê
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 43

suporte para as melhorias sugeridas pelo uso do CEP. a equipe responsável.


1. Dar suporte ao treinamento para manutenção do CEP. 5. Aprender com as informações coletadas do processo.
2. Focar as pessoas na aplicação do CEP. A seguir, apresentamos os gráficos mais simples e utilizados
3. Ajudar na identificação das causas de variação do processo; nas organizações.
4. Assegurar que os usos corretos das informações provenientes
do programa de CEP estejam sendo corretamente utilizadas. Tipos de gráficos de controle

Produção Existem dois tipos básicos de gráficos de Controle:


• Gráficos por variáveis:
As pessoas envolvidas na produção estão diretamente relaciona- * Gráficos e R (média e amplitude)
das ao processo e a efetividade da variação do processo. Elas devem: * Gráficos e S (média e desvio padrão)
1. Estar treinadas na aplicação do programa de CEP para resolver * Gráficos e R (mediana e amplitude)
problemas. * Gráficos para ou Valores Individuais (X ou I) e
2. Ter entendimento da variação e estabilidade em relação aos Amplitude Móvel (MR)
dados e as informações que estarão sendo usadas no programa • Gráficos por atributos:
de CEP. * Gráfico p (proporções não conforme)
3. Estar alertas! A comunicação entre a equipe é importante * Gráfico np (unidades não conforme)
quando a situação muda. * Gráfico c (número de não conformidade por unidade)
4. Atualizar, manter e disponibilizar as cartas de controle com * Gráfico u (taxa de não conformidade por unidade)
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 44

Síntese • Diagrama de Dispersão: Ferramenta fundamental para


definirmos as relações entre causas e efeitos. Aqui con-
Neste capítulo vimos 7 ferramentas muito úteis na nossa seguimos realizar uma verificação mais apurada, onde
busca pela qualidade. No início do capítulo aprendemos que vamos variando os valores das variáveis de causa e acom-
nem todas têm o mesmo objetivo, ou seja, são aplicadas em panhando a variação dos valores das variáveis relacionadas
diferentes contextos. aos efeitos.
De forma resumida, as 7 ferramentas vistas são: • Histograma: Trata-se de uma ferramenta fundamental
• F luxograma: O objetivo principal é termos mapeada a para mapearmos a distribuição de ocorrências de resultados
sequencia de eventos e passos que definem o comporta- em uma escala dos valores possíveis para um processo.
mento de cada processo. • Cartas de Controle: Ferramenta de acompanhamento
• Diagrama de Causa e Efeito: O principal objetivo aqui é do comportamento dos resultados das medições em um
rastrearmos as causas que levaram à ocorrência de algum processo. Valores acima ou abaixo de uma variação pré-
problema específico (efeito). -definida (fora da curva) indicam que o processo saiu do
• Folhas de Verificação: Basicamente é uma ferramenta controle.
de acompanhamento, de apoio à medição. Por fim, é fundamental termos em mente que as ferramen-
• Gráfico de Pareto: Importante ferramenta de priorização tas devem ser utilizadas em conjunto para a implementação de
dos itens a serem tratados em uma resolução de proble- processos e políticas de qualidade, normalmente atuando em
mas. Famosa regra 20-80... onde 20% das ocorrências de conjunto com as métricas de software (que veremos no próximo
causas estão relacionadas a 80% dos defeitos. capítulo) , operacionalizando-as.
Exercícios real causa e elabore um plano de ação, para que este ponto
não se repita.
1) Desenhe um fluxograma detalhado do processo para dar
partida no carro e sair dirigindo. Neste fluxograma indique:
• As ações do motorista.
• As decisões que devem ser tomadas para o motorista colocar
o automóvel em movimento.

2) Escolha um tipo e um subtipo de gráfico de controle e estude


mais a respeito, empregando o mesmo em um exemplo prático.

3) Pesquise sobre este assunto e explique mais duas ferra-


mentas que podem ser utilizadas na qualidade de software.

4) Com base no fluxograma definido na questão 1, vamos supor


que o automóvel teve uma parada súbita. Neste cenário monte
um diagrama de causa-efeito, para mapear este problema.

5) Por fim, escolha um ponto que seja mais provável de ser a


QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 46

MÉTRICAS DA
QUALIDADE DE
SOFTWARE
O que não é medido não é gerenciado.
(William Edwards Deming). Então, vamos
assumir o controle?
A frase título deste capítulo nos desafia a desbravar uma
nova fronteira na qualidade de software, que é a definição,
acompanhamento e melhoria de indicadores de desempenho.
Em muitas empresas, conduzimos o projeto de software
de uma forma artesanal, onde as ações para resolução de pro-
blemas são tomadas tendo por base opiniões, sentimentos ou
percepções. Isto nos leva a erros graves, atrasos sem fim e o
sentimento de que estamos no método de tentativa e erro.
Neste capítulo, estudaremos a base teórico-prática que nos
permitirá definir e acompanhar indicadores para não deixar os
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 47

nossos projetos, projetos e produtos sem rumo. Primeiramente • Para melhorar a exatidão das estimativas (Formar uma
vamos listar alguns motivos que justificam esse estudo. linha de base para estimativas).

Por que medimos software ? (alguns motivos) Terminologias de Métricas

• Precisamos entender e aperfeiçoar o processo de desen- Na engenharia de software, utilizamos com frequência
volvimento. os termos Medida, Métrica e Medição. Acreditamos que os
• Queremos melhorar a gerência de projetos e o relacio- termos são plenamente intercambiáveis, porém eles apresentam
namento com clientes. diferenças sutis que iremos abordar durante este capítulo.
• Para reduzir frustrações e pressões de cronograma. Inicialmente ilustrarei a primeira diferença que é em quais
• Para gerenciar contratos de software. níveis gerenciais aplicaremos os termos:
• Atestar a qualidade de um produto de software.
• Avaliar a produtividade do processo. Definimos aqui os objetivos
• Avaliar os benefícios (em termos de produtividade e qua- estratégicos e metas.
METAS
(NÍVEL ESTRATÉGICO)
lidade) de novos métodos e ferramentas de engenharia
de software. Aqui acompanhamos se
INDICADORES atingiremos as metas definidas.
• Embasar solicitações de novas ferramentas e treinamento. (NÍVEL TÁTICO)

• Avaliar o impacto da variação de um ou mais atributos do Neste nível utilizamos a medida em


produto ou do processo na qualidade e/ou produtividade. sua composição simples, pois dessa
MÉTRICAS
(NÍVEL OPERACIONAL) forma será melhor utilizada para as
decisões operacionais.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 48

Medida como homem/hora ou horas produtivas.


• Custos:
Quando coletamos um único ponto de dado (por exemplo, o * Medida financeira expressa em moeda referente ao custo
número de erros descobertos em um componente de software), de cada etapa/atividade/recurso do projeto do software.
estabelecemos uma medida. • Defeitos:
Para software os grupos mais comuns de medida são: * Quantidade de não conformidades do software com os
• Tamanho: requisitos do cliente.
* Considera a dimensão do produto de software que es-
tamos entregando. Métrica
* Não é simples de obter pois software é intangível.
* Normalmente utilizamos o número de linhas de código Quando pensamos em métricas, na verdade estamos rela-
para dimensionar o tamanho de um software, porém cionando duas ou mais medidas básicas fornecendo informação
existem outras medidas aceitas no mercado. significativa sobre o produto ou processo. Por este motivo, as
• Duração: chamamos também de métricas indiretas ou derivadas.
* Intervalo de tempo entre o início e o final de alguma Observemos alguns exemplos de métricas:
atividade do projeto. • Tamanho / Esforço = produtividade da equipe.
• Esforço: • Custo do projeto / Esforço = custo médio por hora.
* Trabalho para realizar alguma atividade do projeto. • Número médio de erros encontrados por revisão.
* Expresso em horas, podendo ter algumas variações • Número médio de erros encontrados por teste de unidade.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 49

Propriedades desejáveis em Métricas • Consistente no seu uso das unidades e dimensões: Na


computação matemática da métrica deveremos utilizar
Desde que começamos a nos preocupar com a medição de medidas que não resultem em combinações bizarras de
desempenho em software, diversas métricas foram propostas, unidades. Por exemplo: multiplicar número de pessoas
porém nem todas foram efetivas. Tendo isto em vista, quando nas equipes de projeto pelas variáveis da linguagem de
definirmos métricas devemos observar algumas propriedades programação no programa resulta em uma mistura du-
básicas: vidosa de unidades que não é possível de ser entendida.
• Simples e computáveis: Deverá ser relativamente fácil • Independente da linguagem de programação: Não
aprender a derivar a métrica, e sua computação não deve devemos criar métricas dependentes das linguagens de
demandar esforço ou tempo fora do normal. programação.
• Empiricamente e intuitivamente persuasiva: A métrica • Devemos criar métricas que possam ser repetíveis e que
deverá satisfazer as ideias do engenheiro sobre o atributo estejam alinhadas com as metas e objetivos estratégicos
do produto considerado (por exemplo, uma métrica que da organização.
mede coesão de um módulo no sistema deverá crescer
em valor na medida em que aumenta o nível de coesão). Indicador
• Consistente e objetiva: A métrica deverá sempre pro-
duzir resultados que não sejam ambíguos. Um terceiro Para definirmos um indicador, é fundamental pensarmos
deverá ser capaz de ter o mesmo valor da métrica usando em uma ou mais métricas que nos indiquem informações a res-
as mesmas informações sobre o software. peito do processo de desenvolvimento de software, do próprio
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 50

software ou do próprio projeto. Processo de Medição


Isto é importante, pois tomaremos ações importantes com
base nos valores obtidos através destes indicadores. Já definimos as diferenças entre termos importantes, en-
Principais características de um bom indicador: tendemos onde cada um é utilizado e agora, de forma simples e
• Custo de operação adequado. objetiva, iremos explorar o processo de medição, ou seja, como
• É Simples, Fácil de entender. obtemos corretamente os dados.
• Passível de auditoria. Tratamos o processo de medição de forma contínua, como
• Ter fonte de dados e processo de coleta e análise confi- um ciclo repetitivo, ilustrado pela figura.
áveis;
Exemplo de indicador: Percentual de vendas de um pro-
PLANEJAMOS
duto X sobre as vendas totais, nos indicam o quanto um produto
em particular representa sobre tudo o que vendemos. IMPLEMENTAMOS MEDIMOS
AS DECISÕES
Medição

Agora que já conseguimos diferenciar melhor os termos,


TOMAMOS DECISÕES ANALISAMOS OS
podemos concluir que as Metas, Indicadores e Métricas, BASEADAS NA ANÁLISE DADOS
são os componentes chave da Medição, sendo assim a base de
sustentação da medição de desempenho.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 51

Quando estabelecemos um processo de medição devemos: Metodologia Goal/Question/Metric – GQM


• Fornecer uma base para melhoria contínua do processo.
• Quantificar a qualidade e produtividade. Se buscarmos referências a respeito de medidas para software,
• Integrar o processo no ciclo de vida de desenvolvimento do poderemos constatar que existem muitas medidas diferentes e apli-
produto. cáveis a contextos distintos. Por isso, é importante que saibamos
• Medir o impacto de vários métodos, ferramentas e técnicas de escolher quais são aplicáveis ao nosso projeto em particular.
melhoria. O método GQM (Goal – Question – Metric) é uma boa escolha
• Medições não devem ser usadas para medir pessoas. para planejarmos o trabalho de medição nos projetos.
• Este método possibilita que organizemos o planejamento de
Para entendermos o processo como um todo, é importante uma medição de software em etapas A cada etapa devemos definir
observarmos que as métricas desempenham 4 papéis nesse um elemento conforme descrito a seguir:
ciclo, conforme ilustrado e explicado a seguir. • Objetivos (Goal): São estabelecidos de acordo com as ne-
Controlar cessidades dos stakeholders. Os objetivos de medição devem
Entender
Métricas ajudam a entender Métricas podem
ser fixados em função dos requisitos do software. Em par-
o comportamento e Processos,
ser utilizadas para
funcionamento de processos, produtos e
controlar processos,
ticular, uma análise de importância de cada requisito é útil
produtos e serviços de serviços de produtos e serviços de
software. software software.
para controlar os custos da avaliação. Aos requisitos mais
importantes podemos alocar mais recursos, tais como tempo
Avaliar
Prever
Métricas podem ser utilizadas
e quantidade de usuários contratados para teste. Trata-se
para tomar decisões e Métricas podem ser
determinar o estabelecimento utilizadas para prever
então de um nível conceitual.
de padrões e metas. valores de atributos.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 52

• Perguntas (Question): Definimos questões para realizar o avaliador utilize um formulário próprio, o que, além de di-
trabalho de medição. São as perguntas que esperamos respon- ficultar a tarefa de analisar as informações, pode induzir a
der com o estudo para atingirmos os objetivos relacionados. erros como coleta de dados diferentes.
As respostas obtidas com a medição devem trazer informação • Métricas (Metric): Definimos métricas que ajudem a res-
útil para melhorar o produto. Por exemplo: “Que aspectos do ponder às perguntas definidas. Alguns exemplos: Que dados
projeto (design) da interface afetam a facilidade de uso? ”. As serão necessários? Quais os formatos? Como coletar (fórmula
questões estabelecem uma ponte entre os objetivos planejados e processo)? Onde armazenar e como utilizar? Este já é um
e as métricas que devem trazer evidência sobre o sucesso ou nível quantitativo.
não da implementação. Aqui já temos um nível operacional. Se observarmos a figura a seguir teremos um exemplo que
• Categorias (Continuação da Question): Particionam o con- resume a relação entre os elementos citados acima. Neste exemplo
junto de dados obtidos. As perguntas criadas no passo anterior temos dois objetivos que estão relacionados a 4 questões, cujas
podem trazer à tona diferentes categorias de informação. No respostas geraram 5 métricas.
exemplo citado de avaliação de uma interface, pode-se pensar
em vários aspectos que correspondam a diferentes categorias
de informação, como quantidade de janelas, distribuição das
informações, linguagem utilizada etc.
• Formulários (Continuação da Question): conduzem o
trabalho dos avaliadores. A vantagem de definirmos os do-
cumentos para anotação dos dados é evitarmos que cada
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 53

Dimensões para Medição de Software mos definir e acompanhar métricas referentes à complexidade do
software que estamos liberando ao mercado. Desta forma, temos as
No desenvolvimento de software observamos 3 dimensões métricas de produto como medidas de atributos internos do produto
passíveis de medição: produto, processo e projeto. Cada uma e que nos fornecem uma indicação em tempo real da eficácia dos
dessas dimensões irá atuar de forma complementar, interagindo e modelos de requisitos, projeto e código; a eficácia dos casos de teste
construindo um caminho de informações, onde a correta leitura irá e de outros atributos. Portanto, são medidas que podemos utilizar
nortear as melhorias necessárias a todo o contexto de desenvolvi- para avaliar a qualidade do produto enquanto está sendo projetado.
mento de software da empresa. Exemplos:
Inclusive, a própria obrigatoriedade dessas medições deverá ser • Erros por KLOC (por mil linhas de código).
um de nossos objetivos. Não adianta termos indicadores que não são • Páginas de documentação por KLOC.
fiéis a realidade. Desta forma além da medição ocorrer, ela deverá • Use Case Points (UCPs).
ser mais exata possível, sempre avaliando o custo desta medição, • Function Points (FPs).
para que fique dentro de uma realidade plausível.
Medição a nível de Métricas de Processo
Medição a nível de Métricas de Produto
Métricas de processo permitem à organização de engenharia
É fundamental medirmos o software. Ainda encontramos de- de software ter ideia da eficácia de um processo existente. Devemos
fensores da ideia de que software não pode ser medido ou que esse coletá-las ao longo de todos os projetos e durante o maior período
trabalho seria infinito. O que posso afirmar a vocês é que precisa- de tempo possível. O nosso objetivo é fornecer indicadores que
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 54

levem à melhoria incremental do processo de software. • Produtividade do time no projeto.


Exemplos: • Percentual de funcionalidades entregues.
• Percentual de requisitos aprovados pelo cliente. • Número de defeitos encontrados no produto pelo cliente;
• Número médio de defeitos encontrados na revisão por pares • Índice de retrabalho.
dos requisitos.
• Percentual de não conformidades encontradas em cada etapa Síntese
do processo.
Neste capítulo, vimos a importância crucial da definição e
Medição a nível de Métricas de Projeto acompanhamento de métricas tanto para o processo quanto para o
projeto e produto de software que estamos liberando ao mercado.
Métricas de projeto permitem ao gerente de projeto: (1) avaliar Aprendemos que existem métricas de nível estratégico, tático
o estado de um projeto em andamento. (2) rastrear os riscos em e operacional, cada uma atendendo a um grupo específico de in-
potencial. (3) descobrir áreas problemáticas antes que elas se tor- teressados.
nem críticas. (4) ajustar o fluxo de trabalho ou tarefas. (5) avaliar Vimos também a forma sugerida para a definição e implanta-
a habilidade da equipe de projeto para controlar a qualidade dos ção de indicadores para o ciclo de vida de nosso software, através
produtos finais de software. da metodologia GQM (GOAL -QUESTION-METRIC). Esta
Diferentemente das métricas de processo que são usadas para metodologia prega a definição de objetivos que serão verificados
fins estratégicos, as medidas de projeto são táticas. através de questões, cujas respostas resultarão em métricas que
Exemplos: serão acompanhadas.
Exercícios

1) Defina duas medidas para avaliar um carro. Explique as


medidas definidas.

2) Agora defina mais uma métrica para o item 1. Explique a


métrica definida.

3) E por fim defina um indicador para avaliar o item 2. Explique


o indicador definido.

4) Vimos uma metodologia para criação de métricas, a GQM,


porém existem outras tais como PSM - PRACTICAL SOFTWARE
MEASUREMENT e GOAL-DRIVEN SOFTWARE MEASUREMENT.
Pesquise sobre estas duas metodologias alternativas e realize
uma comparação delas coma GQM vista na disciplina.

5) Defina uma métrica de produto, uma de processo e uma de


projeto.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 56

NORMAS E MO-
DELOS DA QUALI-
DADE
A melhor forma de colocar ordem no Caos é
através do estabelecimento e implantação de
padrões. Prontos para o desafio?
Neste capítulo, veremos uma introdução a alguns modelos
e normas que visam aprimorar os processos de desenvolvimen-
to de software, tanto do ponto de vista da empresa quanto
nos processos referentes às pessoas e equipes. Não será nosso
objetivo ver os conteúdos na sua totalidade, porém veremos o
que realmente é considerado essencial para o entendimento do
conteúdo e para que possamos aprofundar os estudos conforme
nosso desejo e/ou necessidade.
Durante este estudo, observaremos que existem muitas
semelhanças entre as propostas pois todas possuem inspeção
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 57

em algum grau, além de objetivar a melhor estruturação do Estudaremos aqui a Parte 1, referente ao modelo de quali-
processo produtivo. Mesmo estando divididas em normas e dade. Utilizamos este modelo como referência para o processo
modelos, veremos os conceitos de forma conjunta, uma vez de avaliação de qualidade de produtos de software.
que os objetivos são comuns. Dividimos o modelo em duas subpartes:
1. Modelos de Qualidade para características externas e
Normas e modelos são ótimas referências. Porém, cada empresa internas.
deverá construir o seu processo. 2. Modelo de Qualidade para qualidade em uso.
Podemos utilizar o modelo durante o estabelecimento de
metas de qualidade para produtos de software finais e inter-
ISO/IEC 9126 mediários.
Decompomos o modelo hierarquicamente por meio de
No ano de 2003 a ABNT (Associação Brasileira de Nor- características e subcaracterísticas que podemos usar como
mas Técnicas) publicou (tradução) a norma NBR ISO/IEC uma lista de verificação.
9126 – “Engenharia de Software – Qualidade do Produto”,
composta de 4 partes: Características com relação à Qualidade Geral do Software
• Parte 1: Modelo de Qualidade.
• Parte 2: Métricas Externas. Categorizamos os atributos de qualidade geral do software
• Parte 3: Métricas Internas. do modelo em 6 características:
• Parte 4: Métricas de Qualidade em Uso.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 58

1. Funcionalidade: Satisfaz as necessidades? 3. Usabilidade: É fácil de usar?


Subcaracterística Pergunta-Chave Subcaracterística Pergunta-Chave
Propõe-se a fazer o que foi Propõe-se a fazer o que foi
Adequação Inteligibilidade
pedido? pedido?
Faz o que foi proposto de forma Apreensibilidade É fácil de aprender a utilizar?
Acurácia
correta? Operacionalidade É fácil operar e controlar?
É capaz de interagir com os Está de acordo com normas, leis,
Interoperabilidade Conformidade
demais sistemas existentes? etc. relacionadas à usabilidade?
Está de acordo com normas, Atratividade É atrativo ao usuário?
Conformidade leis, etc. relacionadas à
funcionalidade? 4. Eficiência: É rápido e enxuto?
Evita acesso não autorizado a
Segurança de Acesso
programas e dados? Subcaracterística Pergunta-Chave
2. Confiabilidade: É imune a falhas? Qual o tempo de resposta, tempo
Comportamento em relação ao
de processamento e velocidade na
Subcaracterística Pergunta-Chave tempo
execução de suas funções?
Com que frequência apresenta Comportamento em relação aos Quanto recurso usa? Durante
Maturidade
falhas por defeitos no software? recursos quanto tempo?
Ocorrendo falhas, como ele Está de acordo com normas, leis,
Tolerância a Falhas Conformidade
reage? etc. relacionadas à eficiência?
É capaz de recuperar dados em
Recuperabilidade
caso de falhas?
Está de acordo com normas, leis,
Conformidade
etc. relacionadas à confiabilidade?
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 59

5. Manutenibilidade: É fácil de modificar? Podemos medir as subcaracterísticas por meio de métricas


externas e internas, sendo que encontraremos exemplos de
Subcaracterística Pergunta-Chave
É fácil de encontrar uma falha, métricas externas na ISO/IEC 9126-2 e exemplos de métricas
Analisabilidade
quando ocorre? internas na ISO/IEC 9126-3.
Modificabilidade É fácil modificar e adaptar?
Existe risco de efeitos inesperados Características com relação à Qualidade do Software em um
Estabilidade
quando se faz alterações?
É fácil validar o software
ambiente específico
Testabilidade
modificado?
Está de acordo com as normas, Se observarmos o conteúdo da norma ela nos traz também
Conformidade leis, etc. relacionadas à
outra subdivisão em 4 características, agora referentes ao uso
manutenibilidade?
do software em um ambiente específico:
6. Portabilidade: É fácil de usar em outro ambiente?
1. Eficácia
Subcaracterística Pergunta-Chave
Definimos como eficácia, a capacidade do produto de sof-
É fácil adaptar a ambientes
Adaptabilidade
diferentes? tware de permitir que usuários atinjam metas especificadas com
Capacidade para ser instalado É fácil instalar? acurácia e completitude, em um contexto de uso especificado.
Capacidade para substituir É fácil usar para substituir outro? 2. Produtividade
Pode coexistir com outros
Definimos como produtividade, a capacidade do produto
Coexistência produtos independentes
compartilhando recursos? de software de permitir que seus usuários empreguem quan-
Está de acordo com as normas, leis, tidade apropriada de recursos em relação à eficácia obtida, em
Conformidade
etc. relacionadas à portabilidade?
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 60

um contexto de uso especificado. • Descrever as características e atributos de software (por


3. Segurança exemplo em manuais).
Definimos como segurança, a capacidade do produto de • Avaliar o software antes da entrega e antes da aceitação;
software de apresentar níveis aceitáveis de riscos de danos a • Avaliar produtos de software de terceiros.
pessoas, negócios, software, propriedade ou ao ambiente, em
um contexto de uso especificado. ISO/IEC 12207
4. Satisfação
Definimos como satisfação, a capacidade do produto de
software de satisfazer usuários, em um contexto de uso espe- Histórico
cificado.
• Em 1989 o JTC1 iniciou o desenvolvimento da ISO 12207,
Principais utilidades com o objetivo de identificar os Processos do Ciclo de Vida
de Software.
Normalmente priorizamos a aplicação da norma ISO 9126 • Foi desenvolvida com a participação de vários países e pu-
quando precisamos: blicada em 1995.
• Definir requisitos da qualidade de um produto de sof- • Nova revisão para alinhamento com a ISO 15288 (Engenha-
tware. ria de Sistemas – Processos de Ciclo de Vida de Sistemas):
• Avaliar as especificações do software durante o desen- 12207R WD3 (Junho de 2006).
volvimento. • Sofreu duas emendas em 2002 e 2004, para aperfeiçoamento.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 61

Características Principais implementar ou executar as atividades e tarefas incluídas


nos processos.
• Estabelece uma estrutura comum para os processos de • Não pretende prescrever o nome, formato ou conteúdo
ciclo de vida de software, com terminologia bem definida, explícito da documentação a ser produzida nem prescrever
que pode ser referenciada pela indústria de software. um modelo específico de ciclo de vida ou métodos de
• Aplica-se à aquisição de sistemas, produtos e serviços desenvolvimento de software.
de software, para o fornecimento, o desenvolvimento, • As partes envolvidas são responsáveis pela seleção de um
a operação e a manutenção de produtos de software, modelo de ciclo de vida para o projeto e pelo mapeamento
quer sejam executados interna ou externamente a uma dos processos, atividades e tarefas dentro desse modelo
organização. e também são responsáveis pela seleção e aplicação dos
• Contém um conjunto de processos, atividades e tarefas métodos e pela execução das atividades e tarefas adequa-
projetado para ser adaptado de acordo com cada projeto das ao projeto.
de software.
• A estrutura cobre o ciclo de vida do software desde a
concepção de ideias até a descontinuação do software;
• O processo de adaptação consiste na supressão de pro-
cessos, atividades e tarefas não aplicáveis.
• Descreve a arquitetura dos processos de ciclo de vida
de software, mas não especifica os detalhes de como
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 62

0.. n
Estrutura macro da norma
PROCESSO
Processos possuem propósito e resultado (s). Todos 1
os processos possuem pelo menos uma atividade. Os
1
processos, junto com suas declarações de propósito e
resultados, constituem um Modelo de Referência de
Processo. 1.. n

Atividades são unidades de construção usadas para ATIVIDADE


agrupar tarefas relacionadas. A partir da Emenda 1, se
uma atividade é coesiva o suficiente, ela é convertida em
um subprocesso por meio da definição de propósito e 1
resultados.
1.. n
Uma tarefa é uma cláusula detalhada para a
implementação de um processo. Pode ser um requisito
(deve - “shall”), uma recomendação (deveria - “should”) ou TAREFA
uma permissão (pode- “may”).
1
Notas são usadas quando uma informação explanatória
é necessária para melhor descrever a intenção ou os 0.. n
mecanismos de um processo. Notas proveem uma
orientação considerando potenciais implementações ou
áreas de aplicabilidade, tais como listas, exemplos e outras NOTA
considerações.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 63

Emenda 1 da Norma (2002) Conformidade com a Norma

Propósito do Processo: O principal objetivo da execução Definimos a conformidade a essa norma como a execução
do processo. Convém que a implementação do processo forneça de todos os processos, atividades e tarefas, selecionados no
benefícios tangíveis aos envolvidos. processo de adaptação para o projeto de software.
Resultado do Processo: Um resultado observável da rea- Deve ser demonstrado que a implementação de qualquer
lização com sucesso do propósito do processo. processo do conjunto declarado pela organização resulta na
Um resultado pode ser: realização do propósito e dos resultados correspondentes.
• Um artefato produzido.
• Uma mudança significativa de estado. Categorias de Processos
• O atendimento das especificações, como por exemplo:
requisitos, metas etc. Os processos da ISO/IEC 12207 são agrupados em três
categorias:
Uma lista com os principais resultados do processo faz • Fundamentais: constituem um conjunto de processos que
parte da descrição de cada processo no Modelo de Referência atendem às partes fundamentais (pessoa ou organização
de Processo (alinhamento com a ISO 15504). / adquirente, fornecedora, desenvolvedora, operadora ou
O Propósito e os Resultados fornecidos são uma declaração mantenedora do software).
das metas da execução de cada processo. • De Apoio: auxiliam um outro processo e contribuem para
o sucesso e qualidade do projeto, podendo ser realizados,
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 64

quando necessário, por outro processo.


• Organizacionais: empregados por uma organização
para estabelecer e implementar uma estrutura subjacen-
te, constituída de processos de ciclo de vida e pessoal
associados, e melhorar continuamente a estrutura e os
processos. Normalmente empregamos eles fora do do-
mínio de projetos e contratos específicos.
Importante observarmos, caros alunos, que ainda temos
o processo de adaptação, no qual definiremos as atividades
básicas necessárias para executar as adaptações.

Classificação dos Processos quanto à categoria

(segue tabela abaixo)


QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 65

Processos Fundamentais Processos de Apoio


Aquisição Documentação
Fornecimento Gerência de Configuração
Garantia da Qualidade
Verificação
Operação
Validação
Revisão Conjunta

Processo de Adaptação
Auditoria
Desenvolvimento Usabilidade

Gerência de Resolução de Problemas


Manutenção

Gerência de Solicitação de Mudanças

Avaliação do Produto
Processos Organizacionais
Gerência Engenharia de Domínio

Gestão de Ativos Infraestrutura Melhoria


Gestão do programa de
Recursos Humanos
reuso
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 66

Processos e seus Propósitos por um processo.


• Gerência de Configuração: Devemos estabelecer e
• Aquisição: Objetivamos obter um produto e/ou serviço manter a integridade de todos os produtos de trabalho
que satisfaça a necessidade expressa pelo cliente. de um processo ou projeto e disponibilizá-los a todos os
• Fornecimento: Precisamos fornecer um produto ou envolvidos.
serviço ao cliente que atenda aos requisitos acordados. • Garantia da Qualidade: Precisamos fornecer garantia
• Desenvolvimento: Nossa meta é transformar um con- de que os produtos de trabalho e processos estão em
junto de requisitos em um produto de software ou um conformidade com os planos e condições pré-definidos.
sistema baseado em software que atenda às necessidades • Verificação: É importante confirmarmos que cada pro-
explicitadas pelo cliente. duto de trabalho de software e/ou serviço de um processo
• Operação: Necessitamos operar o produto de software ou projeto reflete apropriadamente os requisitos especi-
no seu ambiente e fornece suporte aos clientes desse ficados.
produto. • Validação: É importante confirmarmos que são atendi-
• Manutenção: Devemos contemplar a habilidade de mo- dos os requisitos de um uso específico pretendido para
dificar um produto de software/sistema após sua entrega o produto de trabalho de software.
para corrigir falhas, melhorar o desempenho ou outros • Revisão Conjunta: Quando estamos desenvolvendo um
atributos, ou adaptá-lo a mudanças no ambiente. produto ou serviço devemos manter um entendimento
• Documentação: Precisamos conseguir desenvolver e comum com os envolvidos (stakeholders) a respeito do
manter registradas as informações do software produzidas progresso obtido em relação aos objetivos acordados e ao
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 67

que deveria ser feito. Pessoal! Esta revisão é importante e a execução de qualquer processo de forma a atingir
para gerar engajamento das partes interessadas no projeto as suas metas de acordo com as metas de negócio da
com o projeto em si. organização. É estabelecido por uma organização para
• Auditoria: determinar, de forma independente, a con- garantir aplicação consistente de práticas por parte da
formidade dos produtos e processos selecionados com os organização e dos projetos.
requisitos, planos e contratos, quando apropriado. • Infraestrutura: manter uma infraestrutura estável e
• Resolução de Problema: assegurar que todos os pro- confiável, necessária para apoiar a execução de qualquer
blemas identificados são analisados e resolvidos e que outro processo. A infraestrutura pode incluir hardwa-
as tendências são identificadas. re, software, métodos, ferramentas, técnicas, padrões
• Usabilidade: garantir que sejam considerados os interes- e instalações para o desenvolvimento, a operação ou a
ses e necessidades dos envolvidos de forma a proporcionar manutenção.
otimização do suporte e do treinamento, aumento da • Melhoria: estabelecer, avaliar, medir, controlar e me-
produtividade e da qualidade do trabalho, melhoria das lhorar um processo de ciclo de vida de software.
condições para o trabalho humano e redução das chances • Recursos Humanos: fornecer à organização, os recur-
de rejeição do sistema por parte do usuário. sos humanos adequados e manter as suas competências
• Avaliação de Produto: garantir, através de exame e me- consistentes com as necessidades do negócio.
dição sistemáticos, que o produto atende às necessidades • Gestão de Ativos: gerenciar a vida dos ativos reutilizáveis
especificadas e implícitas dos seus usuários. desde a sua concepção até a sua descontinuação.
• Gerência: organizar, monitorar e controlar a iniciação • Gestão do Programa de Reuso: planejar, estabelecer,
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 68

gerenciar, controlar e monitorar esse programa em uma produtos.


organização e sistematicamente explorar as oportunidades PROCESSO
IDENTIFICA
de reuso. IDENTIFICA É EXAMINADO CAPACIDADES E
MUDANÇAS NO PELA RISCO DO
• Engenharia de Domínio: desenvolver e manter modelos,
LEVA A AVALIAÇÃO DO LEVA A
arquiteturas e ativos de domínio. PROCESSO
MELHORIA DO CAPACITAÇÃO
PROCESSO MOTIVA DO PROCESSO
ISO/IEC 15504 e a norma SPICE
Histórico

Nos apresenta uma estrutura para a realização de avaliações


• 1991: Estudo sobre a necessidade de uma norma para
(e melhorias) de processos em empresas.
avaliação de processos de software.
• 1993: Início do Projeto SPICE (Software Process Im-
Contextos de Utilização:
provement and Capability dEtermination).
• 1998: Versão Inicial da “norma SPICE” (publicada como
• Melhoria Contínua: avaliação que identifica oportu-
Relatório Técnico - TR).
nidades de melhoria feita por organizações que buscam
• 2 003: Encerramento do Projeto SPICE e publicação da
melhorias internas.
parte 2.
• Determinação da Capacidade: avaliação identifica ris-
• 2 004: Publicação das partes 1, 3 e 4.
cos com o fornecedor. Feita por terceiros ao realizarem
contratos de prestação de serviços ou fornecimento de
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 69

Categoria de SUP.1 Desenvolver documentação.


Sigla Processos
Processo SUP.2 Desempenhar a gerência de configuração.
SUP.3 Executar a garantia da qualidade.
CUS.1 Adquirir software. Executar a verificação dos produtos de
SUP.4
Cliente- Apoio trabalho.
Fornecedor (Support) Executar a validação dos produtos de
CUS.2 Gerenciar necessidades do cliente. SUP.5
(Customer- trabalho.
Supplier) CUS.3 Fornecer software. SUP.6 Executar revisões conjuntas.
CUS.4 Operar o software. SUP.7 Executar auditorias.
CUS.5 Prover serviço ao cliente. SUP.8 Executar resolução do problema.
Desenvolver requisitos e processos do MAN.1 Gerenciar o projeto.
ENG.1
sistema.
Gerência MAN.2 Gerenciar a qualidade.
ENG.2 Desenvolver requisitos do software.
(Management) MAN.3 Gerenciar riscos.
ENG.3 Desenvolver projeto do software.
Engenharia MAN.4 Gerenciar subcontratantes.
ENG.4 Implementar o projeto do software.
ORG.1 Construir o negócio.
ENG.5 Integrar e testar o software.
ORG.2 Definir o processo.
ENG.6 Integrar e testar o sistema.
Organização ORG.3 Melhorar o processo.
ENG.7 Manter o sistema e o software.
ORG.4 Prover recursos treinados.
ORG.5 Prover infraestrutura organizacional.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 70

A “Norma SPICE” Processos da norma SPICE (Referentes à Parte 7)

• É focada exclusivamente em software.


• É um modelo para avaliação de processos de software. ISO/IEC 15504
• Possui um modelo de referência que é a base da Avaliação
dos Processos. • É uma norma internacional.
• Dá suporte a todo o ciclo de vida do software. • É genérica, não sendo mais dedicada exclusivamente a
• Dividida em 9 partes. software.
• É apenas um Relatório Técnico e não uma norma inter- • Introduz o conceito de Modelo de Referência de Processo,
nacional. que é externo à norma (antiga parte 2).
• Para ser aplicada à software, deve ser complementada
pela ISO/IEC 12207, considerando suas emendas 1 e 2.

Estrutura macro da norma 15504

A norma nos é apresentada em 5 partes, cujos nomes e


relacionamento são apresentados na figura a seguir:
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 71

medição define nove atributos de processo, agrupados


em seis níveis de capacidade de processo.
• Parte 3 – Nos apresenta um guia para a realização de
avaliações (informativa): provê orientações para inter-
pretar os requisitos para a realização de uma avaliação.
• Parte 4 - Guia para uso na melhoria de processo e na
determinação da capacidade de processo (informati-
va): provê orientações para a utilização de avaliação de
processo para propósitos de melhoria de processo e de
determinação da capacidade.
Detalhamento das partes:
• Parte 5 - Um Exemplo de modelo de avaliação de pro-
cesso baseado na ISO/IEC 12207 e suas Emendas 1 e 2
• Parte 1 - Conceitos e vocabulário (informativa): provê uma
(informativa): contém um exemplo de modelo de avalia-
introdução geral aos conceitos de avaliação de processos
ção de processo que é baseado no modelo de processo de
e um glossário de termos relacionados à avaliação.
referência definido na ISO/IEC 12207 e suas emendas
• Parte 2 - Realização de uma avaliação (normativa): de-
1 e 2.
fine os requisitos normativos para a realização de uma
avaliação de processo e para modelos de processo em uma
avaliação, e define uma infraestrutura de medição para
avaliar a capacidade de processo. Essa infraestrutura de
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 72

Dimensões O processo é
implementado de
forma controlada
2 Gerenciado
• Dimensão de Processo: se limita à verificação da execução (planejado,
monitorado e
ou não dos processos.
ajustado).
• Dimensão de Capacidade: permite uma avaliação de- O processo é
talhada dos processos executados por uma organização. implementado de
3 Estabelecido
forma sistemática e
Trabalha com:
consistente.
O processo é
Níveis de capacidade executado e existe um
controle que permite
verificar se ele se
4 Previsível
Nível Nome Descrição encontra dentro dos
O processo não é limites estabelecidos
implementado ou para atingir os
0 Incompleto resultados.
falha em atingir seus
objetivos. O processo
O processo é adaptado
essencialmente atinge continuamente para,
1 Executado os objetivos, mesmo 5 Otimizado de uma forma mais
se de forma pouco eficiente, atingir os
planejada ou rigorosa. objetivos de negócio
definidos e projetados.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 73

Atributos de Processo 3.2 Implementação: Os elementos identificados em 3.1


são postos em prática.
Antes de analisarmos os níveis a serem avaliados na es- 4.1 Medição: Estabelecem-se objetivos quantitativos, bem
trutura de atributos de processo, explicarei como devemos como as medições a serem realizadas e a frequência de sua
interpretar o que segue. aplicação. Os resultados são coletados, analisados e publicados
O primeiro número (por exemplo o 2 do item 2.1) indica o na organização.
nível de capacidade e o segundo número (no exemplo anterior 4.2 Controle: Estabelecem-se limites de variação para as
o 1 de 2.1) indica o subnível de capacidade. medidas e ações corretivas para tratar as causas de desvios em
Níveis a serem avaliados: relação a esses limites.
1.1 Execução: O processo atinge os objetivos esperados. 5.1 Inovação: Objetivos de melhoria são estabelecidos.
2.1 Administração do processo: Objetivos do processo são Oportunidades de melhoria são identificadas.
identificados e sua execução é planejada. Responsabilidades são 5.2 Otimização: O desempenho do processo é medido e
atribuídas, a infraestrutura é fornecida e a comunicação entre o impacto das melhorias propostas é comparado com os obje-
os envolvidos é gerenciada. tivos esperados. A implementação de mudanças é gerenciada.
2.2 Administração do produto: Produtos do processo são
identificados e documentados, requisitos para eles são definidos
e revisões e ajustes são efetuados conforme necessário.
3.1 Definição: Um processo padrão é definido para a
organização.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 74

Avaliação dos Atributos de Processo possíveis valores para cada atributo temos a tabela a seguir

Resultado para o Índice de onde trago a vocês os requisitos para que uma empresa esteja
Descrição do Status
atributo avaliado conformidade em um determinado nível de maturidade.
Existe pouca ou Nível de Capacidade
nenhuma evidência
N - Não Atingido 0 a 15% 1 2 3 4 5
de que o atributo de
processo seja atingido. 1.1 L ou T T T T T
Existe evidência de 2.1 L ou T T T T
uma abordagem
2.2 L ou T T T T
significativa para
P - Parcialmente 3.1 L ou T T T
16 a 50% atingir o atributo, mas
Atingido
alguns aspectos (tais 3.2 L ou T T T
como resultados) são 4.1 L ou T T
ainda imprevisíveis.
4.2 L ou T T
O desempenho do
L - Largamente 5.1 L ou T
51 a 75% processo pode variar
Atingido 5.2 L ou T
em algumas áreas.
Não há nenhuma ISO 15504 e ISO 12207
T - Totalmente
76 a 100% falha ou falta
Atingido
significativa.
Podemos utilizar a norma ISO 12207 como o Modelo de
Níveis Exigidos de Capacidade de Processo x Avaliação
referência de processo, quando aplicarmos a norma ISO 15504
à software.
Após estudarmos os possíveis atributos de processo e os
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 75

Square: ISO/IEC 25000 • ISO/IEC 25062: provê um método padrão para reportar
os resultados dos testes de usabilidade.
É a sigla para Software product Quality Requirements and
Evaluation e constitui a evolução e reorganização das séries Arquitetura
de normas 9216 e 14598 que vimos anteriormente. Por este
REQUISITOS REQUISITOS DE QUALIDADE
motivo, apresentaremos a mesma de forma resumida, iniciando
DE AVALIAÇÃO
pelo histórico: REQUISITOS DE QUALIDADE
QUALIDADE 2504n
• A proposta inicial para esta norma foi dada em 1999 na
reunião de Kanazawa. 2503n REQUISITOS DE QUALIDADE

• Foi aprovada pelo comitê de normas da ISO em 2000


A ISO/IEC reservou o limite de 25050 a 25099 no caso
na reunião de Madri.
de ser utilizado para os padrões internacionais de extensão do
• Em agosto de 2005 foi lançada a primeira versão da
SQuaRE e/ou para os relatórios técnicos.
norma SQuaRE Norma ISO/IEC 25000.
Nos documentos pertecentes a esta norma, destacamos os
guias:
Evolução
• 25000 – Guia Geral da Norma Square que utiliza ter-
minologia da 14598-1.
Em 2006, foram acrescentadas à norma mais duas extensões:
• 25001 – Guia de Planejamento e Gerenciamento, que
• ISO/IEC 25051: define requisitos de qualidade para
substitui a 14598-2.
COTS.
• 25010 – Guia do modelo de Qualidade que é baseado
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 76

na 9126-1. Principais diferenças para as normas 9126 e 14598


• 25012 – Guia para a qualidade dos dados que é novo em
relação às normas predecessoras. As principais diferenças da SQuaRE em relação às normas
• 25020 – Guia e Modelo geral para medições de software 9126, 14598 são:
que incorpora a terminologia das guias 9126-1,2,3 e 4. • Introdução de um novo modelo de referência geral.
• 25021 – Guia para elementos de medição que é novo em • Introdução de guias detalhados para cada divisão.
relação às normas predecessoras. • Introdução de elementos de medida de qualidade dentro
• 25022 – Guia de Medidas externas que substitui o guia da divisão de medida de qualidade.
9126-3. • Introdução da divisão de requisitos de qualidade.
• 25023 – Guia de Medidas internas que substitui o guia • Incorporação e revisão dos processos de avaliação.
9126-2. • A linhamento do conteúdo com a norma ISO/IEC 15939
• 25024 – Guia de Qualidade na medição que substitui a (processos de medição).
guia 9126-4.
• 25040 – Guia para o processo de avaliação de software, CMMI
que inclui grandes revisões sobre a guia 14598-1.
O CMMi é um modelo de referência que define práticas
necessárias para o desenvolvimento e avaliação de maturidade
de software em uma organização. Não podemos considerá-lo
como uma metodologia, pois não nos orienta COMO deve ser
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 77

feito e sim o QUE deve ser feito. zar algum modelo de maturidade por estágios, quando deseja
Surgiu durante a década de 1980 como um modelo para utilizar o nível de maturidade alcançado para comparação com
avaliação de risco na contratação de empresas de software pelo outras empresas ou quando pretende usar o nível de conheci-
Departamento de Defesa dos Estados Unidos que desejava ser mento obtido por outros para sua área de atuação.
capaz de avaliar os processos de desenvolvimento utilizados É dividida em 5 níveis, sendo:
pelas empresas que concorriam em licitações como indicação 5
da previsibilidade da qualidade, custos e prazos nos projetos Foco contínuo na melho- OTIMIZAÇÃO
ria dos processos.
contratados. 4
GERENCIADO
Foi desenvolvido e é mantido pelo SEI (Software Enginee- Processos são medidos e
QUANTITATIVAMENTE
controlados.
ring Institute) da Universidade Carnegie Mellon e possui duas 3
Processos são caracteri-
formas de implementação, que são a representação por estágios zados para Organização DEFINIDO
e são pró-ativos.
e a representação contínua, que veremos em detalhes a seguir. 2
Processos são caracterizados
para Projeto e as ações são GERENCIADO
frequentemente reativas.
Representação por Estágios 1
Processos são imprevisíveis, INICIAL
pouco controlados e reativos.
Esta representação fornece um caminho pré-definido para
melhoria por meio de implementação sequencial, onde cada Nesta representação, a maturidade é medida por um con-
nível é base para o próximo. junto de processos. Assim é necessário que todos os processos
Indicaremos esta representação quando a empresa já utili- atinjam o nível de maturidade dois para que a empresa seja
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 78

certificada com nível dois. Se quase todos os processos forem específicas de nível 2. Quando a organização está neste
nível três, mas apenas um deles estiver no nível dois, a empresa nível de maturidade, os projetos possuem requisitos que
não irá conseguir obter o nível de maturidade três. são gerenciados e os processos são planejados, realizados,
Detalhamento dos níveis: medidos e controlados.
• Nível 1 (Inicial) – Neste nível, os processos não estão »» Quantidade de Áreas de Processos = 7 (sete). As
documentados nem padronizados e o sucesso depende Áreas de processo têm maior foco no gerenciamento
muito mais da competência e do “heroísmo” de pessoas de projetos e de requisitos, conforme veremos em
da organização. Neste cenário, é comum os projetos ul- postagens mais para frente.
trapassarem o orçamento previsto e os prazos acordados, • Nível 3 (Definido) – Neste nível, as Áreas de processo
além de não serem capazes de repetirem experiências de do nível anterior e aquelas escolhidas para este nível
sucesso de forma estruturada. atendem às metas específicas e genéricas associadas aos
»» Quantidade de Áreas de Processos = 0 (Zero). Con- níveis 2 e 3. A expressão chave deste nível é “padroni-
sidera-se de nível 1, todas as organizações que não zação de processo”. No nível 3, os processos são bem
atendam a todos os requisitos do nível 2, ou seja, caracterizados, sendo descritos por padrões estabelecidos
se uma determinada organização consegue cumprir e melhorados ao longo do tempo (melhorados mesmo
quase todas as metas do nível 2, ainda sim ela será sem ter uma base quantitativa, alvo do nível 4).
considerada de Nível 1 (complicado não?). »» Quantidade de Áreas de Processos = 11 (onze). As
• Nível 2 (Gerenciado) – As Áreas de processo pré-defi- Áreas de processo têm maior foco no desenvolvimento
nidas para este nível devem atender as metas genéricas e organizacional.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 79

• Nível 4 (Gerenciado Quantitativamente) – Neste nível, quantitativo dos processos, conforme veremos em
todas as Áreas de processo dos níveis anteriores mais postagens mais para frente.
aquelas específicas deste nível devem atender as metas • Nível 5 (Em Otimização) – Todas as Áreas de processo
específicas dos níveis 2, 3 e 4 e as metas genéricas dos dos níveis anteriores mais aquelas específicas deste nível
níveis 2 e 3. Os subprocessos mais importantes são con- devem atender as metas específicas dos níveis 2, 3, 4 e
trolados com técnicas estatísticas, ou seja, por meio de 5 e as metas genéricas dos níveis 2 e 3. Neste nível, os
indicadores. Vejam que não são todos os processos, uma processos são melhorados continuamente, baseados na
vez que é bastante trabalhoso o processo de gerenciar avaliação quantitativa do nível anterior.
quantitativamente. Além disso, a prática mostra que »» Quantidade de Áreas de Processos = 2 (dois). As
só se consegue medir de forma efetiva os processos que Áreas de processo têm maior foco na inovação e na
estiverem padronizados, ou seja, que já estejam no nível obtenção de previsibilidade para a melhoria sistemática
3 de maturidade. Outra observação interessante, já que dos processos.
as organizações irão escolher os subprocessos a terem
indicadores coletados, é que não há a necessidade de Representação Contínua
se atingir as metas genéricas de nível 4, senão todas as
outras Áreas de Processo teriam que obrigatoriamente Esta representação possibilita à organização, utilizar a
também atingir este nível. ordem de melhoria que melhor atende os seus objetivos de
»» Quantidade de Áreas de Processos = 2 (dois). As negócio.
Áreas de processo têm maior foco no desempenho A representação contínua é indicada quando a empresa
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 80

deseja tornar apenas alguns processos mais maduros, quando de Processo não alcança uma ou mais metas específicas.
já utiliza algum modelo de maturidade contínua ou quando Como já dissemos, no CMMI a coisa é binária. Não
não pretende usar a maturidade alcançada como modelo de adianta fazer o quase. É tudo ou nada. Assim sendo, a
comparação com outras empresas. Área de negócio classificada no nível zero significa que a
mesma não é executada ou é executada de forma parcial.
5- Otimizado • Nível 1 (Executado) – Neste nível, a Área de Processo
4- Gerenciado Quantitativamente satisfaz todas as suas metas específicas, o que garante

3 - Definido
que o trabalho necessário é feito a fim de transformar
entradas bem definidas em saídas adequadas para aquela
2 - Gerenciado
Área de processo.
1 - Executado
• Nível 2 (Gerenciado) – Neste nível, a Área de processo
0 - Incompleto é planejada e executada de acordo com uma política e
É dividido em 6 níveis, sendo eles: há o emprego adequado de recursos e pessoas. Além
Nesta representação a capacidade é medida por processos disso, a Área de processo produz resultados controlados
separadamente, onde é possível ter um processo com nível uma vez que é monitorado e revisado. Cabe aqui uma
um e outro processo com nível cinco, variando de acordo com observação importante, apesar da Área de processo ser
os interesses da empresa. executada de acordo com uma política, não significa dizer
Detalhamento dos níveis: que seja algo padronizado, pois esta é uma característica
• Nível 0 (Incompleto) – Neste nível de capacidade, a Área específica do próximo nível. Se pudermos exprimir em
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 81

palavras a diferença entre Política e Padrão diria que este sua plenitude quando se tem um padrão, por isso este
(padrão) envolve ferramentas, procedimentos, métodos nível vem após o nível 3. Em processos padronizados é
de trabalho definidos para os projetos da organização, mais fácil identificar indicadores que meçam de forma
enquanto aquele (Política) representa princípios gerais, mais efetiva o seu comportamento e seus resultados;
diretrizes a serem seguidas pela Área de processo. • Nível 5 (Otimização) – Este nível é o sonho de qualquer
• Nível 3 (Definido) – Neste nível, a Área de processo, Gerente de Processos! A Área de processo é modificada e
além de fazer tudo dos níveis anteriores, é uma adaptação adaptada para corresponder aos objetivos do negócio uma
do processo padrão da organização. A Área de processo vez que é baseada em métricas e indicadores definidos.
fornece informações para sua melhoria. Diferentemente O foco aqui é na melhoria contínua feita por meio de
do que se possa pensar, é neste nível de capacidade que melhorias incrementais e também por inovações.
uma Área de processo começa a fazer uma melhoria Pessoal, sei que fica um pouco confuso entender se uma
em seu próprio processo e não apenas nos níveis 4 e 5. determinada melhoria que é feita em uma Área de processo
No nível 3, a melhoria está baseada na identificação de o coloca no nível 3, 4 ou 5. Para facilitar, podemos fazer a
pontos fortes e pontos fracos da Área de processo; analogia da melhoria dos níveis 3, 4 e 5 com o processo de
• Nível 4 (Gerenciado Quantitativamente) – Neste nível, afinamento de um violão.
a Área de processo é controlada com base em indicadores, Querem ver?
usando técnicas estatísticas e outros métodos quantita- • Nível 3 – Afinar o violão de ouvido (melhoria empírica).
tivos. É de extrema importância notar que o gerencia- • Nível 4 – Colocar um aparelho que possa medir (uso de
mento quantitativo só consegue ser implementado em indicadores).
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 82

• Nível 5 – Afinar o violão baseado no aparelho específico Categorias\


para esta função. Níveis Nível 2 Nível 3 Nível 4 Nível 5
Percebem a diferença? Eu espero que sim!

- Desenvolvimento
Categorias de Processos de Requisitos.
- Solução técnica
-
Integração do
Após passarmos pelas representações do CMMI, chegou o Engenharia Gerenciamento
produto.
de requisitos.
momento de falarmos dos processos que compõem este modelo. - Verificação.
- Validação.
Para que possamos facilitar o entendimento, estaremos expli-
cando inicialmente, o que o CMMI chama de Categorias de -
Processos. Segundo este modelo, as Áreas de processos (também Planejamento
do projeto. - Gerenciamento
chamadas de Processos) são divididas em categorias e estão - Controle e integrado do -
distribuídas pelos Níveis de maturidade da representação por Gerência monitoramento projeto. Gerenciamento
estágio (do nível 2 ao nível 5, uma vez que não faz sentido
de Projetos do projeto. - Gerenciamento quantitativo do
- Contratação de riscos. projeto.
ter processos relacionados ao nível 1, conforme já vimos). e gestão de
O quadro abaixo (Níveis de maturidade X Categorias X fornecedores.

Áreas de processos) nos mostra exatamente quais são os Pro-


cessos de cada Nível.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 83

- Foco no processo Vamos observar o quadro acima para podermos identificar


organizacional.
- Definição e compreender as seguintes Categorias de Processos:
Gerência - Desempenho - Inovação e
do processo • Engenharia – Áreas de processos que estão diretamente
de organizacional.
do processo implantação
Processos organizacional. organizacional. ligadas à Engenharia de Software.
- Treinamento
organizacional. • Gerência de Projetos – Processos que estão ligados aos
passos necessários para que sejam executados projetos
- Medição e
com sucesso.
análise.
- Garantia de • Gerência de Processos – Processos que estão ligados a
qualidade do questões institucionais e na quantificação dos resultados.
- Análise de - Análise e
processo e
Suporte produto.
decisão e resolução de • Suporte – Áreas de processos que auxiliam outros pro-
resolução. causas.
- cessos nos mais diversos níveis.
Gerenciamento
de
configuração. Finalmente, podemos verificar que os Níveis de maturi-
Quadro Níveis de maturidade X Categorias X Áreas de Processos dade, de forma genérica e mais simplória, buscam os seguintes
objetivos, levando-se em consideração a divisão dos processos
no quadro “Níveis de maturidade X Categorias X Áreas de
Processos”:
• Nível 2 – Foco no Gerenciamento de Projetos.
• Nível 3 – Foco na Padronização e na Engenharia de
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 84

Software. que é um modelo que possibilita uma melhoria contínua nos


• Nível 4 – Foco na quantificação dos processos. processos, amadurecendo as organizações e tornando-as mais
• Nível 5 – Foco na melhoria e na inovação. competitivas.

Vantagens do CMMI: Desvantagens do CMMI

O modelo de qualidade CMMI é reconhecido interna- Para certificação CMMI é necessário a realização de ava-
cionalmente e se tornou uma referência no mercado, buscando liações e este processo além de demorado, possui alto custo.
obter um diferencial competitivo. O conjunto de práticas do Além disso, é necessário investir tempo, geralmente, para
CMMI contribui para o aprimoramento dos processos de uma se chegar aos níveis de maturidade mais altos leva-se em média
organização tornando-a mais madura e eficiente. de 4 a 8 anos. Essas dificuldades contrastam com a realidade
O CMMI ajuda a organização a conhecer os seus processos de muitas empresas que não podem realizar um investimento
e o seu desempenho, melhorando a precisão do planejamento. tão alto na obtenção da certificação.
Permite um melhor monitoramento dos processos, possibili-
tando que o gerente de projetos saiba se o projeto dará certo Muitas empresas tratam o CMMI como um processo e
ou não. não como um modelo, e relatam que nem todas as práticas são
Com o tempo, adquirindo maturidade, a empresa vai iden- realmente necessárias na maioria dos casos. Por isso, muito
tificando o que realmente tem valor, sendo este o foco, otimi- trabalho poderia ser evitado, principalmente em projetos pe-
zando cada vez mais os processos, o que justifica o CMMI, quenos. Frases como: “O CMMI engessa o processo”, “O custo
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 85

de desenvolvimento fica alto devido ao CMMI”, “O CMMI história. A iniciativa foi promovida em dezembro de 2003,
vai contra um processo ágil” são emitidas frequentemente por pela Associação para Promoção da Excelência do Software
profissionais que seguem essa linha de pensamento. Para eles, Brasileiro (SOFTEX) e conta com o apoio do Ministério da
a qualidade gerada pelo CMMI possui um preço muito alto a Ciência, Tecnologia e Inovação (MCT), da Financiadora de
se pagar e não agrega muito valor à organização. Estudos e Projetos (FI-NEP), do Serviço Brasileiro de Apoio
às Micro e Pequenas Empresas (SEBRAE) e do Banco Inte-
MPS BR ramericano de Desenvolvimento (BID).
O MPS.BR tem como foco principal atender a mi-
cro, pequenas e médias empresas de software brasileiras, com
Conceito e Objetivo poucos recursos e que desejem obter melhorias significativas
nos seus processos de software. Busca-se que o modelo MPS
O MPS.BR (Melhoria de Processo do Software Brasileiro) seja adequado ao perfil de empresas com diferentes tamanhos
é, ao mesmo tempo, um modelo de referência de qualidade de e características, públicas e privadas, seja compatível com os
processo e um programa com intuito de melhorar a eficiência padrões de qualidade aceitos internacionalmente e que tenha
das empresas brasileiras de desenvolvimento de software. como pressuposto o aproveitamento de toda a competência
Embora seja um modelo brasileiro, ele é apoiado em práticas existente nos padrões e modelos de melhoria de processo já
mundiais e podemos utilizá-lo em qualquer país. disponíveis.

Como sempre, é importante conhecermos um pouco da


QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 86

O modelo MPS.BR possui quatro componentes: Modelo de Referência MPS para Software (MR-MPS-SW)
• Modelo de Referência MPS para Software (MR-MP-
S-SW).
• Modelo de Referência MPS para Serviços (MR-MPS- Temos 3 guias que compõem o MPS-BR: O Guia Geral
-SV). MPS de Software, o Guia de Aquisição e os Guias de Imple-
• Método de Avaliação (MA-MPS). mentação.
• Modelo de Negócio (MN-MPS). O Modelo de Referência MPS para Software (MR-MPS-
Todos esses componentes são descritos por guias de forma -SW) contém as definições dos níveis de maturidade, processos
individual, podendo possuir mais de um guia para cada um. e atributos do processo que as unidades organizacionais devem
Atenção: Esta figura atender para estar em conformidade.
representa a hierarquia e
as bases do Modelo MPS!!!
Ela é importante para Estudamos anteriormente as normas ISO/IEC 15504, ISO/IEC
a nossa compreensão 12207 e o modelo CMMi. Estas foram utilizadas como base para o
e busca de referências
detalhadas! MPS.BR.

Modelo de Referência MPS para Software (MR-MPS-SW) - Guia


de Aquisição
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 87

O Guia de Aquisição é destinado a organizações que pre- MR-MPS-SW. Na última parte, a 11, um mapeamento do
tendam adquirir software e/ou serviços, sendo complementar MR-MPS-SW e do CMMIDEV é apresentado, de forma a
aos guias do MR-MPSSW e MR-MPS-SV. Este guia não auxiliar as organizações, tanto no âmbito das implementações
contém nenhum requisito destes guias principais. Consiste quanto no das avaliações de processos, nas iniciativas de me-
apenas em um documento descrevendo as boas práticas para lhoria de processos de software.
à aquisição de software e serviços.
Modelo de Referência MPS para Serviços (MR-MPS-SV)
Modelo de Referência MPS para Software (MR-MPS-SW) - Guia
de Implementação É composto pelo Guia Geral MPS de Serviços. O Modelo
de Referência MPS para Serviços (MR-MPS-SV) contém as
Se observarmos o guia de implementação podemos ve- definições dos níveis de maturidade, processos e atributos do
rificar que o mesmo é composto por 11 partes, cujo conteúdo processo que as unidades organizacionais devem atender para
não é considerado requisito do modelo MPS.BR, possuindo estar em conformidade. Tem como base as normas ISO/IEC
apenas caráter informativo. Nas partes de 1 a 7, são sugeridas 15504 e ISO/IEC 20000.
formas para implementação dos níveis do MR-MPS-SW. Na A criação do MR-MPS-SV também levou em consideração
parte 8, formas de como uma organização que faz aquisição de outras normas e modelos internacionalmente reconhecidos, além
produtos pode implementar o MR-MPS-SW são apresentadas. de boas práticas da engenharia de software, como o ITIL e o
Nas partes 9 e 10, são sugeridas formas de como Fábri- modelo CMMI-SVC e as necessidades de negócio da indústria
cas de software e Fábricas de testes, podem implementar o de software nacional.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 88

Método de Avaliação (MA-MPS) Estrutura


Níveis de Maturi-
dade
Encontra-se no guia de avaliação. O Guia de Avaliação (MA-
Processo Capacitação
-MPS) consiste no método e processo de avaliação, além de todos
os requisitos necessários aos avaliadores líderes, avaliadores adjuntos
e Instituições Avaliadoras (IA). Proposito Atributo

O conteúdo deste guia de avaliação MA-MPS, está em con-


formidade com norma ISO/IEC 15504.
Resultados Resultado

Modelo de Negócio (MN-MPS) Veremos uma base de cada um dos itens da figura acima nos
itens a seguir. Poderemos encontrar maiores detalhes a respeito da
O Modelo de Negócio (MN-MPS) descreve, através de regras norma, bem como os guias de referência no endereço: http://www.
de negócio, como as Instituições Implementadoras (II) devem im- softex.br/mpsbr/guias/
plementar o MR-MPS-SW e MR-MPS-SV, como as Instituições
Avaliadoras (IA) devem fazer a avaliação seguindo o MA-MPS,
como será feita a organização de grupos de empresas pelas Instituições Níveis de Maturidade no MPS.BR
Organizadoras de Grupos de Empresas (IOGE) para a realização
dos itens anteriores, como certificar os consultores de Aquisição Alunos!!! No MPS.BR não temos o conceito de “representação
(CA) e criar os programas anuais de treinamento do MPS.BR. contínua” como no CMMI.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 89

Desenvolvimento de
O modelo está estruturado em uma única representação, através requisitos.
de níveis de maturidade (a exemplo da representação por estágios Solução técnica.
do CMMI). Integração de
D Largamente definido produto.
Outra diferença que encontramos no modelo MPS.BR é que
Instalação de produto.
existem 7 níveis de maturidade designados pelas letras: G (nível
Liberação de produto.
mais baixo), F, E, D, C, B e A (nível mais alto) ao invés dos 5 níveis
Verificação.
tradicionais do CMMI. Validação.
Nível Descrição do Nível Processos do Nível Treinamento.
Inovação e Avaliação e melhoria
implantação na do processo
A Em otimização organização. organizacional.
Análise de causas e E Parcialmente definido Definição do processo
resolução. organizacional.
Desempenho Adaptação do
do processo processo para
Gerenciado organizacional. gerência de projeto.
B
quantitativamente
Gerência quantitativa Medição.
do projeto. Gerência de
Análise de decisão e F Gerenciado configuração.
C Definido resolução. Aquisição.
Gerência de Riscos. Garantia da Qualidade.
Parcialmente Gerência de requisitos.
G
gerenciado Gerência de projeto.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 90

Processo nos níveis de maturidade, um maior nível de capacidade para


desempenhar o processo deve ser atingido.
Descrevemos os processos no MR-MPS-SW são descritos O atendimento aos atributos do processo (AP), pelo atendi-
em termos de propósito e resultados, e estão detalhados na mento aos resultados esperados dos atributos do processo (RAP),
seção 9. O propósito descreve o objetivo geral a ser atingido é requerido para todos os processos no nível correspondente ao
durante a execução do processo. Os resultados esperados do nível de maturidade, embora eles não sejam detalhados dentro
processo estabelecem os resultados a serem obtidos com a efe- de cada processo.
tiva implementação do processo. Estes resultados podem ser Os níveis são acumulativos, ou seja, se a organização está
evidenciados por um produto de trabalho produzido ou uma no nível F, esta possui o nível de capacidade do nível F que
mudança significativa de estado ao se executar o processo. inclui os atributos de processo dos níveis G e F para todos os
processos relacionados no nível de maturidade F (que também
Capacidade do processo inclui os processos de nível G). Isto significa que, ao passar do
nível G para o nível F, os processos do nível de maturidade G
Representamos a capacidade do processo por um conjun- passam a ser executados no nível de capacidade correspondente
to de atributos de processo descrito em termos de resultados ao nível F. Em outras palavras, na passagem para um nível de
esperados. A capacidade do processo expressa o grau de refi- maturidade superior, os processos anteriormente implementados
namento e institucionalização com que o processo é executado devem passar a ser executados no nível de capacidade exigido
na organização/unidade organizacional. No MR-MPS-SW, neste nível superior.
à medida que a organização/unidade organizacional evolui Os diferentes níveis de capacidade dos processos são des-
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 91

critos por nove atributos de processo (AP). O alcance de cada Vamos iniciar o estudo pelo PSP, então os tópicos seguintes
atributo de processo é avaliado utilizando os respectivos re- farão referência a este assunto.
sultados esperados de atributo de processo (RAP). Observando a teoria a respeito do tema, podemos verificar
que o PSP é estruturado em níveis, de forma semelhante ao
PSP e TSP CMMI e ao MPS.BR. No PSP temos 4 níveis conforme a
seguir:
• Nível 0: fundamentos de medidas e formatos de relatórios.
Vimos até agora, processos focados na melhoria da pro- • Nível 1: planejamento e estimativas de tamanho e tempo.
dutividade da empresa como um todo. Porém, sabemos que • Nível 2: controle pessoal de qualidade de projeto.
algumas pessoas possuem certa dificuldade em se organizar, • Nível 3: extensão a projetos grandes.
por mais que tenham a técnica e o conhecimento necessários Nobres alunos!! O PSP é baseado em princípios simples,
para desempenhar bem as suas funções. dos quais podemos citar como principais:
Tendo isto em vista, foram criados dois processos: Um Cada indivíduo é diferente, então o planejamento do tra-
focado na melhoria da produtividade e efetividade individual balho por parte do gerente de projetos deve levar em conta
(PSP – Personal Software Process) e outro com o mesmo ob- as variações de produtividade (mínima e máxima) de cada
jetivo macro, porém voltado aos times (ou equipes) de trabalho integrante da equipe. Devemos obter estes indicadores de
(TSP – Team Software Process). produtividade de outros projetos que a pessoa já participou.
Guardem bem estas siglas, pois utilizaremos elas durante Outro ponto importante é que tenhamos em mente que
este tópico. a melhoria do desempenho individual deve ser baseada em
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 92

processos bem definidos e medidos. Pela medição individual, os princípios de unicidade de cada pessoa ainda são válidos.
A pessoa é responsável pela qualidade de seu trabalho, assumindo assim a responsabilidade por erros e atrasos decorrentes
de suas atividades no projeto.
O desenvolvedor de software precisa realizar um bom planejamento prévio de suas atividades, antes de iniciar o desenvol-
vimento, medindo os tempos de cada etapa e desvios (erros) encontrados e corrigidos.

Estrutura

A figura a seguir resume a estrutura macro de processos do PSP. Conforme vimos no princípio 4, para cada etapa o desen-
volvedor deve relatar os tempos utilizados, defeitos encontrados e corrigidos e outros desvios ou fatos que julgar importante.
Utilizaremos todos os dados no final do projeto para melhorar o processo como um todo, em um ciclo virtuoso de melhoria.
REQUISITOS SCRIPTS

PLANEJAR PROJETAR REVISÃO DO CODIFICAR REVISÃO DO COMPILAR E TESTAR PÓS-PROJE-


PROJETO CÓDIGO CORRIGIR TO

REGISTROS REGISTRO SUMÁRIO


DE TEMPOS DE DEFEITOS DO PLANO
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 93

Scripts para entender seus principais componentes e podermos elaborar


o nosso próprio plano quando necessário.
Quando elaboramos um projeto no PSP realizamos uma Importante iniciarmos com a definição de um formulário
sequência de tarefas claramente determinadas. Conseguimos padrão, que será utilizado por todos os projetos. Neste docu-
desta forma, que mesmo um desenvolvedor inexperiente realize mento iremos definir o que será feito e como realizaremos o
uma abordagem estruturada e organizada para o problema que trabalho.
ele irá resolver. A cada nível do PSP, o formulário será mais detalhado, ou
Devemos quebrar as atividades macro em subatividades seja, teremos mais informações a serem preenchidas. A prin-
até que as mesmas consigam ser expressas formalmente, de cípio isso pode nos fazer rejeitar os níveis superiores, porém a
forma que o desenvolvedor consiga medir os tempos e computar prática mostra que a cada nível nos tornamos mais eficientes,
eventuais desvios da atividade. e esta burocracia adicional acaba acarretando pouco tempo a
Os modelos de scripts sugeridos pelo processo, bem como mais nos projetos.
o script completo, poderão ser verificados em www.sei.cmu. A seguir trago um exemplo de formulário, simplificado
edu/reports/00tr022.pdf . para fins de entendermos ele mais facilmente, visto que este
é provavelmente o primeiro contado de muitos de vocês com
Plano do Projeto a metodologia.
Importante deixar claro que as medições podem ser rea-
Já vimos que o planejamento eficiente é a chave do PSP, lizadas em minutos ou linhas de código (LOC) ou mil linhas
então vamos entrar em alguns detalhes do plano de projeto, de código (KLOC).
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 94

Planejado Realizado Até o Codificação


momento Revisão do
Resumo Código
Minutos/LOC Compilação
LOC/hora Teste
Defeitos / KLOC Pós-Projeto
Yeld Total
A/F-R Tempo total
mínimo
Tamanho do Programa
Tempo total
Novo e alterado
máximo
Tamanho Defeitos inseridos
máximo
Planejamento
Tamanho
mínimo Projeto
Quadro 1 do plano de projeto Codificação
Revisão
Planejado Realizado Até o % Até o Compilação
momento momento
Teste
Tempo (minutos)
Total
Planejamento
Defeitos removidos
Projeto
Planejamento
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 95

Projeto No quadro 2 do plano, utilizaremos a coluna “% até o


Codificação momento” para contabilizar proporções em relação a valores
Revisão históricos. Exemplificando, em um programa A, a fase de
Compilação levantamento de requisitos foi responsável por 15% dos erros,
Teste enquanto em um programa B, a mesma fase conteve 25% dos
Total erros. Ao fazermos o planejamento de um programa futuro
Quadro 2 do plano de projeto com base nesses dados, um desenvolvedor irá concluir que his-
Iniciamos o preenchimento através da coluna planejado, toricamente 20% de seus erros estão nos requisitos. Este valor
que nada mais é do que as estimativas que realizamos antes será utilizado na coluna % até o momento. De forma análoga
de iniciar a codificação. Assim que terminarmos o programa temos a coluna “até o momento” que ao invés do percentual
e já tivermos realizado todas as medições iremos preencher a irá conter o número de ocorrências até o momento.
coluna. Já a coluna “até o momento” será preenchida conforme Com a informação de número de linhas de código pro-
o desenvolvedor for evoluindo em seu trabalho no projeto. duzidas e o tempo gasto, conseguimos preencher as colunas
Devemos realizar todas as medidas de tempo em minutos. referentes a estas informações no plano (quadro 1).
Fundamental termos claro que a contagem de erros não
poderá desabonar um desenvolvedor, pois correremos o risco do Ponto de atenção pessoal!!!! As linguagens modernas de desen-
mesmo não registrar as informações de forma real. Estes núme- volvimento podem dificultar a contagem de linhas de código, pois
ros devem ser utilizados para a melhoria pessoal e localização temos muitos arquivos para um mesmo programa. Por este motivo
de eventuais treinamentos necessários para este desenvolvedor. é fundamental que padronizemos a forma de escrita de código.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 96

Informações sobre registro de defeitos: lise e melhoria de nosso desempenho enquanto desenvolvedores.

Sobre os defeitos, o PSP nos orienta a dividi-los em cate- Controle de Qualidade


gorias conforme exemplifica o quadro abaixo:
Código Nome Exemplos Já deve ter ficado claro para nós que o controle de qualida-
Requisitos, diagramas, de no PSP é baseado na questão dos defeitos, seja no número
10 Documentação
etc.
deles ou nas razões dos mesmos.
Erros de sintaxe no
20 Sintaxe Podemos utilizar diversas medidas para tabular estes nú-
código.
Versões de meros:
30 Construção (build)
bibliotecas. • Densidade: defeitos por KLOC.
Omissões, falhas de • Taxas: defeitos por minuto.
50 Interface
projeto.
• Yeld: percentual de erros corrigidos por atividade. Exem-
Outra questão que devemos levar em conta é o log de de- plo: Se até a fase de revisão do projeto encontramos um
feitos que deve seguir um formato conforme abaixo: total de 27 erros identificados e 11 foram eliminados na

Data Número Tipo Inserido Removido Tempo Origem revisão teremos um valor de 40% para o Yeld (11 dividido
Remoção por 27 X 100).
Utilizamos como base para estas medidas do processo de
Descrição: revisão, onde iremos coletar os indicadores e calcular os nú-
meros finais através de listas de verificação.
Poderemos utilizar este log de defeitos como entrada para aná-
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 97

Lembrete: padronizem as listas de verificação! • Comunicação livre e frequente.

Processo para Times: TSP Estrutura do TSP:

Vimos de forma macro, o processo de PSP, que é aplicável Primeiramente devemos treinar os membros do time no PSP
somente a indivíduos. Porém, sabemos que a meta de produzir e que o PSP tenha sido adotado pelos mesmos.
projetos com qualidade deve pertencer ao time e não aos indi- Com base nestas habilidades treinadas, são agregadas ativi-
víduos de forma isolada, como forma de produzir um ambiente dades para que a coordenação do trabalho do time seja possível,
colaborativo. conforme a figura abaixo nos explica:
Para isto foi proposto um modelo que visa auxiliar os times • A equipe é proprietária dos seus processos e pode mu-
de trabalho, que já utilizam o PSP de forma individual, a terem dá-los sempre que necessário.
um desempenho melhor e a padronizar o processo de trabalho. • Os processos da equipe são baseados em sua:
Como qualquer método formal, o TSP requer que sejam »» experiência;
definidos: »» conhecimento;
• Objetivos e papéis comuns ao time. »» maturidade.
• Definição de um processo comum de trabalho. O TSP provê um conjunto de:
• Envolvimento de todos na produção do plano. • scripts de processos;
• Negociação do plano entre o time e a gerência. • formulários;
• Revisão e aceite final pela gerência. • métodos;
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 98

• métricas. Em cada ciclo os desenvolvedores repetem os mesmos passos


Estes elementos guiam os desenvolvedores em: como mostrado na Figura e aumentam o produto construído
• criar equipes eficazes; no ciclo anterior
• estabelecer metas e planos para a equipe; Cada ciclo de desenvolvimento do TSP é composto por oito
• acompanhar e reportar o trabalho. fases, mas este número pode variar dependendo da necessidade
da equipe. Estas fases são lançamento, desenvolvimento de
Desenvolvimento em ciclos estratégia, planejamento, requisitos, projeto, implementação,
testes e avaliação.
Além disso, a metodologia TSP conduz o desenvolvimento
de software através de vários ciclos rápidos até atingir o produto Estratégia
final. Cada ciclo guia a equipe através de sete passos:
• lançamento; Busca-se estratégia para realizar os trabalhos durante o
• estratégia; ciclo. Cria-se um modelo conceitual, estimativas de tamanho
• planejamento; e tempo de desenvolvimento do produto.
• requisitos; Se o tempo ultrapassar o que foi previsto para o ciclo, a
• projeto; estratégia deverá ser revista e um novo módulo funcional do
• implementação; produto deverá ser definido para ser desenvolvido durante o
• teste; ciclo.
• pós-projeto. A fase de estratégia é realizada antes que o planejamento,
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 99

pois nesta fase serão gerados artefatos que serão úteis na fase distribuindo as tarefas de forma balanceada. Este balancea-
de planejamento. Nesta fase, a equipe começa a produzir o mento sempre é verificado nas fases de avaliação dos ciclos
plano de gerência de configuração. Este plano é fundamental de desenvolvimento. Na fase de estratégia, gerou-se o modelo
para o controle da versão do produto. conceitual do projeto.

Planejamento Requisitos

É necessário um plano detalhado, com ele sabe-se com Na fase de requisitos, desenvolvemos a especificação de
exatidão o que deve ser feito e quando será feito. requisitos do software. Este artefato prevê exatamente o que
Quando não usamos o planejamento, a equipe leva muito o produto será. Através dele, faremos a avaliação final do
tempo para desenvolver o projeto. O planejamento é uma fase produto e constataremos se o produto final é realmente o que
que requer tempo e paciência. o cliente desejava.
Entretanto, como o TSP utiliza-se da estratégia de de- Entre os tipos principais de requisitos estão:
senvolvimento cíclico e são desenvolvidas pequenas versões, • Requisitos funcionais: entradas, saídas, cálculos e casos
os planos são simples. de uso.
Um dos problemas do cumprimento de tarefas é o traba- • Requisitos de Interface Externa: usuário, hardware, sof-
lho não balanceado. Em uma equipe sincronizada, todos os tware, comunicações.
membros terminam suas tarefas em uma ordem correta e no • Restrições de Projeto: formato de arquivos, linguagens,
mesmo tempo. No TSP, a equipe desenvolve o planejamento, padrões, compatibilidade e etc.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 100

• Requisitos Não-Funcionais: segurança, conversão, ras- serão desenvolvidas em cada ciclo.


treabilidade, usabilidade e etc.
• Outros requisitos: banco de dados, instalação etc. No Implementação
TSP, o objetivo principal do documento de requisitos é
documentar os acordos da equipe em relação às funcio- A fase de implementação é a geração do código fonte do
nalidades e interfaces externas. produto. Esta implementação deve seguir o que foi proposto
na fase de projeto.
Projeto Os principais passos na fase de implementação são: pla-
nejamento de implementação, projeto detalhado, inspeção do
O projeto trata-se de uma fase onde a equipe irá decidir projeto detalhado, codificação, inspeção de código, unidade de
como construir o produto. Não somente descrever ideias gerais, testes, revisão da qualidade dos componentes e lançamento dos
mas produzir uma especificação completa e precisa de como o componentes. Uma das características da fase de implementação
produto será construído. no TSP é a utilização de padrões.
No TSP, a construção do projeto consiste dos seguintes Os padrões de implementação utilizados são:
passos: • padrões de revisão.
• Decidir a estrutura do produto como um todo. • padrões de nomeação, interface e mensagens.
• A locar as funcionalidades do produto em componentes. • padrões de codificação.
Produzir a especificação externa dos componentes e. • padrões de tamanho.
• Decidir quais os componentes e as funcionalidades que • padrões de defeitos.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 101

• prevenção de defeitos. * Identificar módulos que já foram enviados para o


gerente de qualidade/processo, que ainda possuem
Integração e Testes baixa qualidade e reenvia-los novamente para ve-
rificação e correção.
Os módulos desenvolvidos no ciclo são testados e integra-
dos para formar o produto final. O objetivo é verificar se tais Revisão
módulos produzirão um produto de qualidade.
As principais atividades de testes no TSP são: A revisão é a fase final do TSP. Nela todo o trabalho da
• Utilizar as partes desenvolvidas e testadas para construir equipe é revisto para garantir que tudo o que foi planejado foi
o produto final. realmente cumprido. Também é verificado se todos os dados
• Utilizar a integração e testes no produto, para verificar foram registrados pelos membros da equipe. Analisamos o
se este está apropriadamente construído, que todos os que foi desenvolvido no ciclo e quais são as melhorias para o
módulos estão presentes e que funcionam perfeitamente próximo ciclo ou para o próximo produto.
juntos. Através da análise, definimos melhorias tanto no processo
• Testar o produto para avaliar se ele atende aos requisitos. de desenvolvimento quanto no processo gerencial da equipe.
Durante estas atividades, também é desejado: Com este trabalho conseguiremos prover um método para
* Identificar módulos com baixa qualidade e enviá-los avaliar todo o processo de desenvolvimento e implementar
para o gerente de qualidade/processo para revisão melhorias.
e correção.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 102

Síntese ser referenciada pela indústria de software, sendo normalmente


aplicada tanto à aquisição de sistemas prontos ou de desenvol-
Neste capítulo, vimos que existem diversos modelos e nor- vimentos de novos sistemas.
mas que orientam tanto a avaliação de um produto de software Enquanto a ISO/IEC 15504 não é mais focada exclusi-
pronto, quanto nos auxiliam a criar processos e metodologias vamente em software, temos uma variante desta norma deno-
para a construção e alteração de produtos de software. minada SPICE que cobre especificamente a área de software.
Vimos no total 6 normas ou modelos. É importante termos Estas duas normas complementares podem ser aplicadas prio-
em mente que esta lista não é exaustiva e está em constante ritariamente em:
mudança, pois a todo momento, novos aperfeiçoamentos e • Melhoria Contínua: avaliação que identifica oportuni-
versões das normas são lançadas. A seguir, listo o essencial de dades de melhoria feita por organizações que buscam
cada item visto. melhorias internas
A ISO 9126 é utilizada quando precisamos avaliar pro- • Determinação da Capacidade: avaliação que identifica
dutos de software prontos ou auditar as especificações de um riscos com o fornecedor. Feita por terceiros ao realizarem
software durante o seu desenvolvimento. Isso é feito através contratos de prestação de serviços ou fornecimento de
de descrição de características e atributos de software e sua produtos.
consequente comparação com padrões pré-estabelecidos. Vimos também, brevemente a norma Square: ISO/IEC
Já a ISO/IEC 12207, nos apoia na difícil missão de es- 25000 que é a sigla para Software product Quality Require-
tabelecer uma estrutura comum para os processos de ciclo de ments and Evaluation e constitui a evolução e reorganização
vida de software, com terminologia bem definida, que pode das séries de normas 9216 e 14598. Mesmo que possuindo
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 103

algumas diferenças com as normas, podemos aplicar esta nova São metodologias baseadas em níveis e formulários padrões,
norma em todos os pontos onde aplicávamos as normas 9216 sendo muito úteis como complemento às demais normas ISO
e a 14598. e às metodologias CMMI e MPS.BR.
Após estudarmos as principais normas ISO, vimos alguns
modelos de referência, sendo que o primeiro deles foi o CMMI.
Este é um modelo de referência que define uma estrutura de
práticas necessárias para desenvolvimento e avaliação da ma-
turidade de software. Importante que este modelo não define
o “COMO” e sim “O QUE” deve ser feito.
O MPS.BR é a versão brasileira do CMMI, possuindo
diversas similaridades e como principal diferença, a questão
dos níveis iniciais possuírem uma maior subdivisão, fazendo
a implementação do modelo, focando principalmente em em-
presas de pequeno e médio portes.
Por fim, vimos dois processos baseados na produtividade
da equipe de desenvolvimento de software. Estes dois processos
são o PSP (focado na produtividade pessoal) e o TSP (focado na
produtividade de times de desenvolvimento). Aqui é dito como
devemos executar cada etapa da codificação e testes unitários.
Exercícios BR. Eles são complementares, concorrentes ou indiferentes?
Justifique, dando exemplos práticos de processos.
1. Monte um quadro resumo com um comparativo entre PSP,
TSP e CMMI.

2. O SEI provê um método para avaliação de capacidade de


processos, chamado SCAMPI (Standard CMMI Appraisal Method
for Process Improvement). O método, assim como as demais
metodologias produzidas pelo SEI, encontra-se documentado
e pode ser obtido gratuitamente no site do SEI. Obtenha a
documentação do SCAMPI e compare-a com a norma ISO/IEC
15504. Utilize também artigos da internet.

3. Crie um formulário padrão de plano de projeto para o PSP:

4. Revise o modelo CMMI, e responda o que é necessário para


que uma empresa seja certificada no nível 4 da mesma.

5. Reflita entre as normas ISO e os modelos CMMI e MPS.


QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 105

TESTE DE
SOFTWARE
Quem imagina que os testes são feitos
somente ao final do processo terá uma grata
surpresa. Duvidam? Então venham comigo!!!
Teste de Software? O que é isso? Se consultarmos o glos-
sário da ISTQB - Associação Internacional de Testes de
Software (em http://www.istqb.org/component/jdownloads/
send/20-istqb-glossary/186-glossary-all-terms.html) encontra-
remos a seguinte definição: “O processo que consiste em todas
as atividades do ciclo de vida, tanto estáticas quanto dinâmicas,
preocupado com a preparação, planejamento e avaliação de
produtos de software e produtos de trabalho relacionados para
determinar que eles atendem os requisitos especificados, para
demonstrar que eles cumprem sua finalidade e para detectar
defeitos.”
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 106

Neste capítulo, teremos uma introdução a este vasto mundo software, mas nem sempre estamos cientes de todas as razões
que é o teste de software. Perceberemos que ele é muito mais para fazê-lo.
do que testar o software, sendo composto de muitas técnicas Então para refrescar a nossa memória, listo algumas razões:
científicas e métodos estruturados. • Para assegurar que as necessidades dos usuários estejam
sendo atendidas.
Fundamentos de Teste • Porque é provável que o software possua defeitos.
• Porque falhas podem custar muito caro.
• Para avaliar a qualidade do software.
Histórico • Desenvolvedor já alocado em outro projeto teria que
corrigir muitos defeitos de projetos anteriores já em pro-
“No princípio havia o caos” (durante as décadas de 60, 70 dução.
e 80).
Nesta época, iríamos realizar os testes somente no fim do Conceito de Erros, Defeitos e Falhas
ciclo de desenvolvimento. Como programadores nós mesmos
iríamos executar os testes dos programas que desenvolvemos. Conceitos que nos parecem iguais, mas olhando mais de perto....
O nosso foco era provar que o desenvolvimento estava 100% são bem diferentes!!!
e o nosso querido programa funcionava!!! Que ironia não??? Erro: Ação humana que produz um resultado incorreto.
Por que testar? Defeito: Defeito é uma imperfeição de um produto. O
Pode nos parecer um tanto óbvio que devemos testar o defeito faz parte do produto e, enquanto usarmos este termo,
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 107

devemos fazer referência a algo que está implementado no “Testar é procurar defeitos e não provar que o software está
código de maneira incorreta. A palavra “defeito” não significa funcionando.”
apenas um problema que faz um programa não funcionar. Um Muito bem!! Sabemos agora que testar é encontrar erros.
programa defeituoso é também um programa “que não funciona Agora, como fazemos isso? Por tentativa e erro? Vamos testando
como deve” (não faz algo que deveria fazer ou faz algo que não conforme nossa experiência ou vontade? De forma alguma...
deveria ser feito). Em 1988, David Gelperin e Bill Hetzel publicaram o artigo
Falha: é o resultado errado provocado por um defeito ou “The Growth of Software Testing”. Desde essa época temos
condição inesperada. o conceito de Plano de Testes, que deveria ser escrito a partir
Os defeitos podem existir, mas nem sempre ser visíveis. dos requisitos do sistema. Sem dúvida, isso nos dá um bom
Falhas também podem ocorrer por fatores externos ao progra- ponto de partida!!!
ma, como corrupção de bases de dados ou invasões de memória
por outros programas. Princípios do Teste de Software
... que pode
... que cria um causar uma
Uma pessoa co-
defeito no sof- falha na opera-
mete um erro... Princípio 1 – Teste demonstra a presença de defeitos.
tware ... ção.
Testes conseguem identificar a existência de defeitos, mas
Agora falando em história, em 1979, Glenford Myers não podem garantir a ausência deles. Mesmo se nenhum de-
publicou o livro “The Art of Software Testing” onde corri- feito for identificado em uma bateria de testes, não podemos
giu-se o maior defeito na orientação de testes, que era o foco afirmar que o software está livre de defeitos. Alguns chegam
em provar que o sistema funcionava... o que eles disseram foi: a aparecer tardiamente, quando o software já foi entregue e já
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 108

passou o período de garantia. Isso pode ocorrer, por exemplo, Um número pequeno de módulos contém a maioria dos
pelo uso sazonal de uma funcionalidade (por exemplo, no início defeitos descobertos durante o teste. A experiência nos mostra
do ano o índice de pagamentos de IPTU é mais alto do que no que os bugs são extremamente sociais e gostam de andar em
resto do ano). Outros defeitos podem inclusive jamais serem bando.
descobertos. Mas não se iluda. Eles podem estar lá. Princípio 5 – Paradoxo do Pesticida.
Princípio 2 – Teste exaustivo é impossível. Um conjunto de testes, se executado várias vezes, pode não
A menos que a aplicação sendo testada tenha uma estru- mais detectar novos defeitos.
tura lógica muito simples e valores de entrada limitados, teste Para contornar esse problema, os casos de teste devem ser
exaustivo é inviável pois seria extremamente custoso cobrir frequentemente revisados e atualizados. Eles devem ser refor-
todos os cenários possíveis. Deve-se calcular o esforço dos mulados para abordar novas áreas do sistema e assim aumentar
testes baseando-se nos riscos e prioridades. a chance de detectar novos defeitos.
Princípio 3 – Teste antecipado. Princípio 6 – Teste depende do contexto.
Ao desenvolver um software, as atividades de teste devem Com qual ferramenta você abriria o seu note para trocar o
começar o quanto antes. Assim que os requisitos ou modelagem HD? Um martelo, uma chave de fenda ou um alicate? Qualquer
do sistema estiverem prontos, é possível começar o trabalho uma serve? Os testes devem ser elaborados de acordo com o
de modelagem do plano de testes. O quanto antes um defeito tipo do software. Você não pode testar um software crítico,
for identificado no ciclo de vida de um software, mais barata como o lançamento de um foguete com tripulantes, como se
e mais simples será a correção. testa um joguinho de celular. Ambos devem ser testados, ambos
Princípio 4 – Agrupamento de defeitos. têm seus próprios riscos, mas o foco é diferente, a cobertura
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 109

será diferente, a abordagem, etc. pois visa o aumento da confiança de um produto através da
Princípio 7 – A ilusão da ausência de erros. exposição de seus problemas.
Identificar e corrigir os problemas de um software não Os testes podem mostrar que o software tem erros, mas
garantem que ele está pronto. Os testes foram elaborados para não que está livre deles. Mesmo que nenhum defeito tenha sido
identificar todos os possíveis defeitos? O sistema atende as ne- encontrado durante o teste, não significa que eles não existam.
cessidades e expectativas dos usuários? Ou seja, existem outros Em algum momento, um teste ignorado pode descobrir mais
fatores que devem ser considerados para garantir a qualidade problemas no sistema.
do software. Portanto, o objetivo da equipe é projetar testes que reve-
lem o maior número possível de defeitos com uma quantidade
Processo de Teste mínima de tempo e de esforço. É consenso que um bom caso
de teste é aquele que tem alta probabilidade de encontrar um
O teste de software é uma das atividades de validação e erro ainda não descoberto.
verificação e consiste na execução de um produto de forma Um processo de teste de software tem o propósito de estru-
controlada para avaliar se ele se comporta ou não conforme o turar as etapas, atividades, artefatos, papéis e responsabilidades
especificado. O seu principal objetivo é encontrar defeitos do teste, permitindo organização e controle de todo o ciclo de
no produto, para que estes possam ser corrigidos pela equipe teste, minimizando os riscos e agregando valor ao software.
de desenvolvimento antes da entrega final. Este processo deve ser estruturado de forma que ele e o
Devido a esta característica, o teste de software é considera- processo de desenvolvimento possam ser executados em para-
do uma atividade de natureza “destrutiva”, e não “construtiva”, lelo, desde o início do ciclo de vida do software.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 110

As principais etapas do ciclo de vida do processo de teste de seus resultados.


são apresentadas abaixo: Entregar: avaliação final dos resultados dos testes para
Planejar: esta etapa trata da definição das atividades de verificar se o sistema está apto para a entrega.

ENTREGAR PLANEJAR Verificação e Validação (V&V)

Consistem em técnicas fundamentais para identificar se um


software possui defeitos e está de acordo com o especificado.
O processo de V&V engloba todo o ciclo de vida do sof-

PROJETAR tware e deve ser aplicado em cada estágio no processo de de-


EXECUTAR
senvolvimento.
Tem dois objetivos principais:
teste, das estimativas de esforço e dos recursos necessários
• Descobrir defeitos em um sistema.
para realizá-las, dos objetivos, estratégias e técnicas de teste
• Avaliar se o sistema é útil e usável ou não em uma situ-
a serem adotadas e dos critérios para determinar quando uma
ação operacional.
atividade de teste está completa.
Verificação e validação devem estabelecer confiança de
Projetar: consiste na elaboração dos casos, scripts e pro-
que o software é adequado ao seu propósito. Não podemos nos
cedimentos de teste, bem como, na preparação do ambiente e
iludir que isto signifique um software completamente livre de
da massa de teste.
defeitos.
Executar: consiste na execução dos casos de teste e registro
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 111

Ao invés disso, devemos garantir que o software seja bom código). Exemplo: testes.
o suficiente para seu uso pretendido.
Uma orientação a vocês!! O tipo de uso do nosso softwa- V&V nos Modelos de Qualidade
re determinará o grau de confiança necessário. Quanto mais
crítico o software for, maior a confiança necessária. Veremos a seguir as práticas relacionadas a teste de sof-
tware nos modelos CMMi para desenvolvimento versão 1.3 e
Conceito de Verificação e Validação MPS.BR de 2012.
O MPS.BR possui uma escada de níveis mais suave que
Verificação: Estamos construindo o produto corretamente? a do CMMi. O nível 2 do CMMi foca em atividades geren-
O software deve estar de acordo com a sua especificação. ciais, assim como os níveis F e G do MPS.BR. Com algumas
Validação: Estamos construindo o produto certo? O sof- práticas de gerenciamento, a empresa já pode aplicar o nível
tware deve fazer o que o usuário realmente deseja. G, enquanto que o nível 2 do CMMi demanda mais esforço.
O nível 3 do CMMi é o mais inchado. O MPS.BR o suaviza
V&V Estática e Dinâmica em 3 níveis distintos. Os processos de Verificação e Validação
encontram-se no nível 3 do CMMi e no nível D do MPS.BR.
Estática: Não envolve a execução propriamente dita do pro-
duto (ou seja, do código). Pode e deve ser aplicada em qualquer
artefato intermediário. Exemplo: revisões técnicas e inspeções.
Dinâmica: Envolve a execução do produto (ou seja, do
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 112

Níveis de A verificação é um processo incremental, pois começa


Níveis de
Processos Maturidade MPS. desde o início do ciclo com a verificação dos requisitos, con-
Maturidade CMMI
Br.
tinua durante a evolução do produto e é realizada também no
5 – Otimizado (...) A – Em otimização.
produto completo.
B – Gerenciado
4 – Gerenciado (...)
Quantitativamente.
3 – Definido (...) C - Definido. Validação
Verificação e D – Largamente
Validação Definido.
Ao executarmos atividades de validação procuramos aferir
E – Parcialmente
(...) se estamos construindo um produto que está de acordo com o
Definido.
2 - Repetível (...) F – Gerenciado. que o usuário deseja:
G – Parcialmente Estamos construindo o produto certo? Verificação e va-
(...)
Gerenciado.
lidação são similares, mas a validação deve demonstrar que o
Verificação produto, como entregue (ou como será entregue), vai cumprir
a sua finalidade, enquanto que a verificação endereça se o
Ao executarmos atividades de atividades de verificação produto reflete corretamente os requisitos especificados.
procuramos aferir se estamos construindo um produto corre- Em outras palavras, a verificação assegura que “você cons-
tamente, de acordo com as suas especificações: truiu direito” e a validação assegura que “você construiu a coisa
• Estamos construindo certo o produto? certa”.
• O software cumpre com suas especificações?
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 113

Revisões Técnicas • Programação em pares.


• Revisão por pares.
A revisão de software é um dos métodos mais eficientes • Passaround.
de encontrar defeitos e, além disso, permite que esses defeitos
sejam encontrados na fase em que foram inseridos, sem que o Inspeção de Fagan
problema siga adiante e o custo da sua correção seja cada vez
mais caro. Michael Fagan desenvolveu um processo de inspeção formal
As revisões devem ser aplicadas nos diversos artefatos ge- quando trabalhava na IBM em meados de 1970. Constante-
rados ao longo do processo de desenvolvimento do software mente misturamos os termos revisão e inspeção, mas para que
(não somente no código). Além disso, devem contar com pelo uma revisão seja qualificada como uma inspeção (de Fagan)
menos uma segunda pessoa, diferente do autor do artefato, é necessário que siga um processo bem definido com papéis
para trazer um olhar novo e, assim, encontrar defeitos. estabelecidos.

Métodos de Revisão Papéis em uma inspeção de Fagan

Vamos abordar os seguintes métodos de revisão: Um time de inspeção consiste de 3 a 8 participantes nos
• Inspeção. seguintes papéis:
• Revisão em Time. • Moderador: lidera a inspeção, agenda as reuniões, re-
• Walkthrough. porta os resultados da inspeção, acompanha a correção
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 114

dos erros apontados e modera a reunião. Deve ser uma qualidade que vão atentar para os padrões do artefato. Ou
pessoa treinada no processo de inspeção e em como ge- ainda, clientes podem ser convidados para inspecionar
renciar conflitos. definições de requisitos.
• Autor: é o criador do artefato, ou o responsável por ele.
Ele pode responder perguntas sobre o artefato durante Processo da Inspeção de Fagan
a inspeção e pode também revisar o produto apontando
PLANEJAMENTO OVERVIEW PREPARAÇÃO REUNIÃO CORREÇÕES ACOMPANHAMENTO
erros. O autor não pode ser moderador, leitor ou escritor.
• Leitor: descreve as seções do artefato enquanto a reunião
No planejamento, o moderador seleciona o time de inspe-
é conduzida.
ção, pega com o autor o material que será revisado e distribui
• Escritor: classifica e registra os defeitos levantados du-
ele e outros documentos relevantes para o time de inspeção.
rante a inspeção. Em times pequenos o moderador pode
Os materiais devem ser entregues com antecedência para que
fazer esse papel também.
seja possível preparar-se para a reunião. A responsabilidade de
• Inspetor: inspecionam o artefato em busca de defeitos.
chamar uma inspeção é do autor, mas o moderador deve avaliar
Todos os envolvidos na inspeção fazem esse papel. É
se os critérios de entrada foram atingidos. Por exemplo, para a
interessante convidar para esse papel o autor do artefato
inspeção de um código ele deve estar minimamente compilando.
base para o artefato que está sendo inspecionado. Por
A reunião de overview é uma oportunidade que o autor tem
exemplo, convidar o analista de requisitos para verificar
de descrever o seu artefato para o time de inspeção. Não é uma
a arquitetura, ou o arquiteto para uma inspeção de có-
atividade obrigatória no processo uma vez que os participantes
digo. Também é recomendado que tenham pessoas de
podem conhecer bem o artefato.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 115

Os participantes devem então se preparar para a inspeção Encerrada a reunião, o autor é responsável por resolver os
avaliando individualmente o artefato, anotando os defeitos e defeitos levantados durante a pauta. Talvez nem todos os de-
dúvidas. Caso haja algum Checklist de defeitos comumente feitos sejam corrigidos, mas essa decisão deve ser comunicada
encontrados nesse tipo de artefato, ele deve ser utilizado para e aprovada.
ajudar a verificar os erros. O moderador então faz um acompanhamento com o autor
A reunião de inspeção ocorre em data e local agendados pelo para verificar se as correções foram feitas. Caso haja muitas
moderador. Ela é conduzida em conjunto pelo moderador e o mudanças e o artefato tenha sido consideravelmente modifi-
leitor. A reunião não deve durar mais que 2 horas. Caso passe cado, uma inspeção adicional pode ser necessária.
disso, deve ser agendada outra reunião para continuação. No Parece bastante trabalho, mas as inspeções formais de
fim da reunião, o grupo deve decidir se aceita o produto como Fagan tem se mostrado de grande valia na detecção defeitos.
está, se o aceita com pequenas modificações, se são necessárias Há outros tipos de revisão menos formais que veremos mais
grandes mudanças e uma nova reunião de inspeção deve ser à frente.
realizada ou se o produto deve ser refeito.
Durante a reunião podem ser identificadas as causas dos
defeitos encontrados. Essa análise retroalimenta o processo
promovendo melhorias que podem evitar a inserção de outros
defeitos futuramente, mas esse não deve ser o foco da reunião.
As causas podem também ser apontadas pelo autor durante o
processo de correção.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 116

Revisão em Time se há algum comentário que os participantes querem fazer.

PLANEJAMENTO PREPARAÇÃO REUNIÃO CORREÇÃO


Walkthrough
AUTOR INSPETOR

MODERADOR MODERADOR
Walkthrough significa passo a passo. É um tipo menos
LEITOR ESCRITOR
formal de revisão, um dos poucos em que o autor participa
ativamente. Nele, o autor apresenta o seu produto e os demais
Podemos dizer que a revisão em time é uma inspeção re- participantes o avaliam.
alizada de maneira mais informal. Elas devem ser planejadas Não intencionalmente essa apresentação pode ser conduzida
e também tem uma estrutura, mas são menos rígidas. de forma tendenciosa, afinal de contas, o autor provavelmente
Os participantes recebem o material a ser examinado e o não encontrou mais defeitos no seu produto antes de submetê-lo
estudam individualmente e então realizam uma reunião onde ao walkthrough, e a forma de conduzir a apresentação pode
são coletados os esforços e os defeitos. esconder alguns defeitos.
As atividades de overview e acompanhamento podem ser
omitidas ou simplificadas e alguns papéis podem ser combi- Programação em Pares
nados.
O autor pode liderar a reunião, mas ainda assim não pode Programação em pares é uma prática ágil e pode ser con-
ser o moderador. O papel do leitor deixa de existir e ao invés de siderada uma constante revisão. Dois programadores sentam
passar o artefato pedaço por pedaço, o líder da reunião pergunta juntos (não necessariamente no mesmo computador) e enquanto
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 117

um codifica, o outro provê feedbacks e informações sobre o Revisão por Pares


trabalho que estão realizando.
Essa prática pode gerar alguns tabus de início como o caso Na revisão por pares há apenas uma pessoa revisando o
de um gerente pensar que “dois programadores só vão produzir produto e a revisão depende completamente do conhecimento
por um”, ou um programador ter uma resistência dizendo que dessa pessoa, suas habilidades e disciplina, portanto pode-se
faz seu trabalho melhor quando não é interrompido e além esperar uma grande variação em tempo de preparação e defeitos
disso, uma histórica relação de posse entre o programador e encontrados entre as revisões.
o código é quebrada. Ao implementar esse tipo de prática é Essa revisão pode ser um pouco mais formal e utilizar
preciso avaliar primeiro a cultura organizacional e preparar Checklist ou métodos de análise e formulários para coletar
todos os recursos envolvidos mostrando como esses e outros os dados da revisão. Ao final da revisão, o revisor entrega ao
medos são sem fundamento. autor uma lista de defeitos para correção.
Além de promover o conhecimento entre os membros da Esse método é mais recomendado para produtos com baixo
equipe, a programação em pares tende a gerar produtos mais risco ou quando há pessoas altamente qualificadas para realizar
aderentes a padrões, já que os colegas estarão prestando atenção esse trabalho. É mais barato e rápido que outros métodos de
nesses fatores durante a codificação e quanto antes um defeito revisão, mas fica completamente dependente do ponto de vista
for eliminado, melhor. de uma pessoa apenas.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 118

Passaround Documentação no Teste

Uma revisão Passaround pode ser vista como múltiplas O processo de modelagem do teste pode ser informar
revisões por pares (Peer Deskcheck). Nela, o autor envia o ou formal. O nível de formalidade depende do contexto do
artefato para todos os revisores que ele gostaria que provessem teste, o que inclui a cultura da organização, a maturidade dos
feedback sobre o produto. Os revisores fazem comentários e processos de teste e desenvolvimento, restrições de tempo e as
enviam de volta para o autor que filtra os apontamentos e re- pessoas envolvidas.
aliza as modificações. A norma ou padrão IEEE 829 define a documentação
mínima necessária para que o processo de teste de software
Como escolher que método aplicar? funcione adequadamente. São propostos oito documentos e
um padrão de conteúdo para cada um deles. Estes documentos
cobrem as tarefas de planejamento, especificação e relato dos
testes, são aderentes a qualquer processo de teste e podem ser
utilizados nos testes de qualquer tipo de software.

Uma maneira de escolher qual método aplicar a um arte-


Planos de Teste
fato pode ser o baseado em risco. Quanto maior o risco de um
artefato, mais formal deve ser a revisão.
Este documento é elaborado a partir da documentação
do projeto e do desenvolvimento do software, apresenta o
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 119

planejamento para a execução dos testes e serve de base para térios).


a monitoração e controle do projeto de teste. • Entregas do teste (identificação dos documentos a serem
Em casos em que o escopo do software a ser testado é produzidos no teste, tais como: procedimentos, relatórios,
muito grande, pode-se elaborar um plano de teste raiz que irá etc.).
apontar para outros planos de teste mais específicos, conforme • Tarefas do teste (listagem das atividades necessárias para
a necessidade. preparar e executar os testes, bem como as dependências
O Plano de teste deve conter os seguintes campos: entre elas).
• Identificador (código único que identifica o plano de • Necessidades de ambiente (ambiente necessário para a
teste). execução dos testes).
• Introdução (visão geral do projeto, objetivos do teste e • Responsabilidades (identificação dos grupos responsáveis
metas). pelas atividades no projeto de teste).
• Itens de teste (listagem dos itens a serem testados ou • Necessidades de equipe e de treinamento.
usados no teste). • Cronograma (listagem das atividades com indicação do
• Funcionalidades a serem testadas. esforço e prazo).
• Abordagem do teste (tipos de teste, ferramentas, técnicas, • R iscos (riscos do projeto de testes com os respectivos
responsáveis, etc.). planos de mitigação e de contingência).
• Critérios de liberação dos itens testados (indica se algum • Aprovações (nome e espaço para assinatura das pessoas
nível de falha pode ser aceito. responsáveis).
• Requisitos de suspensão e retomada (definição dos cri-
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 120

Projeto de Teste dimentos de teste).


• Critérios de passagem e de falha para cada funcionalidade
Este documento tem como objetivo refinar a abordagem (ou grupo).
apresentada no Plano de Teste e identificar as características
e funcionalidades que devem ser testadas e os tipos de teste Casos de Teste
que devem ser usados.
Em projetos pequenos, este documento pode ser incorpo- Segundo Sommerville (2007, p. 356) “Casos de teste são
rado ao Plano de Teste e, em outros casos, pode ser coberto especificações de entradas para o teste e as saídas esperadas do
pelos Casos de Teste e pelos Procedimentos de Teste. sistema mais a declaração do que está sendo testado”.
Em projetos extensos, o Plano de Teste pode ser desdobrado Lembrar que o padrão IEEE 829 é apenas um guia. Nas
em vários Projetos de Teste para facilitar o seu entendimento empresas, os casos de teste podem ter mais ou menos infor-
e acompanhamento. mações do que as aqui apresentadas.
O Projeto de Teste deve conter os seguintes campos: O Caso de Teste deve conter os seguintes campos:
• Identificador (código único que identifica o projeto de • Identificador (código único que identifica o caso de teste).
teste). • Itens de teste (listagem dos itens de teste ou funciona-
• Funcionalidades a serem testadas. lidades a serem testadas pelo caso de teste).
• Abordagem refinada (detalhamento da abordagem apre- • Especificações de entrada (entradas necessárias para
sentada no plano). executar o teste).
• Identificação de teste (identificação dos casos ou proce- • Especificações de saída (saídas necessárias para verificar
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 121

o caso de teste). • Passos (listagem das atividades relacionadas ao procedi-


• Necessidades de ambiente. mento de teste, tais como: configurações a serem feitas,
• Requisitos especiais (qualquer procedimento especial ações a serem executadas antes do início do procedimen-
necessário). to, ações a serem executadas durante o procedimento,
• Dependências entre casos de teste. medições de teste a serem feitas, ações para finalização
dos testes, registro dos resultados da execução do teste,
Procedimento de Teste etc.).

Este documento especifica os passos necessários para exe- Relatórios de Teste


cutar um conjunto de casos de teste e deve conter os seguintes
campos: Existem inúmeros tipos de relatórios de teste e cada empresa
• Identificador (código único que identifica o procedimento poderá adotar os seus próprios relatórios, desde que os mesmos
de teste). contribuam com a melhoria da qualidade. Então a lista abaixo
• Propósito (listagem dos casos de teste abrangidos pelo não é exaustiva e sim uma compilação dos relatórios mais comuns.
procedimento e a descrição dos passos necessários para Relatório de Passagem de Itens de Teste: O propósito
executar estes casos de teste). deste documento é identificar os itens de teste, ou seja, todos os
• Requisitos especiais (descrição de qualquer procedimento artefatos entregues para o teste. Ele é fundamental quando as
especial necessário para a execução do procedimento de tarefas de desenvolvimento e de teste do software são realizadas
teste). por equipes diferentes.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 122

Relatório de Log de Teste: Este documento fornece um Modelo Cascata


registro cronológico das ocorrências na execução dos testes. Definição
dos
Requisitos

Relatório de Incidentes de Teste: Também conhecido Projeto do


Sistema

como Relatório de Defeitos, este documento tem como objetivo Implementação

documentar todos os incidentes (defeitos) que ocorreram durante Teste do Sistema

a execução dos testes e que necessitam de alguma análise ou


Manutenção

correção posterior.
Relatório de Sumário de Teste: Este documento tem como Neste modelo de ciclo de vida, os produtos de trabalho
objetivo apresentar, de forma resumida, os resultados das ati- relacionados a cada fase devem ser completamente desenvol-
vidades de teste executadas e prover avaliações baseadas nesses vidos antes de passarem para a fase seguinte. Os passos são
resultados. É o documento final do processo de teste e apre- executados em sequência e todos os requisitos do cliente são
senta, se o que foi acordado no Plano de Teste, foi realmente refinados progressivamente até o ponto onde a codificação se
realizado ou não. inicia.
O teste é uma fase que só acontece após a implementação
O Teste nos Ciclos de Vida de todo código. Um problema bastante comum que o uso desse
modelo acarreta é o “enforcamento” da fase de testes. Muitas
vezes, a análise se estica um pouco mais, o design começa
atrasado, termina mais tarde e cada fase vai “comendo” um
pedaço da fase subsequente até que o tempo do teste é mínimo
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 123

ou mesmo inexistente. Este modelo de ciclo de vida define níveis de teste corres-
pondente a cada nível de desenvolvimento do software.
Modelo Iterativo O lado esquerdo do modelo foca as atividades de desen-
volvimento do software.
Este modelo de ciclo de vida divide o desenvolvimento A parte central do modelo mostra que o planejamento das
de um produto de software em ciclos ou iterações. Em cada atividades de teste deve ser iniciado a partir de cada fase do
ciclo de desenvolvimento podem ser identificadas as fases de desenvolvimento do software.
elicitação ou definição dos requisitos, projeto, implementação, O lado direito foca as atividades de teste, apresentando
testes e integração. quando elas serão realizadas. Os artefatos produzidos no pro-
Essa característica contrasta com a abordagem cascata, na cesso de desenvolvimento são a referência para o processo do
qual as fases são realizadas uma única vez. teste. Por exemplo, no mesmo momento em que os requisitos
estão sendo refinados em um projeto, o planejamento da acei-
Modelo V tação já pode ser realizado.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 124

Níveis, Tipos e Técnicas de Teste

Dimensões da Qualidade

Técnica Nível Funcionalidade Confiabilidade Usabilidade Desempenho Suportabilidade

Tipos de Teste (alguns exemplos)


Caixa Teste de
Branca Unidade
Caixa Teste de
Segurança Integridade Carga Configuração
Cinza integração
Teste de
Funcional Regressão Usabilidade
Sistema
Caixa
Preta
Aceitação Volume Maturidade Estresse Instalação

Como Testar Quando Testar O que testar


QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 125

Níveis de Teste (Quando testar) aquele que é realizado pelo usuário da aplicação ou por tercei-
ros designados, cujo objetivo é de aprovar ou não o software.
Os níveis de teste fornecem a indicação sobre o foco do teste
e os tipos de problemas a serem encontrados, dependendo do Testes Unitários (ou teste de unidade)
nível em que o teste será realizado. O teste pode ser dividido
em: unitário, de sistema, de integração e, por fim, de aceitação. Teste realizado em um componente (ou unidade) para ve-
O conceito “níveis de teste” está relacionado com o Mode- rificar sua corretude e o próprio desenvolvedor que codificou
lo V, que representa quando as atividades de teste acontecem o componente será o responsável pela execução do teste.
em decorrência do ciclo de vida do software. No entanto, este Neste nível não há necessidade de formalismos na execu-
conceito também pode ser aplicado ao desenvolvimento itera- ção do teste, pois no momento da identificação do problema,
tivo. Quando o teste é realizado no momento da codificação o mesmo é corrigido.
e desenvolvimento do sistema, consideramos o nível de teste
unitário. Já, quando o teste é realizado no momento da inte- Testes de Integração
gração de componentes previamente desenvolvidos, estamos
falando do teste de integração. Teste realizado na interface entre componentes (ou unida-
Após o desenvolvimento do sistema, no momento em que des) e ocorre em paralelo à atividade de integração do sistema.
os analistas de teste validam o produto com base nos requisitos, Realizado pela equipe de desenvolvimento do software.
podemos considerar que estamos tratando do teste de sistema. Pode haver mais de um nível de teste de integração, a serem
Já no ambiente do cliente, considera-se teste de aceitação utilizados em objetos de tamanho variado. Exemplos:
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 126

• Teste de integração de componente: testa interações Integração Descendente (Top-Down)


entre componentes de software e é realizado após o teste
unitário. Os módulos são integrados movimentando-se de cima
• Teste de integração de sistemas: testa interações entre para baixo, através da hierarquia de controle, começando pelo
diferentes sistemas e pode ser realizado após o teste de módulo de controle principal (programa principal).
sistema. Os módulos subordinados ao módulo de controle principal
A integração dos módulos deve ser feita de forma incre- são incorporados à estrutura de uma maneira: depth-first (pri-
mental. Para o teste, devem ser construídos módulos de apoio, meiro em profundidade) ou breadth-first (primeiro em largura).
chamados de drivers e stubs. O processo de integração é executado nos seguintes passos:
Drivers: módulo que chama outro módulo sendo testado, 1. O módulo de controle principal é utilizado como um dri-
tendo em seu corpo apenas inicializações de variáveis, chamadas ver e todos os componentes diretamente subordinados ao
de rotinas e inicializações de parâmetros. módulo de controle principal são substituídos por stubs.
Stubs: módulo que é chamado pelo módulo sendo testado, 2. Dependendo da abordagem de integração selecionada (isto
contendo em seu corpo apenas as atribuições de valores que é, depth-first ou breadth-first), os stubs subordinados são
serão retornados. substituídos, um de cada vez, pelos componentes reais.
Temos duas estratégias de integração: 3. Os testes são feitos à medida que cada componente é
• Integração Descendente (Top-Down). integrado.
• Integração Ascendente (Bottom-Up). 4. Ao fim de cada conjunto de testes, outro stub substitui
o componente real.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 127

5. O teste de regressão pode ser executado para garantir Vantagens


que não tenham sido introduzidos novos erros. • Permite a verificação antecipada do comportamento de
O processo continua a partir do passo 2 até que toda a alto nível.
estrutura do programa esteja concluída. • Um único driver é necessário.
Exemplo: • Módulos podem ser adicionados, um por vez, em cada
passo, se desejado.

Desvantagens
• Retarda a verificação do componente de baixo nível.
• Stubs são necessários para suprir elementos ainda ine-
xistentes.
• Entradas de casos de teste podem ser difíceis de formular.

Exemplo: Integração Ascendente (Bottom-up)


Depth-first:
M2,M5,M8 Componentes de nível inferior são integrados e testados
Breadth-first: antes que os componentes de nível superior tenham sido de-
M2,M3,M4 senvolvidos.
O processo de integração é executado nos seguintes passos:
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 128

1. Componentes de baixo nível são combinados em agre- Integração Ascendente (Bottom-up)


gados. Vantagens
2. Para cada combinação é criado um driver que coordena • Permite a verificação antecipada do comportamento de
as entradas e saídas dos casos de teste. baixo nível.
3. O agregado é testado. • Stubs nem sempre são necessários.
4. O driver é substituído pela combinação de módulos cor- • Mais fácil para formular dados de entrada para algumas
respondentes, que passam a interagir com os módulos sub-árvores.
do nível superior. Desvantagens
5. E xemplo: • Retarda a verificação do componente de alto nível.
• Drivers são necessários para suprir elementos ainda ine-
xistentes.
• Como sub-árvores são combinadas, um grande número
de elementos deve ser integrado de uma só vez.

Testes de Sistema

Teste de sistema se refere ao comportamento de todo o


sistema, ou seja, produto definido pelo escopo de um projeto
ou programa em desenvolvimento. Tem por objetivo verificar
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 129

se o sistema está em conformidade com a especificação de anotando problemas de uso, erros e problemas com
requisitos. relação à percepção do usuário sobre o sistema.
Neste nível, recomenda-se que o teste seja realizado por b. Teste Beta:
uma equipe independente do desenvolvimento (equipe de teste). • Usuário utiliza as suas próprias instalações.
Os testes geralmente são baseados em roteiros de teste criados • O usuário registra todos os problemas encontrados e
a partir da especificação. Neste nível encontramos a maior repassa-os para os responsáveis.
parte dos tipos de teste que veremos a seguir.
Quadro Comparativo entre diferentes tipos de teste
Testes de Aceitação
Testes
Atributos Testes Testes de Testes de
• Testes funcionais, realizados pelo usuário, objetivando de
Unitários Integração Sistema
Aceitação
demonstrar a conformidade com os requisitos do software.
Conjunto de
• Nesse nível é decidido se o software pode ou não ser Sistema Sistema
Escopo Unidades unidades
Todo todo
colocado em produção. agrupadas
• Envolve treinamento e documentação. Analista
Desenvolvedores Analista de de Testes,
• O teste realizado pelo usuário pode ser: Equipe Desenvolvedores e Analistas de Testes e Testadores
a. Teste Alfa: Sistema Testadores e
Usuários
• Usuário utiliza as instalações do desenvolvedor.
Criação
• Os responsáveis acompanham o teste do usuário, Origem Dados
Criação manual Criação manual automática/
dos dados reais
dados reais
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 130

Volume a) teste de performance, teste de usabilidade, teste de porta-


Pequeno Pequeno Grande Grande
dos Dados bilidade etc.
Testes/
Ambientes Desenvolvimento Desenvolvimento Testes
Produção
Esse tipo verifica “como” o sistema opera. A norma ISO
9126 especifica essas características.
Tipos de Teste (O que testar?)

Testes de Estrutura

Testes Funcionais
Teste de estrutura (caixa-branca) verifica a estrutura in-
terna do software.
O Teste Funcional verifica a consistência entre o software
Esses testes são geralmente aplicados nos níveis de compo-
implementado e os seus requisitos funcionais (ou seja, “o que”
nente e integração e deve ser baseado na arquitetura do sistema.
ele deveria fazer).
Pode ser realizado em todos os níveis de teste.
Testes de Recuperação
Está relacionado com o comportamento externo do sof-
tware (caixa preta).
Teste de recuperação é um teste de sistema que força o
software a falhar de diversos modos e verifica se a recuperação
Testes não funcionais
é adequadamente realizada.
Se a recuperação é automática (realizada pelo próprio sis-
O Teste não funcional é executado para medir as caracte-
tema), a reinicialização, os mecanismos de verificação, a recu-
rísticas não funcionais do software. Inclui (mas não se limita
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 131

peração dos dados e o reinício são avaliados quanto à correção. sistema com software projetado sob medida para destruir quais-
Se a recuperação requer intervenção humana, o tempo médio quer defesas que tenham sido construídas; pode tomar o sistema
para reparo é avaliado para determinar se está dentro de limites negando consequentemente serviço a outros; pode causar erros no
aceitáveis. sistema de propósito, esperando invadi-lo durante a recuperação;
pode percorrer dados inseguros, esperando descobrir a chave para
Testes de Estresse entrada no sistema.

Teste de estresse avalia o comportamento do software sob Teste de Desempenho (ou Teste de Performance)
condições críticas, tais como restrições significativas de memória,
espaço em disco, etc., ou seja, coloca o software sob condições O Teste de desempenho é projetado para verificar se o desem-
mínimas de operação. penho do software durante a execução está de acordo com seus
requisitos especificados. É fundamental para sistemas de tempo real.
Teste de Segurança Pressman sugere que muitas vezes o teste de desempenho
pode ser feito combinado com o teste de estresse. Nestas situa-
Teste de segurança verifica se os mecanismos de proteção incor- ções, software e hardware são controlados, a fim de observar seu
porados a um sistema vão de fato protegê-lo de invasão imprópria. comportamento perante às situações nas quais foram colocados,
Durante o teste de segurança, o testador desempenha o papel durante estas fases de teste.
do indivíduo que deseja invadir o sistema. Vale tudo! O testador
pode tentar obter senhas de funcionários externos; pode atacar o
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 132

Teste de Configuração (ou Teste de Portabilidade) ou teste da caixa de vidro, avalia o comportamento interno do
componente de software. Essa técnica trabalha diretamente sobre
Teste de configuração tem como objetivo testar se a aplicação o código fonte do componente de software para avaliar aspectos
funciona corretamente em diferentes ambientes de hardware ou tais como: teste de condição, teste de fluxo de dados, teste de ca-
de software (portabilidade). minhos lógicos, códigos nunca executados.

Testes de Regressão Principais técnicas:

Teste de regressão é a re-execução do teste após uma modifi- • Teste de Caminho Básico.
cação no software com o intuito de verificar se a modificação não • Teste de Estrutura de Controle.
inseriu novos defeitos ou mesmo revelou outros que já estavam lá. Estas são técnicas baseadas na estrutura e que comparti-
Pode ser realizado em todos os níveis de teste. lham uma característica: baseiam-se no conceito de Grafo de
Fluxo de Controle (GFC).
Técnicas de Teste (Como testar?) Usando métodos de teste Caixa-Branca, podemos derivar
casos de teste que:
• Garantam que todos os caminhos independentes de um
Testes Caixa-Branca módulo sejam executados pelo menos uma vez.
• Exercitem todas as decisões lógicas de seu lado verda-
O Teste caixa-branca, também chamado de teste estrutural deiro e falso.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 133

• Executem todos os ciclos (loops) nos seus limites e dentro Notação: As construções estruturadas no grafo de fluxo
de seus intervalos operacionais. formam:
• Exercitem as estruturas de dados internas para assegurar
a sua validade.

Grafo de Fluxo de Controle

Grafo de Fluxo de Controle (GFC) é um grafo dirigido Onde cada círculo representa uma ou mais instruções
(dígrafo), com um único nó de entrada e um único nó de saída. no código fonte!!!
Para sua criação é necessário decompor o programa em blocos
de comando, ligando-os através de arcos. Lógica composta:
Definições:
• Nós: são os círculos e cada um representa um bloco de Uma condição composta ocorre quando um ou mais opera-
comandos. dores booleanos estão presentes em um comando condicional.
• Arestas ou ligações: são as setas e indicam o fluxo de Note que é criado um nó separado para cada uma das condições
controle entre os nós. a e b no comando (nó predicado).
• Caminho: sequência finita de nós (n1, n2, n3, etc.) desde
que haja uma aresta ligando os mesmos.
• Regiões: são as áreas delimitadas por arestas e nós.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 134

SE a E b Exemplo de Fluxograma para Grafo de Fluxo de Controle:

ENTÃO procedimento
x
SENÃO procedimento
y
FIM-SE

SE a OU b
ENTÃO procedimento
x Teste de Caminho Básico
SENÃO procedimento
y O teste de caminho básico permite ao projetista de casos de
teste derivar uma medida quantitativa da complexidade lógica
FIM-SE
de um programa (essa medida é chamada de complexidade
ciclomática):
• Essa medida é usada como guia para definir um conjunto
básico de caminhos de execução.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 135

• Casos de teste criados para exercitar o conjunto básico garantem que:


executam com certeza todas as instruções de um programa • Todo comando do programa terá sido executado pelo
pelo menos uma vez durante o teste. menos uma vez.
• Cada condição terá sido executada no seu lado verdadeiro
Caminhos independentes de programa e no seu lado falso.

Um caminho independente é qualquer caminho através Caminhos independentes de programa:


do programa que introduz pelo menos um novo conjunto de Process(clock,reset,line1,line2)
1. if reset = ‘1’ then
instruções de processamento ou uma nova condição. 2. state := a;
3. output <= ‘0’;
4. overflow <=’0’;
Quando definido em termos de um grafo de fluxo, um ca- 5. elsif clock’event and clock =
‘1’ then
minho independente deve incluir pelo menos uma aresta nova. 6. case state is
7. when a =>
8. if line1 =’1’ and line2 =’1’
Por exemplo, um conjunto de caminhos independentes then
9. state := f;
10. else
para o grafo da figura: 11. state := b;
12. end if;
• Caminho 1: 1 – 11. 13. output <= line1 xor line2;
14. overflow <= ‘0’;
15. when e =>
• Caminho 2: 1 – 2 – 3 – 4 – 5 – 10 – 1 – 11. 16. if line1 =’1’ and line2 =’1’
then
17. state := f;
• Caminho 3: 1 – 2 – 3 – 6 – 8 – 9 – 10 – 1 – 11. 18. else
19. state := b;

• Caminho 4: 1 – 2 – 3 – 6 – 7 – 9 – 10 – 1 – 11.
20. end if;
21. output <= line1 xor line2;
22. overflow <=’1’
Os caminhos de 1 a 4 constituem um conjunto base, isto 23. when b =>

é, os testes projetados para forçar a execução desses caminhos


Outro exemplo: Caminho A: Linhas 1- 2-3-4
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 136

Este trecho de código ainda apresenta outros caminhos. realizados para garantir que todos os comandos tenham sido
Que tal vocês desenharem os grafos correspondentes??? executados pelo menos uma vez.
Caminhos:
• B: Linhas 1-5-6-7-8-9-12-13-14. Cálculo da Complexidade Ciclomática:
• C: Linhas 1-5-6-7-8-10-11-12-13-14-15.
• D: Linhas 1-5-6-15-16-17-20-21-22. Pode ser calculada de três maneiras equivalentes:
• E: Linhas 1-5-6-15-16-18-19-20-21-22. 1. V(G) = R onde R é o número de regiões do grafo G.
• F: Linhas 1-5-6-15-23. 2. V(G) = E – N + 2 onde E é o número de arestas e N é
o número de nós do grafo G.
Complexidade Ciclomática: 3. V(G) = P + 1 onde P é o número de nós predicados
contidos no grafo G (só funciona se os nós predicados
Como sabemos quantos caminhos independentes procurar? tiverem no máximo duas arestas saindo).
O cálculo da complexidade ciclomática fornece a resposta. Exemplo: Vamos calcular a complexidade cliclomática
Complexidade ciclomática é uma métrica de software para o grafo da figura abaixo:
1) V(G) = R
que fornece uma medida quantitativa da complexidade ló-
V(G) = 4, pois o grafo de fluxo tem 4 regiões.
gica de um programa. Desta forma, o valor computado para 2) V(G) = E – N + 2
a complexidade ciclomática define o número de caminhos V(G) = 11 arestas – 9 nós + 2 = 4

independentes no conjunto base de um programa, fornecendo 3) V(G) = P+1

um limite superior para a quantidade de testes que devem ser


V(G) = 3 nós predicado + 1 = 4.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 137

Derivação de Casos de Teste: nalidades e verificar se o resultado gerado está de acordo com
o esperado (pouca preocupação em relação à estrutura lógica
Os seguintes passos devem ser seguidos para elaborar casos interna do software).
de teste a partir do método de teste de caminho básico: Para este tipo de teste temos como principais técnicas:
1. Desenhar o grafo de fluxo correspondente ao código- • Partição por equivalência.
-fonte. • Análise do valor limite.
2. Determinar a complexidade ciclomática do grafo de fluxo • Grafo de causa e efeito.
resultante. • Tabela de decisão.
3. Determinar um conjunto base de caminhos independen- • Teste de transição de estados.
tes.
4. Preparar casos de teste que vão forçar a execução de cada Testes Caixa-Cinza
caminho do conjunto base.
Como sabemos, o Teste caixa-Branca tem acesso direto
Testes Caixa-Preta ao código fonte do programa, validando assim sua estrutura
interna. Porém, no Teste caixa-Preta, não conhecemos sua es-
O Teste caixa-preta, também chamado de teste funcional trutura interna, sabemos apenas quais são as entradas e saídas
ou teste comportamental, focaliza os requisitos funcionais do esperadas, sem conhecer o que é feito com a entrada.
software. No Teste caixa-Cinza, também chamado de teste híbri-
O objetivo é efetuar operações sobre as diversas funcio- do, juntamos estas duas estratégias: conhecimento interno do
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 138

produto e saídas esperadas. Não pode ser confundido com o equivalência (válidas e inválidas).
Teste caixa-Branca, que cobre com testes a estrutura interna 4. Especificar os casos de teste:
do programa. • Eliminar as classes impossíveis ou os casos desinteres-
Importante Turma: Essas são técnicas baseadas na especificação santes.
do produto!!! • Selecionar casos de teste cobrindo as classes válidas das
diferentes variáveis.
Partição por Equivalência • Para cada classe inválida, escolha um caso de teste que
cubra um e somente um de cada vez.
Princípio: Dividir o domínio de entrada em subconjuntos
– classes de equivalência – de maneira que o comportamento Determinação das classes de equivalência:
de um dos membros do conjunto seja representativo do com-
portamento de todos os membros do conjunto.
Definição da variável de Classes de equivalência
entrada
Ideia de completude: Elegendo-se um representante evi-
Intervalo a) Uma classe válida para valores
ta-se a necessidade de testes exaustivos que não irão agregar pertencentes ao intervalo.
conhecimento sobre o comportamento do sistema. b) Uma classe inválida para
valores menores que o limite
1. Decompor o programa em funções. inferior.
2. Identificar as variáveis que determinam o comportamento c) Uma classe inválida para
valores maiores que o limite
de cada função. superior.
3. Particionar os valores de cada variável em classes de
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 139

Lista de valores válidos a) Uma classe válida para os Variável Classes Válidas Classes Inválidas
valores incluídos na lista. C1: 4 <= nro_entradas C3: nro_entradas < 4
b) Uma classe inválida para todos Nro_entradas
<= 6 C4: nro_entradas > 6
os outros valores. C5: valor < 10
a) Uma classe válida para número Valor C2: 10 <= valor <= 99
Número de valores válidos C6: valor > 99
de valores igual ao número
previsto. Determinação dos casos de teste para classes válidas:
b) Uma classe inválida para
número de valores = 0.
c) Uma classe inválida para Para as classes válidas vamos definir, um caso de teste que
número de valores maior ou cubra as entradas válidas. Utilizando a nossa tabela de classes
menor que o valor previsto.
de equivalência teremos 1 caso de teste, ou seja, que cobrirá
Restrições (expressão lógica; a) Uma classe válida para os
sintaxe; valor específico; valores que satisfazem as as C1 e C2.
compatibilidade com outras restrições.
C1 C2 C3 C4 C5 C6
b) Uma classe inválida para os
variáveis) outros valores. n_ro_
entradas X
Exemplo: Considere uma função que aceita como entra- 4..6
das de 4 a 6 valores inteiros de 2 dígitos maiores do que 10. Valor 10..99 X
Identificação das variáveis de entrada e das condições que estas
Classes C1 e C2 - Dados escolhidos:
devem satisfazer: nro_entradas ∈ [ 4, 6 ] valor ∈ [ 10, 99 ]
• Variável nro_entradas = 5.
• Determinação das classes de equivalência:
• Variável valores = 11,12,45,78,95.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 140

Determinação dos casos de teste para classes inválidas: Classe C6 - Dados escolhidos:
Para cada classe inválida, vamos definir um caso de teste »» Variável nro_entradas = 5.
que cubra 1 e somente 1 classe de cada vez. Utilizando a nossa »» Variável valores = 110,45,78,340,95.
tabela de classes de equivalência teremos 4 casos de teste, ou
seja, das classes C3 à C6. Análise do Valor Limite
C1 C2 C3 C4 C5 C6
n_ro_ A análise do valor limite é uma técnica de projeto de casos
entradas de teste que complementa o particionamento por equivalên-
4..6 cia. Em vez de selecionar qualquer elemento de uma classe de
Valor 10..99 equivalência, esta técnica conduz à seleção de elementos que
Classe C3 - Dados escolhidos: estão nas “bordas” da classe para determinar os casos de teste.
»» Variável nro_entradas = 3. Em vez de focalizar somente condições de entrada, também
»» Variável valores = 11,12,45. considera o domínio de saída no projeto dos casos de teste.
Classe C4 - Dados escolhidos: Parte do princípio de que os erros costumam ocorrer perto
»» Variável nro_entradas = 8. dos valores limites das variáveis de entrada. Assume que as
»» Variável valores = 11,12,45,78,95,67,77,54. variáveis de entrada são independentes.
Classe C5 - Dados escolhidos:
»» Variável nro_entradas = 5.
»» Variável valores = 5,11,12,45,6.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 141

Técnica básica: Limitações:

Usam-se os valores próximos dos extremos, mais algum • Testes baseados em partições de equivalência ou análise
valor médio: de valores limites: consideram cada valor de entrada
»» MIN - : Valor ligeiramente abaixo do mínimo possível. isoladamente.
»» MIN: Valor mínimo possível. • E se existirem combinações de valores que constituam
»» MIN+: Valor ligeiramente superior ao mínimo pos- situações interessantes a serem testadas?
sível. Vamos determinar os casos de testes para o exemplo dado
»» NOM: Valor exato da entrada solicitada. na técnica de Partição por Equivalência?
»» MAX-: Valor ligeiramente inferior ao máximo pos- C1 C2 C3 C4 C5 C6
sível. NRO_
entradas 3 4 5 6 7
»» MAX: Valor máximo possível.
4..6
»» MAX+: Valor ligeiramente superior ao máximo pos- Valor 9,10,11,45, 9,10,11,45, 9,10,11,45, 9,10,11,45, 9,10,11,45, 9,10,11,45,
sível. 10..99 98,99,100 98,99,100 98,99,100 98,99,100 98,99,100 98,99,100

Grafo de Causa e Efeito

O grafo de causa e efeito é um método baseado em espe-


cificações de entradas (causas) e saídas (efeitos). Representa a
combinação de entradas em saídas de forma bastante repre-
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 142

sentativa e não redundante. Além disso, aponta ambiguidade à esquerda no grafo.


e incompletude nas especificações. 2. Identificamos os efeitos: são as saídas do programa. Co-
locá-los à direita no grafo.
Definições Iniciais 3. Relacionamos as causas com os efeitos através da notação
a seguir.
• Causa: condições de entrada (valor lógico).
• Efeito: Ações realizadas em resposta às diferentes con- Notação:
dições de entrada.

Exemplo

• Causa: preço >= 50 e 1 <= quantidade <= 99.


• Efeito: forneceremos 5% de desconto.

Passos
Exemplo

1. Identificamos as causas: são as entradas do programa.


Um programa lê dois caracteres e, de acordo com seus va-
Tomar o cuidado de não identificar causas complemen-
lores, mensagens são impressas. O caractere na coluna 1 deve
tares, como por exemplo “x > 60” e “x <= 60”. Colocá-las
ser “A” ou “B”. O caractere na coluna 2 deve ser um dígito. Se
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 143

isto ocorrer, um arquivo é atualizado. Se o primeiro caractere


estiver incorreto, então o sistema deve enviar a mensagem X.
Se o segundo caractere estiver incorreto, então o sistema deve
enviar a mensagem Y.
• Causas identificadas: São as entradas possíveis do pro-
grama:
1. Caractere na coluna 1 é “A”. Tabelas de Decisão
2. Caractere na coluna 1 é “B”.
3. Caractere na coluna 2 é um dígito. Uma tabela de decisão mostra todos os efeitos (ações) que
• Observe que não colocamos, por exemplo, a causa “ca- ocorrem para todas as combinações de causas (condições).
ractere na coluna 2 não é um dígito”, pois esta causa é Podemos construir as tabelas de decisão a partir do grafo
complementar à causa 3, sendo obtida por negação desta. de causa e efeito.
• Efeitos identificados: Obtemos o número de regras a partir da potência de 2
• 70 – Atualiza Arquivo. elevado ao número de causas e geramos um caso de testes para
• 71 – Mensagem X. cada regra (coluna).
• 72 – Mensagem Y.
• Grafo de causa e efeito resultante: Passo a passo para elaboração:

1. Escolher um efeito como ação a ser executada, isto é,


QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 144

marcar um “x” na regra correspondente a este efeito. Efeitos (ações)


2. Rastrear no grafo quais as combinações de causas que 70 –
Atualiza V V V F F F F F
levam a esse efeito e marcar um “V” ou “F” na posição Arquivo
correspondente na tabela. 71 –
3. Para cada combinação criada, verificar se ocorrem ou Mensagem F F F F V F F V
X
não os outros efeitos.
72 –
Vamos elaborar as tabelas de decisão para o exemplo do Mensagem F F F V F V V V
Grafo de Causa e efeito? Olhe abaixo a tabela resultante Y
Ou seja, elaboraremos 8 casos de teste, um para cada combinação
para o efeito 70.
de entradas (regra) para os efeitos possíveis. O resultado do teste de
Regra Regra Regra Regra Regra Regra Regra Regra
1 2 3 4 5 6 7 8 cada regra no programa deverá ser o resultado da regra para os efeitos
Condições apontados pelo grafo de causa e efeito.
Caractere
na coluna Sim Não Sim Sim Não Não Sim Não Teste de Transição de Estados
1 é “A”
Caractere
na coluna Sim Sim Não Sim Não Sim Não Não A técnica de transição de estados é utilizada quando algum as-
1 é “B” pecto da aplicação pode ser representado através de uma máquina de
Caractere
estados finita.
na coluna
Sim Sim Sim Não Sim Não Não Não
2 é um Por exemplo, as tentativas de acesso a uma conta por meio do
dígito caixa eletrônico. Na terceira tentativa incorreta, a senha do usuário
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 145

fica bloqueada. Temos então: dos resultados da execução.


• Primeira tentativa OK -> Conta acessada. Vimos também que existem diversos métodos de revisão. Os
• Primeira tentativa NOK -> Segunda tentativa OK -> Conta detalhes de cada método foram vistos anteriormente... mas.... é im-
acessada. portante guardarmos os nomes dos métodos: Inspeção, Revisão em
• Primeira tentativa NOK -> Segunda tentativa NOK -> Terceira Time, Walkthrough, Programação em pares, Revisão por pares e
Tentativa OK -> Conta acessada. Passaround.
• Primeira tentativa NOK -> Segunda tentativa NOK -> Terceira Sabemos agora que existem diversos documentos importan-
Tentativa NOK -> Senha Bloqueada. tes que são construídos ao longo do processo de teste. Os principais
documentos são os planos de teste, o projeto de teste, os casos de
Síntese teste e os procedimentos de teste. Importantíssimo lembrarmos que
devemos ter uma padronização de cada documento, a fim de evitarmos
Neste capítulo vimos os principais conceitos relacionados à área que cada pessoa tenha suas interpretações e nos conduza a resultados
de testes de software. A primeira e principal definição que gostaria indesejados.
que vocês lembrassem é que “Testar é procurar defeitos e não provar A terminologia de testes é bem ampla e foi coberta no decorrer do
que o software está funcionando.” capítulo. O importante é guardarmos os principais conceitos que são:
Os testes estão baseados em 3 etapas principais, que são as etapas • Níveis de Teste: Definem o momento que o teste será realizado.
de planejamento (definição de todo o projeto do teste, do que precisa- • Tipos de Teste: Definem o que será testado especificamente.
remos para testar, como testaremos, etc.), Projeto de teste (preparação • Técnicas de Teste: Definem como testaremos, o passo a passo,
para o teste, com definição de casos, procedimentos, scripts, etc.), etapas.
Execução propriamente dita (execução do que projetamos) e Entrega
Exercícios Agora:

1) Tendo por base o conceito de erro, defeito e falha. Crie um 2) Identifique as causas e os efeitos:
exemplo de cada um, dentro de um mesmo contexto.
Cenário para os exercícios 2, 3, 4 e 5: 3) Elabore o grafo de causa e efeito:

• Supor um sistema bancário que trate somente duas tran- 4) Elabore a tabela de decisão:
sações:
»» Depósito número da conta quantia 5) Elabore os casos de teste:
»» S aque número da conta quantia

• Requisitos do cenário:
»» S e o comando é depósito e o número da conta é válido,
então a quantia é depositada.
»» Se o comando é saque e o número da conta é válido e a
quantia é válida (0 < quantia <= saldo), então a quantia é
sacada.
»» Se o comando ou número da conta ou a quantia for inválido,
então exibir mensagem de erro apropriada.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 147

AUDITORIA DA
TECNOLOGIA DA
INFORMAÇÃO
Por que auditar? A prática nos mostra
que não adianta termos o melhor
processo, a norma mais completa, se não
acompanharmos o que está havendo...
Durante nossa jornada vimos a definição de qualidade,
seus principais gurus, diversas ferramentas da qualidade, assim
como normas e modelos mundialmente aceitos e chegamos a
ver algumas técnicas para teste.
O destino final desta viagem não poderia ser mais oportuno:
Um estudo sobre a auditoria em Tecnologia da Informação.
Tudo o que vimos pode e deve ser utilizado como insumo para
a auditoria.
Como eu disse a vocês no chamamento deste capítulo, pre-
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 148

cisamos auditar se o que planejamos está sendo feito da forma sistema. O sistema garante a consistência das transações.
que foi definida e segundo as normas e padrões da metodologia Os elementos de correção e completude das transações
de desenvolvimento que estivermos utilizando no projeto. são evidentes. Os usuários tomam decisões baseadas nas
informações sem receio.
Fundamentos de auditoria de sistemas de • Confidencialidade: As informações são reveladas somente
informações às pessoas que necessitam conhecê-las.
• Privacidade: As funções incompatíveis nos sistemas são
Qual o objetivo de realizarmos auditorias em sistemas? O segregadas. No processo de autorização os usuários en-
porquê já ficou claro na introdução... Mas quanto ao objeti- xergam apenas as informações necessárias à execução de
vo... Vamos lá pessoal!!! O principal objetivo da auditoria de suas tarefas.
sistemas é verificar se as informações armazenadas em meio • Acuidade: As transações processadas podem ser validadas.
eletrônico atendem aos requisitos de confiança e segurança, se Um módulo de consistência de entrada de dados pode
os controles internos foram implementados e principalmente auxiliar na verificação dos dados fonte, atentando para
se são efetivos. sua veracidade. Isso é fundamental para evitar que dados
Importante termos em mente que a auditoria de sistemas não qualificados sejam colocados nos sistemas, gerando
deve atuar em todos os sistemas da organização, seja no nível transações indevidas ou inválidas.
operacional, tático ou estratégico. • Disponibilidade: O sistema precisa estar disponível para
Para tanto, devemos observar alguns princípios: o cumprimento dos objetivos empresariais; Uma vez que
• Integridade: Confiança nas transações processadas pelo sua falta pode resultar em perda financeira ou gerar pro-
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 149

blemas de continuidade do negócio. E também questões Importância


de saúde... lembram-se do caso Ariane ou Therac no
início deste ebook? Não podemos negar a fundamental importância da audi-
• Auditabilidade: Os sistemas devem documentar logs toria. Abaixo veremos alguns pontos que por si só já justificam
operacionais que permitam trilhas de auditoria. o investimento e a nossa atenção a este aspecto:
• Versatilidade: O sistema deve ser amigável, fácil de se • Altos investimentos das organizações em sistemas com-
adaptar ao workf low operacional da empresa, utilizar putadorizados.
recursos de importação e exportação de dados de forma • Necessidade de garantir a segurança dos computadores
simples, etc. e seus sistemas.
• Manutenibilidade: Políticas e procedimentos operacionais • Garantia do alcance da qualidade dos sistemas compu-
devem contemplar controles quanto a teste, conversão, tadorizados.
implantação e documentação de sistemas novos ou modi- • Auxiliar a organização a avaliar e validar o ciclo admi-
ficados. Quando da manutenção do sistema os riscos de nistrativo.
contaminação dos ambientes de teste e produção devem
ser eliminados. Não há risco de os sistemas virarem col- Tipos de Auditoria
chas de retalhos por falta de uma metodologia apropriada
para a manutenção. Temos basicamente dois tipos de auditoria:
• Interna: Realizada por funcionários da própria organi-
zação. Em empresas de grande porte, existe um depar-
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 150

tamento específico para auditoria interna; quanto ao manuseio dos dados, aprovação e registro de
• Externa: Realizada por profissionais devidamente certi- transações comerciais, mas não constrói controles de
ficados e totalmente independentes da empresa auditada. programas junto aos sistemas.
• Utiliza técnicas de verificação, pois instiga como os dados
Abordagens são processados e os resultados intermediários, através
de simulações.
Ao redor do computador Vantagens: Consegue capacitar melhor o auditor a respeito
• Trabalha a partir de documentos de E/S. de habilidade profissional no que tange ao conhecimento de
• Não envolve muita T.I.. processamento eletrônico de dados.
• Não se preocupa muito com as funções de processamento; Desvantagens: Necessidade de treinamento de auditores,
• Apropriada para pequenas empresas. aquisição e manutenção de pacotes de software, há risco de
Vantagens: Ela não exige muito conhecimento de T.I. e que os programas de testes estejam incorretos ou “viciados” e
possui baixo custo. ignora as tarefas executadas manualmente.
Desvantagens: Considerada incompleta, com poucos parâ- Com o computador:
metros de auditoria, onde os documentos ficam desatualizados • Utiliza o computador para verificar se os cálculos e tran-
e as decisões são baseadas em relatórios e documentos podendo sações econômicas e financeiras são feitos corretamente.
ser distorcidas. • Utiliza cálculos estatísticos e de geração de amostras
Através do computador que facilitam a confirmação dos dados e a aferição da
• Além de envolver a confrontação de documentos, alerta integridade dos mesmos.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 151

• Utiliza capacidade de edição e classificação do sistema organizacional, contratos, normas técnicas, custos, nível
computadorizado, a fim de ordenar e selecionar registros; de utilização de equipamentos e planos de segurança e
• Inclui a verificação dos procedimentos computadorizados de contingência.
e dos procedimentos manuais. • Auditoria em eventos específicos: Compreende a análise
Vantagens: Mais completa. das causas, consequências e ações corretivas cabíveis em
Desvantagens: É mais cara e mais demorada. eventos não cobertos pelas auditorias anteriores.

Momentos Pontos de Controle da Auditoria

• Auditoria durante o desenvolvimento do sistema: Com-


preender e auditar todo o processo de construção do Conceito
sistema de informação, da fase de requisitos até a sua
implantação, bem como o próprio processo ou metodo- São as situações do ambiente computacional que são can-
logia de desenvolvimento. didatas para escolha para a realização da validação e avaliação
• Auditoria de sistemas em produção: Preocupa-se com os dentro da auditoria e podem ser, entre outras:
procedimentos e resultados dos sistemas já implantados, • Módulo de um sistema.
sua segurança, corretude e tolerância a falhas. • Processo de um sistema.
• Auditoria no ambiente tecnológico: Compreende a aná- • Banco de dados.
lise do ambiente de informática em termos de estrutura • Tabela de um banco de dados (arquivo).
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 152

• Coluna de uma tabela (campo). • Resultado: Constituído de documentos, relatórios, ar-


• Linhas na tabela (registros). quivos, pontos de integração, estrutura lógica do sistema,
Após os testes de validação, se o Ponto de controle apre- estrutura física do sistema, modelo conceitual de base de
senta fraqueza, então ele passa a ser denominado como Ponto dados, etc. Exemplos:
de auditoria. »» Informações de relatórios de saída.
»» Consistência das informações de bancos de dados.
Tipos »» Interface com o usuário.
»» Interface com outros sistemas.
• Processo: Constituído de rotinas operacionais, rotinas de »» Tempo de processamento, etc.
controle, etapas do ciclo de desenvolvimento de softwa-
res, etapas de manutenção de sistemas, procedimentos Fraqueza
administrativos, etc. Exemplos:
»» Rotina para cálculo de dígito verificador. Uma fraqueza é uma vulnerabilidade, ou seja, um ponto
»» Rotina para cálculo de salário líquido. sujeito a falha. Podemos utilizar este conceito para classificar
»» Procedimento de entrada de dados. os pontos de controle. A escala exata de valores depende do
»» Procedimentos de conferência de relatórios. tipo de negócio e seu grau de tolerância às falhas através das
»» Procedimentos de backup. vulnerabilidades encontradas. Por exemplo: Para uma vulne-
»» Procedimentos de atualização de versão de software, rabilidade em um sistema de saúde podemos ter como muito
etc. forte ( < fraqueza) uma fraqueza com 10% de chances de ocor-
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 153

rer. Já em um sistema de vendas de balcão, uma fraqueza com gência das ações, o enfoque que se deseja, bem como o
50% de chances de ocorrer já poderia ser considerada como quantitativo de sistemas a serem auditados. Recomenda-se
de menor impacto. formar uma equipe de trabalho com dois grupos, sendo
Escalas de fraquezas sugeridas: um de coordenação e outro de execução.
1. Muito Fraco ( > fraqueza). 2. Levantamento do sistema a ser auditado: Uma vez
2. Fraco. delimitado o escopo de trabalho, ou seja, o sistema a ser
3. Regular. auditado, inicia-se o processo de levantamento das infor-
4. Forte. mações relevantes sobre o sistema. A fim de otimizar os
5. Muito forte (< fraqueza). recursos envolvidos, este levantamento deve ser feito de
maneira abrangente, de forma que seja possível o enten-
Organização da Auditoria dimento macro das características do sistema. Podemos
utilizar técnicas de entrevista e análise de documentação
existente, colocando as informações de forma gráfica ou
Etapas da Auditoria descritiva. Ferramentas como diagramas de f luxos de
dados, modelos entidade-relacionamento, dicionário
1. Planejamento e controle do projeto: De acordo com as de dados, casos de uso, diagramas de classe e sequên-
diretrizes da alta administração, estabelece-se o plane- cia, diagramas de integração de sistemas, são poderosos
jamento inicial das ações e recursos necessários para a aliados nesta fase, pois explicam o comportamento do
execução da auditoria. Leva-se em consideração a abran- sistema e seus relacionamentos.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 154

3. Identificação dos Pontos de Controle: Nesta etapa parte do trabalho a ser realizado. A seleção dos pontos
busca-se identificar os diversos pontos de controle que de controle pode ser efetuada com base em:
merecem ser validados no contexto do sistema escolhido. • Grau de risco existente no ponto: a análise do risco
A esse processo denominamos inventário de pontos de consiste na verificação dos prejuízos que poderão ser
controle. Os pontos de controle podem ser encontrados acarretados pelo sistema a curto, médio e longo prazo;
nos documentos de entrada, relatórios de saída, telas, • Existência de ameaças: podemos auditar primeiramente
arquivos, bancos de dados, pontos de integração e de- os pontos que se encontram sob forte ameaça, e depois,
mais elementos relevantes para o sistema. Cada ponto de aqueles sob menos pressão.
controle deve ser relacionado, e seus objetivos descritos • Disponibilidade de recursos: escolha dos pontos que
em termos de controle interno, assim como as funções possam ser auditados com os recursos destinados.
que eles exercem no sistema como um todo. Devem • Esta priorização deverá ser revisada ao longo do trabalho,
ser identificados os seus parâmetros, suas fraquezas e para verificar sua pertinência em relação ao desenrolar
técnicas de auditoria mais adequadas à sua validação. O das atividades da auditoria.
resultado deste levantamento deve ser encaminhado ao 5. Avaliação dos Pontos de Controle: Esta etapa consiste
grupo de coordenação para uma validação de pertinência em realizar os testes de validação dos pontos de controle,
e eventual triagem. segundo as especificações e parâmetros determinados
4. Priorização dos Pontos de Controle: Essa etapa con- nas etapas anteriores. É a auditoria propriamente dita!
siste na seleção e priorização dos pontos de controle que Devemos aplicar técnicas de auditoria que evidenciem
foram inventariados na etapa anterior, que devem fazer falhas ou fraquezas do controle interno. O emprego de
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 155

ferramentas adequadas à verificação em questão pode as recomendações tenham sido executadas e as fraquezas
ser necessário para atingir o resultado satisfatório. Para tenham sido eliminadas ou atinjam um nível tolerável
cada objetivo e característica do ponto de controle existe pela organização.
uma técnica de auditoria e ferramenta mais eficiente.
6. Conclusão da Auditoria: Ao finalizarmos a execução Produtos Gerados
dos testes de validação dos pontos de controle, devemos
elaborar um relatório de auditoria contendo o resultado É importante termos em mente que podemos gerar muitos
encontrado, qualquer que seja ele. Este relatório deve outros produtos a partir da realização de uma auditoria. Abai-
conter o diagnóstico da situação atual dos pontos de xo, listo os principais artefatos que deverão compor o nosso
controle e, se encontrarmos, as fraquezas do contro- portfólio de produtos:
le interno segundo as especificações determinadas nas • Relatório de fraquezas de controle interno: Este rela-
etapas anteriores. O fato de um determinado ponto de tório deverá conter no mínimo as seguintes informações:
controle apresentar fraqueza transforma-o em Ponto de »» Nome do ponto auditado.
auditoria, fazendo-se necessário apontar no relatório de »» Descrição sucinta do ponto de controle.
auditoria recomendações para solução ou mitigação dessa »» Problemas detectados.
fraqueza. Cada ponto de auditoria deverá sofrer revisão a »» Impacto.
avaliação por parte de analistas e usuários responsáveis. »» Recomendações.
7. Acompanhamento da Auditoria: O acompanhamento • Certificado de controle interno: Certificado que contém
da auditoria (follow-up) deve ser efetuado até que todas o grau de fraqueza dos pontos de controle auditados.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 156

• Relatório de redução de custos: Onde apresentaremos nologia da informação fornecidas pelo Comitê de Padrões da
uma estimativa de redução de custos consequentes da Associação de Controle e Auditoria de Tecnologia de Infor-
auditoria realizada. Normalmente os empresários gostam mação dos Estados Unidos.
muito deste item em particular...=) Desta forma temos:
• Manual de auditoria do ambiente auditado: Docu- • Responsabilidade, autoridade e prestação de contas:
mento contendo os pontos de controle do ambiente a ser A responsabilidade, a autoridade e a prestação de contas
auditado e previsão de recursos e prazos para execução sobre a função de auditor devem ser apropriadamente
dos trabalhos. documentadas numa carta proposta ou de aderência ao
• Pastas contendo a documentação obtida pela auditoria escopo;.
de sistemas: Todos os documentos obtidos e gerados du- • Independência profissional: O auditor deve ser indepen-
rante o trabalho de auditoria (relatórios, atas de reunião, dente da área sob auditoria para permitir uma conclusão
etc) deverão ser arquivados em uma pasta da auditoria. objetiva da auditoria.
• Ética profissional e padrões: O auditor de TI deve aderir
Padrões e Código de Ética ao código de ética profissional da Associação de Controle
e Auditoria de Tecnologia de Informação, atentando para
o cumprimento do zelo profissional.
Padrões • Competência: O auditor de TI, no uso de suas habilida-
des e conhecimentos, deve ser competente tecnicamente
São recomendações sobre o trabalho do auditor de tec- e deve manter essa competência através de educação
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 157

continuada. Código de Ética


• Planejamento: O auditor de TI deve planejar suas tarefas
e supervisionar apropriadamente a equipe para assegurar É definido pela Associação de Auditores de Sistemas e
que os objetivos da auditoria sejam alcançados e que os Controles (ISACA) e tem como principal objetivo apoiar a
padrões profissionais de auditoria sejam respeitados. implementação e encorajar o cumprimento dos padrões suge-
• Emissão de relatório: O auditor de TI deve prover um ridos para controles de sistemas de informações.
relatório para os destinatários quando a auditoria esti- Podemos observar que o auditor deve:
ver concluída. Esse relatório deve conter: identificação • Exercer suas funções com objetividade, diligência e zelo
da organização, usuários envolvidos, escopo, objetivos, profissional, de acordo com os padrões profissionais e as
período de abrangência, natureza, extensão do trabalho melhores práticas. Servir aos interesses dos stakeholders
executado, observações, conclusões, recomendações e de forma legal e honesta, atentando para a manutenção
quaisquer ressalvas ou conceitos que o auditor possua a de alto padrão de conduta e caráter profissional, e não
respeito da auditoria. encorajar atos de descrédito à profissão.
• Atividades de Follow-Up: O auditor de TI deve re- • Manter privacidade e confidencialidade das informações
quisitar e avaliar informações apropriadas sobre pontos, obtidas no decurso de suas funções, exceto quando exigido
conclusões e recomendações anteriores e relevantes para legalmente. Tais informações não devem ser utilizadas em
determinar se ações apropriadas foram implementadas vantagem própria ou entregue a pessoas desautorizadas.
em tempo hábil. • Manter competência nas respectivas especialidades e
assegurar que somente atua nas atividades que tem ra-
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 158

zoável habilidade. • IDEA (Interactiva Data Extraction & Analysis): é um


• Informar partes envolvidas sobre os resultados de seus software para extração e análise de dados também de-
trabalhos, expondo todos os fatos significativos ocorridos. senvolvido no Canadá.
• Apoiar a conscientização profissional dos stakeholders • Audimation: é a versão norte-americana do IDEA, da
para auxiliar sua compreensão dos sistemas de informa- Caseware-IDEA, que desenvolve consultoria e dá suporte
ções, segurança e controle. para o produto.
• Galileo: software integrado de gestão de auditoria. Inclui
Ferramentas de apoio à auditoria gestão de riscos de auditoria, documentação e emissão
de relatórios para auditoria interna.
• Pentana: software de planejamento estratégico de audi-
Ferramentas Generalistas toria, com planejamento e monitoramento de recursos,
controle de horas, registro de checklists e programas de
Conceito: Softwares, de uso em ambiente batch, que podem auditoria, inclusive de desenho e gerenciamento de plano
processar, simular, analisar amostras, gerar dados estatísticos, de ação.
sumarizar, apontar duplicidade e outras funções que o auditor Vantagens:
desejar. • Pode processar vários arquivos ao mesmo tempo.
Exemplos: • Pode processar vários tipos de arquivos com formatos
• ACL (Audit Command Language): é um software de diferentes, por exemplo ASCII.
extração e análise de dados desenvolvido no Canadá. • Poderia também fazer uma integração sistêmica com
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 159

vários tipos de softwares e hardwares. • O auditor, quando consegue desenvolver softwares es-
• Reduz a dependência do auditor do especialista de in- pecíficos numa área muito complexa, pode utilizar isso
formática para desenvolver aplicativos específicos para como vantagem competitiva.
todos os auditores de sistemas de informação. Desvantagens:
Desvantagens: • Pode ser muito caro, pois terá uso limitado e normalmente
• Como o processamento das aplicações envolve gravação restrito a determinado cliente.
de dados (arquivos) em separado para serem analisados, • Atualização pode ser complicada devido à falta de re-
poucas aplicações podem ser feitas em ambiente on-line. cursos que acompanhem as novas tecnologias.
• O software não consegue processar cálculos complexos,
pois como se trata de um sistema generalista, não apro- Utilitários em Geral
funda na lógica e na matemática muito complexas.
São os softwares utilitários para executar funções muito
Ferramentas Especializadas comuns de processamento, como ordenar um arquivo, conca-
tenar textos, sumarizar, gerar relatórios. Podemos utilizar um
São softwares desenvolvidos especificamente para execu- EXCEL, ou recursos de bancos de dados como o SQL, etc.
tarem certas tarefas numa circunstância definida. Vantagem:
Vantagens: • Pode ser utilizado como alternativa na ausência de outros
• Pode atender sistemas ou transações não contempladas recursos.
por softwares generalistas. Desvantagem:
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 160

• Sempre necessitará do auxílio do funcionário da empresa • Normalmente aplicada no ambiente batch.


auditada para operar a ferramenta (no caso de ferramentas Vantagens:
complexas, como bancos de dados). • Os dados podem ser elaborados por pessoas que possuem
um mínimo conhecimento técnico de informática.
Técnicas de Auditoria • Existem softwares que auxiliam na geração de dados e
tornam a tarefa bastante simples.
Desvantagens:
Dados de Teste • Dificuldade em planejar e antecipar todas as combina-
ções de transações que podem acontecer em ambiente
• Também conhecido como “test data” ou “testdeck”, envol- de negócios das empresas.
ve o uso de um conjunto de dados especialmente projetado
e preparado com o objetivo de testar as funcionalidades Facilidade de Teste Integrado
de entrada de dados do sistema. Após o processamento
do arquivo deve-se verificar os resultados obtidos com Também conhecido como Integrated Test Facility (ITF), é
os planejados. Esta técnica pressupõe que os dados sejam melhor aplicado em ambientes on-line. Os dados de testes são
abrangentes e verifiquem principalmente os limites de introduzidos nos ambientes reais de processamento (ambiente
cada intervalo permitido para as variáveis. de produção).
• Quanto mais combinações de transações puderem ser O teste envolve a aplicação de entidades fictícias, tais como
feitas no arquivo de carga, maior será a cobertura do teste. funcionários fantasmas na folha de pagamento ou cliente ine-
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 161

xistente no contas a receber. Os dados no processamento de produção. Faz-se o processamento das transações e/ou dados nos
transações reais são confrontados com os dados fictícios. dois programas e compara-se os resultados. É possível utilizar
Vantagens: a técnica para rotinas que apresentam resultados recorrentes
• Não acarreta custo adicional ou ambiente de processa- que são incoerentes.
mento exclusivo, pois funciona no ambiente de produção Vantagens:
das empresas. • Custos relacionados com a preparação de massa de dados
Desvantagens: ou dados fictícios não existem, visto que o programa
• Os efeitos das transações precisam ser estornados, dando opera em ambiente real. Pode-se processar um grande
trabalhos adicionais e operacionais quando são misturados volume de dados.
com dados reais. Desvantagens:
• Existe possibilidade de ser contaminar dados reais com • Esforço para desenvolver o programa utilizado na técnica.
dados fictícios no ambiente de produção da empresa,
causando grande transtorno para a organização. Lógica de Auditoria Embutida nos Sistemas

Simulação Paralela Significa incluir a lógica de auditoria nos sistemas na fase


de desenvolvimento. Relatórios de auditoria e logs do sistema
Envolve o uso de um programa especialmente desenvolvido podem ser impressos periodicamente para revisão e acompa-
que, comprovadamente, atenda a todas as lógicas necessárias nhamento dos procedimentos operacionais.
para o teste, simulando as funcionalidades do programa em
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 162

Vantagens: Essa técnica pode ser feita manualmente nos principais


• Todas as atividades do sistema podem ser monitoradas programas do sistema ou nos mais críticos para o negócio.
permanentemente com simples acesso do auditor.
• Não apresenta restrições quanto à entrada de dados que Rastreamento e Mapeamento
podem ser incluídos.
• Um dos métodos mais eficientes e eficazes de fazer au- Também conhecida como accontability, consiste em imple-
ditoria. mentar uma trilha de auditoria para acompanhar os principais
Desvantagens: pontos da lógica do processamento das transações críticas, re-
• Implantação da lógica de auditoria embutida nos sistemas gistrando seu comportamento e resultados para análise futura
exige custo adicional no desenvolvimento do sistema, na (ou seja, é uma listagem da sequência de instruções executadas.
utilização dos recursos de máquinas e, até mesmo, perda Vantagens:
de desempenho. Ajuda na avaliação dos controles internos que devem ser
seguidos. Pode ser utilizado tanto em ambiente de teste como
Análise da Lógica de Programação no ambiente de produção.
Desvantagens:
Consiste, basicamente, na verificação da lógica de progra- Exige que o auditor tenha habilidade avançada de TI para
mação para certificar que as instruções dadas ao computador que possa interpretar as lógicas de programação. Aumenta o
são as mesmas já identificadas das documentações dos sistemas tempo de processamento das transações.
aplicativos.
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 163

Questionário Análise de Relatórios e Telas

Corresponde à elaboração de um conjunto de perguntas Implica a análise de documentos, relatórios e telas do sis-
com o objetivo de verificação de determinado ponto de controle tema sob auditoria no tocante a:
do ambiente computacional. Essas questões buscam verificar • Nível de utilização pelo usuário.
a adequação do ponto de controle aos parâmetros do controle • Esquema de distribuição e número de vias emitido.
interno (segurança lógica, segurança física, obediência à legis- • Grau de confiabilidade do seu conteúdo.
lação, eficácia, eficiência, etc.). • Forma de utilização e integração entre relatórios/telas/
documentos.
Entrevista • Distribuição das informações segundo o leiaute vigente.

Corresponde à realização de reunião entre o auditor e os Síntese


auditados - profissionais e usuários envolvidos com o ambiente
ou o sistema de informação sob auditoria. As questões buscam Vimos neste capítulo que o principal objetivo da auditoria
verificar a adequação do ponto de controle aos parâmetros do de sistemas deve ser verificar se as informações armazenadas
controle interno (segurança lógica, segurança física, obediência em meio eletrônico atendem aos requisitos de confiança e
à legislação, eficácia, eficiência, etc.). segurança, se os controles internos foram implementados e
principalmente se são efetivos.
Em um mundo conectado, com inúmeros sistemas in-
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 164

terligados, com investimentos significativos em tecnologia a Uma auditoria bem estruturada segue os seguintes passos
auditoria é algo de que não podemos abrir mão. básicos: planejamento e controle do projeto, levantamento do
Temos que gravar os principais princípios de uma auditoria sistema a ser auditado, identificação dos pontos de controle,
séria e confiável: priorização dos pontos de controle, avaliação dos pontos
• Integridade, Confidencialidade, Privacidade, Acui- de controle, conclusão da auditoria e acompanhamento da
dade, Disponibilidade, Auditabilidade, Versatilidade auditoria.
e Manutenibilidade. A auditoria gera diversos produtos que serão utilizados pelas
A auditoria pode ser desempenhada tanto por recursos empresas para melhorar os seus pontos fracos, norteando assim
internos ou externos. O tipo mais indicado depende do nível as ações preventivas e corretivas. Dentre os principais produ-
de auditoria desejado e se existem recursos preparados dentro tos gerados podemos citar: Relatório de fraquezas de controle
da empresa para tal atividade. interno, Certificado de controle interno, Relatório de redução
Outra questão importante é que a auditoria mais efetiva é de custos, Manual de auditoria do ambiente auditado e Pastas
aquela realizada em conjunto com o computador, onde utilizare- contendo a documentação obtida pela Auditoria de Sistemas.
mos efetivamente os recursos para darmos o parecer adequado. Pessoal!!! A segunda parte deste capítulo, nos trouxe um
Além disso a auditoria mais efetiva é aquela que ocorre ponto extremamente importante que são os padrões e código de
em todos os momentos, a cada etapa e entre etapas do desen- ética para o exercício das atividades de auditoria. A confiança
volvimento. Desta forma, os desvios são identificados mais depositada em nosso trabalho como auditores e o respeito da
rapidamente e ações corretivas são implementadas de forma profissão são totalmente baseados na credibilidade de nosso tra-
mais efetiva. balho. Portanto, vamos respeitar integralmente estes princípios!!!
QUALIDADE E AUDITORIA DE
TECNOLOGIA DA INFORMAÇÃO 165

• Responsabilidade, Autoridade e Prestação de Contas; Técnicas Ferramentas


• Independência Profissional. Dados de Teste Ferramentas Generalistas
Facilidade de Teste Integrado Ferramentas Especializadas
• Ética Profissional e Padrões (código de ética da associa-
Simulação Paralela Utilitários em Geral
ção de auditores).
Lógica de Auditoria Embutida nos
• Competência. Sistemas
• Planejamento. Análise da Lógica de Programação
• Emissão de relatório. Rastreamento e Mapeamento
• Atividades de Follow-Up. Questionário
Como forma de apoiar a atividade do auditor, facilitando Entrevista
Análise de Relatórios e Telas
assim o nosso trabalho temos uma série de técnicas e ferra-
mentas que podemos utilizar. A lista estudada não é exaustiva,
ou seja, podemos e devemos sempre buscar o aperfeiçoamento
de nossas habilidades para prestar um serviço de qualidade.
Dentre as principais técnicas e ferramentas citamos:
Exercícios pessoas que desempenham esta atividade de estoque dentro
de alguma empresa.
1. A auditoria é uma técnica utilizada para monitorar o estado
de segurança de uma rede. Os logs de sistemas e aplicações 3. Sendo assim, elabore um plano de auditoria contemplando
são alvos da auditoria. Baseado nessas informações faça um as fases vistas neste capítulo.
breve comentário de como a auditoria pode auxiliar o admi-
nistrador de sistemas na manutenção do estado de segurança 4. Agora, faça um questionário para avaliar se a teoria se con-
de uma empresa. firma em prática. Que perguntas você faria? Quais os critérios
que selecionaria? Com quem falaria?
2. Tomando como ponto de partida uma das ferramentas de
auditoria citadas, realize a instalação e teste ao menos uma 5. Por fim, monte um protótipo de apresentação referente ao
delas, descrevendo como foi o processo e que teste foi realizado. resultado da auditoria. Que pontos você destacaria?
Situação para as questões 3,4 e 5:

Suponha que você está auditando um sistema de controle


de estoques em uma empresa. Essa empresa teoricamente
já possui um sistema confiável, totalmente implantado e as
pessoas teoricamente já foram treinadas e sabem operar
o sistema. Dica: Faça pesquisas na internet e converse com
REFERÊNCIAS
GARVIN, DAVID A., GERENCIANDO A QUALIDADE: A VISÃO ESTRATÉGICA E COMPETITIVA. QUALIMARK 2002.

IMONIANA, JOSHUA ONOME. AUDITORIA DE SISTEMAS DE INFORMAÇÃO. EDITORA ATLAS, 2008 – SÃO

PAULO

KOSCIANSKI, ANDRÉ; SOARES, MICHEL DOS SANTOS. QUALIDADE DE SOFTWARE: APRENDA AS METODOLOGIAS E TÉCNICAS MAIS MODERNAS PARA O
DESENVOLVIMENTO DE SOFTWARE. SÃO PAULO. NOVATEC, 2007.

MELLO, M.S. “MELHORIA DE PROCESSO DE SOFTWARE MULTI-MODELOS BASEADA NOS MODELOS MPS E CMMI-DEV”. DISSERTAÇÃO, COPPE-UFRJ, 2004.

PRESSMAN, ROGER S. ENGENHARIA DE SOFTWARE. 7. ED. SÃO PAULO: MCGRAW-HILL,2011. 780 P.

ROCHA, A. R. C.; MALDONADO, J. C.; WEBER, K. C.. QUALIDADE DE SOFTWARE: TEORIA E PRÁTICA. 1 ED. SÃO PAULO: PRENTICE HALL, 2001.

SHIBA, SHOJI; GRAHAM, ALAN & WALDEN, DAVID. TQM: QUATRO REVOLUÇÕES NA GESTÃO DA QUALIDADE. PORTO ALEGRE, ARTES MÉDICAS, 1997.

SOFTEX. MPS.BR. ACESSO EM 12 DE SETEMBRO DE 2017. DISPONÍVEL EM: http://www.softex.br/mpsbr/

SOMMERVILLE, IAN. ENGENHARIA DE SOFTWARE, 9ª EDIÇÃO. PEARSON EDUCATION, 2011.

TAYLOR, FREDERICK W. SHOP MANAGEMENT. NEW YORK, HARPER & BROTHERS, 1919.

VIRTUARTE, INFORMÁTICA. ACESSO EM 12 DE SETEMBRO DE 2017. DISPONÍVEL EM

WWW.ISDBRASIL.COM.BR/O-QUE-E-CMMI.PHP

Você também pode gostar