Name: | Description: | Size: | Format: | |
---|---|---|---|---|
8.04 MB | Adobe PDF |
Authors
Advisor(s)
Abstract(s)
In recent years, not only the Service-Oriented Architecture (SOA) became a popular paradigm for the development of distributed systems, but there has been significant progress in terms of their testing. Nonetheless, the multiple testing platforms available fail to fulfil the specific requirements of the Moodbuster platform from Instituto de Engenharia de Sistemas e Computadores, Tecnologia e Ciência (INESC TEC) – provide a systematic process to update the test knowledge, configure and test several
Representational State Transfer (REST) Application Programming Interface (API) instances. Moreover, the solution should be implemented as another REST API.
The goal is to design, implement and test a platform dedicated to the testing of REST API instances. This new testing platform should allow the addition of new instances to test, the configuration and execution of sets of dedicated tests, as well as, collect and store the results. Furthermore, it should support the updating of the testing knowledge with new test categories and properties on a needs basis.
This dissertation describes the design, development and testing of APIbuster, a platform dedicated to the testing of REST API instances, such as Moodbuster. The approach relies on the creation and conversion of the test knowledge ontology into the persistent data model followed by the deployment of the platform (REST API and user dashboard) through a data modelling pipeline.
The APIbuster prototype was thoroughly and successfully tested considering the functional, performance, load and usability dimensions. To validate the implementation, functional and performance tests were performed regarding each API call.
To ascertain the scalability of the platform, the load tests focused on the most de manding functionality. Finally, a standard usability questionnaire was distributed among users to establish the usability score of the platform.
The results show that the data modelling pipeline supports the creation and subsequent updating of the testing platform with new test attributes and classes.
The pipeline not only converts the testing knowledge ontology into the corresponding persistent data model, but generates a fully operational testing platform instance
Nos últimos anos, o desenvolvimento de sistemas distribuídos do tipo Service-Oriented Architecture (SOA) popularizou-se, tendo ocorrido significativos progressos em ter mos de testagem. Contudo, as múltiplas plataformas de testagem existentes não satisfazem as necessidades específicas de testagem de projetos Application Programming Interfaces (API) do tipo Representational State Transfer (REST) como o Moodbuster do Instituto de Engenharia de Sistemas e Computadores, Tecnologia e Ciência (INESC TEC). O INESC TEC necessita de um processo sistemático de atualização, configuração e testagem de múltiplas instâncias API REST. Adicional mente, esta solução deverá ser implementada como mais uma API REST. O objetivo é conceber, implementar e testar uma plataforma de testagem de instâncias API REST. Esta nova plataforma deverá permitir a adição de instâncias de teste, configuração e execução de grupos de testes, assim como, obter e salvaguardar os resultados. Deverá ainda viabilizar a atualização do conhecimento do domínio mediante a especificação de novas categorias e atributos de teste. Esta dissertação descreve a conceção, desenvolvimento e testagem da plataforma APIbuster dedicada à testagem de instâncias API REST, como as do projecto Moodbuster. A abordagem baseia-se na definição e conversão da ontologia de representação do conhecimento sobre a testagem de API REST no correspondente modelo persistente de dados, seguida da criação da plataforma (REST API e portal do utilizador) através de um processamento sequencial dedicado. O protótipo da APIbuster foi testado detalhadamente com sucesso em relação à funcionalidade, desempenho, carga e usabilidade. Foram efetuados testes funcionais e de desempenho a cada chamada da API para validar a implementação. Para determinar a escalabilidade da plataforma, os testes de carga focaram-se na funcionalidade mais exigente. Finalmente, o questionário de usabilidade foi distribuído entre os utilizadores para definir a usabilidade da plataforma desenvolvida. Os resultados mostram que o processamento sequencial desenvolvido suporta a criação e a subsequente atualização, com novos atributos e categorias, da plataforma de testagem. Este processo não converte apenas a ontologia no modelo de dados persistente, mas gera uma instância atualizada e operacional da plataforma
Nos últimos anos, o desenvolvimento de sistemas distribuídos do tipo Service-Oriented Architecture (SOA) popularizou-se, tendo ocorrido significativos progressos em ter mos de testagem. Contudo, as múltiplas plataformas de testagem existentes não satisfazem as necessidades específicas de testagem de projetos Application Programming Interfaces (API) do tipo Representational State Transfer (REST) como o Moodbuster do Instituto de Engenharia de Sistemas e Computadores, Tecnologia e Ciência (INESC TEC). O INESC TEC necessita de um processo sistemático de atualização, configuração e testagem de múltiplas instâncias API REST. Adicional mente, esta solução deverá ser implementada como mais uma API REST. O objetivo é conceber, implementar e testar uma plataforma de testagem de instâncias API REST. Esta nova plataforma deverá permitir a adição de instâncias de teste, configuração e execução de grupos de testes, assim como, obter e salvaguardar os resultados. Deverá ainda viabilizar a atualização do conhecimento do domínio mediante a especificação de novas categorias e atributos de teste. Esta dissertação descreve a conceção, desenvolvimento e testagem da plataforma APIbuster dedicada à testagem de instâncias API REST, como as do projecto Moodbuster. A abordagem baseia-se na definição e conversão da ontologia de representação do conhecimento sobre a testagem de API REST no correspondente modelo persistente de dados, seguida da criação da plataforma (REST API e portal do utilizador) através de um processamento sequencial dedicado. O protótipo da APIbuster foi testado detalhadamente com sucesso em relação à funcionalidade, desempenho, carga e usabilidade. Foram efetuados testes funcionais e de desempenho a cada chamada da API para validar a implementação. Para determinar a escalabilidade da plataforma, os testes de carga focaram-se na funcionalidade mais exigente. Finalmente, o questionário de usabilidade foi distribuído entre os utilizadores para definir a usabilidade da plataforma desenvolvida. Os resultados mostram que o processamento sequencial desenvolvido suporta a criação e a subsequente atualização, com novos atributos e categorias, da plataforma de testagem. Este processo não converte apenas a ontologia no modelo de dados persistente, mas gera uma instância atualizada e operacional da plataforma
Description
Keywords
APIbuster Data modelling pipeline REST API SOA Testing platform