Estudo e Definição de Teste de Software para o contexto de Sistemas Multi-tenants
Autor(a) principal: | |
---|---|
Data de Publicação: | 2019 |
Tipo de documento: | Tese |
Idioma: | por |
Título da fonte: | Biblioteca Digital de Teses e Dissertações da USP |
Texto Completo: | https://www.teses.usp.br/teses/disponiveis/55/55134/tde-31012020-181537/ |
Resumo: | Multi-tenancy é um padrão arquitetural para SaaS (Software as a Service) pois permite que múltiplas organizações, ou tenants, tenham sua própria versão da aplicação executando e coexistindo em espaços virtualizados e isolados no mesmo hardware, reduzindo custos operacionais. Uma única instância com meta-dados configuráveis pode oferecer aos usuários finais, interfaces e funcionalidades alinhadas às regras de negócio diferentes para cada tenant. Entretanto, isso representa um desafio para a atividade de teste, uma vez que a execução das versões incluem fluxos de controle e dados em funcionalidades compartilhadas que podem ser afetadas pelo comportamento não determinístico, uma dificuldade conhecida na área de testes de programas concorrentes. Apesar da importância de desenvolver esses sistemas com alta qualidade, os modelos de implementação são fragmentados e não seguem uma metodologia padronizada, falta uma arquitetura de referência e abordagens de teste direcionadas às particularidades desse modelo de aplicações. Embora o modelo SaaS seja provavelmente o mais adotado no contexto de Computação em Nuvem e que multi-tenancy seja o mecanismo chave para isso, existe muita desconfiança em relação à segurança dos dados e a capacidade de uma única instância em execução não ser afetada por defeitos em versões isoladas. Este projeto de doutorado contribui nessa direção, propondo uma abordagem de teste que permite explorar defeitos relacionados ao atendimento às requisições e redirecionamentos que ocorrem nessas versões, uma vez que tais operações implicam em definições e usos subsequentes de uma variável de identificação dos tenants e seus recursos. Uma taxonomia preliminar de defeitos foi proposta, um sistema de e-commerce chamado MtShop foi desenvolvido seguindo práticas recentes, estudos experimentais foram conduzidos envolvendo testes de aceitação automatizados com execução paralela, um modelo de teste foi definido para apoiar a definição de um conjunto de critérios de cobertura e a extração de elementos requeridos pelos testes e estudos foram realizados para avaliar a aplicabilidade dos critérios propostos. Os resultados dos estudos exploratórios demonstram que a abordagem proposta é aplicável e o modelo de teste é capaz de representar aplicações multi-tenants. Os critérios podem contribuir para a qualidade desse tipo de sistemas em termos de cobertura e identificação de defeitos que possuem natureza concorrente. |
id |
USP_38e52c9ccedc95a534f29714107b887d |
---|---|
oai_identifier_str |
oai:teses.usp.br:tde-31012020-181537 |
network_acronym_str |
USP |
network_name_str |
Biblioteca Digital de Teses e Dissertações da USP |
repository_id_str |
2721 |
spelling |
Estudo e Definição de Teste de Software para o contexto de Sistemas Multi-tenants Study and Definition of Software Testing for the context of Multi-tenant SystemsCloud computingComputação em nuvemCritérios de testeMulti-tenancyMulti-tenancySoftware testingTeste de softwareTesting criteriaMulti-tenancy é um padrão arquitetural para SaaS (Software as a Service) pois permite que múltiplas organizações, ou tenants, tenham sua própria versão da aplicação executando e coexistindo em espaços virtualizados e isolados no mesmo hardware, reduzindo custos operacionais. Uma única instância com meta-dados configuráveis pode oferecer aos usuários finais, interfaces e funcionalidades alinhadas às regras de negócio diferentes para cada tenant. Entretanto, isso representa um desafio para a atividade de teste, uma vez que a execução das versões incluem fluxos de controle e dados em funcionalidades compartilhadas que podem ser afetadas pelo comportamento não determinístico, uma dificuldade conhecida na área de testes de programas concorrentes. Apesar da importância de desenvolver esses sistemas com alta qualidade, os modelos de implementação são fragmentados e não seguem uma metodologia padronizada, falta uma arquitetura de referência e abordagens de teste direcionadas às particularidades desse modelo de aplicações. Embora o modelo SaaS seja provavelmente o mais adotado no contexto de Computação em Nuvem e que multi-tenancy seja o mecanismo chave para isso, existe muita desconfiança em relação à segurança dos dados e a capacidade de uma única instância em execução não ser afetada por defeitos em versões isoladas. Este projeto de doutorado contribui nessa direção, propondo uma abordagem de teste que permite explorar defeitos relacionados ao atendimento às requisições e redirecionamentos que ocorrem nessas versões, uma vez que tais operações implicam em definições e usos subsequentes de uma variável de identificação dos tenants e seus recursos. Uma taxonomia preliminar de defeitos foi proposta, um sistema de e-commerce chamado MtShop foi desenvolvido seguindo práticas recentes, estudos experimentais foram conduzidos envolvendo testes de aceitação automatizados com execução paralela, um modelo de teste foi definido para apoiar a definição de um conjunto de critérios de cobertura e a extração de elementos requeridos pelos testes e estudos foram realizados para avaliar a aplicabilidade dos critérios propostos. Os resultados dos estudos exploratórios demonstram que a abordagem proposta é aplicável e o modelo de teste é capaz de representar aplicações multi-tenants. Os critérios podem contribuir para a qualidade desse tipo de sistemas em termos de cobertura e identificação de defeitos que possuem natureza concorrente.Multi-tenancy is an architectural pattern for Software as a Service (SaaS) because it allows multiple organizations, so-called tenants, to have their own version of the application running and coexisting in virtual and isolated spaces on the same hardware, reducing operating costs. A single instance with configurable metadata can provide to end-users, different interfaces and features targeted to the business rules for each tenant. However, this represents a challenge for testing activity, once the execution of the versions includes control and data flow in shared functionality that may be affected by non-deterministic behavior, a known difficulty in the testing of concurrent programs. Despite the importance of developing high-quality cloud applications, implementation models are fragmented and do not follow a standardized methodology, a reference architecture and testing approaches to address the particularities of this application model are lacking. Although the SaaS model is probably the most widely adopted in the context of cloud computing and multi-tenancy is the key mechanism for this, there is mistrust about data security and the fact of a single instance running not being affected by faults from isolated versions. This project contributes in this direction and it proposes a testing approach that allows identifying faults related to the fulfillment of requests and redirects that occur in these versions, since such operations involve the definition and subsequent uses of a variable for tenant identification, including its resources. A preliminary fault taxonomy for multi-tenant SaaS systems was proposed, an ecommerce system called MtShop was developed following recent practices, experimental studies were conducted involving parallel and automated acceptance tests, a testing model was defined to support the definition of a set of coverage criteria and extraction of required elements by the tests and studies were performed to evaluate the applicability of the proposed testing criteria. The exploratory case studies indicate that the proposed approach is applicable and the testing model can represent multi-tenant applications. The proposed criteria can contribute to the quality of such systems in terms of coverage and reveal faults with concurrent nature.Biblioteca Digitais de Teses e Dissertações da USPSouza, Simone do Rocio Senger dePinto, Victor Hugo Santiago Costa2019-08-29info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisapplication/pdfhttps://www.teses.usp.br/teses/disponiveis/55/55134/tde-31012020-181537/reponame:Biblioteca Digital de Teses e Dissertações da USPinstname:Universidade de São Paulo (USP)instacron:USPLiberar o conteúdo para acesso público.info:eu-repo/semantics/openAccesspor2020-02-04T00:57:02Zoai:teses.usp.br:tde-31012020-181537Biblioteca Digital de Teses e Dissertaçõeshttp://www.teses.usp.br/PUBhttp://www.teses.usp.br/cgi-bin/mtd2br.plvirginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.bropendoar:27212020-02-04T00:57:02Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)false |
dc.title.none.fl_str_mv |
Estudo e Definição de Teste de Software para o contexto de Sistemas Multi-tenants Study and Definition of Software Testing for the context of Multi-tenant Systems |
title |
Estudo e Definição de Teste de Software para o contexto de Sistemas Multi-tenants |
spellingShingle |
Estudo e Definição de Teste de Software para o contexto de Sistemas Multi-tenants Pinto, Victor Hugo Santiago Costa Cloud computing Computação em nuvem Critérios de teste Multi-tenancy Multi-tenancy Software testing Teste de software Testing criteria |
title_short |
Estudo e Definição de Teste de Software para o contexto de Sistemas Multi-tenants |
title_full |
Estudo e Definição de Teste de Software para o contexto de Sistemas Multi-tenants |
title_fullStr |
Estudo e Definição de Teste de Software para o contexto de Sistemas Multi-tenants |
title_full_unstemmed |
Estudo e Definição de Teste de Software para o contexto de Sistemas Multi-tenants |
title_sort |
Estudo e Definição de Teste de Software para o contexto de Sistemas Multi-tenants |
author |
Pinto, Victor Hugo Santiago Costa |
author_facet |
Pinto, Victor Hugo Santiago Costa |
author_role |
author |
dc.contributor.none.fl_str_mv |
Souza, Simone do Rocio Senger de |
dc.contributor.author.fl_str_mv |
Pinto, Victor Hugo Santiago Costa |
dc.subject.por.fl_str_mv |
Cloud computing Computação em nuvem Critérios de teste Multi-tenancy Multi-tenancy Software testing Teste de software Testing criteria |
topic |
Cloud computing Computação em nuvem Critérios de teste Multi-tenancy Multi-tenancy Software testing Teste de software Testing criteria |
description |
Multi-tenancy é um padrão arquitetural para SaaS (Software as a Service) pois permite que múltiplas organizações, ou tenants, tenham sua própria versão da aplicação executando e coexistindo em espaços virtualizados e isolados no mesmo hardware, reduzindo custos operacionais. Uma única instância com meta-dados configuráveis pode oferecer aos usuários finais, interfaces e funcionalidades alinhadas às regras de negócio diferentes para cada tenant. Entretanto, isso representa um desafio para a atividade de teste, uma vez que a execução das versões incluem fluxos de controle e dados em funcionalidades compartilhadas que podem ser afetadas pelo comportamento não determinístico, uma dificuldade conhecida na área de testes de programas concorrentes. Apesar da importância de desenvolver esses sistemas com alta qualidade, os modelos de implementação são fragmentados e não seguem uma metodologia padronizada, falta uma arquitetura de referência e abordagens de teste direcionadas às particularidades desse modelo de aplicações. Embora o modelo SaaS seja provavelmente o mais adotado no contexto de Computação em Nuvem e que multi-tenancy seja o mecanismo chave para isso, existe muita desconfiança em relação à segurança dos dados e a capacidade de uma única instância em execução não ser afetada por defeitos em versões isoladas. Este projeto de doutorado contribui nessa direção, propondo uma abordagem de teste que permite explorar defeitos relacionados ao atendimento às requisições e redirecionamentos que ocorrem nessas versões, uma vez que tais operações implicam em definições e usos subsequentes de uma variável de identificação dos tenants e seus recursos. Uma taxonomia preliminar de defeitos foi proposta, um sistema de e-commerce chamado MtShop foi desenvolvido seguindo práticas recentes, estudos experimentais foram conduzidos envolvendo testes de aceitação automatizados com execução paralela, um modelo de teste foi definido para apoiar a definição de um conjunto de critérios de cobertura e a extração de elementos requeridos pelos testes e estudos foram realizados para avaliar a aplicabilidade dos critérios propostos. Os resultados dos estudos exploratórios demonstram que a abordagem proposta é aplicável e o modelo de teste é capaz de representar aplicações multi-tenants. Os critérios podem contribuir para a qualidade desse tipo de sistemas em termos de cobertura e identificação de defeitos que possuem natureza concorrente. |
publishDate |
2019 |
dc.date.none.fl_str_mv |
2019-08-29 |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/doctoralThesis |
format |
doctoralThesis |
status_str |
publishedVersion |
dc.identifier.uri.fl_str_mv |
https://www.teses.usp.br/teses/disponiveis/55/55134/tde-31012020-181537/ |
url |
https://www.teses.usp.br/teses/disponiveis/55/55134/tde-31012020-181537/ |
dc.language.iso.fl_str_mv |
por |
language |
por |
dc.relation.none.fl_str_mv |
|
dc.rights.driver.fl_str_mv |
Liberar o conteúdo para acesso público. info:eu-repo/semantics/openAccess |
rights_invalid_str_mv |
Liberar o conteúdo para acesso público. |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.coverage.none.fl_str_mv |
|
dc.publisher.none.fl_str_mv |
Biblioteca Digitais de Teses e Dissertações da USP |
publisher.none.fl_str_mv |
Biblioteca Digitais de Teses e Dissertações da USP |
dc.source.none.fl_str_mv |
reponame:Biblioteca Digital de Teses e Dissertações da USP instname:Universidade de São Paulo (USP) instacron:USP |
instname_str |
Universidade de São Paulo (USP) |
instacron_str |
USP |
institution |
USP |
reponame_str |
Biblioteca Digital de Teses e Dissertações da USP |
collection |
Biblioteca Digital de Teses e Dissertações da USP |
repository.name.fl_str_mv |
Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP) |
repository.mail.fl_str_mv |
virginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.br |
_version_ |
1815256566039838720 |