A crescente utilização de sistemas baseados em computação em praticamente todas as áreas da atividade humana provoca uma crescente demanda por qualidade e produtividade, tanto do ponto de vista do processo de produção como do ponto de vista dos produtos de software gerados. Nessa perspectiva, atividades agregadas sob o nome de Garantia de Qualidade de Software têm sido introduzidas ao longo de todo o processo de desenvolvimento de software. Dentre essas atividades destacam-se as atividades de Teste e Revisão, ambas com o objetivo principal de minimizar a introdução de erros durante o processo de desenvolvimento nos produtos de software gerados. A atividade de Teste constitui um dos elementos para fornecer evidências da confiabilidade do software em complemento a outras atividades, como por exemplo, o uso de revisões e de técnicas formais e rigorosas de especificação e de verificação. A atividade de Revisão, por sua vez, é um 'filtro' eficiente para o processo de engenharia de software, pois favorece a identificação e a eliminação de erros antes do passo seguinte do processo de desenvolvimento. Atualmente, pesquisas estão sendo realizadas com objetivo de determinar qual técnica, Revisão ou Teste, é mais adequada e efetiva, em determinadas circunstâncias, para descobrir determinadas classes de erros; e de forma mais ampla, como as técnicas podem ser aplicadas de forma complementar para melhoria da qualidade de software. Ainda que a atividade de teste seja indispensável no processo de desenvolvimento, investigar o aspecto complementar dessas técnicas é de grande interesse, pois em muitas situações tem-se observado que as revisões são tão ou mais efetivas quanto os testes. Nessa perspectiva, este trabalho tem como objetivo realizar um estudo comparativo, por meio da replicação de experimentos, entre Técnicas de Teste e Técnicas de Revisão no que se refere à detecção de erros em produtos de software (código fonte e documento de especificação de requisitos). Para realizar esse estudo são utilizados critérios de teste das técnicas funcional (particionamento em classes de equivalência e análise do valor limite), estrutural (todos-nós, todos-arcos, todos-usos, todos-potenciais-usos), baseada em erros (análise de mutantes), bem como, técnicas de leitura (stepwise abstraction e perspective based reading) e técnicas de inspeção (ad hoc e checklist). Além de comparar a efetividade e a eficiência das técnicas em detectar erros em produtos de software, este trabalho objetivo ainda utilizar os conhecimentos específicos relacionados a critérios de teste para reavaliar as técnicas utilizadas nos experimentos de Basili & Selby, Kamsties & Lott e Basili. / The increasing use of computer based systems in practically all human activity areas provokes higher demand for quality and productivity, from the point of view of software process as well as from the point of view of software products. In this perspective, activities aggregated under the name of Software Quality Assurance have been introduced throughout the software development process. Amongst these activities, the test and review activities are distinguished, both of them aiming at minimizing the introduction of errors during the development process. The test activity constitutes one of the elements to supply evidences of software reliability as a complement to other activities, for example, the use of review and formal, rigorous techniques for specification and verification. The review activity, in turn, is an efficient 'filter' for the process of software engineering, therefore it favors the identification of errors before the next step of the development process. Currently, researches have been carried out with the objective of determining which technique, review or test, is more appropriate and effective, in certain circumstances, to discover some classes of errors, and mostly, how the techniques can be applied in complement to each other for improvement of software quality. Even if the test activity is indispensable in the development process, investigating the complementary aspect of these techniques is of great interest, for in many situations it has been observed that reviews are as or more effective as test. In this perspective, this work aims at accomplishing a comparative study, through the replication of experiments, between Testing Techniques and Reviews concerning error detection in software products at the source code and requirement specification level. To carry out this study are used testing criteria of the techniques: functional (equivalence partitioning and boundary value analysis); structural (all-nodes, all-edges, all-uses, all-potential-uses); error based (mutation testing), as well as reading techniques (stepwise abstraction and perspective based reading) and inspection techniques (ad hoc e checklist). Besides comparing the effectiveness and efficiency of the techniques in detecting errors in software products, this work also aims at reevaluating and eventually at improving the techniques used in experiment of Basili & Selby, Kamsties & Lott and Basili.
Identifer | oai:union.ndltd.org:IBICT/oai:teses.usp.br:tde-10052002-103851 |
Date | 11 June 2001 |
Creators | Emerson Silas Dória |
Contributors | Jose Carlos Maldonado, Renata Pontin de Mattos Fortes, Manoel Gomes de Mendonça Neto |
Publisher | Universidade de São Paulo, Ciências da Computação e Matemática Computacional, USP, BR |
Source Sets | IBICT Brazilian ETDs |
Language | Portuguese |
Detected Language | English |
Type | info:eu-repo/semantics/publishedVersion, info:eu-repo/semantics/masterThesis |
Source | reponame:Biblioteca Digital de Teses e Dissertações da USP, instname:Universidade de São Paulo, instacron:USP |
Rights | info:eu-repo/semantics/openAccess |
Page generated in 0.0021 seconds