Subsidios para o Teste de Software Orientado a Objetos: Definição e Mapeamento de Programas C++ para a LI++
Autor: | Marcelo Morandini |
---|---|
Přispěvatelé: | José Carlos Maldonado, Paulo Cesar Masiero, Antonio Francisco do Prado |
Rok vydání: | 2018 |
Zdroj: | Biblioteca Digital de Teses e Dissertações da USP Universidade de São Paulo (USP) instacron:USP |
DOI: | 10.11606/d.55.2017.tde-29082017-142725 |
Popis: | A atividade de teste é de grande importância para a eliminação dos defeitos que possam persistir no software após a sua conclusão. São encontrados na literatura estudos propondo estratégias de teste de softwares Orientados a Objetos que se baseiam na experiência já adquirida no teste de programas procedimentais, principalmente na utilização de critérios baseados em fluxo de dados; entretanto não foram encontradas, ainda, ferramentas específicas para o teste de softwares Orientados a Objetos. Deve-se observar que qualquer estratégia de teste sem o suporte de ferramentas automatizadas tende a ser trabalhosa e propensa a erros na sua condução. Os Grupos de Teste de Software do ICMSC - USP - São Carlos e DCA - FEEC - UNICAMP especificaram e implementaram duas ferramentas multilinguagens de teste de programas procedimentais baseadas em uma Linguagem Intermediária (LI). Na mesma direção, este trabalho apresenta a definição de uma Linguagem Intermediária para Programas Orientados a Objetos (denominada LI++) com a finalidade de viabilizar o desenvolvimento de ferramentas multilinguagens que apoiem esse paradigma, dada a diversidade de linguagens de programação Orientadas a Objetos existentes, tais como C++, Smalltalk, Eiffel, etc. A LI++ é uma extensão da LI, visto que os corpos dos métodos que compõem um ambiente Orientado a Objetos é basicamente composto por comandos procedimentais (mapeados na LI). Ainda, foi definido e implementado o mapeamento de programas C++ para a LI++, baseando-se fortemente na implementação do mapeamento C /LI, pois a linguagem C++ é um superconjunto da linguagem C. The testing activity is important to eliminate software defects that would persist after software development. In the literature there are several initiatives proposing Object-Oriented testing strategies based on \"traditional testing\" experience, some of them based on data flow testing criteria. In the other hand, no specific tools for testing object-Oriented programs were identified that would support these criteria in the context. It should be observed that any strategy without the support of a tool is errorprone and expensive. The ICMSC - USP - São Carlos and DCA - FEEC - TINICAMP testing groups have specified and implemented two procedimental multilanguage testing tools based on an Intermediate Language (LI). Following this framework, considering the diversity\'of Object-Oriented languages, such as C++, Eiffel, Smalltalk, etc, this work presents the definition of an Intermediate Language (named LI++) to represent Object-Oriented programs making feasible the development of multilanguage Object-Oriented testing tools. The LI++ is an extension of LI, given that methods that compose an Object Oriented program are basically composed by procedimental commands (that are mapped to LI). The mapping of C++ programs to LI++ based on the C /Ll implementation, since the language C++ is a superset of C language, is also defined and implemented. |
Databáze: | OpenAIRE |
Externí odkaz: |