Vous êtes sur la page 1sur 13

Aplicao de Conceitos Formais de Teste e Mtricas para

Garantia da Qualidade de Software


Daniel Vitor de Lucena1, Edwagney Luz2
1

Departamento de Computao Pontifcia Universidade Catlica de Gois GO


Brasil
dvlucena@gmail.com

Departamento de Computao Pontifcia Universidade Catlica de Gois GO


Brasil
edwagney@gmail.com

Abstract. This paper presents an application of the V-model test and quality
metrics in an application of multimedia services, based on the quality
requirements in order to demonstrate the efficiency of these techniques for
fault detection and quality assurance. Its done a short explanation of
software quality and test theory. The results provide means to verify the
behavior of application with the specified quality requirements.
Resumo. Este artigo apresenta uma aplicao do modelo de teste em V e
mtricas de qualidade em um aplicativo de servios multimdia, baseado nos
requisitos de qualidade a fim de demonstrar a eficincia destas tcnicas para
deteco de falhas e garantia da qualidade. feito uma breve explanao
sobre as teorias de qualidade e teste de software. Os resultados obtidos
provem meios de verificar a conformidade do comportamento do aplicativo
com os requisitos de qualidade especificados.
Palavras chaves: Teste de Software, Mtricas, Garantia da qualidade.

1. Introduo
Segundo MYERS (2004, p.6), Teste de Software o processo de execuo de um
programa ou sistema com a inteno de encontrar erros. Esta definio serve para
afirmar que, ao contrrio do que muitos imaginam, o teste de software voltado para a
deteco de defeitos com a finalidade de corrigi-los e no para demonstrar que um
software no possui falhas.
De acordo com MOLINARI (2008), para obter sucesso no processo de teste de
software, necessrio uma elaborao detalhada de todas as atividades que sero
executadas durante o processo, determinao de prazos e custos, recursos humanos,
equipamentos, entre outros.
O objetivo deste trabalho demonstrar como garantir a qualidade de um software
atravs da aplicao de uma metodologia de testes e uso de mtricas para validao de
requisitos de qualidade.
O modelo de teste utilizado no decorrer deste trabalho chamado de modelo de teste
em V.

2. Modelo de Teste em V
O modelo de teste em V possui 2 fases conforme Figura 1, sendo a primeira fase de
desenvolvimento e a fase posterior de validao. Estas fases podem ter outras
nomenclaturas conforme a literatura adotada, como por exemplo: Desenvolvimento e
Teste, Verificao e Validao, entre outras.
Em sua primeira fase, o modelo sugere que o planejamento dos testes seja realizado em
paralelo ao desenvolvimento nos diferentes nveis do processo, com o objetivo de ao
trmino da fase, o plano de teste esteja concludo, permitindo o incio imediato do
processo de validao, segunda fase.

Figura 1 Estrutura do Modelo de Teste V descrevendo o paralelismo entre as


atividades de desenvolvimento e teste de software [CRAIG, Rick .D., JASKIEL, Stefan.P.
(2002)].

Como mostrado na Figura 1, o planejamento dos testes realizado no sentido inverso


sua execuo, com base na documentao de cada etapa da fase de desenvolvimento.
Segundo ROCHA (2001) e, as principais etapas do teste de software so:
Teste de Unidade: tambm conhecido como teste unitrio ou teste de mdulo,
cujo objetivo testar a menor unidade desenvolvida no projeto, sendo uma
pequena parte ou unidade do sistema. O Alvo deste tipo de teste detectar falhas
em pequenos trechos de cdigo como mtodos dos objetos ou sub-rotinas
[MYERS (2004, p.91)];
Teste de Integrao: o conjunto de testes realizados quando componentes
desenvolvidos separadamente so acoplados, conforme projetado. O objetivo
detectar as falhas oriundas dessa integrao, referente troca de informaes
entre esses componentes;
Teste de Sistema: realizado diretamente no software, simulando o uso do
sistema em produo sob o ponto de vista do usurio final, sendo submetido a
condies reais ou similares as quais faro parte do uso no dia a dia. O objetivo
detectar falhas nas funcionalidades para o qual foi projetado;

