Please use this identifier to cite or link to this item: http://hdl.handle.net/10923/1549
Type: masterThesis
Title: Estratégia para especificação e geração de casos de teste a partir de modelos UML
Author(s): Peralta, Karine de Pinho
Advisor: Zorzo, Avelino Francisco
Publisher: Pontifícia Universidade Católica do Rio Grande do Sul
Graduate Program: Programa de Pós-Graduação em Ciência da Computação
Issue Date: 2009
Keywords: INFORMÁTICA
SEGURANÇA DE DADOS
ENGENHARIA DE SOFTWARE
UML (INFORMATICA)
Abstract: Due to the evolution of computer systems and the services provided by the Internet, software engineers are concerned about the security of the softwares they develop. The traffic of confidential data through the Internet is increasing, making essential the security evaluation of the systems before deploying them to the final users. However, a short period of time is dedicated to evaluate this characteristic during the test phase, resulting in an unsafe software. It is not trivial to evaluate the security level of an application. This aspect must be considered since the design phase, when the model is still being elaborated. The problem is the lack of security information available, either in the models, which have limitations to represent this aspect, or in the documents, tools and checklists, which do not explain clearly how to conduct the security tests. In this context, a new approach is becoming popular, known as model-based testing. The goal of this technique is to generate test cases by extracting specific information from a model, accordingly to the aspects that must be tested. Several works propose models to represent various aspects, such as functional or performance issues, but only a few of them are related to describing security characteristics. Therefore, this work presents a set of UML stereotypes to specify some behaviors that may compromise software security, as well as an algorithm that analyzes the model and generates test cases. The use of the stereotypes allows the software engineer to annotate parts of the model that may contain vulnerabilities, and the test cases indicates to the tester the steps that must be performed to verify the occurrence of the vulnerabilities on the final software. This work has two main goals: to assist developers during the implementation process, emphasizing the functionalities that must be developed carefully; and, to allow the test case generation based on the security information provided by the model.
Com a expansão dos sistemas computacionais e com a popularização dos serviços providos pela Internet, é crescente a preocupação dos engenheiros de software com a segurança dos sistemas que desenvolvem. O volume de informações confidenciais que trafega pela Internet é cada vez maior, tornando essencial a avaliação de segurança destes sistemas antes de entregá-los a seus usuários. Entretanto, o tempo que dedicam em seus projetos à realização de testes para avaliar este aspecto é pequeno, fazendo com que softwares inseguros sejam liberados no mercado. Verificar o nível de segurança de um software não é trivial. É preciso considerar este aspecto desde a fase de projeto do sistema, quando o modelo ainda está sendo elaborado. Uma limitação é a deficiência existente na área de segurança, seja em relação aos modelos, que provêem poucas estruturas para representar este aspecto, ou à pouca quantidade de ferramentas, documentos e checklists explicando como conduzir a execução de testes de segurança. Neste contexto, vem se tornando popular uma técnica conhecida como teste baseado em modelos. Nesta, os testes a serem realizados são definidos automaticamente a partir do modelo da aplicação, de acordo com os aspectos desejados. Diversos trabalhos propõem modelos para especificar os mais variados requisitos, como funcionais e de desempenho, mas poucos se dedicam a definir uma forma de descrever aspectos de segurança. Sendo assim, este trabalho propõe alguns estereótipos UML para especificar situações que podem comprometer a segurança de um software, além de um algoritmo que analisa estes e gera, automaticamente, casos de teste a partir do modelo. Desta forma, é possível assinalar, através da inserção de estereótipos no modelo, partes do sistema que podem conter vulnerabilidades, e, posteriormente, executar os casos gerados para verificar a ocorrência destas no software final. A elaboração deste trabalho tem dois objetivos principais: auxiliar durante a fase de implementação do software, prevendo situações que possam comprometer sua segurança e orientando os desenvolvedores, e permitir a geração automatizada de casos de teste de segurança a partir das informações inseridas.
URI: http://hdl.handle.net/10923/1549
Appears in Collections:Dissertação e Tese

Files in This Item:
File Description SizeFormat 
000410387-Texto+Completo-0.pdfTexto Completo1,7 MBAdobe PDFOpen
View


All Items in PUCRS Repository are protected by copyright, with all rights reserved, and are licensed under a Creative Commons Attribution-NonCommercial 4.0 International License. Read more.