Fernanda Amorim Lopes Instituto de Informtica Pontifcia Universidade Catlica de Minas Gerais fernanda.lopes@gmail.com
Maria Augusta Vieira Nelson Instituto de Informtica Pontifcia Universidade Catlica de Minas Gerais mavnelson@gmail.com
ABSTRACT
One of the greatest challenges of the IT industry is to maintain the quality of the developed product within a consistent planning. Product delays are in general consequences of badly conceived planning and lack of progress control. To plan with quality means to perform trusty estimates that allow for controlling the progress. The software test process has become more independent from the software development process, requiring its own methodology and management. This independence has demanded planning and effort estimates that are specific for the software testing process. The testing activity is complex and expensive. Therefore, it must be precisely estimated and allow for progress control during the execution of the project. This work presents an analysis of the current techniques to estimate the effort needed to develop and to execute functional testing. This analysis was done through the practical application of the techniques in real projects of a software factory, showing the advantages and limitations of each technique. Keywords Effort estimates, software testing, software quality.
RESUMO
Um dos maiores desafios da indstria de Tecnologia da Informao manter a qualidade do produto desenvolvido dentro de um planejamento consistente. Os atrasos nos projetos so de uma forma geral, conseqncia de um planejamento mal concebido e a falta de controle do andamento do projeto. Planejar com qualidade significa realizar estimativas confiveis que possibilitam controlar o processo. O processo de teste de software tem se tornado cada vez mais independente do processo de desenvolvimento no que diz respeito sua metodologia e gerenciamento prprio. Essa independncia tem exigido certo planejamento e uma estimativa de esforo mais especfica para o processo de teste de software. A atividade de teste complexa e cara, e, portanto, deve apresentar estimativas precisas e controlveis ao longo do projeto. Este trabalho apresenta uma anlise das tcnicas existentes para estimar o esforo gasto para desenvolver e executar testes funcionais, atravs da aplicao prtica em projetos reais de uma fbrica de software, levantando as vantagens e limitaes de cada tcnica. Palavras-chave Estimativa de esforo, teste de software, qualidade de software
1. INTRODUO
As organizaes desenvolvedoras de software precisam construir sistemas teis, de qualidade e no tempo adequado para atender os nveis de competitividade exigidos pelo mercado. Para alcanar estes objetivos, necessrio o uso de metodologias para estimar o esforo, o tempo e o custo das atividades do processo desde a fase de concepo at as fases de implementao e testes. O teste de software um processo que vem se tornando cada vez mais importante e independente no desenvolvimento de software, com suas prprias metodologias, equipes e gerenciamento dedicado ao teste [10]. Essa independncia tem exigido certo planejamento e uma estimativa de esforo mais especfica para o processo de teste de software. A atividade de teste uma etapa que geralmente custa caro e que impacta outras atividades do processo de desenvolvimento de software. Estimar o esforo das atividades de teste contribui para que sejam estabelecidos os planos de teste. Quando no era tratado como um processo independente, a atividade de teste era estimada junto s etapas de construo do software, mas sem uma avaliao correta do esforo da atividade de testes. O trabalho de estimar tem que ser repetido sempre para que atravs de sucessivas melhorias consiga-se o nvel de exatido desejado [4]. Nas fases iniciais do projeto ainda no h conhecimento completo das caractersticas do sistema (produto), portanto, preciso estimar. Vrios modelos de estimativa foram criados para fornecer mtricas que permitam atender com menor margem de erro s necessidades do projeto. As mtricas obtidas nos diversos momentos do projeto no s tem valor quando avaliadas isoladamente, mas tambm quando relacionadas entre si. Estimar o esforo de teste muito importante para a avaliao dos custos do projeto. Fatores como a maturidade de processo de software e a testabilidade do sistema so extremamente influenciadores para estimar o esforo do teste de software.
2
2. TCNICAS DE ESTIMATIVAS DE ESFORO PARA O TESTE DE SOFTWARE
O teste de software uma etapa que faz parte do ciclo de vida de desenvolvimento de software e a estimativa de esforo de teste era includa na medio de todo o processo de desenvolvimento. Normalmente as organizaes no possuem uma mtrica de estimativa de tamanho ou esforo do processo de teste de software. Para estimar, elas utilizam uma base histrica ou uma forma intuitiva. A maioria dos modelos de estimativa aplicados ao desenvolvimento visa tambm estimar o esforo de teste dado a importncia dessa atividade. Geralmente os mtodos utilizados so [6]: Mtodo Ad-hoc: o esforo de teste no est baseado em algum prazo definitivo. O esforo continua at algum tempo pr-decidido ditado pela gerncia; Porcentagem do tempo para o desenvolvimento: a premissa fundamental aqui que os esforos de engenharia de teste so dependentes do tempo/esforo de desenvolvimento. Primeiramente, o esforo de desenvolvimento estimado usando alguma tcnica como Nmero de Linhas de Cdigos ou Pontos por Funo. O prximo passo usar alguma heurstica para descobrir um valor prximo ao encontrado. Isto varia amplamente e geralmente baseado em experincias prvias; Das estimativas de Pontos por Funo: Capers Jones estima que o nmero de casos de teste pode ser determinado pela estimativa de pontos de funo. A frmula : nmero de casos de teste = (FP) 1,2 ; Baseado em Pontos por Caso de Uso: multiplicando o UCP ajustado com um fator de converso. Este fator de converso denota o nmero de homens / hora que representa esforo de teste requerido para uma combinao de linguagem e tecnologia. A organizao ter que determinar os fatores de converso para as dadas combinaes. 2.1 Anlise de Pontos de Testes A Anlise de Pontos de Teste uma tcnica utilizada para estimar o esforo para definir, desenvolver e executar testes funcionais, baseados na complexidade do desenvolvimento de software, ou seja, derivado a partir da tcnica de Anlise de Pontos de Funo. Esta tcnica tambm utilizada para estimar o esforo necessrio na execuo de testes de aceitao e de sistema. Para isso, a Anlise de Pontos de Teste considera relevante, alm do tamanho funcional determinado pelos pontos de funo, outros dois elementos: a estratgia de testes e a produtividade [12]. 2.2 Estimativa a partir de bases histricas de projetos de teste A estimativa atravs de uma base histrica baseada na coleta das informaes armazenadas no banco de dados dos projetos onde os requisitos de negcio so as informaes bsicas para as estimativas. Para que o processo de estimar de esforo seja realmente consistente, necessrio que os registros histricos de dados sejam extremamente organizados e sistemticos para que os nmeros produzidos tenham a maior exatido possvel. O levantamento desses registros histricos pode ser realizado tambm atravs de base histrica de outras organizaes, desde que seja considerado que os ambientes e processos de teste de software variam de organizao para organizao. 2.3 Estimativas de esforo baseadas em Pontos por Casos de Teste O principal objetivo desta tcnica fornecer uma estimativa de testes baseada nos principais fatores que afetam os testes, separando o esforo das diferentes fases do teste de software. A Anlise de Pontos por Casos de Teste (TCP Test Case Points) considerada uma das estimativas para testes funcionais mais exatas por enfatizar fatores que determinam a complexidade do ciclo de testes como um todo. Esta tcnica combina quatro fases do processo de teste: a gerao dos casos de testes, a implementao dos scripts para os testes automatizados, a execuo dos testes manuais e a execuo dos testes automatizados [7]. Ela pode ser utilizada tambm em processos em que se aplicam uma ou mais fases do processo de teste. A Anlise de Pontos por Casos de Teste identifica sete passos principais: 1. Identificao da complexidade dos casos de uso 2. Identificao dos casos de testes 3. Determinao dos Pontos por Casos de Testes para a elaborao dos casos de testes manuais. 4. Determinao dos Pontos por Casos de Testes para a elaborao dos casos de testes automatizados. 5. Determinao dos Pontos por Casos de Testes para a execuo dos casos de testes manuais. 6. Determinao dos Pontos por Casos de Testes para a execuo dos casos de testes automatizados. 7. Determinao do total de Pontos por Casos de Testes para o projeto de teste. 2.4 Estimativa de Capers Jones Segundo a estimativa de Capers Jones, possvel estimar os casos de teste utilizando pontos de funo utilizando a frmula abaixo. Mas este tipo de estimativa deve ser realizado com cautela, visto que os resultados podem ser imprecisos em alguns casos, mas ser bastante preciso desde que a anlise de pontos de funo tambm seja [11].
Nmero de casos de teste = FP 1,2
2.5 Estimativas baseadas na regra 40-20-40 A regra 40-20-40 deve ser utilizada apenas como uma diretriz da engenharia de software na distribuio do esforo de um projeto de desenvolvimento de software. Esta regra recomenda que 40% do esforo reservado para a anlise e projeto, 20% do esforo reservado para a codificao e 40% do esforo reservado para o teste. [9].
3
Figura 1 Distribuio de esforo segundo a Regra 40-20-40 Fonte: Pressman, 2002
3. EXPERIMENTOS E RESULTADOS
Este trabalho prope uma avaliao prtica das tcnicas de estimativas para teste de software existentes atravs do estudo e acompanhamento de diferentes projetos de teste de software, aplicando em cada um deles as tcnicas de estimativa de esforo explicitadas ao longo do estudo, As estimativas normalmente so realizadas na fase de planejamento de testes que acontece na concepo do projeto e deve ser acompanhada ao longo deste. Esta fase caracterizada pela definio de uma proposta de testes baseadas nas expectativas do cliente em relao aos prazos, custos e qualidade esperados, possibilitando estimar o esforo e assim dimensionar a equipe. O conhecimento prtico foi obtido a partir da escolha de seis projetos de software que j foram finalizados em uma empresa de desenvolvimento de software. Estes projetos eram de diferentes tamanhos e complexidade. A condio para escolha desses projetos foi baseada em uma estimativa ad-hoc e estes projetos tiveram incio e trmino estimados dentro do perodo definido para a realizao deste trabalho, ou j estavam concludos no inicio do trabalho. necessrio ainda que estes projetos tenham uma documentao de casos de uso ou anlise de requisitos. Os casos de uso so os artefatos principais de entrada deste estudo. Atravs deles, foi possvel identificar todos os dados de entrada necessrios s tcnicas de estimativas analisadas neste trabalho. Foi levantado, atravs de uma base histrica, todo o esforo despendido nos projetos e o esforo despendido com a fase de testes. Esta base histrica registra tambm o nmero de casos de testes elaborados/executados em cada projeto.Para cada projeto, foram aplicadas as seguintes tcnicas: Tcnicas cuja entrada se baseia em pontos de funo: o Anlise de Pontos de Testes o Estimativa de Capers Jones Tcnicas cuja entrada se baseia nos casos de testes: o Anlise de Pontos por Casos de Teste Tcnicas cuja entrada se baseia na estimativa total do projeto: o Regra 40-20-40
Para cada um dos projetos de desenvolvimento de software experimentados foram calculados os pontos de funo utilizando- se a tcnica de Anlise de Pontos de Funo, que serve de entrada para a Anlise de Pontos de Teste e a estimativa de Capers Jones. A especificao de casos de testes tambm foi utilizada como entrada para tcnica de Pontos por Casos de Teste. Os experimentos foram aplicados em alguns projetos de uma fbrica de software. Esta fbrica de software faz parte de uma empresa que atua a 20 anos no mercado de tecnologia da informao e possui um processo de desenvolvimento de software relativamente estruturado, mas que ainda est passando por um processo de melhoria com o objetivo de certificar-se no modelo CMMI (Capability Maturity Model Integration) nvel 2. Na empresa onde os experimentos foram realizados, o teste de software possui um processo bem definido. O objetivo do processo de testes promover o controle do planejamento, especificao, execuo e monitoramento das atividades de testes de software. O teste tratado como um projeto, com atividades bem definidas. Estas atividades incluem procedimentos iniciais, que equivale a preparao do ambiente de testes e anlise de testabilidade do projeto, planejamento, especificao, execuo, automatizao. A maior dificuldade encontrada na fase de planejamento estimar qual ser o esforo despendido pelo teste. Isto est diretamente ligado a cobertura que ser dada ao teste, ou seja, qual o nvel de qualidade o cliente deseja, quanto ele est disposto a pagar; alm de outros fatores que influenciam o esforo dos testes. A rea de testes da empresa no possua nenhum meio de estimar os projetos de testes. As estimativas de testes eram realizadas sem nenhum padro, e nunca chegavam perto do realizado, exigindo sempre um esforo muito maior do que o previsto. Isso gerou vrios atrasos na entrega de projetos. 3.1 Criao da Base Histrica O primeiro passo foi levantar uma base histrica de projetos finalizados e criar uma metodologia para registro de projetos finalizados, em andamento e projetos futuros. Os projetos finalizados fazem parte desta base histrica e serviu como referncia para elaborar a estrutura da base histrica. Os projetos futuros e que esto em andamento tambm faro parte desta base histrica. Para este trabalho, o objetivo desta base histrica comparar os resultados obtidos atravs das tcnicas de estimativas aplicadas e servir como um ponto de referncia. A Tabela abaixo apresenta dados coletados por esta base histrica e que serviram de entrada e referncia as tcnicas analisadas.
Tabela 2: Dados coletados da base histrica 4
3.2 Tcnica de Anlise de Pontos de Testes Para o clculo da Anlise de Pontos de Testes foi elaborada uma planilha .que permitisse automatizar o clculo dos pontos de teste. Os dados de entrada dos clculos foram os pontos de funo extrados da base histrica de cada projeto. Os clculos foram divididos em etapas conforme apresentado na Tabela abaixo. A soma dessas quatro etapas foram ento transformadas em horas de esforo de teste.
Tabela 3: Resultado do clculo das etapas da Anlise de Pontos de Testes considerando o tamanho total dos projetos
Cada projeto foi avaliado a partir do total de pontos de funo do projeto e a partir dos pontos de funo de cada caso de uso. Esta avaliao foi realizada visto que em nenhuma bibliografia fica claro se a Anlise de Pontos de Teste deve ser aplicada conforme o tamanho total do projeto ou se pode realizada estimando-se o esforo de teste para cada caso de uso. Uma primeira comparao foi realizada entre a Anlise de Pontos de Teste para o tamanho total do projeto e o tamanho por Caso de Uso. Esta anlise teve os pontos de teste, as funes dinmicas e as funes independentes calculados separadamente para cada caso de uso e depois somados os pesos destes fatores de todos casos de uso. Os valores obtidos considerando a estimativa por caso de uso apresentaram um resultado incoerente. Os projetos E e F apresentaram valores muito acima de 10.000 pontos de testes e portanto, consideramos este valor como mximo. A Figura 2 mostra o grfico com o resultado da Anlise de Pontos de Testes considerada por caso de uso.
Figura 2: Resultado da Anlise de Pontos de Testes considerada por caso de uso
J a estimativa realizada considerando-se os pontos de funo do tamanho total do projeto apresentou resultados mais coerentes.. A Figura 3 mostra o grfico com o resultado da Anlise de Pontos de Testes considerando o tamanho total do projeto.
Figura 3: Resultado da Anlise de Pontos de Testes considerando o tamanho total do projeto
O resultado do total de pontos de testes de cada projeto (dados em horas) foi comparado com o total do esforo gasto com testes no projeto registrado na base histrica. Verificou-se que o esforo de teste estimado atravs da Anlise de Pontos de Testes ficou at 350% mais alto do que o comparado com a base histrica. A avaliao dos fatores relevantes para estimar os testes ser abordada em trabalhos futuros. 3.3 Tcnica de Capers Jones Para validar a Estimativa de Capers Jones, que estima o nmero de casos de testes a partir dos pontos de funo, foi criada uma planilha para se chegar ao nmero de casos de testes tanto para o tamanho total do projeto quando para o tamanho por casos de uso. Por ter um crescimento polinomial, onde nmero de casos de teste igual a PF 1,2 , a estimativa de Capers Jones apresenta esforos diferentes dependendo da considerao feita. O nmero de casos de testes crescem a medida que cresce o tamanho do sistema. Portanto, ao considerarmos a estimativa para cada caso de uso e depois somarmos o resultado obtido de todos os casos de uso, o resultado do esforo ser bem menor do que quando consideramos o tamanho total to projeto. Quanto maior o tamanho em pontos de funo, maior ser o esforo despendido. O grfico da Figura 4 apresenta o resultado da Estimativa de Capers Jones considerando o tamanho total do projeto.
5
Figura 4: Resultado da Estimativa de Capers Jones considerando o tamanho total do projeto
Figura 5: Resultado da Estimativa de Capers Jones considerando- se os casos de uso
O grfico da Figura 5 apresenta o resultado da estimativa realizada considerando-se o tamanho de cada caso de uso mais coerente com o nmero de casos de testes realizados levantados pela base histrica, conforme pode ser visto na Tabela 4.
Tabela 4: Pontos de Funo dos projetos e o estimado X realizado considerando-se a estimativa de Capers Jones
A tcnica de Capers Jones no oferece a estimativa de esforo de teste em horas e tambm no considera nenhuma caracterstica do projeto de software e nem o processo utilizado. Uma alternativa que pode ser utilizada para se obter o esforo de testes em horas seria obter a mdia de tempo gasto para elaborar e executar um caso de teste e multiplicar pelo nmero de casos de testes fornecidos pela tcnica. 3.4 Regra 40-20-40 A regra 40-20-40 uma regra muito simples de ser aplicada. O resultado da aplicao desta regra foi bem satisfatrio, visto que o estimado para o esforo despendido em testes ficou bem prximo do realizado. Mas esta regra no considera pontos importantes dos testes como a cobertura e a complexidade. Desta forma, posso ter sistemas que exigem uma complexidade muito maior nos testes, como aplicaes mdicas ou aeronuticas, por exemplo. Nestes casos, o esforo de teste estimado por esta regra tende a ser bem menor do que realmente dever ser realizado. A Tabela 5 mostra o esforo realizado nos projetos segundo a Regra 40-20-40.
Tabela 5: Regra 40-20-40 Esforo realizado nos projetos
A Figura 6 mostra o resultado da Regra 40-20-40 considerando o tamanho total do projeto.
Figura 6: Resultado da Regra 40-20-40 considerando o tamanho total do projeto
3.5 Anlise de Pontos por Casos de Teste Uma vantagem observada nesta tcnica a nfase dada a automatizao dos testes, e a flexibilidade de estimar testes de software que sejam executados s manualmente, s automatizados ou manual e automatizado. Alm da falta de literatura acerca desta tcnica, foram observados alguns pontos negativos. A tcnica de Anlise de Pontos por Casos de Teste no estabelece nenhum critrio para transformar os pontos obtidos por caso de teste em esforo de testes. Em alguns projetos, os pontos de testes gastos para gerar os casos de testes ficaram iguais ao nmero de pontos de testes para executar um caso de teste. A Tabela 6 apresenta o Total de pontos por casos de testes dos projetos. 6
Tabela 6: Total de pontos por casos de testes dos projetos Uma alternativa para a obteno do esforo de teste em horas , a partir de uma base histrica, relacionar os pontos por casos de teste com o esforo necessrio para a execuo. A Figura 11 apresenta o resultado da Anlise de Pontos por Casos de Teste, considerando o total do nmero de pontos por casos de teste, o total de horas gastas em testes e o nmero total de casos de testes. No grfico abaixo percebe-se a inexistncia de uma relao coerente dos pontos por casos de testes com o total de horas gastas ou com o nmero total de casos de teste.
Figura 7: Resultado da Anlise de Pontos por Casos de Teste
4. TRABALHOS RELACIONADOS Uma das abordagens das tcnicas de estimativa de esforo para testes baseada nos casos de uso foi elaborada por Nageswaran [6] e construda a partir da tcnica de Pontos por Caso de uso [3]. Esta abordagem permite estimar o esforo despendido em testes a partir dos casos de uso. Esta tcnica consiste em separar as informaes de cada caso de uso sobre os atores envolvidos, o nmero de transaes ou classes de anlise, fatores tcnicos e de ambiente. Estas informaes so convertidas em pontos que, quando multiplicados por um fator de converso, resultam em uma estimativa do tempo que ser necessrio para os testes do software[1]. Em uma avaliao desta tcnica, foi relatado que a aplicao desta tcnica resulta em uma margem de erro muito alta, conforme apresentado na Tabela abaixo.
Tabela 1 Comparao entre o esforo estimado e o efetivamente consumido para os testes de trs sistemas de software. Fonte: [1].
O resultado deste trabalho tambm apresentou uma variao bastante significativa para a tcnica avaliada, assim como o resultado das demais tcnicas avalidas.
5. CONCLUSO
As estimativas desempenham um papel vital em todas as fases do ciclo de vida do desenvolvimento de um software. Uma estimativa eficaz de um projeto de software uma das atividades mais importantes e desafiadoras no ciclo de vida de um software. O sucesso de um projeto no pode ser alcanado sem uma rigorosa estimativa, uma vez que prazos cumpridos representam um importante diferencial entre os projetos de software. Este assunto ainda pouco explorado e com a valorizao do processo de teste de software por parte da indstria de tecnologia da informao e dos clientes, tem se tornado uma rea de pesquisa de importante contribuio a melhoria do planejamento dos testes de software. As tcnicas para estimativas de testes de software encontradas na literatura ainda precisam ser amadurecidas. preciso considerar que os processos de testes variam e as estimativas devem acompanhar esses processos. Fatores como a cobertura de testes e os testes de regresso para os testes funcionais so de extrema importncia quando consideramos um projeto de estimativa de testes, e nenhumas das tcnicas avaliadas consideram estes fatores de maneira consistente. Uma tcnica de estimativa satisfatria deveria, alm de outros fatores, considerarem a cobertura e os testes de regresso e ser capaz de fornecer esta estimativa na fase inicial do projeto.
6. TRABALHOS FUTUROS
A tcnica de Tamanho e Complexidade dos Casos de uso e a Anlise de Pontos de Testes serviram de inspirao para a criao de tcnica experimental considerando-se os casos de uso com o objetivo de obter uma estimativa mais aproximada das horas de esforo de teste. Uma deficincia observada em algumas das tcnicas analisadas, foi a desconsiderao de fatores ambientais e organizacionais importantes como a equipe de testes, ferramentas e a cobertura dos testes. Com o objetivo de melhorar as estimativas de testes, sugere-se a elaborao de uma tcnica experimental, adicionando ento os fatores considerados importantes na estimativa de testes por caso de uso: 7
Existncia de interface grfica Tamanho da equipe Experincia dos analistas Ferramentas de gerncia Ferramentas de implementao (manual ou automatizado) Nvel de detalhamento do caso de uso Padronizao do caso de uso Processo de testes Ambiente de testes Estimativa de re-testes Cobertura dos testes
Para cada um destes fatores considerados importantes, deve ser atribudo um peso que poder aumentar ou diminuir o esforo de testes e ser transformado em horas de esforo. A elaborao e validao desta tcnica proposta requerem uma srie de experimentos para calibrar os pesos atribudos e deve ser fruto de trabalhos futuros. Para avaliar a qualidade do produto entregue, dever ser realizada tambm uma anlise de cobertura alm de verificar a quantidade de defeitos ocorridos aps a entrega. Isto deve permitir avaliar se os testes realizados foram realmente eficazes e se o tempo gasto em testes foi realmente o suficiente para garantir um nvel satisfatrio de qualidade.
7. REFERNCIAS
[1] ALMEIDA, rica R. C., ABREU, Bruno T., MORAES, Regina, MARTINS, Eliane. Avaliao de um Mtodo para Estimativa de Esforo para Testes baseado em Casos de Uso. In VII Simpsio Brasileiro de Qualidade de Software. Florianpolis. Junho 2008. [2] BASTOS, Aderson; RIOS, Emerson; CRISTALLI, Ricardo; MOREIRA, Trayah. Base de conhecimento em teste de software. 2 ed., So Paulo: Martins 2007. [3] KARNER, G. Use case points: resource estimation for objectory projetcs. Object Systems. Rational/IBM., 1993. [4] LISTER, Tim. Why Nobody in our Business Can Estimate. In: STQe, volume 4, n 3 s.1. Maio / Junho 2002. [5] NAGESWARAN S. Test Effort Estimation Using Use Case Points (UCP). In 4th International Software / Internet Quality Week, May-June 2001. Disponvel em: http://www.cognizant.com/cogcommunity/presentations/Test _Effort_Estimation.pdf. Acesso em 06/09/2007. [6] PATEL, Nirav, GOVINDRAJAN Muthukrishnan, MAHARANA Susmita, RAMDAS Shoba, Test Case Point Analysis - Cognizant Technology Solutions, 2001. Disponvel em www.stickyminds.com/getfile.asp?ot=XML&id=2566&fn=X US373692file1.pdf. Acesso em 06/09/2007. [7] PAULA FILHO, Wilson P., Engenharia de Software: Fundamentos, Mtodos e Padres. 2 ed., Rio de Janeiro: LTC, 2003. [8] PRESSMAN, Roger S. Engenharia de software. So Paulo: ed. McGraw-Hill, 2002. [9] SOMERVILLE, Ian. Engenharia de Software 6a. Edio; Ed. Addison Wesley, 2003. [10] TRAYAH R. MOREIRA Filho, RIOS Emerson, Projeto e Engenharia de Software Teste de Software 2 edio Ed. Alta Books , 2003. [11] VALLE, A.; MARCINIUK, M.; MELHORETTO, S.; BURNETT, R. Um roadmap para mtricas de software: definies e histrico. Developers Magazine: setembro de 2000. [12] VEENENDAAL, Erik van, DEKKERS Ton Test point analysis: a method for test estimation, Project Control for Software Quality, Editors, Rob Kusters, Adrian Cowderoy, Fred Heemstra and Erik van Veenendaal. Shaker Publishing, 1999.