Teste de Aceitao: o conjunto de testes realizados com um grupo restrito de


usurios finais do sistema, onde feito uma simulao das operaes de rotina,
com o objetivo de avaliar o comportamento do sistema e verificar se est de
acordo com o solicitado.
Alm das etapas de teste j citadas, ainda existem outros 3 tipos:
Teste de Regresso: trata-se de uma estratgia para reduo de falhas sempre
que uma nova verso do software lanada ou a cada novo ciclo. Essa estratgia
consiste na execuo de todos os testes que j foram executados em verses mais
antigas;
Teste de Operao: teste restrito a sistemas de informao prprios de uma
organizao, no aplicado a sistemas de forma geral. Consiste em teste de
instalao, restaurao de backup de banco de dados, etc. So realizadas
simulaes afim de garantir o sucesso na implantao do novo sistema;
Teste Alfa e Beta: so testes especficos de grandes sistemas como: Sistemas
Operacionais, Sistemas de Gerenciamento de Banco de Dados e Sistemas
distribudos em escala nacional ou internacional. De acordo com PRESSMAN
(2005, p.375), o teste alfa realizado no ambiente de desenvolvimento sob
orientao do cliente que simula o usurio e registra erros e problemas de uso. O
teste alfa se d entre a fase final de desenvolvimento e a entrega do produto.
Ainda PRESSMAN (2005, p.375), o teste beta realizado fora do ambiente de
desenvolvimento, normalmente sem a presena do desenvolvedor, onde um ou
mais clientes, instalam e utilizam a verso beta, registrando os problemas, reais
ou imaginrios, que so encontrados durante o uso.

4. Qualidade de Software
A qualidade de software pode ser vista como um conjunto de caractersticas em uma
aplicao, essenciais aos seus usurios e que devem ser satisfeitas.
PRESSMAN (2005, p.716) define qualidade de software como sendo a conformidade
dos requisitos funcionais e de desempenho explicitamente declarados, padres de
desenvolvimento explicitamente documentados e as caractersticas implcitas que so
esperadas de todos os softwares profissionalmente desenvolvidos.
Para alcanar essa qualidade necessrio adotar um modelo de atividades planejadas e
executadas de forma sistemtica objetivando garantir tanto a confiana no produto
quanto no servio.
Segundo a norma ISO/IEC 9126-1, a capacidade do software determinada por um
conjunto de atributos internos, que podem ser medidos para cada caracterstica e
subcaracterstica. Assim, define 6 atributos para qualidade de software, como visto na
Figura 2.

Figura 2 Modelo de qualidade para qualidade externa e interna. [ISO 9126]

5. Mtricas para uso em Qualidade


Conforme a norma ISO/IEC 9126-4, temos 4 tipos de mtricas:
Mtricas de Efetividade: tambm conhecida como mtricas de eficcia so
usadas para saber se as tarefas executadas pelo usurio atingiram as metas
especificadas com preciso e perfeio, sem levar em conta a forma como os
objetivos foram alcanados;
Mtricas de Produtividade: tem o objetivo de avaliar os recursos consumidos
pelo usurio em relao a eficcia alcanada em um contexto de uso especificado.
O principal recurso medido o tempo, podendo ser adicionado outros recursos
pertinentes como: custo, esforo, materiais, etc;
Mtricas de Segurana: so usadas para avaliar o risco de danos a pessoas,
negcios, software, bens ou o ambiente em um contexto de uso especificado.
Abrange desde a sade e segurana do usurio at as conseqncias fsicas ou
econmicas;
Mtricas de Satisfao: tem por fim avaliar as atitudes do usurio em relao
utilizao do produto em um contexto de uso especificado. Essa satisfao
influenciado pela percepo do usurio com relao as propriedades do produto
de software e pela percepo da eficincia, produtividade e segurana em uso.

