Escolar Documentos
Profissional Documentos
Cultura Documentos
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
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
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
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
Qualidade do Processo
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
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
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
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
VERIFICAR DOCUMENTAÇÃO
• 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
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
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
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
Exemplo de Histograma
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
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.
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).
• 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)
• 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
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
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
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
Processo de Adaptação
Auditoria
Desenvolvimento Usabilidade
Avaliação do Produto
Processos Organizacionais
Gerência Engenharia de Domínio
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
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
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
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
- 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.
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.
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.
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
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
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
Informações sobre registro de defeitos: lise e melhoria de nosso desempenho enquanto desenvolvedores.
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
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
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
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.
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
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
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
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
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.
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
Dimensões da Qualidade
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
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.
Testes de Sistema
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
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.
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 (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
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
• 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 =>
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
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
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
Exemplo
Passos
Exemplo
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
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.
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
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
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
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.
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
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.
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.
TAYLOR, FREDERICK W. SHOP MANAGEMENT. NEW YORK, HARPER & BROTHERS, 1919.
WWW.ISDBRASIL.COM.BR/O-QUE-E-CMMI.PHP