Escolar Documentos
Profissional Documentos
Cultura Documentos
2004.2
TRABALHO DE GRADUAÇÃO
EM
ENGENHARIA DE SOFTWARE
1 de 1
Dedicatória
Dedico este trabalho aos meus pais: Francisco de Assis Silva Teles e Aldalícia de Siqueira
Teles, que sem pre deram apoio às m inhas atividades e estiveram presentes, de form a
positiva, em todo o curso de minha vida.
2 de 2
Agradecimentos
Este trabalho foi de grande im portância em m inha vida, pois m arcou o final de um ciclo
acadêmico, a graduação, e começo de uma nova fase, profissional e também acadêmica.
O esforço dedicado durante o Trabalho de Graduação m otiva- m e a evoluir na área de
pesquisa e buscar novas fronteiras de estudo, sem pre visando a aplicação e utilização
do que for gerado como conhecimento.
Agradeço a m inha fam ília, por com pleto, pela firm e estrutura que m e foi proporcionada,
possibilitando minha formação de vida como um todo.
Agradeço em especial ao professor Alex andre Vasconcelos por todo apoio dado durante
o trabalho, subsidiando a elaboração do mesmo da melhor forma possível.
Agradeço a todos do Centro de Inform ática pela possibilidade de form ação acadêm ica
num dos melhores centros do país.
Tam bém agradeço a todas as em presas em que trabalhei, pois nelas pude por em
prática tudo que aprendi durante minha jornada acadêmica.
Por fim agradeço à Vânia Vidal Sam paio e toda equipe do laboratório LAPS pelo apoio ao
desenvolvimento da pesquisa e aplicação prática da mesma.
3 de 3
Sumário
Dedicatória .................................................................................................2
Agradecimentos ........................................................................................3
Sumário........................................................................................................4
Lista de Figuras .........................................................................................6
Lista de Tabelas ........................................................................................7
Resumo ........................................................................................................8
1. Introdução..............................................................................................9
1.1 Contexto...............................................................................................9
1.2 Objetivos ............................................................................................11
1.3 Estrutura do Trabalho.........................................................................12
2. Qualidade e Avaliação de Produtos de Software ......................13
2.1 ISO/IEC 9126.....................................................................................13
2.1.1 ISO/IEC 9126-1...........................................................................15
2.2 ISO/IEC 14598...................................................................................21
2.2.1 ISO/IEC 14598-1.........................................................................24
2.3 Relação entre as séries ISO/IEC 9126 e ISO/IEC 14598 ...................27
2.4 Considerações Finais..........................................................................28
3. Processo para Análise de Desempenho de Produtos de
Software.....................................................................................................29
3.1 Fluxo de Atividades ...........................................................................30
3.2 Responsáveis e Artefatos ...................................................................31
3.3 Descrição das Atividades ...................................................................33
3.3.1 Iniciar Análise.............................................................................33
3.3.2 Definir Escopo de Teste ..............................................................37
3.3.3 Definir Métricas ..........................................................................38
3.3.5 Definir Ambiente de Teste ...........................................................43
3.3.6 Realizar Testes ............................................................................44
3.3.7 Avaliar Resultados ......................................................................46
3.4 Considerações Finais..........................................................................47
4. Aplicação em um Caso Real ...........................................................48
4.1 O Caso do Sistema de Avaliação Continuada de Alunos ...................48
4.1.1 Iniciar Análise.............................................................................49
4 de 4
4.1.2 Definir Escopo de Teste ..............................................................50
4.1.3 Definir Métricas ..........................................................................50
4.1.4 Definir Critérios de Aceitação ....................................................51
4.1.5 Definir Ambiente de Teste ...........................................................52
4.1.6 Realizar Testes ............................................................................53
4.1.7 Avaliar Resultados ......................................................................58
4.2 Impacto do Caso no Processo.............................................................59
4.3 Considerações Finais..........................................................................59
5. Conclusões e Trabalhos Futuros...................................................60
5.1 Contribuições do Trabalho .................................................................60
5.2 Trabalhos Futuros ..............................................................................61
6. Referências ..........................................................................................62
Apêndices..................................................................................................64
Apêndice A – Questionário ao Contratante..............................................64
Apêndice B – Métricas de Desempenho ..................................................65
Apêndice C – Ferramentas para Teste......................................................71
Apêndice D – Resultado da Entrevista ao Contratante para o Caso do
Sistema de Avaliação Continuada de Alunos...........................................74
Apêndice E – Resumo do Plano de Avaliação para o Caso do Sistema de
Avaliação Continuada de Alunos.............................................................76
5 de 5
Lista de Figuras
6 de 6
Lista de Tabelas
7 de 7
Resumo
8 de 8
1. Introdução
1.1 Contexto
Qualidade é um conceito com plex o, porque possui significados diversos para diferentes
pessoas, em um contex to altam ente dependente. Portanto, não é trivial haver m edidas
sim ples de qualidade aceitáveis para todos. Para estim ar ou m elhorar a qualidade de
software num a organização, deve- se definir as características de qualidade, que se está
interessado e, então, decidir como serão medidas [10].
Qualidade é tam bém um conceito m ultidim ensional, realizando- se por interm édio de
um conjunto de atributos ou características. As em presas responsáveis pelo
desenvolvim ento de software devem assum ir a responsabilidade de estabelecer este
nível aceitável de qualidade e m eios para verificar se ele foi alcançado. Qualidade de
software é, portanto, um conjunto de propriedades a serem satisfeitas, em determ inado
grau, de modo que o software satisfaça as necessidades de seus usuários [11].
A norm a ISO 8402 [13] define qualidade com o sendo o conjunto de todas as
características que um a entidade deve possuir para que satisfaça às necessidades
ex plícitas (necessidades do usuário) e im plícitas (características não percebidas pelo
usuário, porém, necessárias).
9 de 9
Quando se deseja um produto de software de alta qualidade, deve- se assegurar que
cada um a de suas partes constituintes possua alta qualidade [12]. Portanto, os
resultados interm ediários, no processo de produção, devem ser im ediatam ente
ex am inados após sua conclusão, procurando garantir que erros e inadequações no
produto sejam detectados o mais cedo possível, pois a qualidade final do produto é uma
função de todas as fases anteriores de seu ciclo de desenvolvimento.
Vem os assim , que a qualidade do produto de software final está diretam ente
relacionada com a qualidade dos produtos interm ediários e de seu processo de
desenvolvim ento, com o m ostra o m odelo de qualidade proposto pela norm a ISO/ IEC
9126- 1 [1]:
10 de 10
A qualidade do processo contribui para m elhorar a qualidade do produto e a qualidade
do produto contribui para m elhorar a qualidade em uso. Por isso, avaliar e m elhorar o
processo é um meio de melhorar a qualidade do produto, assim como avaliar e melhorar
a qualidade do produto é um m eio de m elhorar a qualidade em uso. De form a sim ilar,
avaliar a qualidade em uso pode fornecer feedback para m elhorar a qualidade do
produto e avaliar um produto pode fornecer feedback para melhorar um processo [1].
1.2 Objetivos
11 de 11
1.3 Estrutura do Trabalho
Além deste capítulo introdutório de contex tualização e objetivos, fazem parte deste
trabalho ainda os seguintes capítulos:
12 de 12
2. Qualidade e Avaliação de Produtos de Software
A série de normas ISO/IEC 9126 pode ser aplicada nas seguintes ocasiões:
13 de 13
A série de normas ISO/IEC 9126 é dividida em quatro partes:
14 de 14
2.1.1 ISO/IEC 9126-1
A primeira parte da norma ISO/IEC 9126 (NBR 13596) descreve um modelo de qualidade
do produto de software, com posto de duas partes: a) qualidade interna e qualidade
ex terna e b) qualidade em uso. A prim eira parte do m odelo especifica seis
características para qualidade interna e ex terna, as quais são por sua vez subdivididas
em sub- características. Estas sub- características são m anifestadas ex ternam ente,
quando o software é utilizado com o parte de um sistem a com putacional, e são
resultantes de atributos internos do software. Esta parte da norm a não apresenta o
modelo de qualidade interna e externa além do nível de sub- características.
A segunda parte do m odelo especifica quatro características de qualidade em uso, m as
não apresenta o m odelo de qualidade em uso além do nível de característica. Qualidade
em uso é o efeito com binado das seis características de qualidade do produto de
software [1].
Esta parte da norm a ISO/ IEC 9126 (NBR 13596) perm ite que a qualidade do produto de
software seja especificada e avaliada em diferentes perspectivas pelos envolvidos com
aquisição, requisitos, desenvolvim ento, uso, avaliação, apoio, m anutenção, garantia de
qualidade e auditoria de software [1]. Assim , pode ser utilizada por adquirentes,
desenvolvedores, responsáveis pela garantia da qualidade e avaliadores independentes,
responsáveis por especificar e avaliar qualidade do produto de software.
15 de 15
Figura 2- 2 – Modelo de qualidade interna e externa segundo a ISO/IEC 9126- 1
16 de 16
• Interoperabilidade: capacidade do produto de software de interagir com
um ou mais sistemas especificados.
• Segurança de Acesso: capacidade do produto de software de proteger
inform ações e dados, de form a que pessoas ou sistem as não autorizados
não possam lê- los nem m odificá- los e que não seja negado o acesso às
pessoas ou sistemas autorizados.
• Conform idade: capacidade do produto de software de estar de acordo
com norm as, convenções ou regulam entações previstas em leis e
prescrições similares relacionadas à funcionalidade.
17 de 17
Eficiência: capacidade do produto de software de apresentar desem penho apropriado,
relativo à quantidade de recursos usados, sob condições específicas.
18 de 18
• Coex istência: capacidade do produto de software de coex istir com outros
produtos de software independentes, em um am biente com um ,
compartilhando recursos comuns.
• Capacidade para substituir: capacidade do produto de software de ser
usado em substituição a outro produto de software especificado, com o
mesmo propósito e no mesmo ambiente.
• Conform idade: capacidade do produto de software de estar de acordo
com normas ou convenções relacionadas à portabilidade.
As definições das características e sub- características propostas pela ISO/ IEC 9126- 1
são tais que não perm item sobreposição. Com o ex em plo, a definição da característica
confiabilidade não perm ite que se considerem fatores que são próprios da característica
manutenibilidade. Contudo, a norm a adm ite que um atributo de qualidade possa
influenciar m ais de um a sub- característica ou característica. Por ex em plo, núm ero de
linhas de código é atributo tanto da sub- característica analisabilidade quanto da sub-
característica adaptabilidade.
A ISO/ IEC 9126- 1 nos leva a um entendim ento dos conceitos relacionados com as
características e sub- características de qualidade de produtos de software, porém , na
prática ainda não facilita o suficiente a definição dos requisitos de qualidade a partir
dela. As definições das características de qualidade nos dão um a visão geral dos
possíveis requisitos de qualidade associados com os conceitos apresentados, m as não
perm item elaborar um a definição de requisitos m ais detalhada a partir delas. Não há
sentido em se dizer que “um produto de software deve ter um a eficiência de 1,5”, pois
não ex iste um a escala clara associada a este valor, im possibilitando um a m edida direta
e quantitativa da característica de qualidade.
O prim eiro desdobram ento em sub- características serve para delim itar m elhor o am plo
universo que a característica engloba. Introduz conceitos m ais detalhados que ajudam a
especificação de requisitos, fazendo- nos pensar na característica em term os de seus
com ponentes. Mais este desdobram ento ainda não é suficiente pra especificar os
requisitos de qualidade. Um a definição com o “o com portam ento em relação ao tem po
deve ser igual a 0,7”, continua sem fazer sentido, pois não ex iste um a escala clara
associada a este valor, im possibilitando um a m edida direta e quantitativa da sub-
característica de qualidade.
19 de 19
Assim, é preciso que o usuário da norma, elaborando uma declaração de requisitos, faça
o próx im o desdobram ento; os atributos que não estão presentes na ISO/ IEC 9126- 1,
identificando aspectos relevantes ao produto de software e que se enquadrem nas sub-
características e características citadas. Desta form a, um a declaração do tipo “O tem po
de resposta para com pletar um a tarefa deve ser inferior a 2 segundos”, por ex em plo, é
adequada com o requisito da sub- característica comportam ento em relação ao tem po,
que faz parte da característica eficiência. Vem os que foi necessário descer ao nível do
atributo “tem po de resposta para com pletar um a tarefa” para que o requisito pudesse
ser declarado de forma objetiva e não ambígua.
20 de 20
Definição das características de qualidade em uso segundo a ISO/IEC 9126- 1:
Eficácia: capacidade do produto de software de perm itir que usuários atinjam m etas
específicas com acurácia e completude, em um contexto de uso específico.
21 de 21
Análise Especificação Projeto Execução
22 de 22
• ISO/ IEC 14598- 5 - Processo para avaliadores - Define o processo para
avaliadores, fornecendo orientações para a im plem entação prática de
avaliação de produtos de software (quando diversas partes necessitam
entender, aceitar e confiar em resultados da avaliação);
23 de 23
2.2.1 ISO/IEC 14598-1
A prim eira parte da norm a ISO/ IEC 14598 fornece um a estrutura para avaliar a
qualidade de quaisquer produtos de software e estabelece os requisitos para m edição e
avaliação de produtos de software [5].
Processo de avaliação
24 de 24
Descrição das etapas da avaliação segundo a ISO/IEC 15498:
25 de 25
Projet ar a avaliação: Deve docum entar os procedim entos a serem utilizados pelo
avaliador para realizar as medições contidas na especificação de avaliação.
26 de 26
2.3 Relação entre as séries ISO/IEC 9126 e ISO/IEC 14598
A figura 2- 6 m ostra a relação entre as séries de norm as ISO/ IEC 9126 e ISO/ IEC 14598,
onde cada parte das séries está associada com suas respectivas funcionalidades.
Com o foi visto nas seções anteriores a parte 1 da ISO/ IEC 14598 apresenta um a visão
geral do processo de avaliação de produtos de software e fornece orientações e
requisitos para avaliação, estando relacionada com todas as outras partes da série
ISO/ IEC 14598 e tam bém com toda a série ISO/ IEC 9126. As partes 2 e 6 da ISO/ IEC
14598 estão relacionadas com o apoio a avaliação, sendo a parte 2 associada com o
planejam ento e gestão do processo de avaliação e a parte 6 associada com a
docum entação dos m ódulos de avaliação. Já as partes 3, 4 e 5 da ISO/ IEC 14598
detalham o processo geral definido na ISO/ IEC 14598- 1, sob o ponto de vista do
desenvolvedor na ISO/ IEC 14598- 3, sob o ponto de vista do adquirente na ISO/ IEC
14598- 4 e sob o ponto de vista do avaliador na ISO/IEC 14598- 5.
27 de 27
A série ISO/ IEC 9126 está associada com o produto de software e seus efeitos em um
am biente de uso específico. A parte 1 da série define um m odelo de qualidade de
propósito geral. E as partes 2, 3 e 4 definem m étricas internas, ex ternas e de uso,
respectivam ente. Estas m étricas estão associadas com as características e sub-
características do modelo de qualidade definido na ISO/IEC 9126- 1.
28 de 28
3. Processo para Análise de Desem penho de Produt os de
Software
Analisar desem penho de software tem por objetivo estim ar tem po e recursos
consum idos, descobrir potenciais pontos de gargalo de processam ento e predizer o
desem penho do sistem a em um am biente real. O processo definido neste capítulo
oferece um a abordagem para tal análise baseando- se em padrões e norm as
internacionais. Com o foi visto no capítulo anterior, duas classes de norm as: a ISO/ IEC
9126 e a ISO/ IEC 14598 são, conjuntam ente, utilizadas com a finalidade de avaliar
produtos de software. A prim eira define características de qualidade de produtos de
software, no sentido de definir requisitos de qualidade e a segunda define um processo
de avaliação, no sentido de definir como executar a avaliação.
O processo aqui definido atém - se a um a das características de qualidade definidas pela
ISO/ IEC 9126, a característica eficiência, que está relacionada com o desem penho do
produto de software. Ainda, utiliza o processo geral definido na ISO/ IEC 14598 para
gerar uma instância do mesmo focada na avaliação de desempenho (eficiência).
29 de 29
3.1 Fluxo de Atividades
A seguir apresentam os o flux o de atividades da análise de desem penho (figura 3- 1). Ele
reflete as atividades do processo de análise de desem penho, utilizando a notação
padrão da OMG, o S.P.E.M [15].
30 de 30
3.2 Responsáveis e Artefatos
Com o foi visto na seção anterior (figura 3- 1) tem os pessoas responsáveis e artefatos
associados às atividades de avaliação. Nesta seção estarem os definindo estes
responsáveis e os artefatos associados aos mesmos. A tabela 3- 1 sintetiza esta relação:
Responsável Artefatos
Contratante (Cliente) Solicitação de Avaliação de Produto
Especificação de Requisitos de
Software
Programa Executável
Plano de Avaliação
Plano de Avaliação
Plano de Teste
Relatório de Teste
Responsáveis:
31 de 31
Artefatos:
32 de 32
3.3 Descrição das Atividades
Nesta seção serão descritas as atividades do processo de análise de desem penho. Cada
atividade será detalhada m ostrando seus objetivos, responsáveis, entradas, saídas e
passos para realização da atividade.
33 de 33
Descrição dos passos da atividade Iniciar Análise:
Entrevista:
Há a necessidade de questionam entos ao requisitante da avaliação, objetivando
determ inar inform ações estritam ente necessárias à avaliação de desem penho, antes que
a m esm a seja ex ecutada. No apêndice A tem os o conjunto de questionam entos a serem
feitos ao contratante [ver Apêndice A].
34 de 34
Estrutura do Plano de Avaliação:
- Porte do produto:
- Informações adicionais:
Deverá conter o resultado da entrevista feita com o contratante, dando subsídios para as
outras atividades.
- Técnica adotada:
A análise de desem penho proposta trata- se se de um a análise black- box (caix a preta),
onde procura- se focar no resultado final do produto de software, o software
(ex ecutável) propriam ente dito. Assim o processo é focado em testes de perform ance,
visando ex trair inform ações relacionadas ao desem penho do software em questão.
Através desta análise é possível detalhar inform ações associadas a tem po, recursos de
sistem a, intercom unicação, capacidade de transferência dos canais de com unicação,
entre outros dados.
- Definir equipe:
A equipe de avaliadores deverá ser composta de acordo com o porte do produto a ser
avaliado, como mostra a tabela abaixo:
35 de 35
- Cronograma:
- Riscos associados:
36 de 36
O contratante não Alto Média Dificuldade na Assumir:
possuir o identificação das Entrevistas e
documento de funcionalidades do preparação de
Especificação de sistema e possível questionários
Requisitos de alteração no para o
Software. cronograma do contratante
processo. visando
preencher a falta
do documento.
O contratante não Alto Baixa Impossibilidade de Assumir:
liberar o realização da Negociar com o
programa avaliação. contratante a
executável para liberação do
realização dos produto.
testes.
Passos:
• Validar/Identificar casos de uso críticos
• Iniciar plano de teste
• Responsável: Avaliador
37 de 37
Descrição dos passos da atividade Definir Escopo de Teste:
Estes casos de uso serão utilizados para gerar carga e estresse no sistem a durante as
operações de teste para análise de desempenho.
38 de 38
Descrição dos passos da atividade Definir Métricas:
Selecionar métricas:
Baseado na norm a ISO 9126- 2 que define m étricas ex ternas para a avaliação de
produtos de software, foram selecionadas algum as m étricas propostas para a
característica de qualidade eficiência visando à realização da avaliação de desempenho.
1.2. Vazão
39 de 39
3.3.4 Definir Critérios de Aceitação
40 de 40
Descrição dos passos da atividade Definir Critérios de Aceitação:
41 de 41
Deve- se analisar a seção de requisitos não- funcionais do Docum ento de Especificação
de Requisitos de Software visando identificar algum resultado esperado para as métricas
definidas, desta form a facilitado a m ontagem da escala de pontuação. Caso não ex istam
referências docum entadas os valores para os níveis de pontuação devem ser propostos
pela equipe de avaliação junto ao contratante.
Esta escala foi retirada da norm a ISO/ IEC 14598- 1 que a definiu com o ex em plo para
estabelecer níveis de pontuação para as métricas.
Passo 3 : Calcular m édias ponderadas usando os valores das m étricas e pesos das
respectivas sub- características. Assim para cada sub- característica calculam os um a
m édia aritm ética de suas m étricas e depois calculam os um a m édia ponderada das notas
das sub- características obtendo a nota final.
42 de 42
3.3.5 Definir Ambiente de Teste
Definir ambiente:
Prim eiram ente é preciso definir quais ferram entas serão utilizadas para a realização dos
testes. De acordo com as m étricas definidas será preciso a utilização de ferram entas
que em ulem carga, sobrecarga e acessos concorrentes ao sistem a de m odo a realizar os
testes para coleta de resultados das m étricas. Este processo propõe algum as
ferram entas utilizadas no m ercado, sendo possível a inclusão de ferram entas novas ou
aux iliares a fim de realização dos testes. O Apêndice C lista algum as ferram entas que
possivelm ente podem ser utilizadas durante a etapa de realização dos testes [ver
Apêndice C].
Depois de escolhidas as ferram entas a serem usadas nos testes, devem ser definidas
a(s) m áquina(s) que servirão de estação para realização dos testes, lem brando que as
m esm as devem atender aos requisitos de hardware necessários para instalação das
ferram entas de teste. O am biente de testes deve sim ular ao m áx im o o am biente de
produção do produto sendo avaliado, de form a a perm itir que a análise seja a m ais
precisa e realística possível.
43 de 43
Configurar ambiente:
Definidas as ferramentas e estações de testes, passa- se para a etapa de configuração do
am biente de testes. Instalando a(s) ferram enta(s) a serem utilizadas e configurando as
m esm as de acordo com o software a ser testado. Ferram entas adicionais podem ser
instaladas e configuradas de acordo com as necessidades de funcionam ento das
ferramentas de teste.
Efetuar testes:
Para cada m étrica escolhida deve ser realizado o seu teste específico visando colher o
resultado da m esm a diante do am biente de teste configurado. Cada teste será realizado
isoladamente, utilizando sua ferramenta específica.
44 de 44
Colher resultados das métricas:
Para cada teste, sendo realizado, os resultados das m étricas associadas ao m esm o
devem ser colhidas e docum entadas na seção de Resultados dos testes do relatório de
teste.
Pontuar testes:
A pontuação da análise será realizada de acordo com o foi definido na sub- atividade
Estabelecer critérios de julgam ento da atividade Definir Critérios de Aceitação [ver seção
3.3.4]:
Documentar resultados:
Os resultados finais obtidos da pontuação dos testes devem ser docum entados no
Relatório de Teste na seção de Resultados finais.
45 de 45
3.3.7 Avaliar Resultados
Discutir resultados:
Baseado nas observações do relatório de teste, os resultados obtidos durante os testes
devem ser discutidos visando identificar pontos fracos e fortes do sistem a e
possivelmente sugerir alternativas de melhorias para o produto.
46 de 46
3.4 Considerações Finais
Neste capítulo foi visto um processo para análise de desem penho de produtos de
software, estruturado num passo a passo de atividades focadas na realização de testes
de desem penho. Foram vistas atividades, responsáveis e artefatos gerados durante a
análise. Tam bém foi vista um a técnica para síntese dos resultados dos testes com o fim
de gerar uma nota final para a análise de desempenho do produto.
A definição deste processo tem por objetivo analisar o desem penho de produtos de
software reais, em utilização no m ercado. No próx im o capítulo será vista a aplicação do
processo na análise de produtos reais.
47 de 47
4. Aplicação em um Caso Real
Este ex perim ento foi a prim eira aplicação prática do processo de análise de
desem penho definido. Através deste caso, pudem os validar o processo, identificar
pontos fracos e fortes do m esm o e m elhorá- lo de acordo com os resultados obtidos
durante a avaliação.
48 de 48
A seguir detalham os a aplicação do processo de avaliação para o produto em questão,
descrevendo os resultados obtidos para cada atividade do processo.
Nome ...
Versão ...
Fabricante ...
Finalidade Avaliação continuada de alunos do ensino
médio e fundamental
Observações
Configuração:
- Plataforma (celular, palm, desktop,...) Desktop
- Ambiente (WEB, local,...) Local
- Sistema Operacional Windows
- Banco de Dados Firebird
- Linguagem (Caso haja mais de uma Java
linguagem citá- las)
- Requisitos de hardware Mínimos: 200MB de disco livre 256MB
RAM
Recomendados: 500MB disco e 768MB
RAM
- Infra- estrutura de Rede (opcional) Rede Ethernet 100Mbps
Após esta etapa inform ativa, foi preenchido o Plano de Avaliação onde tem os
inform ações com o o porte do produto, equipe de avaliação, cronogram a e riscos da
avaliação. Um resum o do Plano de Avaliação pode ser visto no Apêndice E [ver Apêndice
E].
49 de 49
4.1.2 Definir Escopo de Teste
• Cadastrar professores;
• Cadastrar alunos;
• Cadastrar turmas;
• Associar alunos a turmas;
• Associar professores a turmas;
• Consultar professores;
• Consultar alunos;
• Consultar turmas;
• Gerar relatório geral.
Identificados estes casos de uso o Plano de Teste foi inicializado listando estas
funcionalidades na seção Escopo de Teste.
50 de 50
Selecionam os duas m étricas relacionadas ao com portam ento do sistem a em relação ao
tem po e duas m étricas relacionadas ao com portam ento do sistem a em relação aos
recursos consum idos. Para um detalham ento destas m étricas, consulte o Apêndice B
[ver Apêndice B]. Nele tem os as descrições das m étricas, seus objetivos, fórm ulas e
interpretações.
Com o foi visto na definição do processo [ver seção 3.3.4], a escala de m edição é
dividida em níveis de satisfação. Tem os o nível atual que visa controlar se o sistem a não
se deteriora em relação avaliações anteriores. O nível planejado, considerado alcançável
com os recursos disponíveis e o pior caso que é o lim ite para aceitação pelo usuário.
Com o esta avaliação foi a prim eira para este produto, consideram os para o nível atual
de cada escala o m esm o valor considerado para o pior caso, pois não ex istiam registros
de avaliações anteriores. A seguir tem os os valores dos níveis de aceitação para cada
métrica.
51 de 51
- Vazão média:
• Pior Caso: 0,2
• Nível Atual: 0,2
• Nível Planejado: 1
Vale lem brar que para as três prim eiras m étricas seus valores são razões de valores de
m esm a escala, logo o valor final da razão não possui escala. O m étodo de calculo
(fórmula) utilizada para o cálculo encontra- se no Apêndice B [ver Apêndice B].
Prim eiram ente selecionam os a m áquina, estação de trabalho, onde foram realizados os
testes. Esta m áquina foi disponibilizada pelo laboratório LAPS [16] e foi configurada de
acordo com os requisitos de hardware especificados no docum ento Solicitação de
Avaliação do Produto [ver seção 4.1.1].
52 de 52
A seguir, instalam os e configuram os o sistem a a ser testado. Com o não ex istia um
ex ecutável para o sistem a, a sua utilização era feita através da ex ecução do seu projeto
fonte, que foi disponibilizado pelo contratante no lugar do software ex ecutável. Assim ,
para rodar o sistem a precisam os de outra ferram enta aux iliar que com pilasse e rodasse
o projeto fonte. Para este fim , utilizam os o am biente integrado de desenvolvim ento
Eclipse [19].
Este detalham ento do am biente necessário para realização dos testes foi resum ido na
seção Ambiente de Teste do Plano de Teste.
Prim eiram ente tivem os de popular o banco de dados de form a razoável visando dá
realism o aos testes e sim ular ao m áx im o o am biente de operação em que o sistema
funciona. Para todos os casos de uso selecionados [ver seção 4.1.2], que envolviam
cadastro no sistem a, foram realizadas operações de inserção no banco de dados através
da ex ecução do próprio sistem a. Para a avaliação do sistem a em questão não foi
utilizada nenhuma ferramenta que automatizasse a população do banco de dados.
A seguir, configuram os um caso de teste, no JMeter [20], para cada m étrica a ser
analisada:
53 de 53
Com a ex ecução deste caso de teste no JMeter, obtivem os um a m édia para o tem po de
reposta de 1470 ms= 1,47s.
- Vazão média:
Com a ex ecução deste caso de teste no JMeter, obtivem os um a m édia para a vazão de
60,032 tarefas/minuto = 1 tarefa/s.
54 de 54
- Utilização máxima de memória:
Para a aplicação desta m étrica, tivem os de sim ular estresse (carga ao ex trem o) no
sistem a, ao contrário das m étricas anteriores onde sim ulam os apenas carga no sistem a.
Assim , sim ulam os 50 usuários concorrentes ex ecutando 6 operações: Cadastrar Alunos,
Cadastrar Professores, Associar Alunos a Turm as, Associar Professores a Turm as, Gerar
Relatório Geral. O teste foi repetido 10 vezes.
Para a aplicação desta m étrica, tam bém tivem os de sim ular estresse (carga ao ex trem o)
no sistem a. Assim , sim ulam os 50 usuários concorrentes ex ecutando 6 operações:
Cadastrar Turm as, Consultar Turm as, Associar Alunos a Turm as, Associar Professores a
Turmas, Gerar Relatório Geral. O teste foi repetido 10 vezes.
55 de 55
Assim, obtivemos para a razão de erros de memória o valor: 0 erros/segundo.
A seguir temos os mapeamentos dos valores das métricas para a escala [0,1]:
- Vazão média:
56 de 56
- Utilização máxima de memória:
Após m apear os valores das m étricas para o intervalo [0,1], estabelecem os pesos para
as sub- características de qualidade que englobam as métricas, a saber:
• Métricas de comportamento em relação ao tempo: peso 5
• Métricas de comportamento em relação ao tempo: peso 5
Estes pesos estão no intervalo [0,10] definido no processo [ver seção 3.3.4] e foram
definidos de acordo com o resultado da entrevista feita com o contratante [ver Apêndice
D].
57 de 57
Finalm ente sintetizam os a pontuação dos testes através de um a m édia ponderada
usando os valores obtidos para as métricas e seus respectivos pesos:
Como mapeamos os valores das notas intermediárias para o intervalo [0,1] podemos
interpretar este valor final como atendendo a aproximadamente 78% do que foi
esperado pra eficiência do sistema.
Este detalham ento dos testes realizados e todos os resultados e pontuações obtidas
foram documentados no Relatório de Teste.
Nesta atividade a equipe de avaliação analisou os resultados obtidos nos testes, através
do Relatório de Teste. Foi identificado que o produto atendeu m uito bem a um a das
sub- características de eficiência, o com portam ento em relação aos recursos, pois para
as m étricas utilizadas para esta sub- característica foi obtida a pontuação m áx im a.
Porém , para o comportamento em relação ao tem po os resultados foram m enos
satisfatórios, sendo esta sub- característica identificada de m enor qualidade para o
produto.
58 de 58
4.2 Impacto do Caso no Processo
59 de 59
5. Conclusões e Trabalhos Futuros
Este trabalho teve por m issão a pesquisa, definição e aplicação em casos reais de um
processo para análise de desem penho de produtos de software. Dentro do tem po
previsto para o desenvolvim ento do trabalho, o m esm o foi divido, basicam ente nas
seguintes etapas:
1. Pesquisa e estudo – inicialm ente foi feito um levantam ento e estudo das norm as
internacionais que tratam de qualidade e avaliação de produtos de software, a
saber: as séries ISO/ IEC 9126 e ISO/ IEC 14598. Tam bém foram pesquisadas
m etodologias de avaliação de desem penho de software. Esta fase foi de ex trem a
importância para o embasamento teórico da definição do processo de análise.
3. Aplicação em um caso real – nesta fase foi possível por em prática tudo que
tinha sido estudado, através da avaliação de desem penho de um produto de
software real. Neste m om ento foram encontradas as m aiores dificuldades do
trabalho: m udanças na definição do processo, ferram entas de testes não
adequadas e de difícil acesso, problem as na configuração do am biente para
realização dos testes e produto não com pleto para a avaliação. Porém , dentro do
escopo do trabalho, foi possível a validação do processo de análise e realização
de melhorias sobre o mesmo.
Finalizando, este trabalho alm eja ser um ponto de apoio para definição de processos de
avaliação de qualidade de produtos de software, agregando valor para a área de
Qualidade de Software e conseqüentemente Engenharia de Software.
60 de 60
5.2 Trabalhos Futuros
61 de 61
6. Referências
[8] PUNTER, T., SOLINGER, R.V., TRIENEKENS, J., 1997, Software Product Evaluation –
Current status and future needs for customers and industry.
[9] PRESSMAN, R. S., 1992, Software Engineering – A Practcioners Aproach, Third Edition,
McGraw- Hill.
[10] KITCHENHAM, B., 1996, Software Quality: The Elusive Target, IEEE Software.
[11] ROCHA, A. R. C., 1987, Análise e Projeto Estruturado de Sistemas, Editora Campos,
Rio de Janeiro.
[12] HUMPHREY, W. S., 1995, A discipline for Software Engineering, Addison- Wesley
Publishing Company.
62 de 62
[14] ISO/IEC 12119, 1998, Information technology – Software packages – Quality
requirements and testing.
63 de 63
Apêndices
Na atividade Iniciar Análise [ver seção 3.3.1] será feita um a entrevista com o
contratante(cliente) visando identificar informações específicas à análise de desempenho
de software. Abaix o tem os o conjunto questões a serem feitas ao cliente durante a
entrevista, podendo ser incluídas novas questões de acordo com o produto a ser
avaliado.
64 de 64
Apêndice B – Métricas de Desempenho
Na atividade Definir Métricas [ver seção 3.3.3] são definidas as m étricas a serem
utilizadas na durante os testes para a análise de desem penho. Neste apêndice são
listadas algum as m étricas que poderão ser utilizadas, sendo a escolha dependente do
produto a ser avaliado e do propósito da avaliação.
65 de 65
1. Métricas de comportamento em relação a tempo
66 de 66
1.2. Vazão
67 de 67
2. Métricas de comportamento em relação a recursos
68 de 68
2.2. Utilização de recursos de memória
69 de 69
2.3. Utilização de recursos de transmissão
70 de 70
Apêndice C – Ferramentas para Teste
Em um dos passos da atividade Definir Am biente de Teste [ver seção 3.3.5] precisam os
escolher as ferram entas a serem utilizadas para coleta dos resultados das m étricas
durante a bateria de testes. Neste apêndice listam os algum as ferram entas que podem
ser utilizadas para o fim de realização de testes de carga, stress e perform ance. As
ferram entas aqui citadas são gratuitas e não são as únicas opções de escolha, podendo
ser utilizadas outras ferram entas de acordo com o produto a ser avaliado e o propósito
da avaliação. A tabela abaixo resume estas ferramentas:
71 de 71
Project OpenLoad é uma http://sourceforge.net/projects/openload/
OpenLoad ferramenta de testes
da
SourceForge.net/Open
Source Development
Network, distribuída
sobre a GNU General
Public License (GPL). É
uma ferramenta de
linha de comandos e
roda em sistemas
Linux e Win32.
TestMaker TestMaker é um http://www.pushtotest.com/Downloads/
utilitário free e open
source mantido pela
PushToTest.com e
Frank Cohen, para
testes de performance,
escalabilidade e
funcionais de
aplicações Web. Um
framework e utilitário
para construção e
execução de agentes
de teste inteligentes
que implementam as
características do
usuário e operam o
sistema da mesma
forma que os usuários
o fariam.
72 de 72
Siege Siege é um utilitário http://joedog.org/siege/
para testes de
estresse/regressão e
benchmark; suporta
autenticações básicas,
cookies e os
protocolos HTTP e
HTTPS. Possibilita
testar um servidor
Web com um número
configurável de
usuários concorrentes
simulados. Estressa
uma URL simples com
um número
especificado de
usuários ou estressa
múltiplas URL’s
simultaneamente.
Reporta o número
total de transações,
tempo gasto, bytes
transferidos, tempo de
resposta, taxa de
transação,
concorrência e
resposta do servidor.
73 de 73
Apêndice D – Resultado da Entrevista ao Contratante para o
Caso do Sistema de Avaliação Continuada de Alunos
Não.
Não.
74 de 74
8. Ex iste algum a restrição de recursos de sistem a (m em ória, CPU,...) para operação do
sistema?
75 de 75
Apêndice E – Resumo do Plano de Avaliação para o Caso do
Sistema de Avaliação Continuada de Alunos
- Porte do produto:
O produto foi identificado com o sendo de pequeno porte devido ao m esm o possuir por
volta de 15 funcionalidades. Esta identificação segue a m etodologia proposta pelo
processo [ver seção 3.3.1].
- Informações adicionais:
Nesta seção consta o resultado da entrevista feita com o contratante [ver Apêndice D].
- Técnica adotada:
Nesta seção consta a técnica de avaliação proposta pelo processo [ver seção 3.3.1].
- Definir equipe:
76 de 76
- Cronograma:
Esta identificação segue a metodologia proposta pelo processo [ver seção 3.3.1].
- Riscos associados:
77 de 77