6. Aplicao de Mtricas e Conceitos de Teste - Sistema TV nibus


O sistema ao qual foram aplicados os conceitos acima introduzidos uma soluo cuja
finalidade prover um servio de exibio de contedo multimdia em veculos,
semelhante programao da TV aberta, com uma programao pr-definida. Tanto a
programao quanto os arquivos de udio e vdeo so copiados da internet, atravs de
um endereo especfico.
Por ser um sistema desenvolvido para veculos, a forma de conexo com a internet
mvel, o que ocasiona diversos tipos de instabilidade.
Com a finalidade de garantir a qualidade desse servio e verificar se as solues
desenvolvidas atendem os requisitos, foi feito uso dos conceitos de teste e qualidade
acima citados.

Ser demonstrada apenas a etapa do teste de sistema, baseado no Modelo de Teste em V


aplicado sobre os requisitos de qualidade e a validao desses requisitos atravs do uso
de mtricas de satisfao.
6.1 Requisitos de Qualidade
Tabela 1. Identificao e descrio dos requisitos de qualidade.

ID

Caracterstica/
Sub caracterstica

Descrio

[REQUA 001]

Confiabilidade/
Tolerncia a Falhas

A exibio da programao e/ou


contedo diversos deve ser transmitida
ininterruptamente.

[REQUA 002]

Eficincia/
A aplicao deve detectar perda de sinal
Comportamento com e/ou falha na conexo com a internet em
Relao ao Tempo
at 5 segundos.

[REQUA 003]

Eficincia/
Em caso de perda de sinal ou falha de
Comportamento com conexo com a internet, a aplicao deve
Relao ao Tempo
restabelecer a conexo e reiniciar a
recepo de dados em 15 segundos
havendo disponibilidade de sinal.

[REQUA 004]

Confiabilidade/
Recuperabilidade

A aplicao deve garantir a retomada da


recepo de dados a partir do ltimo
byte recebido.

[REQUA 005]

Eficincia/
Utilizao de Recursos

A aplicao deve trafegar pelo menos


350MB de dados por hora.

6.2 Casos de Teste


Tabela 2. Identificao e descrio do caso de teste CT - 001.

ID

[CT - 001]

Descrio

Forar falha na conexo com a internet.

Itens de Teste

[REQUA 001], [REQUA 002]

Detalhamento

Interromper bruscamente a conexo com a internet.

Precondies

O Sistema deve estar em pleno funcionamento e conectado a


internet com sinal estvel.

Especificao de
Entrada

No se aplica.

Pontos de Observao

1. Verificar estabilidade da exibio do contedo.


2. Verificar o tempo gasto para deteco da perda de
sinal e/ou falha na conexo com a internet.

Pontos de Controle

1. Mdulo de exibio de contedo.


2. Mdulo de recepo de dados.

Resultados Esperados

1. O Sistema deve manter o pleno funcionamento do


mdulo de exibio de contedo multimdia, no
podendo ocorre nenhum tipo de oscilao de udio
ou vdeo. Caso os arquivos da programao no
estejam disponveis para o momento da exibio, um
contedo secundrio deve ser exibido, garantindo a
no interrupo do sistema.
2. A deteco da perda de sinal ou falha na conexo
com a internet deve ser efetuada dentro do prazo
estabelecido em [REQUA 002].

Ps-condies

O mdulo de recepo de dados deve iniciar imediatamente


as tentativas de re-conexo.

Interdependncias

No Possui.

Tabela 3. Identificao e descrio do caso de teste CT - 002.

ID

[CT - 002]

Descrio

Restabelecer conectividade com a internet.

Itens de Teste

[REQUA 003], [REQUA 004]

Detalhamento

O Sistema deve inicialmente tentar sucessivamente a reconexo com a internet. Aps restabelecida a conexo, deve
ser registrado o tempo gasto na ltima tentativa e retomar a
recepo de dados do ponto em que foi interrompida.

Precondies

O Sistema deve estar em funcionamento sem conexo com a


