Subsidios para o Teste de Software Orientado a Objetos: Definição e Mapeamento de Programas C++ para a LI++

Detalhes bibliográficos
Ano de defesa: 1996
Autor(a) principal: Morandini, Marcelo
Orientador(a): Não Informado pela instituição
Banca de defesa: Não Informado pela instituição
Tipo de documento: Dissertação
Tipo de acesso: Acesso aberto
Idioma: por
Instituição de defesa: Biblioteca Digitais de Teses e Dissertações da USP
Programa de Pós-Graduação: Não Informado pela instituição
Departamento: Não Informado pela instituição
País: Não Informado pela instituição
Palavras-chave em Português:
Link de acesso: http://www.teses.usp.br/teses/disponiveis/55/55134/tde-29082017-142725/
Resumo: 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.