Search-based Stress Test: an approach applying evolutionary algorithms and trajectory methods (Inglês)

Autor: Gois, Francisco Nauber Bernardo
Přispěvatelé: Farias, Pedro Porfírio Muniz, Coelho, Andre Luis Vasconcelos, Sampaio, Americo Tadeu Falcone, Santos Neto, Pedro de Alcantara dos, Nepomuceno, Napoleao Vieira
Jazyk: portugalština
Rok vydání: 2017
Předmět:
Zdroj: Biblioteca Digital de Teses e Dissertações da UNIFOR
Universidade de Fortaleza (UNIFOR)
instacron:UNIFOR
Popis: Made available in DSpace on 2022-06-22T23:40:00Z (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
Databáze: OpenAIRE