internet. O caso de teste [CT 001] deve ter sido aprovado.

Especificao de
Entrada

No se aplica.

Pontos de Observao

1. Verificar capacidade de re-conexo.


2. Verificar tempo gasto para re-conexo.
3. Verificar retomada da recepo.

Pontos de Controle

1. Mdulo de recepo de dados.

Resultados Esperados

1. O Sistema deve conseguir restabelecer a conexo.


2. A re-conexo deve ser efetuada dentro do prazo
estabelecido em [REQUA 003].
3. A recepo deve ser retomada a partir do ltimo byte
recebido.

Ps-condies

O Sistema deve manter o pleno funcionamento de todos os


mdulos.

Interdependncias

[CT - 001]

Tabela 4. Identificao e descrio do caso de teste CT - 003.

ID

[CT - 003]

Descrio

Monitorar trfego de dados por 1 hora

Itens de Teste

[REQUA 005]

Detalhamento

O inicio da monitorao inicia-se automaticamente aps a


inicializao do sistema e detectado a conexo com a
internet. Aps 1 hora de monitoramento, interrompida
automaticamente a conexo com a internet e verificado o
total de bytes recebidos.

Precondies

O Sistema deve estar em pleno funcionamento e conectado a


internet. O caso de teste [CT 002] deve ter sido aprovado.

Especificao de
Entrada

No se aplica.

Pontos de Observao

1. Verificar capacidade de trfego de dados.

Pontos de Controle

1. Mdulo de recepo de dados.

Resultados Esperados

1. O total de bytes trafegados seja igual ou superior os


estabelecido em [REQUA 005]

Ps-condies

O Sistema deve manter o pleno funcionamento de todos os


mdulos.

Interdependncias

[CT - 002]

6.3 Mtricas de Satisfao para Validao dos Requisitos de Qualidade


Tabela 5. Mtrica para validao do requisito de qualidade [REQUA 001]

Requisito

[REQUA 001]

Caso de Teste

[CT 001]

Nome da Mtrica

Exibio de contedo multimdia

Propsito da Mtrica

Como a estabilidade da exibio do contedo?

Prioridade

Essencial

Modelo de Aplicao

Observao da Utilizao

Medida e Frmula

Exibio Estvel,
Exibio com Instabilidade,
Exibio com Interrupes.

Interpretao

Exibio Estvel = Vlido


Exibio com Instabilidade = No Vlido
Exibio com Interrupes = No Vlido

Tipo de Escala

Tipo de Medida

Entrada

Resultado de um Roteiro de Teste

Referncia ISO 12207

6.5 Validao; 5.3 Teste de Qualificao

Pblico-Alvo

Usurios

Tabela 6. Mtrica para validao do requisito de qualidade [REQUA 002]

Requisito

[REQUA 002]

Caso de Teste

[CT 001]

Nome da Mtrica

Deteco de perda de sinal

Propsito da Mtrica

Quanto tempo necessrio para o mdulo de recepo de


dados de detectar falha na conexo?

Prioridade

Tolervel

Modelo de Aplicao

Observao da Utilizao
X=T
T = tempo gasto para deteco da falha de conexo

Medida e Frmula
Interpretao

0 <= X <= 10; Quanto mais prximo de 0 melhor.


X <= 5, timo;
5 < X <= 10, Tolervel;
10 < X, Inaceitvel.

Tipo de Escala
Tipo de Medida

Tempo em segundos
T = quantidade
X = quantidade

Entrada

Resultado de um Roteiro de Teste

Referncia ISO 12207

6.5 Validao; 5.3 Teste de Qualificao

Pblico-Alvo

Usurios

Tabela 7. Mtrica para validao do requisito de qualidade [REQUA 003]

Requisito

[REQUA 003]

Caso de Teste

[CT 002]

Nome da Mtrica

Restabelecimento de conexo

Propsito da Mtrica

Quanto tempo necessrio para o mdulo de recepo de


