Estudo, definição e proposta de representação de interface web visando à atividade de teste de software - Jorge, Rodrigo Funabashi (2016)
O objetivo principal da Engenharia de Software é dar subsídios para desenvolvimento de software, desde a sua especificação até sua implantação emanutenção, aplicando métodos, processos e ferramentas, buscando uma maior qualidade no software produzido. Uma das atividades para se buscar a qualidade desejada é a atividade de teste de software. Essa atividade pode se tornar bastante complexa, dependendo das características e dimensões do produto de software a ser desenvolvido e, desse modo, está sujeita a diversos tipos de problemas que acabam resultando na obtenção de um produto com defeitos, prejudicando assim a qualidade do mesmo. Apesar da complexidade e das limitações existentes, encontram-se na literatura diferentes técnicas que podem ser utilizadas para gerar dados de teste para satisfazer os diversos critérios de teste de software existentes, procurando assim reduzir o custo dos testes. Porém, a geração de dados de teste é um problema indecidível, devido à complexidade e o tamanho de programas. Um dos fatores que aumentam a complexidade é o uso de interfaces do usuário (UI – User Interfaces), presentes em muitas aplicações. Essa complexidade é resultante do elevado número de combinações de entrada disponível, tornando praticamente impossível realizar os testes UI de forma manual. Dentre as alternativas que viabilizam a automatização uma das mais reconhecidas e vantajosas é o teste de UI baseado em modelos. Esta técnica passa pela construção de um modelo a partir da estrutura da interface da aplicação a ser testada e os dados de teste são gerados a partir desse modelo. Porém, um fator problemático desta abordagem reside na construção do modelo. Este processo pode ser demorado e dispendioso e, em alguns casos, pode ser bastante complicado e não atingir um objetivo satisfatório por não conseguirem representar, por meio do modelo proposto, características reais da aplicação. Ao estudar o estado da arte de teste UI, observou-se que existem ferramentas que permitem realizar tais testes automaticamente, mas essas ainda possuem algumas limitações, principalmente decorrentes do modelo de representação da interface adotado por elas. Dessemodo, a proposta dessa tese é propor um modelo de representação de UI que traga benefícios em relação às representações hoje existentes na literatura. Com a proposta deste modelo é possível representar com o maior nível de detalhes uma interface gráfica para aplicações de software. Um estudo preliminar, comparando o modelo proposto com outros disponíveis na literatura, evidencia os benefícios alcançados.