You are on page 1of 13

1

JORDAN SOUZA SANTOS

IMPORTANCIA DO TESTE DE SOFTWARE

BARRA DO BUGRES MT SET/2013

JORDAN SOUZA SANTOS

IMPORTANCIA DO TESTE DE SOFTWARE

Projeto de monografia apresentada ao curso de Bacharelado em Cincia da Computao, da Universidade do Estado do Mato Grosso UNEMAT, como requisito para obteno do grau , sob orientao do Professor: Alyrio Cardoso Filho.

BARRA DO BUGRES SET/2013

SUMRIO

CAPITULO I ....................................................................................................... 4 1 FATORES FAVORVEIS A UTILIZAO DO TESTE DE SOFTWARE..... 4 1.1 O cenrio atual do Desenvolvimento de Software ........................................ 4 1.2 Entendendo a qualidade do software ........................................................... 6 1.2.1 Qualidade no processo.............................................................................. 7 1.2.2 Qualidade do produto ................................................................................ 7 1.2.3 O custo da Qualidade ................................................................................ 8 1.3 Oque e onde esto os defeitos? .............................................................. 10 Referncias Bibliogrficas ................................................................................ 13

CAPITULO I

1 FATORES FAVORVEIS A UTILIZAO DO TESTE DE SOFTWARE

Neste primeiro capitulo ser apresentado como esta o cenrio atual de desenvolvimento, explicar qualidade de produtos e processos e tambm mensurar o custo desse nvel de qualidade. Outra rea abordada, elucidao do que defeito, e onde esto estes defeitos, segundo alguns estudos de pesquisadores renomados.

1.1 O cenrio atual do Desenvolvimento de Software

No inicio do desenvolvimento de software , havia o conceito de que testar era apenas navegar pelo cdigo e corrigir problemas j conhecidos. Essas atividades eram desenvolvidas pelos prprios desenvolvedores , no havendo nenhum tipo de recurso dedicado a essa atividade, contudo os testes s eram realizados quando o produto j estava quase pronto. Com o mercado cada vez mais competitivo, as empresas , esto aumentado suas dependncias tecnolgicas de forma rpida e constante, e isso significa dizer que suas operaes internas esto sendo conduzidas e direcionadas por um numero cada vez maior de sistemas de informao. Com intuito de reduzir custos e ampliar suas formas de atuao, as organizaes esto cada vez mais buscando a tecnologia para sobreviver em ambientes cada vez mais hostis. Elas esto sofisticando seus sistemas para alinhar decises mais complexas, aumentando sua eficincia e controle. Includas nesse cenrio, toda e qualquer varivel envolvida no

desenvolvimento do software esto em um nvel crescente de complexidade , e os riscos de uma no conformidade , aumentam exponencialmente , tornado difcil produzir softwares com um nvel de qualidade desejado.

Houve um enorme avano desde os primrdios do desenvolvimento de software nos ltimos 40 anos, mas, existem ainda existem muitas empresas presas a antigos paradigmas, que impedem seu amadurecimento no processo de desenvolvimento, seus ambientes esto num grau de complexidade muito elevado, exigindo posturas cada vez mais difceis.
No percebem que implantar um processo de garantia de qualidade de software no mais uma opo a ser estudada, mas parte de estratgia de sobrevivncia num mercado cada vez mais exigente e competitivo (BARTI, 2002 p. 5).

Barti ainda complementa que : As industrias de software esto despreparadas para atender as rpidas necessidades dos mercados simplesmente porque no investiram no aperfeioamento dos seus processos [...](BARTI, 2002 p. 6). Nesta afirmao, conclui-se que, as empresas fornecedoras de softwares so amadoras, e desconhecem completamente um processo de engenharia de software. Contudo Barti, conclui, e usa estatsticas para enfatizar sua afirmao:
No existe qualquer garantia de que a soluo tecnolgica contratada ser entregue no prazo e a custo negociados. Transformando isso em nmeros temos: mais de 30% dos projetos so cancelados antes de serem finalizados; Mais de 70% falham nas entregas das

funcionalidades esperadas; Os custos extrapolam em mais de 180% os valores originalmente previstos; Os prazos excedem em mais de 200% os cronogramas originais, (BARTI, 2002 p. 6).

Com a globalizao, as barreiras da lngua inglesas deixaram de ser empecilho, portanto, mercados estrangeiros com alto nvel de competncia , tornam-se cada vez mais atraentes para muitas empresas nacionais.

1.2 Entendendo a qualidade do software

A qualidade deve estar presente em todas as fases do ciclo do desenvolvimento, e uma somatria de decises que afetam a qualidade do produto final. Segundo Barti:
Qualidade de software um processo sistemtico que focaliza todas as etapas e artefatos produzidos com o objetivo de garantir a conformidade de processos e produtos, prevenindo e eliminando defeitos. (BARTI, 2002 p. 16).