dados restabelecer a conexo com a internet, considerando a
disponibilidade do sinal?

Prioridade

Tolervel

Modelo de Aplicao

Observao da Utilizao

Medida e Frmula

X=T
T = tempo gasto para restabelecer conexo

Interpretao

0 <= X <= 20; Quanto mais prximo de 0 melhor.


X < 15, timo;
15 < X <= 20, Tolervel;
20 < X, Inaceitvel.

Tipo de Escala

Tempo em segundos

Tipo de Medida

T = quantidade
X = quantidade

Entrada

Resultado de um Roteiro de Teste

Referncia ISO 12207

6.5 Validao; 5.3 Teste de Qualificao

Pblico-Alvo

Usurios

Tabela 8. Mtrica para validao do requisito de qualidade [REQUA 004]

Requisito

[REQUA 004]

Caso de Teste

[CT 002]

Nome da Mtrica

Retomada do trfego de dados

Propsito da Mtrica

O mdulo de recepo de dados ao retomar o trfego de


dados, recomea a partir do ltimo byte do arquivo recebido?

Prioridade

Essencial

Modelo de Aplicao

Observao da Utilizao

Medida e Frmula

SIM ou NO
SIM = Vlido; NO = No Vlido.

Tipo de Escala

Tipo de Medida

Entrada

Resultado de um Roteiro de Teste

Referncia ISO 12207

6.5 Validao; 5.3 Teste de Qualificao

Pblico-Alvo

Usurios

Tabela 9. Mtrica para validao do requisito de qualidade [REQUA 005]

Requisito

[REQUA 005]

Caso de Teste

[CT 003]

Nome da Mtrica

Trfego de dados por hora

Propsito da Mtrica

Qual a quantidade de bytes trafegados em 1 hora?

Prioridade

Essencial

Modelo de Aplicao

Observao da Utilizao

Medida e Frmula

X = ((TB/1024)/1024)
TB = Total de bytes recebidos

Interpretao

0 <= X; Quanto maior melhor.


X < 350, Inaceitvel;
350 < X <= 400, Aceitvel;
400 < X, timo.

Tipo de Escala

Taxa

Tipo de Medida

TB = quantidade
X = quantidade

Entrada

Resultado de um Roteiro de Teste

Referncia ISO 12207

6.5 Validao; 5.3 Teste de Qualificao

Pblico-Alvo

Usurios

6.4 Critrios de Execuo dos Testes


Os testes foram realizados em um ambiente similar ao de produo, dentro de um veculo
em movimento e utilizando critrios e configuraes conforme Tabela 10.
Tabela 10. Definio de configurao de equipamento e ambiente de teste

Veculo

Micro-nibus

Velocidade Mdia (KM)

50

Computador

Processador Celeron 1.86 GHZ, 512 MB de RAM,


HD 40GB.

Dispositivo de Internet Mvel

HUAWEI E220 USB Modem

Velocidade Internet Mvel

1 Mbps (Nominal)

Trajeto

Avenida Anhanguera, entre o terminal Padre Pelgio


e terminal Novo Mundo em ambos os sentidos, em
Goinia, Gois.

Foram realizados 3 ciclos de testes conforme definido na Tabela 11:


Tabela 11. Horrios dos Ciclos

N do Ciclo

Horrio

07:00 s 08:00

12:30 s 13:30

19:00 s 20:00

6.5 Resultados
Tabela 12. Resultados

Caso de Teste

Requisito

[REQUA 001]

[CT - 001]

[REQUA 002]

N da
Execuo do
Caso de Teste

Resultado

Validao

Exibio estvel

Vlido

Exibio estvel

Vlido

Exibio estvel

Vlido

4 Segundos

timo

4 Segundos

timo

3 Segundos

timo

[REQUA 003]

[CT - 002]

[REQUA 004]

[CT - 003]

[REQUA 005]

13 Segundos

timo

16 Segundos

Tolervel

14 Segundos

timo

SIM

Vlido

SIM

Vlido

SIM

Vlido

