Search-based stress test : an approach applying evolutionary algorithms and trajectory methods
Made available in DSpace on 2019-03-30T00:01:20Z (GMT). No. of bitstreams: 0 Previous issue date: 2017-09-22 === Some software systems must respond to thousands or millions of concurrent requests. These systems must be properly tested to ensure that they can function correctly under the expected l...
Main Author: | |
---|---|
Other Authors: | |
Language: | Portuguese |
Published: |
Universidade de Fortaleza
2017
|
Subjects: | |
Online Access: | https://uol.unifor.br/oul/ObraBdtdSiteTrazer.do?method=trazer&ns=true&obraCodigo=103338 http://dspace.unifor.br/handle/tede/103338 |
id |
ndltd-IBICT-oai-dspace.unifor.br-tede-103338 |
---|---|
record_format |
oai_dc |
collection |
NDLTD |
language |
Portuguese |
sources |
NDLTD |
topic |
Algoritmos Meta-heurísticas Análise multicritério |
spellingShingle |
Algoritmos Meta-heurísticas Análise multicritério Gois, Francisco Nauber Bernardo Search-based stress test : an approach applying evolutionary algorithms and trajectory methods |
description |
Made available in DSpace on 2019-03-30T00:01:20Z (GMT). No. of bitstreams: 0
Previous issue date: 2017-09-22 === Some software systems must respond to thousands or millions of concurrent requests. These systems must be properly tested to ensure that they can function correctly under the expected load. Performance degradation and consequent system failures usually arise in stressed conditions. Stress testing subjects the program to heavy loads. Stress tests di¿er from other kinds of testing in that the system is executed on its breakpoints, forcing the application or the supporting infrastructure to fail. The search for the longest execution time is seen as a discontinuous, nonlinear, optimization problem, with the input domain of the system under test as a search space. In this context, search-based testing is viewed as a promising approach to verify timing constraints. Search-based software testing is the application of metaheuristic search techniques to generate software tests. The test adequacy criterion is transformed into a ¿tness function and a set of solutions in the search space is evaluated with respect to the ¿tness functionusingametaheuristic. Search-basedstresstestinginvolves¿ndingthebest-andworst-case executiontimestoascertainwhethertimingconstraintsareful¿lled. ServiceLevelAgreements (SLAs) are documents that specify realistic performance guarantees as well as penalties for non-compliance. SLAsaremadebetweenprovidersandcustomersthatincludeservicequality, resourcescapability,scalability,obligations,andconsequencesincaseofviolations. Satisfying SLAisofgreatimportanceandachallengingissue. Themainmotivationofthisthesisisto¿nd theadequateresponsetimeofSLAsusingStressTesting. Thisthesisaddressesthreeapproaches insearch-basedstresstests. First,HybridmetaheuristicusesTabuSearch,SimulatedAnnealing, andGeneticAlgorithmsinacollaborativemanner. Second,anapproachcalledHybridQusesa reinforcementlearningtechniquetooptimizethechoiceofneighboringsolutionstoexplore,reducingthetimeneededtoobtainthescenarioswiththelongestresponsetimeintheapplication. The best solutions found by HybridQ were on average 5.98% better that achieved by the Hybrid approach without Q-learning. Third, the thesis investigates the use of the multi-objective NSGA-II,SPEA2,PAESandMOEA/Dalgorithms. MOEA/Dmetaheuristicsobtainedthebest hypervolume value when compared with other approaches. The collaborative approach using MOEA/D and HybridQ improves the hypervolume values obtained and found more relevant workloadsthanthepreviousexperiments. AtoolnamedIAdapter,aJMeterpluginforperformingsearch-basedstresstests,wasdevelopedandusedtoconductalltheexperiments. Keywords: Search-based Testing, Stress Testing, Multi-objective metaheuristics, Hybrid metaheuristics,ReinforcementLearning. === Alguns sistemas de software devem responder a milhares ou milhões de requisições simultâneos. Tais sistemas devem ser devidamente testados para garantir que eles possam funcionar corretamente sob uma carga esperada. Normalmente, a degradação do desempenho e consequentes falhas do sistema geralmente ocorrem em condições de estresse. No teste de estresse o sistema é submetido a cargas de trabalho acima dos resquistos não funcionais estabelecidos. Os testes de estresse diferem de outros tipos de testes em que o sistema é executado em seus pontos de interrupção, forçando o aplicativo ou a infra-estrutura de suporte a falhar. Testes de estresse podem ser vistos como um problema de otimização descontínuo, não-linear, comodomínio de entrada do sistema em test ecomo espaço de busca. Neste contexto,ostestes baseados em busca (search-based tests) são vistos como uma abordagem promissora para veri¿car as restrições de tempo. O teste de software baseado em busca é a aplicação de técnicas de pesquisa metaheurística para gerar testes de software. O critério de adequação do teste é transformado em uma função objetivo e um conjunto de soluções no espaço de busca é avaliado em relação à função objetivo usando uma metaheurística. Otestedeestressebaseadoembusca envolve encontrar os tempos de execução melhores e piores para veri¿car se as restrições de tempo são cumpridas. Os acordos de nível de serviço (SLA) são documentos que especi¿cam garantias de desempenho realistas, bem como penalidades por incumprimento. Os SLAs são feitos entre provedores e clientes que incluem qualidade do serviço, capacidade de recursos, escalabilidade, obrigações e consequencias em caso de violação. Satisfazer o SLA é de grande importância e um problema desa¿ador. A principal motivação desta tese é encontrar o tempo de resposta adequado dos SLAs usando teste de estresse. Esta tese apresenta três abordagens em testes de estresse baseados em busca. Primeiro, a metaheurística híbrida usa Tabu Search, Simulated Annealing e Algoritmos Genéticos de forma colaborativa. Em segundo lugar, uma abordagem chamada HybridQ usa uma técnica de aprendizado de reforço para otimizar a escolha de soluções vizinhas para explorar, reduzindo o tempo necessário para obter os cenários com o tempo de resposta mais longo na aplicação. As melhores soluções encontradas pelo HybridQ foram em média 5,98 % melhores que alcançadas pela abordagem híbrida sem Qlearning. Em terceiro lugar, a tese investiga o uso dos algoritmos multi-objetivos NSGA-II, SPEA2, PAES e MOEA/D. A metaheurística MOEA/D obteve o melhor valor de hipervolume quando comparada com outras abordagens. A abordagem colaborativa usand oMOEA/DeHybridQ melhora os valores de hipervolume obtidos e encontrou workloads mais relevantes do que as experiências anteriores. Uma ferramenta chamada IAdapter, um plugin JMeter para realizar testes de esforço baseados em busca, foi desenvolvida e usada para realizar todas as experiências. Palavras-chave: Search-basedTesting,StressTesting,Multi-objective metaheuristics,Hybridmetaheuristics,ReinforcementLearning |
author2 |
Farias, Pedro Porfírio Muniz |
author_facet |
Farias, Pedro Porfírio Muniz Gois, Francisco Nauber Bernardo |
author |
Gois, Francisco Nauber Bernardo |
author_sort |
Gois, Francisco Nauber Bernardo |
title |
Search-based stress test : an approach applying evolutionary algorithms and trajectory methods |
title_short |
Search-based stress test : an approach applying evolutionary algorithms and trajectory methods |
title_full |
Search-based stress test : an approach applying evolutionary algorithms and trajectory methods |
title_fullStr |
Search-based stress test : an approach applying evolutionary algorithms and trajectory methods |
title_full_unstemmed |
Search-based stress test : an approach applying evolutionary algorithms and trajectory methods |
title_sort |
search-based stress test : an approach applying evolutionary algorithms and trajectory methods |
publisher |
Universidade de Fortaleza |
publishDate |
2017 |
url |
https://uol.unifor.br/oul/ObraBdtdSiteTrazer.do?method=trazer&ns=true&obraCodigo=103338 http://dspace.unifor.br/handle/tede/103338 |
work_keys_str_mv |
AT goisfrancisconauberbernardo searchbasedstresstestanapproachapplyingevolutionaryalgorithmsandtrajectorymethods AT goisfrancisconauberbernardo searchbasedstresstestanapproachapplyingevolutionaryalgorithmsandtrajectorymethodsingles |
_version_ |
1719008965249990656 |
spelling |
ndltd-IBICT-oai-dspace.unifor.br-tede-1033382019-04-02T07:40:38Z Search-based stress test : an approach applying evolutionary algorithms and trajectory methods Search-based Stress Test: an approach applying evolutionary algorithms and trajectory methods (Inglês) Gois, Francisco Nauber Bernardo Farias, Pedro Porfírio Muniz Farias, Pedro Porfírio Muniz Coelho, Andre Luis Vasconcelos Sampaio, Americo Tadeu Falcone Santos Neto, Pedro de Alcantara dos Nepomuceno, Napoleao Vieira Algoritmos Meta-heurísticas Análise multicritério Made available in DSpace on 2019-03-30T00:01:20Z (GMT). No. of bitstreams: 0 Previous issue date: 2017-09-22 Some software systems must respond to thousands or millions of concurrent requests. These systems must be properly tested to ensure that they can function correctly under the expected load. Performance degradation and consequent system failures usually arise in stressed conditions. Stress testing subjects the program to heavy loads. Stress tests di¿er from other kinds of testing in that the system is executed on its breakpoints, forcing the application or the supporting infrastructure to fail. The search for the longest execution time is seen as a discontinuous, nonlinear, optimization problem, with the input domain of the system under test as a search space. In this context, search-based testing is viewed as a promising approach to verify timing constraints. Search-based software testing is the application of metaheuristic search techniques to generate software tests. The test adequacy criterion is transformed into a ¿tness function and a set of solutions in the search space is evaluated with respect to the ¿tness functionusingametaheuristic. Search-basedstresstestinginvolves¿ndingthebest-andworst-case executiontimestoascertainwhethertimingconstraintsareful¿lled. ServiceLevelAgreements (SLAs) are documents that specify realistic performance guarantees as well as penalties for non-compliance. SLAsaremadebetweenprovidersandcustomersthatincludeservicequality, resourcescapability,scalability,obligations,andconsequencesincaseofviolations. Satisfying SLAisofgreatimportanceandachallengingissue. Themainmotivationofthisthesisisto¿nd theadequateresponsetimeofSLAsusingStressTesting. Thisthesisaddressesthreeapproaches insearch-basedstresstests. First,HybridmetaheuristicusesTabuSearch,SimulatedAnnealing, andGeneticAlgorithmsinacollaborativemanner. Second,anapproachcalledHybridQusesa reinforcementlearningtechniquetooptimizethechoiceofneighboringsolutionstoexplore,reducingthetimeneededtoobtainthescenarioswiththelongestresponsetimeintheapplication. The best solutions found by HybridQ were on average 5.98% better that achieved by the Hybrid approach without Q-learning. Third, the thesis investigates the use of the multi-objective NSGA-II,SPEA2,PAESandMOEA/Dalgorithms. MOEA/Dmetaheuristicsobtainedthebest hypervolume value when compared with other approaches. The collaborative approach using MOEA/D and HybridQ improves the hypervolume values obtained and found more relevant workloadsthanthepreviousexperiments. AtoolnamedIAdapter,aJMeterpluginforperformingsearch-basedstresstests,wasdevelopedandusedtoconductalltheexperiments. Keywords: Search-based Testing, Stress Testing, Multi-objective metaheuristics, Hybrid metaheuristics,ReinforcementLearning. Alguns sistemas de software devem responder a milhares ou milhões de requisições simultâneos. Tais sistemas devem ser devidamente testados para garantir que eles possam funcionar corretamente sob uma carga esperada. Normalmente, a degradação do desempenho e consequentes falhas do sistema geralmente ocorrem em condições de estresse. No teste de estresse o sistema é submetido a cargas de trabalho acima dos resquistos não funcionais estabelecidos. Os testes de estresse diferem de outros tipos de testes em que o sistema é executado em seus pontos de interrupção, forçando o aplicativo ou a infra-estrutura de suporte a falhar. Testes de estresse podem ser vistos como um problema de otimização descontínuo, não-linear, comodomínio de entrada do sistema em test ecomo espaço de busca. Neste contexto,ostestes baseados em busca (search-based tests) são vistos como uma abordagem promissora para veri¿car as restrições de tempo. O teste de software baseado em busca é a aplicação de técnicas de pesquisa metaheurística para gerar testes de software. O critério de adequação do teste é transformado em uma função objetivo e um conjunto de soluções no espaço de busca é avaliado em relação à função objetivo usando uma metaheurística. Otestedeestressebaseadoembusca envolve encontrar os tempos de execução melhores e piores para veri¿car se as restrições de tempo são cumpridas. Os acordos de nível de serviço (SLA) são documentos que especi¿cam garantias de desempenho realistas, bem como penalidades por incumprimento. Os SLAs são feitos entre provedores e clientes que incluem qualidade do serviço, capacidade de recursos, escalabilidade, obrigações e consequencias em caso de violação. Satisfazer o SLA é de grande importância e um problema desa¿ador. A principal motivação desta tese é encontrar o tempo de resposta adequado dos SLAs usando teste de estresse. Esta tese apresenta três abordagens em testes de estresse baseados em busca. Primeiro, a metaheurística híbrida usa Tabu Search, Simulated Annealing e Algoritmos Genéticos de forma colaborativa. Em segundo lugar, uma abordagem chamada HybridQ usa uma técnica de aprendizado de reforço para otimizar a escolha de soluções vizinhas para explorar, reduzindo o tempo necessário para obter os cenários com o tempo de resposta mais longo na aplicação. As melhores soluções encontradas pelo HybridQ foram em média 5,98 % melhores que alcançadas pela abordagem híbrida sem Qlearning. Em terceiro lugar, a tese investiga o uso dos algoritmos multi-objetivos NSGA-II, SPEA2, PAES e MOEA/D. A metaheurística MOEA/D obteve o melhor valor de hipervolume quando comparada com outras abordagens. A abordagem colaborativa usand oMOEA/DeHybridQ melhora os valores de hipervolume obtidos e encontrou workloads mais relevantes do que as experiências anteriores. Uma ferramenta chamada IAdapter, um plugin JMeter para realizar testes de esforço baseados em busca, foi desenvolvida e usada para realizar todas as experiências. Palavras-chave: Search-basedTesting,StressTesting,Multi-objective metaheuristics,Hybridmetaheuristics,ReinforcementLearning 2017-09-22 2019-03-30T00:01:20Z 2017-09-22 info:eu-repo/semantics/publishedVersion info:eu-repo/semantics/doctoralThesis https://uol.unifor.br/oul/ObraBdtdSiteTrazer.do?method=trazer&ns=true&obraCodigo=103338 http://dspace.unifor.br/handle/tede/103338 por 1028774923510350190 500 500 -7645770940771915222 info:eu-repo/semantics/openAccess Universidade de Fortaleza Doutorado Em Informática Aplicada UNIFOR Brasil Centro de Ciências Tecnológicas reponame:Biblioteca Digital de Teses e Dissertações da UNIFOR instname:Universidade de Fortaleza instacron:UNIFOR |