A empresas de desenvolvimento de software, executam seus testes pelos prprios desenvolvedores e usurios do sistema, e serve apenas para garantir que as especificaes ou requisitos do negocio foram realmente implementadas, gerando testes ineficientes . Dentro de um modelo de qualidade de software, os principais objetivos so minimizar os riscos, e encontrar defeitos, nessa situao , os testes passam a serem executados por uma equipe treinada e capacitada para tal, e no mais pelo analista de sistemas, muita das vezes sobrecarregado, e executam mais esta funo, sem vontade alguma. Barti (2002, p.16), diz: Software mau testados provocam prejuzos enormes para as organizaes, gerando produtos defeituosos e com baixa qualidade , afetando o negcio e a imagem da empresa.
[...] impossvel obter um software de qualidade com processos de desenvolvimentos frgeis e deficientes, portanto no possvel estabelecer um processo de garantia de qualidade que no enfoque simultaneamente o produto tecnolgico e o processo de

desenvolvimento desse software. (BARTI, 2002 p. 17).

Contudo, podemos estabelecer dois requisitos fundamentais para a qualidade do software: a dimenso da qualidade do processo e a qualidade do produto.

1.2.1 Qualidade no processo

O primeiro passo de uma empresa que quer desenvolver softwares com qualidade, sem duvida, constituir um processo de desenvolvimento, nem que este seja mnimo, pois impossvel obter qualidade em algo que no existe. Aps estabelecido o processo de desenvolvimento, o ideal que a estruturao dos processos possuam mecanismos de inibio e impedimento de falhas.
Todas as atividades cujo foco principal garantir a qualidade de cada etapa do processo de engenharia de software deve ser consideradas dentro da dimenso da garantia da qualidade do processo de engenharia de software. (BARTI, 2002 p. 17).

Essa um das perspectivas mais negligenciadas dentro das empresas fornecedoras de software, e na maioria dos casos, nem existem processos formais de desenvolvimento, e quando existem , esta apenas no papel, no sendo utilizado pela equipe de desenvolvimento.

1.2.2 Qualidade do produto

A qualidade do produto evidente dentro do desenvolvimento, possuindo no cronograma um fase de testes, apesar dela ser, na maior parte das vezes, substituda por um tempo extra na fase de desenvolvimento, pois em um projeto de desenvolvimento , os prazos so exguos, previamente estabelecidos e nem sempre existem prazos disponveis para os testes. Essas empresas veem a atividade de teste com o objetivo de estressar telas e funcionalidades de um sistema informatizado, buscando qualidade do produto tecnolgico gerado. Essa metodologia muito empregada nas organizaes, e o grau de eficincia assustadoramente baixo, Bati afirma alguns motivos para esse fato:

[...]falta de planejamento das atividades de testes, ausncia de testes que validem funcionalidades antigas e ausncia de um processo de automao dos testes e conferencias. (BARTI, 2002 p. 18).

1.2.3 O custo da Qualidade

Ao implementar os testes com um processo organizado e paralelo ao desenvolvimento, os custos de manuteno ser reduzido, como veremos a seguir:

Figura 1 Custo correo dos Desfeitos

A figura acima mostra a Regra 10 de Myers, onde notvel o crescimento do custo em relao as fases do projeto, e a correo dos defeitos tendem a aumentar quanto mais tardiamente eles forem encontrados. Rios (2005, p.93) complementa: A concluso obvia: quanto menos defeitos deixarmos no software, tanto mais barato ser a sua manuteno no futuro, ou seja, defeitos encontrados na fase de desenho muito mais baratos do que defeitos encontrados em produo. Rex Black (2002, apud RIOS, 2005, p.94), afirma : [...]existe uma progresso do tipo, 10, 100, 1000, se compararmos os defeitos encontrados na fase de desenho, codificao e produo, e para exemplificar esta afirmao, Rex Black este processo de teste:

Estrutura do Teste

Teste informal

Teste manual 60.000 10.000

Teste automatizado 60.000 10.000 12.500

Pessoal Infra-estrutura Ferramentas Total do investimento Defeitos pela encontrados equipe de

0 0 0 0

70.000

82.500

desenvolvimento Defeitos encontrados Custo dos defeitos Defeitos encontrados 250 2.500 250 2.500 250 2.500

pela equipe de teste Defeitos encontrados Custo dos defeitos Defeitos encontrados em produo. Defeitos encontrados Custo dos defeitos Custo da qualidade Conformidade(investimento 0 em melhorias) No total conformidade(custo 752.500 dos defeitos 437.500 302.500 70.000 82.500 750 750.000 400 400.000 250 250.000 0 0 350 35.000 500 50.000

encontrados) Total do custo da 752.500 507.500 385.000