396 MB

Aceitvel

322 MB

Inaceitvel

401 MB

timo

7. Concluso
Foi apresentada uma sugesto, baseado em um projeto real, de como aplicar as tcnicas
de teste de software e avaliar os resultados coletados utilizando mtricas para validao.
visto que em um dos ciclos de teste, o requisito de qualidade [REQUA-005]
reprovado. Esse indicador serve para mostrar a eficincia da tcnica aplicada no
processo de validao, detectando uma inconformidade com o especificado no requisito.
Serve tambm para apontar uma possvel falha funcional ou uma falha nas especificaes
de uso do produto.
Esse cenrio mostra quo eficaz planejar antecipadamente os casos de teste como
sugere o modelo adotado, no caso o modelo em V, fazendo em paralelo as fases de
desenvolvimento o planejamento para cada fase de teste. Essa prtica propicia uma
melhor organizao e controle dos testes que sero efetuados, maior capacidade para
estimar resultados e maior preciso e efetividade no processo de execuo dos testes e
avaliao da qualidade do produto.
No caso especfico da aplicao avaliada, cabe como sugesto de melhoria no processo
de desenvolvimento, a especificao de uma mtrica para quantificar o tempo de
disponibilidade mnima de sinal ou conexo estvel com a internet necessrio para que
seja satisfeito o requisito de qualidade [REQUA-005], j que no foi medido por quanto
tempo a aplicao se manteve com a conexo estvel com a internet em nenhum dos
ciclos de testes realizados.
Por fim conclui-se quo importante a garantia da qualidade em produtos de software
visando a satisfao do usurio. A devida aplicao dos conceitos formais de teste de
software associados a um conjunto de mtricas bem definidas, alm de oferecer meios de
verificar se o comportamento da aplicao est em conformidade com os requisitos de
qualidade especificados, prov indicadores que so dados valiosos para o

aperfeioamento do processo de desenvolvimento de software, visto que a qualidade do


produto est diretamente ligada qualidade do processo.

8. Referncias
PRESSMAN, Roger. S., Software Engineering: A Practitioners approach, 6th ed,
McGraw Hill, 2005.
SOMERVILLE, Ian., Software Engineering, 8th ed, Addison-Wesley, 2007.
MYERS, Glenford J., The Art of Software Testing Second Edition, John Wiley & Sons,
New Jersey, 2004,ISBN 0-471-46912-2.
CRAIG, Rick .D., JASKIEL, Stefan. P., Systematic Software Testing, Artech House
Publishing, Norwood, MA, 2002, ISBN 1-58053-508-9.
RIOS, E., BASTOS, A., CRISTALLI, R., MOREIRA, T., Martins Fontes, Base de
conhecimento em teste de software, 2007.
MOLINARI, Leonardo. Testes Funcionais de Software. Florianpolis: Visual Books,
2008.
KOSCIANSKI, A., Soares, Novatec, M. S. Qualidade de Software, 2006.
ROCHA, A. R. C., MALDONADO, J. C., WEBER, K. C. et al., Qualidade de
software Teoria e prtica, Prentice Hall, So Paulo, 2001
NBR ISO/IEC 9126-1, Engenharia de Software Qualidade de Produto - Modelo de
Qualidade, Associao Brasileira de Normas Tcnicas, 2003.
NBR ISO/IEC 12119, Tecnologia de Informao Pacotes de Software Testes e
Requisitos de Qualidade, Associao Brasileira de Normas Tcnicas, 1998.
NBR ISO/IEC 14598-1/5, Tecnologia de Informao Avaliao de Produto de
Software, Associao Brasileira de Normas Tcnicas, 2001.
ISO/IEC 9126-1, Software engineering Software product quality- Part 1: Quality
model,2000.
ISO/IEC 9126-4, Software engineering Software product quality- Part 4: Quality in
use metrics,2000.
ISO/IEC 12207, Systems and Software Engineering Software life cycle
processes,2008.

Vous aimerez peut-être aussi