Abstract:
RESUMO: As aplicações Web têm passado por um grande e rápido crescimento nos últimos anos, tornando-se parte do nosso dia a dia. As grandes empresas utilizam essas aplicações para fornecer seus serviços. Por isso, é preciso garantir o desenvolvimento de aplicações de alta qualidade. Um dos atributos essenciais de uma aplicação Web, que determina diretamente seu sucesso ou fracasso, é a usabilidade. Esse atributo mede o quão adequada ao uso é a aplicação, tendo sido desenvolvidos diversos métodos para avaliá-lo. As avaliações de usabilidade têm como objetivo evidenciar os problemas de usabilidade da aplicação, facilitando a correção dos mesmos e, consequentemente, melhorando a usabilidade. O método de avaliação de usabilidade mais popular é o teste laboratorial, por conseguir avaliar diretamente os sentimentos dos usuários ao interagir com a aplicação final. Entretanto, a realização desse teste acarreta um alto custo e complexidade, devido necessidade de organização do ambiente laboratorial, convocação de participantes, avaliação de resultados subjetivos, etc. Assim, com o objetivo de simplificar a realização dessa avaliação e facilitar a descoberta de problemas de usabilidade, este trabalho apresenta uma abordagem para a detecção automática de indicativos de problemas, também conhecidos como usability smells. Essa abordagem é baseada na captura da interação do usuário em contexto de produção, ou seja, com o mesmo realizando suas atividades diárias livremente, e na análise automática dessa interação. De acordo com os padrões de ações analisados, a abordagem propõe a aplicação de algoritmos específicos para a detecção de usability smells, que os identificam e reportam informações importantes a respeito das detecções, visando facilitar a localização da origem do problema. Cada um dos smells propostos foi catalogado em termos de fundamentação, forma de detecção e refactoring sugerido. Um estudo realizado com a abordagem, demonstrou que os smells indicados por ela foram capazes de auxiliar na detecção e correção de problemas de usabilidade concretos em uma aplicação real. Apesar de não ser capaz de substituir completamente o teste laboratorial tradicional, realizado por avaliadores experientes, a abordagem proposta pode complementá-lo, auxiliando a detecção de problemas que são mais evidentes ao se analisar grandes conjuntos de dados, ou mesmo servir como uma alternativa em casos onde o custo financeiro e a demanda de tempo são restrições mais severas. ABSTRACT: Web applications have gone through a large and rapid growth in recent years, becoming
part of our day-to-day. Large companies use these applications to provide their services.
Because of this, it is necessary to ensure the development of high quality applications.
One of the essential attributes of a Web application, which directly determines its success
or failure, is usability. This attribute measures how suitable for use is the application,
and several methods have been developed to evaluate it. The usability evaluations aim to
highlight the usability problems of the application, facilitating the correctness of them
and, consequently, improving usability. The most popular usability evaluation method is
the laboratory testing, because it can directly evaluate the users’ feelings when interacting
with the final application. However, performing this test entails a high cost and complexity,
due to the necessity of organizing the laboratory environment, convening participants,
evaluating subjective results, etc. Thus, in order to simplify the realization of this evaluation and facilitate the discovery of usability problems, this work presents an approach for the automatic detection of problem indicatives, also known as usability smells. This approach is based on the capture of user interaction in the context of production, that is, with the same one performing their daily activities freely, and in the automatic analysis of this interaction. According to the action patterns analyzed, the approach proposes the application of specific algorithms for the detection of usability smells, which identify and report important information about the detections, in order to facilitate the location of the origin of the problem. Each of the proposed smells was cataloged in terms of reasoning, form of detection and suggested refactoring. A study carried out with the approach demonstrated that the smells indicated by it were able to aid in the detection and correction of concrete usability problems in a real application. Although not able to completely replace traditional laboratory testing by experienced evaluators, the proposed approach can complement it by helping to detect problems that are most evident when analyzing large datasets, or even serve as an alternative in cases where the financial cost and the time demand are more severe constraints.