qualidade Retorno do investimento No h 350% 445%


Figura 02 Processo de teste de software Rex Black Fonte: Rex Black (2002, apud RIOS, 2005, p.94).

10

Rios (2005) explica que nas estimativas de Black, os defeitos encontrados nos testes de desenvolvimento (unitrio e integrao) custam 10 dlares para serem corrigidos, os mesmos defeitos encontrados por uma equipe de testes 106 mil, considerando todo o investimento para montar a equipe de testes. No entanto, essa equipe encontraria cerca de 350 defeitos que deixaram de ocorrer em produo, onde custariam entorno de 1000 dlares para serem corrigidos. Isso significa dizer, que a empresa lucraria ao encontrar os defeitos nas fases iniciais no processo de desenvolvimento, onde seria mais barato corrigi-los. Rex Black (2002, apud RIOS, 2005, p.94) Diz:
Apenas 25% dos defeitos so normalmente encontrados pela equipe de desenvolvimento, ficando os outros 75% para ocorrer quando o software j estiver em produo. Com a equipe de testes qualificada, 50% dos defeitos passam a ser encontrados ainda no processo de desenvolvimento, passando agora a ocorrer 50% em produo. A automao dos testes permite que 75% dos defeitos possam ser encontrados antes de o sistema entrar em produo.

Obviamente, existem negcios onde os defeitos em produo podem custar muito mais caros.

1.3 Oque e onde esto os defeitos?

Existem vrios termos importantes relacionados ao teste de software, e elas no so seguidas o tempo todo, e nem so unanimemente usadas pelos pesquisados e engenheiros de software, usualmente usa-se erro de uma maneira bastante flexvel, muitas vezes se confundindo com defeito, erro ou at uma falha. Delamaro, Maldonado e Jino (2007, p.2) definem:
Defeito (do ingls fault) como sendo um passo, processo ou definio de dados incorretos e engano ( mistake) como a ao humana que produz o defeito. Assim os dois conceitos so estticos,

11

pois esto associados a um determinado programa ou modelo e no dependem de uma execuo particular.

De acordo com Barti (2002), defeitos so falhas de comportamento do software em relao aos requisitos estabelecidos. Ou seja, ocorre de algum desvio que foi estabelecido nos seus requisitos. Outros termos utilizados so definidos por:
A existncia de um defeito pode ocasionar a ocorrncia de um erro (error) durante uma execuo do programa, que caracteriza por um estado inconsciente ou inesperado. Tal estado pode levar a uma falha (failure), ou seja, pode fazer com que o resultado produzido pela execuo seja diferente do resultado esperado (DELAMARO, MALDONADO E JINO 2007, p.2).

Qualquer ser humano esta susceptvel a cometer erro (engano), que produz um defeito no software, e se esse defeito for executado, o sistema irar falhar, ou agir de forma inesperada. Apesar da natureza dessas palavras

serem diferentes, elas remetem um desvio de qualidade no ato de elaborao de um documento, na execuo de uma atividade ou na construo de um componente do software. Bati (2002) ressalta que existe uma viso comum que os defeitos somente so provenientes do cdigo-fonte do produto. Os erros ocorrem em todas as fases do processo desenvolvimento do software, e estudos relacionam a maior incidncia de defeitos nas fases iniciais do processo de desenvolvimento, como demonstrado na figura 3:

12

Figura 03 Incidncia de defeitos nas etapas do desenvolvimento Fonte: Rios (2005 p. 96)

Contudo, podemos concluir que se o objetivo reduzir ao mximo o numero de erros, devemos focar ao mximo as fases iniciais do processo, desta forma identificando antecipadamente os erros antes que eles afetem outras fases do desenvolvimento.

13

Referncias Bibliogrficas
BARTI, ALEXANDRE. Garantia da Qualidade de Software. Rio de Janeiro,Elsevier, 2002.

LIMA, Josimar de Souza. O uso da anlise de riscos em processos de testes de software. 2010. Monografia (Sistema de informao) Organizao Sete de Setembro Cultura e Ensino LTDA. Paulo Afonso BA. Disponvel em: <http://200.255.167.162/pesquisa/pdf_monografias/sistemas/2010/5218.pdf> Acesso em: 15 maio 2013. SOMMERVILLE, Ian. Engenharia de Software. 6 ed. So Paulo: Addison Wesley,2003. Rios, Emerson. Analise de Risco em projetos de teste de software, So Paulo, ed. Alta Books, 2005.

You might also like