BRPI0904262B1 - Método e sistema para testar um sistema de computador e meio de armazenamento - Google Patents

Método e sistema para testar um sistema de computador e meio de armazenamento Download PDF

Info

Publication number
BRPI0904262B1
BRPI0904262B1 BRPI0904262-8A BRPI0904262A BRPI0904262B1 BR PI0904262 B1 BRPI0904262 B1 BR PI0904262B1 BR PI0904262 A BRPI0904262 A BR PI0904262A BR PI0904262 B1 BRPI0904262 B1 BR PI0904262B1
Authority
BR
Brazil
Prior art keywords
dimension
script
multiple dimensions
target
fact
Prior art date
Application number
BRPI0904262-8A
Other languages
English (en)
Inventor
David M. Hummel
Original Assignee
Accenture Global Services Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Accenture Global Services Limited filed Critical Accenture Global Services Limited
Publication of BRPI0904262A2 publication Critical patent/BRPI0904262A2/pt
Publication of BRPI0904262B1 publication Critical patent/BRPI0904262B1/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3414Workload generation, e.g. scripts, playback
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/263Generation of test inputs, e.g. test vectors, patterns or sequences ; with adaptation of the tested hardware for testability with external testers
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3668Testing of software
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3668Testing of software
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

modelo de carga automatizado. a presente invenção refere-se a um método e um sistema para se testar um sistema de computador que são providos. em uma implementação, o método e o sistema podem incluir o recebimento de uma footprint de script que inclui valores de efeito de dimensão correspondentes ao número de vezes que uma dimensão de sistema de computador é afetada pelo script. uma informação alvo também pode ser recebida. a informação alvo inclui valores de dimensão-alvo correspondentes a um número desejado de vezes por período de tempo que cada dimensão deve ser afetada. o método e o sistema podem determinar o número de vezes para execução dos scripts no período de tempo, de modo a se minimizar a diferença entre o número real de vezes que as dimensões são afetadas e o valor de dimensão-alvo por período de tempo. o método e o sistema também podem executar o script no sistema de computador pelo número determinado de vezes no período de tempo.

Description

Relatório Descritivo da Patente de Invenção para MÉTODO E SISTEMA PARA TESTAR UM SISTEMA DE COMPUTADOR E MEIO DE ARMAZENAMENTO.
Antecedentes
Campo da Invenção [001] A presente invenção refere-se a testes de performance de computador. Mais especificamente, a presente invenção refere-se a um método e a um sistema para a otimização dos testes de sistemas de computador.
Antecedentes da Invenção [002] Conforme os sistemas de computador evoluíram, assim o fez a complexidade de aplicativos que operam nestes sistemas. Muitas vezes, as equipes de desenvolvedores criam estes aplicativos e sistemas complexos. Os testes destes sistemas se tornam cada vez mais difíceis, conforme a complexidade aumenta. Em alguns casos, os aplicativos e os sistemas sofrem testes alfa e beta. Isto envolve tipicamente permitir que grupos selecionados de indivíduos exercitem várias funções suportadas pelos sistemas, em uma tentativa para se identificarem quaisquer deficiências que o sistema possa ter.
[003] Um sistema caracterizado por um grande número de usuários também pode passar por um teste de performance para se avaliar a prontidão ou a performance no mundo real do sistema. Isto envolve determinar se a operação em mundo real do sistema rodando se adéqua a expectativas estabelecidas. Para se fazer esta determinação, o sistema sob teste deve: 1) combinar ou se correlacionar diretamente com um sistema de produção sendo certificado, 2) ser monitorado continuamente por todo o teste, para se determinar se os resultados se adéquam ou falham em alvos apropriados, e 3) estar operando em uma carga de trabalho realista, a qual reflete um uso no mundo real. Contudo, atingir esta terceira exigência pode ser desafiador.
Petição 870190029817, de 28/03/2019, pág. 6/46
2/32
Sumário da Invenção [004] Para se dirigir aos problemas destacados acima, um método e um sistema para se testar um sistema de computador é provido. Em uma implementação, o método pode receber uma footprint descript que inclui valores de efeito de dimensão correspondentes ao número de vezes que uma dimensão de sistema de computador é afetada pelo script. Um script corresponde a uma listagem de código executada por um processador que permite testar uma funcionalidade associada ao sistema de computador. Uma footprint de script é uma medida da forma pela qual um script afeta o sistema de computador, conforme representado pelo número de vezes por período de tempo que o script exerce operações do sistema de computador. Uma dimensão corresponde a uma operação realizada pelo sistema de computador que um script pode ou não exercitar. Por exemplo, um servidor de autenticação pode realizar operações tais como autenticação de identidade, autenticação de identidade alternativa, atualização de senha, autenticação de grupo e/ou operações para a regulagem de privilégios com o sistema. Uma informação alvo também pode ser recebida. A informação alvo inclui valores de dimensão-alvo correspondentes a um número desejado de vezes por período de tempo em que cada dimensão deve ser afetada. O método e o sistema podem determinar o número de vezes para execução dos scripts no período de tempo, de modo a se minimizar a diferença entre o número real de vezes em que as dimensões são afetadas e a dimensão-alvo durante o período de tempo. O método e o sistema também podem executar o script no sistema de computador pelo número determinado de vezes no período de tempo.
[005] Em um aspecto da presente invenção, as diferenças entre o número real de vezes que as dimensões são afetadas e os valores de dimensão-alvo, são minimizados através de um algoritmo de mínimos
Petição 870190029817, de 28/03/2019, pág. 7/46
3/32 quadrados linear.
[006] Em outro aspecto da presente invenção, um fator de ponderação pode ser aplicado aos valores de efeito de dimensão e aos valores de dimensão alvo, de modo a se definir a importância relativa das medidas e/ou para se nivelarem os efeitos de medidas escalonadas diferentes. O fator de atribuição de peso pode corresponder ao recíproco de um valor mais alto dos valores de dimensão-alvo, o recíproco de uma média de todos os valores de dimensão-alvo e/ou o recíproco de uma soma dos valores de dimensão-alvo.
[007] Em ainda um outro aspecto da presente invenção, os valores de dimensão-alvo podem ser escalonados por um fator de crescimento para a provisão de valores de dimensão-alvo mais atuais, em casos em que os valores de dimensão-alvo são baseados em dados históricos. Breve Descrição dos Desenhos [008] A figura 1 é uma modalidade de um sistema de teste para se testar a robustez de sistemas de computador de acordo com a presente invenção;
[009] a figura 2 é uma modalidade de uma estrutura de árvore de um plano de teste para se testar um sistema de computador de acordo com a presente invenção;
[0010] a figura 3 é uma porção de uma tabela de exemplo gerada por uma modalidade de um aplicativo de modelo de carga que permite a caracterização de vários scripts de teste utilizados para se testar um sistema de computador de acordo com a presente invenção;
[0011] a figura 4 é uma porção de uma tabela de exemplo gerada pelo aplicativo de modelo de carga usado na figura 3, que permite a especificação de uma informação alvo para grupos de acordo com a presente invenção;
[0012] a figura 5 é uma porção de uma tabela de resultado de exemplo gerada pelo aplicativo de modelo de carga da figura 3 de acordo com
Petição 870190029817, de 28/03/2019, pág. 8/46
4/32 a presente invenção;
[0013] a figura 6 é um fluxograma que descreve as operações do aplicativo de modelo de carga da figura 3; e [0014] a figura 7 ilustra esquematicamente uma modalidade de um sistema de computador que usa o aplicativo de modelo de carga da figura 3 de acordo com a presente invenção.
Descrição Detalhada da Invenção [0015] A figura 1 é um sistema de teste 100 para se testar a robustez de sistemas de computador. O sistema de teste 100 inclui um processador 115, scripts de teste 105 e um modelo de carga 120.
[0016] O processador 115 pode corresponder a qualquer computador convencional ou outro dispositivo de processamento de dados capaz de executar aplicativos para a verificação da funcionalidade de sistemas de computador. Por exemplo, o processador 115 pode corresponder a um processador baseado em Intel®, AMD® ou PowerPC® operando, por exemplo, um sistema operacional baseado em Microsoft Windows®, Linux ou outro baseado em Unix®. O processador 115 pode ser adaptad para executar aplicações tais como uma aplicação de modelo de carga e/ou uma aplicação de teste de carga, tal como um HP Load Runner®. O aplicativo de teste de carga executa scripts de teste para testar os sistemas de computador de acordo com o modelo de carga. O processador 115 também pode ser adaptado para comunicação com os sistemas de computador através de uma interface, tal como uma interface de rede.
[0017] Os scripts de teste 105 correspondem a listagens de código executadas pelo processador 115, que permite testar a funcionalidade associada a vários sistemas de computador. As listagens de código podem corresponder a uma linguagem de criação de script, tal como Java® e/ou Microsoft Visual Basic®. As listagens de código também podem corresponder a linguagens de programação, tais como C ou C++.
Petição 870190029817, de 28/03/2019, pág. 9/46
5/32
Os scripts de teste 105 podem incluir listagens de código projetadas para simularem interações humanas associadas a vários sistemas de computador a serem testados pelo sistema de teste 100. Por exemplo, um primeiro script de teste pode incluir um código que permita a simulação de interações humanas associadas à leitura e à escrita de mensagens de e-mail. Neste caso, o script de teste pode incluir um código que gere uma mensagem de e-mail, selecione um destinatário para a mensagem de e-mail e comunique a mensagem de e-mail para um servidor de e-mail 125. Um segundo script de teste pode incluir um código que permita a simulação de interações humanas associadas à navegação em páginas da web. Por exemplo, o script pode incluir um código que requisite uma página da web a partir de um servidor da web 130, especifique campos na página da web e comunique os campos de volta para o servidor da web 130. Um terceiro script de teste pode incluir um código que permita a simulação de interações humanas associadas a interações de banco de dados. Por exemplo, o script pode incluir um código que recupere e armazene dados para e a partir de um servidor de banco de dados 135. Outros sistemas e scripts para teste dos sistemas podem existir também.
[0018] Em operação, o processador 115 executa os scripts de teste
105 de acordo com um modelo de carga 120. O modelo de carga 120 é gerado por um aplicativo de modelo de carga e especifica quantas vezes por período de tempo cada um dos scripts de teste 105 é executado. Por exemplo, um primeiro script pode ser executado 159,24 vezes por minuto e um segundo script pode ser executado 26,29 vezes por minuto. Quão frequentemente se executa um dado script é determinado pelo aplicativo de modelo de carga. O aplicativo de modelo de carga determina as taxas de execução dos scripts com base em uma variedade de fatores, incluindo várias medidas que incluem dimensões. Uma medida corresponde a uma coleção de dimensões associadas a um aspecto em
Petição 870190029817, de 28/03/2019, pág. 10/46
6/32 particular de um sistema sob teste. Uma dimensão corresponde a uma operação realizada naquela medida ou naquele aspecto em particular do sistema. Por exemplo, medidas de autenticação podem estar associadas a um servidor de autenticação que realiza operações tais com autenticação de identidade, autenticação de identidade alternativa, atualização de senha, autenticação de grupo e/ou operações para o estabelecimento de privilégios junto ao sistema.
[0019] As figuras 2 a 4 descrevem várias interfaces de usuário e operações associadas ao aplicativo de modelo de carga.
[0020] A figura 2 é uma estrutura de árvore 220 de um plano de teste para se testar um sistema de computador pelo sistema de teste
100. O plano de teste pode ser criado através do aplicativo de modelo de carga descrito acima. A estrutura de árvore 220 inclui vários nós de grupo 225 e vários nós de script 210. A estrutura de árvore 220 pode ser utilizada para a definição das relações entre vários scripts utilizados para se testar o sistema de computador. A funcionalidade interna do aplicativo de modelo de carga é guiada pelo agrupamento dos scripts. Frequentemente, há relações importantes entre os scripts que podem precisar ser levadas em consideração. Estas relações podem ser inerentes à forma como o software ou sistema de computador opera. Por exemplo, em muitos aplicativos de web, após um usuário fazer um login com sucesso, ao usuário é apresentada com uma tela de boas-vindas. Se houver dois scripts, um para login e um para navegação pela tela de boas-vindas, pode fazer sentido rodá-los um após o outro. Contudo, um modelo de carga sem restrição pode tentar romper esta relação entre os scripts, porque não está ciente dela. A estrutura de árvore 220 permite restringir o modelo de carga, de modo a se manterem estas relações.
[0021] Os nós de grupo 225 são utilizados para scripts relacionados a grupos e/ou outros grupos, e para a especificação de uma informação
Petição 870190029817, de 28/03/2019, pág. 11/46
7/32 alvo utilizada para restrição das taxas de execução de scripts associados ao grupo. Por exemplo, um nó de grupo Plano de Teste 200 pode ser utilizado para a especificação de uma informação alvo para todos os scripts abaixo do nó de grupo Plano de Teste 200 na estrutura de árvore 220, o que, neste exemplo, inclui aqueles scripts abaixo do nó de grupo grupo de Aplicativo de Administração 205, do nó de grupo Relacionado a Lote 207 e do nó de grupo Aplicativo de Cliente 209. Cada um destes nós de grupo por sua vez pode ser utilizado para a especificação de uma informação alvo para os scripts abaixo do respectivo grupo. Por exemplo, o nó de grupo Aplicativo de Administração 205 pode ser utilizado para a especificação de uma informação alvo para todos os scripts abaixo do nó de grupo Aplicativo de Administração 205, o que inclui os nós de script 210 para desabilitação de uma cota, pesquisa de uma conta, atualização de uma conta e login em uma conta, por um administrador.
[0022] A informação alvo mencionada posição vertical inclui uma lista de medidas, pesos para cada medida, valores para dimensões associadas a cada medida e fatores de crescimento para cada medida. Os pesos são utilizados para a definição da importância relativa das medidas. Os valores de dimensão-alvo podem ser com base em valores históricos ou esperados. Cada medida no perfil pode ser multiplicada por um fator de crescimento para a predição de algum estado futuro ou ter um peso atribuído para se guiar o modelo, quando da feitura de comprometimentos. Os fatores de crescimento são expressos como múltiplos de valores históricos.
[0023] Os nós de script 210 são utilizados para a especificação de uma footprint de script. Um script corresponde a uma listagem de código executada por um processador que permite testar uma funcionalidade associada a um sistema de computador que esteja sob teste. Uma foo
Petição 870190029817, de 28/03/2019, pág. 12/46
8/32 tprint de script é uma medida da forma pela qual um script afeta o sistema de computador, conforme representado pelo número de vezes por período de tempo que o script exerce operações do sistema de computador. Uma footprint de script inclui uma lista de dimensões que podem ser afetadas pelo script, valores numéricos para cada dimensão que mede o efeito de uma execução individual daquele script, e a duração mínima esperada quando se roda o script sozinho, sem quaisquer outros scripts rodando.
[0024] A footprint de um script pode ser monitorada por uma combinação de conhecimento de aplicativo e experimentação. Pode ser importante determinar quais medidas aplicar a um script. Frequentemente, isso inclui acesso a um analista com conhecimento específico do aplicativo para a determinação de quais servidores da web, bancos de dados e sistemas de backend são tocados quando se roda um script. Se isto não estiver disponível, pode ser possível determinar esta informação pela rodada do script sozinho, sem quaisquer outros scripts rodando, e registrando-se e/ou monitorando-se o comportamento do script.
[0025] Após a determinação da lista de medidas que se aplicam a um script, pode ser melhor medir os efeitos do script em um ambiente limpo, sem registro / monitoração habilitado(a) para aquelas medidas de sistema que foram almejadas. A rodada de um script múltiplas vezes pode ajudar a identificar e eliminar erros ou um tráfego não pretendido. Por exemplo, se um script for rodado vinte vezes em sucessão, então, o tráfego resultante poderá ocorrer em múltiplos de vinte. Métricas que não estejam em múltiplos uniformes mostram um tráfego de fundo interferente (o que frequentemente pode ser ignorado e subtraído) ou um comportamento variável (não determinístico). Este tipo de tráfego pode ser considerado com valores fracionários.
Petição 870190029817, de 28/03/2019, pág. 13/46
9/32 [0026] A figura 3 é uma porção de uma tabela de exemplo 325 gerada pelo aplicativo de modelo de carga, que permite a especificação da footprint de vários scripts utilizados para se testarem sistemas de computador, conforme descrito acima. A tabela 325 inclui os scripts 310, as dimensões 315 que podem ser afetadas por um script, e campos de efeito de dimensão 320. Cada dimensão 315 corresponde a uma operação realizada pelo sistema sob teste. Por exemplo, um servidor de autenticação do sistema sob teste pode realizar operações tais como autenticação de identidade, autenticação de identidade alternativa, atualização de senha, autenticação de grupo e/ou operações para estabelecimento de privilégios junto ao sistema. Estas operações são representadas pelas dimensões 315 no topo da tabela 325.
[0027] Os campos de efeito de dimensão 320 são campos de entrada da tabela de exemplo que são utilizados para a especificação de um valor associado ao efeito de uma execução individual de um script em uma dada dimensão 315. Por exemplo, com referência à figura 3, o script Desabilitar Conta pode afetar as dimensões 315 Autenticação de ID, Atualização de Senha e Autenticação de Grupo uma vez por execução, e a dimensão Privilégios duas vezes por execução, conforme ilustrado pelos valores de efeito de dimensão 1,0 e 2,0 na tabela de exemplo 325. O script Login de Administração pode afetar a dimensão Autenticação de ID e a dimensão Autenticação de Grupo uma vez por execução.
[0028] Os scripts 310 na tabela de exemplo 325 são agrupados juntos de acordo com a estrutura em árvore 220 da figura 2. Por exemplo, na tabela exemplar 325, os scripts 310 Desabilitar Conta, Pesquisa de Conta, Atualização de Conta e Login de Administração são agrupados abaixo do grupo de Aplicativo de Administração 305, o qual, por sua vez, está abaixo do grupo Plano de Teste 300.
Petição 870190029817, de 28/03/2019, pág. 14/46
10/32 [0029] A figura 4 é uma porção de uma tabela de exemplo 420 gerada pelo aplicativo de modelo de carga, que permite a especificação de uma informação alvo para grupos, conforme descrito acima. A tabela 420 inclui linhas de grupo 402, dimensões 410, e campos de dimensãoalvo 415. As linhas de grupo 402 mostradas na tabela de exemplo 420 podem corresponder aos grupos mostrados na estrutura de árvore de exemplo 220 da figura 2. Por exemplo, a tabela 420 inclui uma linha de linha de grupo de Plano de Teste 400 e uma linha de grupo Aplicativo de Administração 405.
[0030] As dimensões 410 podem corresponder às dimensões que são afetadas pelos vários scripts, tais como as dimensões Autenticação de ID, Autenticação de Alt, Atualização de Senha, Autenticação de Grupo e Privilégios, conforme descrito acima com referência à figura
3.
[0031] Os campos de dimensão-alvo 415 são utilizados para a especificação de valores de dimensão-alvo para cada dimensão. Na tabela de exemplo 420, as dimensões de alvo 415 especificadas na linha de grupo de Plano de Teste 400 e na linha de grupo Aplicativo de Administração 405 são utilizadas para restrição do número de vezes por período de tempo que as dimensões 410 são afetadas pelos scripts associados àqueles grupos. Por exemplo, com referência à tabela 420, o número de vezes por minuto que as dimensões Autenticação de ID, Autenticação de Alt e Atualização de Senha podem ser afetadas pelos scripts que são parte do grupo de Plano de Teste 400 pode ser restrito a 5003, 2345 e 45,3 vezes por minuto, respectivamente. De modo similar, no grupo Aplicativo de Administração 405, o número de vezes por minuto que as dimensões Autenticação de Alt e Autenticação de Grupo podem ser afetadas pelos scripts que são parte do grupo Aplicativo de Administração 405 pode ser restrito a 45,0 e 121 vezes por minuto, respectivamente.
Petição 870190029817, de 28/03/2019, pág. 15/46
11/32 [0032] As tabelas 1 a 10 abaixo descrevem como o aplicativo de modelo de carga determina a taxa de execução ótima dos scripts individuais necessária para adequação aos alvos definidos. A tabela 1 mostra as footprints de script de exemplo ou os perfis de script associados a vários scripts. Neste caso, a tabela define as footprints de scripts denominados Script 1 e Script 2. As dimensões de um sistema sob teste que podem ou não ser afetadas pelos scripts são listadas através do topo da tabela e incluem Consulta 1, Consulta 2 e URL 1, URL 2 e URL 3. As dimensões de consulta podem corresponder a operações realizadas por um banco de dados e, portanto, são incluídas sob o cabeçalho de Medida de Banco de Dados. De modo similar, as dimensões de URL podem corresponder a operações realizadas por um servidor da web e, portanto, são incluídas sob o cabeçalho de Medida da Web.
[0033] A footprint de script é definida pelos valores de dimensão de script na tabela. Os valores de dimensão de script correspondem ao número de vezes que as várias dimensões são afetadas pelo script a cada vez em que o script se executa. Por exemplo, conforme mostrado na tabela 1, Script 1 afeta a dimensão Consulta 2 uma vez por execução, URL 1 duas vezes por execução e URL 3 uma vez por execução. Script 2 afeta a dimensão Consulta 1 uma vez por execução, URL 2 uma vez por execução e URL 3 uma vez por execução.
Medida de Banco de Dados Medida da Web
Consulta 1 Consulta 2 URL 1 URL 2 URL 3
Script 1 0 1 2 0 1
Script 2 1 0 0 1 1
Tabela 1 - Perfis de script de exemplo [0034] A tabela 2 abaixo é uma tabela que mostra os valores de dimensão-alvo correspondentes ao número de vezes por minuto que as dimensões na tabela 1 são afetadas de forma ideal.
Petição 870190029817, de 28/03/2019, pág. 16/46
12/32
Medida de Banco de Dados Medida da Web
Consulta 1 Consulta 2 URL 1 URL 2 URL 3
Alvo 10 8 16 10 18
Tabela 2 - Contagens de execução de função de alvo exemplar [0035] Neste caso, a tabela especifica que as dimensões Consulta
1, Consulta 2, URL 1, URL 2, e URL 3 devem ser afetadas 10, 8, 16, 10, e 18 vezes por minuto, respectivamente. Isto é, quando se executam Script 1 e Script 2 simultaneamente, o número de vezes que uma dada dimensão é afetada deve ser restrito aos valores de dimensão-alvo na tabela 2.
A questão se torna: qual é o número ótimo de vezes para execução do Script 1 e do Script 2 na tabela 1, de modo a se combinarem melhor os valores de dimensões de alvo da tabela 2? A tabela 3 representa uma solução para este problema.
Banco de Dados Medida da Web Banco de Dados Medida da Web
Q1 Q2 UR L1 UR L2 UR L3 Q1 Q2 URL 1 URL 2 URL 3
Alvo 10 8 16 10 18 10 8 16 10 18
Script 1 0 1 2 0 1 X8 0 8 16 0 8
Script 2 1 0 0 1 1 X o 10 0 0 10 10
Tabela 3 - Solução de ajuste perfeito de exemplo [0036] Os valores de dimensão-alvo da tabela 1 e os valores de dimensão de script da tabela 2 são representados no lado esquerdo da tabela 3. A porção média da tabela 3 representa o número de vezes por minuto que cada script é executado. Por exemplo, x8 indica que o Script 1 é executado 8 vezes por minuto e x10 indica que o Script 2 é executado 10 vezes por minuto.
[0037] O lado direito da tabela 3 mostra o número real de vezes por minuto que as dimensões são afetadas pelos scripts. Por exemplo,
Petição 870190029817, de 28/03/2019, pág. 17/46
13/32 quando Script 1 é executado 8 vezes em um minuto, as dimensões Q2, URL 1, e URL 3 são afetadas 8, 16, e 8 vezes por minuto, respectivamente. Quando Script 2 é executado 10 vezes em um minuto, as dimensões Q1, URL 2, e URL 3 são afetadas, cada uma, 10 vezes por minuto.
[0038] Neste caso, a execução de Script 1 oito vezes por minuto e de Script 2 dez vezes por minuto provê uma solução perfeita para o problema, porque o número real de vezes que as dimensões são afetadas no lado direito da tabela equivale aos valores de dimensão-alvo no lado esquerdo da tabela. Por exemplo, o número real de vezes que a dimensão Q1 é afetada equivale a 10 vezes por minuto, o que é igual ao valor de dimensão-alvo para Q1. Da mesma forma, os números reais de vezes que as outras dimensões são afetadas correspondem aos respectivos valores de dimensão-alvo. Isto significa que a execução de Script 1 8 vezes por minuto e de Script 2 dez vezes por minuto é a melhor combinação de taxas de execução.
[0039] Muitas vezes, os valores de dimensão-alvo são baseados em valores históricos. Neste caso, um fator de crescimento pode ser aplicado aos valores de dimensão-alvo para a provisão de valores de dimensão-alvo mais atuais. Por exemplo, todos os valores de dimensãoalvo podem ser dobrados para se criarem valores de dimensão-alvo históricos para mais valores atuais.
[0040] O exemplo prévio foi uma solução perfeita porque todos os valores de dimensão-alvo foram encontrados. Isto pode acontecer sob condições de mundo real, em que os scripts são fiéis aos comportamentos de usuário. Contudo, frequentemente, os comportamentos de usuário são muito complexos, ou os valores de dimensão-alvo são estimados, tornando difícil, se não impossível, encontrar um ajuste perfeito. Isto pode resultar em um erro entre os valores de dimensão reais e de alvo. A meta nestas situações é encontrar uma combinação de taxas de
Petição 870190029817, de 28/03/2019, pág. 18/46
14/32 execução de script que minimize este erro. Os parágrafos a seguir explicam como isto pode ser realizado.
A B C X A B C
Alvo 10 10 10 Alvo 10 10 10
Script 1 1 1 0 6 Script 1 6 6 0
Script 2 0 1 1 6 Script 2 0 6 6
Totais 6 12 6
Erros 4 -2 4
Tabela 4 - Solução de Melhor Ajuste [0041] A tabela 4 representa um caso em que um ajuste perfeito não pode ser encontrado. Neste caso, ambos os scripts são executados seis vezes por minuto, mas isto resulta em um erro, conforme mostrado no lado direito. Aqui, os valores reais para as dimensões A, B e C estão fora em 4, -2 e 4, respectivamente. Em outras palavras, as funções A e C são afetadas quatro vezes por minuto muito poucas vezes e a dimensão B é afetada duas vezes por minuto vezes demais.
[0042] Uma vez que cada erro, negativo ou positivo, representa algum nível e falha em adequação ao alvo, todos os valores de erro devem ser contados. A adição direta destes números em conjunto não é possível, uma vez que erros negativos e positivos se cancelarão. Ao invés disso, o erro total é computado de acordo com a equação a seguir: Erro Total = 42 + (-2)2 + 42 [0043] A vantagem de representar o erro desta forma é que se presta à aplicação de uma abordagem matemática conhecida como Mínimos Quadrados Lineares (LLS). Esta abordagem permite encontrar combinações de taxas de execução de script que minimizam o erro total. [0044] Geralmente, a aplicação da abordagem de LLS começa pela consideração de um sistema sobredeterminado na forma Σ ^x.. β = , (i = 1,2,..., m), de m equações lineares em n incógnitas,
Petição 870190029817, de 28/03/2019, pág. 19/46
15/32 βλ, β2,..., βκ , com m > n, escrito em forma matricial como χβ = y. A abordagem de Mínimos Quadrados Lineares tem uma solução única, desde que as n colunas da matriz X sejam linearmente independentes. A solução pode ser obtida pela resolução das equações normais (xT x )β = xT y.
[0045] Quando se encontra uma melhor combinação, o modelo pode ter medidas diferentes que são usadas simultaneamente para a definição de uma carga. Muitas vezes, essas medidas têm unidades e escala completamente diferentes. Por exemplo, chamadas de banco de dados podem ocorrer em uma taxa de 5000 vezes por minuto, enquanto um servidor da web pode estar provendo uma página a uma taxa de 30 vezes por minuto. Quando estas duas medidas são processadas pelo algoritmo de LLS, um erro de 10% na extremidade de banco de dados é de 500 e é elevada ao quadrado para 250.000; onde um erro de 10% ou a extremidade de servidor da web é 3 elevada ao quadrado para 9. Uma vez que o valor de erro para o banco de dados é muito maior, o modelo fará sacrifícios extremos à custa do tráfego de servidor da web para adequação a alvos de banco de dados. Um exemplo em que as unidades e a escala são completamente diferentes é mostrado na tabela 5 abaixo.
Medida da Web Medida de Banco de Dados
A B C D E F
Alvo 10 10 10 100 100 100
Script 1 1 0 0 10 0 0
Script 2 0 1 0 0 5 0
Script 3 0 0 2 0 0 10
Medida da Web Medida de Banco de Dados
A B C D E F
Alvo X 10 10 10 100 100 100
Script 1 10 10 0 0 100 0 0
Petição 870190029817, de 28/03/2019, pág. 20/46
16/32
Script 2 19,62 0 19,62 0 0 98,1 0
Script 3 9,81 0 0 19,62 0 0 98,1
Erros 0 -9,62 -9,62 0 1,92 1,92
% 0,0% 96,2% 96,2% 0,0% 1,9% 1,9%
Tabela 5 - Solução de melhor ajuste não-ponderada [0046] Neste exemplo, a combinação de taxas de execução que minimiza o erro total pode corresponder à execução de Script 1 10 vezes por minuto, Script 2 19,62 vezes por minuto e o Script 3 9,81 vezes por minuto. Contudo, a execução dos scripts de acordo com estas taxas, enquanto se minimiza o erro geral, resulta em um erro de 96,2% nos valores de dimensão reais associados às dimensões B e C, em oposição a um erro de 1,9% para os valores de dimensão reais associados às dimensões E e F. Em outras palavras, o erro não é equilibrado através das dimensões. Isto ocorre porque os valores de dimensão-alvo para a Medida da Web são de uma ordem de magnitude abaixo daqueles para a Medida de Banco de Dados.
[0047] Como isto pode não ser um resultado pretendido, atribuições de peso podem ser providas. Há várias formas para a definição de pesos entre medidas: pesos manuais e normalização automática. Os pesos manuais são valores que podem ser atribuídos a cada valor de dimensão de medida em um grupo. Os valores de dimensão-alvo e os valores de dimensão de script podem ser multiplicados por este peso, e isto pode resultar em uma solução de melhor ajuste diferente.
[0048] A tabela 6 abaixo ilustra os resultados quando os valores de atribuição de peso são aplicados. Neste caso, os valores de dimensão A, B e C são multiplicados pelo valor de atribuição de peso 10 e os valores de dimensão para D, E e F são multiplicados pelo valor de atribuição de peso 1. Com estas atribuições de peso aplicadas, a combinação de taxas de execução que minimiza o erro total agora corresponde à execução de Script 1 10 vezes por minuto, de Script 2 12 vezes por minuto e de Script 3 6 vezes por minuto. Quando da execução dos
Petição 870190029817, de 28/03/2019, pág. 21/46
17/32 scripts de acordo com estas taxas, o erro associado aos valores de dimensão B e C diminui de 96,2% para 20% e o erro associado aos valores de dimensão E e F aumentam de 1,9% para 40%. O erro entre as dimensões agora é mais equilibrado.
Medida da Web Medida de Banco de Dados
A B C D E F
Alvo 10 10 10 100 100 100
Script 1 1 0 0 10 0 0
Script 2 0 1 0 0 5 0
Script 3 0 0 2 0 0 10
Pesos 10 1
Continuação...
Medida da Web Medida de Banco de Dados
A B C D E F
Alvo X 10 10 10 100 100 100
Script 1 10 10 0 0 100 0 0
Script 2 12 0 12 0 0 60 0
Script 3 6 0 0 12 0 0 60
Emos 0 -2 -2 0 40 40
% 0,0% 20,0% 20,0% 0,0% 40,0% 40,0%
Tabela 6 - Solução de melhor ajuste ponderada manualmente [0049] Embora as atribuições de peso possam ser usadas para o nivelamento de efeitos de medidas escalonadas diferentemente, elas também podem ser usadas para a introdução de um tratamento preferencial pretendido de medidas. Por exemplo, na tabela 7 abaixo, uma preferência é dada às dimensões de Medida da Web, ao invés de às dimensões de Medida de Banco de Dados pela atribuição de peso às dimensões de Medida da Web com um fator de 15 e pela atribuição de peso às dimensões de Medida de Banco de Dados com um fator de 1.
Petição 870190029817, de 28/03/2019, pág. 22/46
18/32
Medida da Web Medida de Banco de Dados
A B C D E F
Alvo 10 10 10 100 100 100
Script 1 1 0 0 10 0 0
Script 2 0 1 0 0 5 0
Script 3 0 0 2 0 0 10
Pesos 15 1
Continuação...
Medida da Web Medida de Banco de Dados
A B C D E F
Alvo X 10 10 10 100 100 100
Script 1 10 10 0 0 100 0 0
Script 2 12 0 12 0 0 60 0
Script 3 6 0 0 12 0 0 60
Enos 0 -1 -1 0 45 45
% 0,0% 10,0% 10,0% 0,0% 45,0% 45,0%
Tabela 7 - Ponderada manualmente para a provisão de resultados preferenciais [0050] Os valores de atribuição de peso normalizados também podem ser aplicados. Os pesos normalizados tentam encontrar um ajuste que considere todas as medidas igualmente. As tabelas 8 a 10 ilustram várias formas nas quais os pesos podem ser normalizados.
[0051] A tabela 8 ilustra uma atribuição de peso com base no valor de medida de pico em um grupo. Neste caso, os valores de dimensãoalvo no primeiro grupo são divididos pelo valor de dimensão-alvo máximo de 10. Isto efetivamente muda as dimensões de alvo no primeiro grupo de 10, 1 e 1 para 1, 0,1 e 0,1, respectivamente. Os valores de dimensão-alvo no segundo grupo são divididos por 100, o que é o valor de dimensão alvo máximo naquele grupo. Isto efetivamente muda as dimensões de alvo no segundo grupo de 100, 24 e 4 para 1,0,24 e 0,04, respectivamente.
Petição 870190029817, de 28/03/2019, pág. 23/46
19/32
Alvo 10 1 1 100 24 4
Pesos 1/10 1/100
Tabela 8 - Atribuição de peso de valor de pico [0052] A tabela 9 abaixo ilustra a atribuição de peso com base na média dos valores de dimensão-alvo em um grupo. Neste caso, o primeiro grupo de valores de dimensão-alvo é dividido por 4,6, o que corresponde à média dos valores de dimensão-alvo 10, 3 e 1, e o segundo grupo de valores de dimensão-alvo é dividido por 42,6, o que é a média dos valores de dimensão-alvo 100, 24 e 4. Isto efetivamente muda os valores de dimensão-alvo no primeiro grupo para 2,2, 0,65 e 0,22, e os valores de dimensão-alvo no segundo grupo para 2,35, 0,56 e 0,09, respectivamente.
Alvo 10 3 1 100 24 4
Pesos 1/4,6 1/42,6
Tabela 9 - Atribuição de peso de valor médio [0053] A tabela 10 abaixo ilustra uma atribuição de peso com base na soma dos valores de dimensão-alvo em um grupo. Neste caso, o primeiro grupo de valores de dimensão-alvo é dividido por 45, o que corresponde à soma dos valores de dimensão-alvo 12, 10, 8, 7 e 4, e o segundo grupo de valores de dimensão-alvo é dividido por 25, o que é a soma dos valores de dimensão-alvo 2, 2, 12, 9 e 4. Isto efetivamente muda os valores de dimensão-alvo no primeiro grupo para 0,27, 0,22, 0,18, 0,16 e 0,09, respectivamente, e os valores de dimensão-alvo no segundo grupo para 0,08, 0,08, 0,48, 0,36 e 0,16, respectivamente.
Alvo 12 10 8 7 4 2 2 12 9 4
Pesos 1/45 1/25
abela 10 - Atribuição de peso de valor total [0054] A figura 5 é uma porção de uma tabela de resultado de exemplo 500 que é gerada pelo modelo de carga após se completarem as etapas de definição de medidas, construção da árvore de componente e introdução de perfis de script. A porção da tabela de resultado de
Petição 870190029817, de 28/03/2019, pág. 24/46
20/32 exemplo 500 pode ser comunicada para um visor, de modo que um operador possa avaliar a efetividade do modelo de carga no teste de um sistema sob teste. O lado esquerdo da tabela de resultado 500 inclui grupos 510 e scripts 512. O topo da tabela de resultado 500 inclui uma coluna de taxa de execução 517 e dimensões 515. Cada grupo 510 inclui uma linha para o valor de dimensão-alvo. Por exemplo, conforme mostrado na tabela, os valores de dimensão-alvo para as dimensões Autenticação de ID, Autenticação de Alt, Atualização de Senha, Autenticação de Grupo e Privilégios conforme relacionado ao grupo de Plano de Teste correspondem a 5003, 2345, 45,3, 0 e 0, respectivamente. Os valores de dimensão-alvo para as dimensões Autenticação de ID, Autenticação de Alt, Atualização de Senha, Autenticação de Grupo e Privilégios conforme relacionado ao grupo Aplicativo de Administração correspondem a 0, 45,0, 0, 121 e 0, respectivamente.
[0055] Cada linha de script 512 inclui valores correspondentes aos valores de efeito de dimensão real de um script. O valor de efeito de dimensão real de um script corresponde aos valores de efeito de dimensão de um script multiplicado pelo valor de taxa de execução na coluna de taxa de execução correspondente 517. Os valores na coluna de taxa de execução 517 correspondem à combinação de taxas de execução que minimiza o erro total, conforme descrito acima. Neste caso, a execução dos scripts Desabilitar Conta, Pesquisa de Conta, Atualização de Conta e Login de Administração 28,6, 10,1, 2,21 e 107 vezes por minuto, respectivamente, minimiza o erro total. Quando executado de acordo com estas taxas, o script Desabilitar Conta afeta as dimensões Autenticação de ID, Atualização de Senha e Autenticação de Grupo 28,6 vezes por minuto e a dimensão Privilégios 57,2 vezes por minuto. O script Pesquisa de Conta afeta as dimensões Autenticação de Grupo e Privilégios 10,1 vezes por minuto. O script Atualização de Conta afeta as dimensões Autenticação de ID e Autenticação de
Petição 870190029817, de 28/03/2019, pág. 25/46
21/32
Grupo 2,21 vezes por minuto e a dimensão Privilégios 4,42 vezes por minuto. Finalmente, o script Login de Administração afeta as dimensões Autenticação de ID, Autenticação de Grupo e Privilégios 107 vezes.
[0056] Cada grupo 510 também inclui uma linha de ajuste 505. A linha de ajuste 505 inclui valores que descrevem quão próximo o tráfego gerado pelo modelo pode estar do tráfego de alvo. Um escore de 0% significa que o alvo foi completamente perdido, e um valor de 100% é uma combinação perfeita. Há muitas formas para interpretação dos dados na tabela de resultado 500. Casos em que o escore de ajuste é de 0% podem indicar que nenhum script toca em uma dimensão de medida. Quando este é o caso, o aplicativo de modelo de carga será incapaz de gerar uma solução que gere tráfego para aquela dimensão. Este problema pode ser corrigido pela introdução de novos scripts ou pela expansão dos scripts existentes.
[0057] Os casos em que o escore de ajuste é baixo para várias dimensões métricas compartilhadas por um script pode indicar que usuários do mundo real, a partir de onde a informação alvo vem, estão utilizando um aplicativo em particular de uma forma inesperada. Por exemplo, se um script for da página A para a página B, então, para a página C cada vez, mas os usuários do mundo real se desviam da página B 90% do tempo, pode não haver uma boa solução.
[0058] Se houver muito poucas medidas, e estas medidas forem afetadas igualmente por vários scripts, então, pode haver muitas soluções possíveis. Embora qualquer uma destas soluções possam se adequar à carga de alvo, apenas uma é correta. A provisão de dados de alvo adicionais ou de estimativas pode corrigir a situação. Infelizmente, pode não ser óbvio quando este problema ocorre, já que o percentual de ajuste pode ser muito bom. Pode precisar ser identificado de forma pró-ativa. Uma pista pode ser um padrão de repetição na carga gerada,
Petição 870190029817, de 28/03/2019, pág. 26/46
22/32 conforme o modelo tentar distribuir os valores igualmente, mas isto nem sempre ocorre.
[0059] Quando há dados limitados compartilhados por vários scripts
E eles têm proporções inválidas, o modelo pode vir com uma solução bizarra que envolve um número negativo de execuções por minuto. Isto ocorre quando o modelo tenta resolver uma proporção inválida, mas não há dados suficientes para limitação a um comprometimento realístico. Normalmente, o modelo não consideraria uma solução negativa, porque criaria uma grande quantidade de erro, já que nunca se aproximaria dos valores de alvo positivos. Contudo, se as medidas de alvo forem compartilhadas por outros scripts, e já forem altas demais devido a proporções inválidas, então, rodar um script um número negativo de vezes poderá parecer uma boa idéia (matematicamente). Contudo, isto não é possível no mundo real, então, este problema deve ser resolvido com novos scripts e dados adicionais.
[0060] A figura 6 é um fluxograma que descreve as operações do aplicativo de modelo de carga descritas acima. No bloco 600, a informação de footprint para vários scripts utilizados para se testar um sistema de computador pode ser especificada. Conforme descrito acima, uma footprint de script é uma medida da forma pela qual um script afeta o sistema de computador, conforme representando pelo número de vezes por período de tempo que o script exerce operações do sistema de computador. O recebimento da informação de footprint pode envolver a especificação de uma informação, tal como uma lista de dimensões de medida, que podem ser afetadas pelo script, os valores numéricos para cada dimensão de medida que mede o efeito de uma execução individual daquele script, e a duração mínima esperada quando se roda o script em um ambiente limpo. Esta informação pode ser especificada através da tabela de exemplo 325 da figura 3 ou de uma interface de usuário diferente.
Petição 870190029817, de 28/03/2019, pág. 27/46
23/32 [0061] No bloco 605, a informação alvo pode ser especificada. Conforme descrito acima, a informação alvo inclui valores de dimensão-alvo correspondentes a um número desejado de vezes por período de tempo que cada dimensão acima deve ser afetada. A informação pode incluir uma lista de medidas, pesos para cada medida, valores para as dimensões associadas a cada medida, e fatores de crescimento para cada medida. Esta informação pode ser especificada através da tabela de exemplo 420 da figura 4 ou de uma interface de usuário diferente.
[0062] No bloco 610, um fator de crescimento pode ser aplicado a todos os valores de dimensão-alvo, de modo a se predizer algum estado futuro para se guiar o modelo, quando da feitura de comprometimentos. O fator de crescimento pode ser aplicado quando os valores de dimensão-alvo forem baseados em valores históricos. O fator de crescimento pode permitir converter os valores de dimensão-alvo históricos em valores de dimensão-alvo que sejam mais representativos do estado atual do sistema de computador. Por exemplo, todos os valores de dimensãoalvo podem ser dobrados para se criarem valores de dimensão-alvo históricos para valores mais atuais.
[0063] No bloco 615, os pesos podem ser aplicados a todos os valores de dimensão-alvo para uma dada medida. Os pesos podem ser utilizados para a definição da importância relativa das medidas. Os pesos podem ser manualmente especificados ou normalizados autenticação. Os pesos manuais podem ser utilizados para a provisão de um tratamento especializado para um grupo de medidas. Os pesos normalizados podem ser utilizados para se nivelarem os efeitos de medidas escalonadas diferentes. Neste caso, as atribuições de peso podem ser com base no valor de dimensão-alvo máximo, em valores de dimensãoalvo médios ou na soma de valores de dimensão-alvo em uma medida. [0064] No bloco 620, o aplicativo de modelo de carga pode determinar o número ótimo de vezes para execução de scripts, de modo a se
Petição 870190029817, de 28/03/2019, pág. 28/46
24/32 minimizarem as diferenças entre o número de vezes que as dimensões são testadas e os valores de dimensão-alvo. O aplicativo de modelo de carga pode utilizar um algoritmo de LLS ou outro algoritmo adequado utilizado para a determinação de um conjunto de coeficientes que minimize o erro de um sistema de equações. Por exemplo, o algoritmo de LLS pode determinar o número ótimo de vezes para execução dos vários scripts, de modo a se minimizar a diferença geral entre os valores de dimensão-alvo e os valores de dimensão reais. Após a determinação da informação, o aplicativo de modelo de carga pode gerar uma tabela de resultado, tal como a tabela de resultado 500 da figura 5. A tabela de resultado pode ser comunicada para um visor, de modo que um operador possa interpretar os resultados.
[0065] No bloco 625, os scripts podem ser executados de acordo com taxas de execução determinadas no bloco 620. Por exemplo, com referência à figura 1, o processador 115 pode executar os scripts de teste 105 de acordo com um modelo de carga 120, de modo a se testar a funcionalidade dos vários sistemas de computador, tais como um servidor de e-mail 125, um servidor da web 130 e um servidor de banco de dados 135. Alternativamente, o modelo de carga pode ser comunicado para um outro sistema que seja operativo para se testar o sistema sob carga.
[0066] A figura 7 ilustra um sistema de computador geral 700 o qual pode representar o processador 115 do sistema de teste 100 mostrado na figura 1; ou o servidor de e-mail 125, o servidor da web 130 e o servidor de banco de dados 135 mostrados na figura 1; ou qualquer outro dispositivo de computação referenciado aqui. O sistema de computador 700 pode incluir um conjunto de instruções 745 que podem ser executadas para se fazer com que o sistema de computador 700 realize qualquer um ou mais dos métodos ou das funções baseadas em computador mostradas aqui. O sistema de computador 700 pode operar como um
Petição 870190029817, de 28/03/2019, pág. 29/46
25/32 dispositivo independente ou pode ser conectado, por exemplo, usandose uma rede, a outros sistemas de computador ou dispositivos periféricos.
[0067] Em um emprego em rede, o sistema de computador pode operar na capacidade de um servidor ou como um computador de usuário cliente em um ambiente de rede de usuário de servidor - cliente, ou como um sistema de computador de par em um ambiente de rede de par a par (ou distribuído). O sistema de computador 700 também pode ser implementado como ou incorporado em vários dispositivos, tais como um computador pessoal (PC), um tablet PC, um conversor de sinal de frequência (STB), um assistente digital pessoal (PDA), um dispositivo móvel, um computador palmtop, um computador laptop, um computador de mesa, um dispositivo de comunicações, um telefone sem fio, um telefone com fio, um sistema de controle, uma câmera, um scanner, uma máquina de fac-símile, uma impressora, um equipamento de radiochamada, um dispositivo de confiança pessoal, um aparelhagem para web, um roteador de rede, um comutador ou uma ponte, ou qualquer outra máquina capaz de executar um conjunto de instruções 745 (sequenciais ou de outra forma) que especifique ações a serem feitas por aquela máquina. Em uma modalidade, o sistema de computador 700 pode ser implementado usando-se dispositivos eletrônicos que provejam comunicação de voz, vídeo ou dados. Ainda, embora um sistema de computador único 700 possa ser ilustrado, o termo sistema também deve ser tomado como incluindo qualquer coleção de sistemas ou subsistemas que individual ou conjuntamente executem um conjunto ou múltiplos conjuntos de instruções para a realização de uma ou mais funções de computador.
[0068] Conforme ilustrado na figura 7, o sistema de computador 700 pode incluir um processador 705, tal como uma unidade de processamento central (CPU), uma unidade de processamento gráfica (GPU) ou
Petição 870190029817, de 28/03/2019, pág. 30/46
26/32 ambas. O processador 705 pode corresponder ao processador 115 do sistema de teste 100. O processador 705 pode ser um componente em uma variedade de sistemas. Por exemplo, o processador 705 pode fazer parte de um computador pessoal padrão ou de uma estação de trabalho. O processador 705 pode ser um ou mais processadores gerais, processadores de sinal digital, circuitos integrados específicos de aplicação, arranjos de porta programável de campo, servidores, redes, circuitos digitais, circuitos analógicos, combinações dos mesmos, ou outros dispositivos conhecidos agora ou desenvolvidos mais tarde para a análise e o processamento de dados. O processador 705 pode implementar um programa de software, tal como um código gerado manualmente (isto é, programado).
[0069] O sistema de computador 700 pode incluir uma memória 710 que pode se comunicar através de um barramento 720. A memória 710 pode ser uma memória principal, uma memória estática ou uma memória dinâmica. A memória 710 pode incluir, mas não está limitada a meios de armazenamento que podem ser lidos em computador, tais como vários tipos de meios de armazenamento voláteis e não voláteis, incluindo, mas não limitando, uma memória de acesso randômico, uma memória apenas de leitura, uma memória apenas de leitura programável, uma memória apenas de leitura eletricamente programável, uma memória apenas de leitura eletricamente apagável, uma memória flash, uma fita ou um disco magnético, meios óticos e similares. Em um caso, a memória 710 pode incluir uma memória cache ou de acesso randômico para o processador 705. De forma alternativa ou adicional, a memória 710 pode ser separada do processador 705, tal como uma memória cache de um processador, a memória do sistema ou uma outra memória. A memória 710 pode ser um dispositivo de armazenamento externo ou um banco de dados para o armazenamento de dados. Os exemplos podem incluir um disco rígido, um disco compacto (CD), um disco de vídeo
Petição 870190029817, de 28/03/2019, pág. 31/46
27/32 digital (DVD), cartão memory stick, um cartão memory stick, um disco flexível, um dispositivo de memória de barramento serial universal (USB), ou qualquer outro dispositivo operativo para o armazenamento de dados. A memória 710 pode ser operável para o armazenamento de instruções 745 executáveis pelo processador 705. As funções, os atos ou as tarefas ilustrados nas figuras ou descritos aqui podem ser realizados pelo processador programado 705 executando as instruções 745 armazenadas na memória 710. As funções, os atos ou as tarefas podem ser independentes do tipo em particular de conjunto de instrução, meio de armazenamento, processador ou estratégia de processamento, e podem ser realizados por software, hardware, circuitos integrados, firmware, microcódigo e similares, operando sozinhos ou em combinação. Da mesma forma, as estratégias de processamento podem incluir um processamento múltiplo, tarefa múltipla, processamento em paralelo e similares.
[0070] O sistema de computador 700 ainda pode incluir um visor
730, tal como um visor de cristal líquido (LCD), um diodo emissor de luz orgânico (OLED), um visor de painel plano, um visor de estado sólido, um tubo de raios catódicos (CRT), um projetor, uma impressora ou outro dispositivo de exibição conhecido agora ou desenvolvido mais tarde para a extração de uma informação determinada. O visor 730 pode atuar como uma interface para o usuário ver a funcionalidade do processador 705, ou especificamente como uma interface com o software armazenado na memória 710 ou em uma unidade de drive 715.
[0071] Adicionalmente, o sistema de computador 700 pode incluir um dispositivo de entrada 725 configurado para permitir que um usuário interaja com qualquer um dos componentes do sistema 700. O dispositivo de entrada 725 pode ser um teclado numérico, um teclado completo ou um dispositivo de controle de cursor, tal como um mouse, ou um joystick, um visor de tela de toque, um controle remoto ou qualquer outro
Petição 870190029817, de 28/03/2019, pág. 32/46
28/32 dispositivo operativo para interagir com o sistema 700.
[0072] O sistema de computador 700 também pode incluir uma unidade de disco ou de drive ótico 715. A unidade de drive de disco 715 pode incluir um meio que pode ser lido em computador 740, no qual um ou mais conjuntos de instruções 745, por exemplo, software, podem ser embutidos. Ainda, as instruções 745 podem realizar um ou mais dos métodos ou uma lógica, conforme descrito aqui. As instruções 745 podem residir completa ou pelo menos parcialmente na memória 710 e/ou no processador 705, durante uma execução pelo sistema de computador 700. A memória 710 e o processador 705 também podem incluir meios que podem ser lidos em computador, conforme discutido acima.
[0073] A presente exposição contempla um meio que pode ser lido em computador 740 que inclui instruções 745 ou recebe e executa instruções 745 em resposta a um sinal propagado, de modo que um dispositivo conectado a uma rede 750 possa comunicar voz, vídeo, áudio, imagens ou quaisquer outros dados pela rede 750. As instruções 745 podem ser implementadas com hardware, software e/ou firmware, ou qualquer combinação dos mesmos. Ainda, as instruções 745 podem ser transmitidas ou recebidas pela rede 750 através de uma interface de comunicação 735. A interface de comunicação 735 pode ser uma parte do processador 705 ou pode ser um componente em separado. A interface de comunicação 735 pode ser criada em software ou pode ser uma conexão física em hardware. A interface de comunicação 735 pode ser configurada para conexão com uma rede 750, meios externos, o visor 730 ou quaisquer outros componentes no sistema 700, ou combinações dos mesmos. A conexão com a rede 750 pode ser uma conexão física, tal como uma conexão de Ethernet com fio, ou pode ser estabelecida de forma sem fio, conforme discutido abaixo. Da mesma forma, as conexões adicionais com outros componentes do sistema 700 podem ser conexões físicas ou podem ser estabelecidas de forma sem fio.
Petição 870190029817, de 28/03/2019, pág. 33/46
29/32 [0074] A rede 750 pode incluir redes com fio, redes sem fio ou combinações das mesmas. A rede sem fio pode ser uma rede de telefonia celular, uma rede 802.11,802.16, 802.20, ou WiMax. Ainda, a rede 750 pode ser uma rede pública, tal como a Internet, uma rede privada, tal como uma intranet, ou combinações das mesmas, e pode utilizar uma variedade de protocolos de rede agora disponíveis ou desenvolvidos mais tarde, incluindo, mas não limitando, protocolos de rede baseados em TCP / IP.
[0075] O meio que pode ser lido em computador 740 pode ser um meio único ou o meio que pode ser lido em computador 740 pode ser um meio único ou múltiplos meios, tal como um banco de dados centralizado ou distribuído, e/ou caches associados e servidores, que armazenam um ou mais conjuntos de instruções. O termo meio que pode ser lido em computador também pode incluir qualquer meio que possa ser capaz de armazenar, codificar ou portar um conjunto de instruções para execução por um processador ou que pode fazer com que um sistema de computador realize qualquer um ou mais dos métodos ou das operações mostrados aqui.
[0076] O meio que pode ser lido em computador 740 pode incluir uma memória de estado sólido, tal como cartão de memória ou outro pacote que aloje uma ou mais memórias apenas de leitura não voláteis. O meio que pode ser lido em computador 740 também pode ser uma memória de acesso randômico ou uma outra memória regravável volátil. Adicionalmente, o meio que pode ser lido em computador 740 pode incluir um meio magneto-ótico ou ótico, tal como um disco ou fitas ou um outro dispositivo de armazenamento para a captura de sinais de orifício passante, tal como um sinal comunicado por um meio de transmissão. Um anexo de arquivo digital a um e-mail ou um outro arquivo ou conjunto de arquivos de backup de informação independente pode ser con
Petição 870190029817, de 28/03/2019, pág. 34/46
30/32 siderado como um meio de distribuição que pode ser um meio de armazenamento tangível. Assim sendo, a descrição pode ser considerada como incluindo qualquer um ou mais dentre um meio que pode ser lido em computador ou um meio de distribuição e outros equivalentes e meios sucessores, em que dados ou instruções possam ser armazenados.
[0077] De forma alternativa ou adicional, implementações de hardware dedicado, tais como circuitos integrados específicos de aplicação, arranjos lógicos programáveis e outros dispositivos de hardware podem ser construídos para a implementação de um ou mais dos métodos descritos aqui. As aplicações que podem incluir o aparelho e os sistemas de várias modalidades amplamente podem incluir uma variedade de sistemas eletrônicos e de computador. Uma ou mais modalidades descritas aqui podem implementar funções usando dois ou mais módulos ou dispositivos de hardware interconectados específicos com sinais de controle e de dados relacionados que podem ser comunicados entre e através dos módulos, ou como porções de um circuito integrado específico de aplicação. Assim sendo, o presente sistema pode envolver implementações de software, firmware e hardware.
[0078] Assim sendo, o método e o sistema podem ser realizados em hardware, software ou uma combinação de hardware e de software. O método e o sistema podem ser realizados de uma forma centralizada em pelo menos um sistema de computador ou de uma forma distribuída em que elementos diferentes estão espalhados através de vários sistemas de computador interconectados. Qualquer tipo de sistema de computador ou outro aparelho adaptado para a realização dos métodos descritos aqui é adequado. Uma combinação típica de hardware e de software pode ser um sistema de computador de finalidade geral com um programa de computador que, quando estiver sendo carregado e exe
Petição 870190029817, de 28/03/2019, pág. 35/46
31/32 cutado, controle o sistema de computador, de forma que realize os métodos descritos aqui.
[0079] O método e o sistema também podem ser embutidos em um produto de programa de computador, o qual inclui todos os recursos permitindo a implementação dos métodos descritos aqui, e que, quando carregado em um sistema de computador, é capaz de realizar estes métodos. O programa de computador no presente contexto significa qualquer expressão, em qualquer linguagem, código ou notação, de um conjunto de instruções pretendidas para se fazer com que um sistema tendo uma capacidade de processamento de informação realize uma função em particular diretamente ou após um ou ambos os seguintes: a) conversão para uma outra linguagem, código ou notação; b) reprodução de uma forma de material diferente.
[0080] A partir do precedente pode ser visto que as modalidades mostradas aqui proveem uma abordagem para a otimização do teste de sistemas de computador. Por exemplo, medidas e dimensões para um sistema podem ser determinadas. Então, a footprint de scripts de teste pode ser determinada. A footprint pode incluir valores de efeito de dimensão correspondentes ao número de vezes que uma dimensão é afetada por um script. Em seguida, valores de dimensão-alvo correspondentes a um número desejado de vezes por período que cada dimensão deve ser afetada são especificados. Então, um algoritmo de LLS é utilizado para a determinação do número de vezes para execução do script no período, de modo a se minimizar a diferença entre o número real de vezes que as dimensões são afetadas e os valores de dimensão-alvo. Finalmente, os scripts são executados no sistema de computador pelo número determinado de vezes no período de tempo. O sistema de computador por sua vez exerce operações de outros sistemas de computador de acordo com os scripts.
[0081] Embora o método e o sistema tenham sido descritos com
Petição 870190029817, de 28/03/2019, pág. 36/46
32/32 referência a certas modalidades, será entendido por aqueles versados na técnica que várias mudanças podem ser feitas e equivalentes podem ser substituídos, sem que se desvie do escopo. Além disso, muitas modificações podem ser feitas para adaptação de uma situação ou de um material em particular aos ensinamentos, sem que se desvie de seu escopo. Portanto, é pretendido que o presente método e o sistema não sejam limitados à modalidade em particular descrita, mas que o método e o sistema incluam todas as modalidades caindo no escopo das reivindicações em apenso.

Claims (24)

  1. REIVINDICAÇÕES
    1. Método para testar um sistema de computador, o método caracterizado por compreender:
    o recebimento de informação de script que inclui um valor de dimensão-efeito para cada uma das dimensões múltiplas, cada valor de dimensão-efeito correspondendo a um número de vezes que uma dimensão é afetada por um script;
    o recebimento, baseado em entrada de usuário, de um valor de dimensão-alvo para cada uma das dimensões múltiplas, cada valor de dimensão-alvo correspondente a um número desejado de vezes por período de tempo que cada dimensão deve ser afetada pelo script;
    a determinação, por um processador e baseado no valor de dimensão-efeito para cada uma das dimensões múltiplas e no valor de dimensão-alvo para cada uma das dimensões múltiplas, do número de vezes para execução do script no período de tempo que minimiza um erro total através das dimensões múltiplas, o erro total dado pelas diferenças entre valor de dimensão-efeito e valor de dimensão-alvo para cada uma das dimensões múltiplas; e a execução do script no sistema de computador o número de vezes determinado dentro do período de tempo.
  2. 2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que ainda compreende a minimização do erro total através das dimensões múltiplas por um algoritmo linear de mínimos quadrados.
  3. 3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que ainda compreende o escalonamento do ao menos um valor de dimensão-efeito e do ao menos um valor de dimensão-alvo por um fator de atribuição de peso.
  4. 4. Método, de acordo com a reivindicação 3, caracterizado pelo fato de que o fator de atribuição de peso corresponde ao recíproco de um valor mais alto dos valores de dimensão-alvo.
    Petição 870190029817, de 28/03/2019, pág. 38/46
    2/6
  5. 5. Método, de acordo com a reivindicação 3, caracterizado pelo fato de que o fator de atribuição de peso corresponde ao recíproco de uma média de todos os valores de dimensão-alvo.
  6. 6. Método, de acordo com a reivindicação 3, caracterizado pelo fato de que o fator de atribuição de peso corresponde ao recíproco de uma soma de todos os valores de dimensão-alvo.
  7. 7. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que ainda compreende a multiplicação do ao menos um valor de dimensão-alvo por um fator de crescimento.
  8. 8. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que minimizar o erro total através de dimensões múltiplas compreende determinar uma percentagem de erro e a comunicação da percentagem de erro para um visor.
  9. 9. Método para testar um sistema de computador, o método caracterizado por compreender:
    o recebimento de informação de script que inclui valores de dimensão-efeito para uma pluralidade de scripts, cada valor de dimensão-efeito correspondendo a um número de vezes que uma dimensão é afetada por um script;
    o recebimento de informação alvo que inclui valores de alvodimensão ;
    a determinação, por um processador e baseado no valor de dimensão-efeito para cada uma das dimensões múltiplas e no valor de dimensão-alvo para cada uma das dimensões múltiplas, do número de vezes para execução do script no período de tempo que minimiza um erro total através das dimensões múltiplas, o erro total dado pelas diferenças entre valor de dimensão-efeito e valor de dimensão-alvo para cada uma das dimensões múltiplas; e a execução do script no sistema de computador o número de vezes determinado dentro do período de tempo.
    Petição 870190029817, de 28/03/2019, pág. 39/46
    3/6
  10. 10. Meio de armazenamento não-transitório que pode ser lido em máquina, que tem armazenado nele um programa de computador que compreende pelo menos uma seção de código para se testar um sistema de computador, pelo menos uma seção de código sendo executável por uma máquina, caracterizado pelo fato de se fazer com que a máquina realize os atos de:
    recebimento de uma informação de script que inclui um valor de dimensão-efeito para cada uma de dimensões múltiplas, cada valor de dimensão-efeito correspondendo a um número de vezes que uma dimensão é afetada por um script;
    recebimento, baseado em entrada de usuário, de valores de dimensão-alvo para cada uma das dimensões múltiplas, cada valor de dimensão-alvo correspondente a um número desejado de vezes por período de tempo que cada dimensão deve ser afetada pelo script;
    determinação, baseada no valor de dimensão-efeito para cada uma das dimensões múltiplas e no valor de dimensão-alvo para cada uma das dimensões múltiplas, do número de vezes para execução do script no período de tempo, que minimiza um erro total através das dimensões múltiplas, o erro total dado pelas diferenças entre valor de dimensão-efeito e valor de dimensão-alvo para cada uma das dimensões múltiplas; e execução do script no sistema de computador para a determinação do número de vezes no período de tempo.
  11. 11. Meio de armazenamento que pode ser lido em máquina, de acordo com a reivindicação 10, caracterizado pelo fato de que a seção de código é executável para fazer com que a máquina minimize o erro total através de um algoritmo linear de mínimos quadrados.
  12. 12. Sistema para testar um sistema de computador, o sistema caracterizado por compreender:
    um processador capaz de receber uma informação de script
    Petição 870190029817, de 28/03/2019, pág. 40/46
    4/6 que inclui um valor de dimensão-efeito para cada uma das dimensões múltiplas, cada valor de dimensão-efeito correspondente a um número de vezes que uma dimensão é afetada por um script; receber, baseado em entrada de usuário, um valor de dimensão-alvo para cada uma das dimensões múltiplas, cada valor de dimensão-alvo correspondente a um número desejado de vezes por período de tempo que cada dimensão deve ser afetada pelo script; determinar, baseado no valor de dimensãoefeito para cada uma das dimensões múltiplas e no valor de dimensãoalvo para cada uma das dimensões múltiplas, um número de vezes para a execução do script no período de tempo, que minimize um erro total através das dimensões múltiplas, o erro total dado pelas diferenças entre valor de dimensão-efeito e valor de dimensão-alvo para cada uma das dimensões; e executar o script no sistema de computador para a determinação do número de vezes no período de tempo.
  13. 13. Sistema, de acordo com a reivindicação 12, caracterizado pelo fato de que o processador é operável para a minimização do erro total através de um algoritmo linear de mínimos quadrados.
  14. 14. Sistema, de acordo com a reivindicação 12, caracterizado pelo fato de que o processador é operável para o escalonamento do ao menos um valor de dimensão-efeito e do ao menos um valor de dimensão-alvo por um fator de atribuição de peso.
  15. 15. Sistema, de acordo com a reivindicação 14, caracterizado pelo fato de que o fator de atribuição de peso corresponde ao recíproco de um valor mais alto dos valores de dimensão-alvo.
  16. 16. Sistema, de acordo com a reivindicação 14, caracterizado pelo fato de que o fator de atribuição de peso corresponde ao recíproco de uma média de todos os valores de dimensão-alvo.
  17. 17. Sistema, de acordo com a reivindicação 14, caracterizado pelo fato de que o fator de atribuição de peso corresponde ao recíproco de uma soma de todos os valores de dimensão-alvo.
    Petição 870190029817, de 28/03/2019, pág. 41/46
    5/6
  18. 18. Sistema, de acordo com a reivindicação 12, caracterizado pelo fato de que o processador é operável para a multiplicação do ao menos um valor de dimensão-alvo por um fator de crescimento.
  19. 19. Método, de acordo com a reivindicação 1, caracterizado pelo fato de:
    que o recebimento de informação de script compreende o recebimento de informação de script para múltiplo scripts com ao menos um valor de dimensão-efeito para cada um dos scripts múltiplos;
    que a determinação do número de vezes para execução do script no período de tempo que minimiza o erro total através das dimensões múltiplas compreende a determinação, pelo processador, de um modelo de carga para os múltiplos scripts que minimiza o erro total através das dimensões múltiplas, o modelo de carga definindo uma taxa de execução para cada um dos scripts múltiplos; e que a execução do script no sistema de computador o número de vezes determinado dentro do período de tempo compreende executar os scripts múltiplos de acordo com o modelo de carga.
  20. 20. Método, de acordo com a reivindicação 19, caracterizado pelo fato de:
    que os scripts múltiplos estão agrupados de uma maneira que define relações entre grupos dos scripts múltiplos; e que a determinação do modelo de carga que minimiza o erro total através das dimensões múltiplas compreende restringir o modelo de carga para minimizar o erro total através das múltiplas dimensões enquanto mantém a relação entre os grupos dos scripts múltiplos.
  21. 21. Método, de acordo com a reivindicação 19, caracterizado pelo fato de que determinar o modelo de carga para os scripts múltiplos que minimiza o erro total através das dimensões múltiplas compreende encontrar, pelo processador, combinações de taxa de execução de script para os scripts múltiplos que minimizam o erro total.
    Petição 870190029817, de 28/03/2019, pág. 42/46
    6/6
  22. 22. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que minimizar o erro total através das múltiplas dimensões compreende minimizar o somatório de erros para cada uma das múltiplas dimensões enquanto permite um primeiro erro para uma primeira dimensão nas múltiplas dimensões ser maior que um segundo erro para uma segunda dimensão nas múltiplas dimensões, assim sacrificando a primeira dimensão pela segunda dimensão para melhor reduzir o erro total através das múltiplas dimensões.
  23. 23. Método, de acordo com a reivindicação 1, caracterizado pelo fato de minimizar o erro total através das múltiplas dimensões compreender minimizar o erro total através das múltiplas dimensões sem balancear erros através das múltiplas dimensões.
  24. 24. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a determinação do número de vezes para execução do script no período de tempo que minimiza o erro total através das dimensões múltiplas compreende:
    aplicar um primeiro fator de atribuição de peso a valores para uma primeira dimensão nas múltiplas dimensões;
    aplicar um segundo fator de atribuição de peso a valores para uma segunda dimensão nas múltiplas dimensões, o segundo fator de atribuição de peso sendo diferente do primeiro fator de atribuição de peso; e a determinação, baseada nos valores ponderados para a primeira dimensão e nos valores ponderados para a segunda dimensão, do número de vezes para execução do script no período de tempo que minimiza o erro total através das dimensões múltiplas.
BRPI0904262-8A 2008-10-30 2009-10-30 Método e sistema para testar um sistema de computador e meio de armazenamento BRPI0904262B1 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/261,519 US8332820B2 (en) 2008-10-30 2008-10-30 Automated load model
US12/261,519 2008-10-30

Publications (2)

Publication Number Publication Date
BRPI0904262A2 BRPI0904262A2 (pt) 2011-02-01
BRPI0904262B1 true BRPI0904262B1 (pt) 2020-03-31

Family

ID=42096498

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0904262-8A BRPI0904262B1 (pt) 2008-10-30 2009-10-30 Método e sistema para testar um sistema de computador e meio de armazenamento

Country Status (5)

Country Link
US (1) US8332820B2 (pt)
EP (1) EP2189907B1 (pt)
CN (1) CN101727372B (pt)
BR (1) BRPI0904262B1 (pt)
CA (1) CA2681887C (pt)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102075789B (zh) * 2010-12-31 2012-10-10 上海全景数字技术有限公司 快速测试机顶盒的方法和系统
US9720818B2 (en) * 2015-09-03 2017-08-01 Netapp, Inc. Scalable, distributed, fault-tolerant test framework
US9710364B2 (en) * 2015-09-04 2017-07-18 Micron Technology Licensing, Llc Method of detecting false test alarms using test step failure analysis
US10310961B1 (en) * 2017-11-29 2019-06-04 International Business Machines Corporation Cognitive dynamic script language builder
CN109857431B (zh) * 2019-01-11 2022-06-03 平安科技(深圳)有限公司 代码修改方法及装置、计算机可读介质及电子设备
CN112631643B (zh) * 2019-10-08 2024-05-24 华晨宝马汽车有限公司 综合运维管理方法、系统、设备和介质
CN112632105B (zh) * 2020-01-17 2021-09-10 华东师范大学 大规模事务负载生成与数据库隔离级别正确性验证系统及方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0377038A4 (en) * 1988-07-20 1991-09-18 Ishizaka Shoji Co., Ltd. Textile color design simulator
US5136529A (en) * 1989-09-29 1992-08-04 Hitachi, Ltd. Digital signal weighting processing apparatus and method
US5657438A (en) * 1990-11-27 1997-08-12 Mercury Interactive (Israel) Ltd. Interactive system for developing tests of system under test allowing independent positioning of execution start and stop markers to execute subportion of test script
US5805795A (en) * 1996-01-05 1998-09-08 Sun Microsystems, Inc. Method and computer program product for generating a computer program product test that includes an optimized set of computer program product test cases, and method for selecting same
US20050107997A1 (en) * 2002-03-14 2005-05-19 Julian Watts System and method for resource usage estimation
US20060248529A1 (en) * 2002-12-27 2006-11-02 Loboz Charles Z System and method for estimation of computer resource usage by transaction types
DE10331207A1 (de) * 2003-07-10 2005-01-27 Daimlerchrysler Ag Verfahren und Vorrichtung zur Vorhersage einer Ausfall-Häufigkeit
CN1734428A (zh) * 2004-08-02 2006-02-15 微软公司 基于事务性能模型的自动配置
US20070006162A1 (en) * 2005-06-30 2007-01-04 Nokia Corporation Method, terminal device and computer software for changing the appearance of a visual program representative
US20070022142A1 (en) * 2005-07-20 2007-01-25 International Business Machines Corporation System and method to generate domain knowledge for automated system management by combining designer specifications with data mining activity
US20070083630A1 (en) * 2005-09-27 2007-04-12 Bea Systems, Inc. System and method for performance testing framework
JP4151985B2 (ja) * 2006-07-19 2008-09-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 異常の生じた情報処理装置を検出する技術
JP4983142B2 (ja) * 2006-08-09 2012-07-25 富士通株式会社 プログラム監視方法、コンピュータ、および異常監視用プログラム
US7516042B2 (en) * 2007-01-11 2009-04-07 Microsoft Corporation Load test load modeling based on rates of user operations
US7725292B2 (en) * 2007-10-17 2010-05-25 Oracle America, Inc. Optimal stress exerciser for computer servers
US8266592B2 (en) * 2008-04-21 2012-09-11 Microsoft Corporation Ranking and optimizing automated test scripts
JP4572251B2 (ja) * 2008-09-29 2010-11-04 株式会社日立製作所 計算機システム、計算機システムの障害の予兆検知方法及びプログラム

Also Published As

Publication number Publication date
CN101727372B (zh) 2014-04-16
CA2681887C (en) 2017-11-21
EP2189907A3 (en) 2017-04-12
CA2681887A1 (en) 2010-04-30
CN101727372A (zh) 2010-06-09
EP2189907A2 (en) 2010-05-26
US20100115339A1 (en) 2010-05-06
US8332820B2 (en) 2012-12-11
EP2189907B1 (en) 2020-07-22
BRPI0904262A2 (pt) 2011-02-01

Similar Documents

Publication Publication Date Title
BRPI0904262B1 (pt) Método e sistema para testar um sistema de computador e meio de armazenamento
Thorlund et al. Trial sequential analysis (TSA)
JP2022141646A (ja) コンピュータシステムの自動動作管理
US20090133001A1 (en) Method and system for assessing virtualization capability of a software application
Zhao A better alternative to stratified permuted block design for subject randomization in clinical trials
US9870472B2 (en) Detecting malign code in unused firmware memory
US9135259B2 (en) Multi-tenancy storage node
US20120131387A1 (en) Managing automated and manual application testing
BR112017000347B1 (pt) Método para definir um processo corretivo associado a um aplicativo de nuvem, sistema de computação e dispositivo de memória de hardware legível por computador
US20210149880A1 (en) Systems and methods for extendable smart contracts in distributed ledger technology
US10796038B2 (en) Estimating think times
CN109815119A (zh) 一种app链接渠道的测试方法及装置
US11113096B2 (en) Permissions for a cloud environment application programming interface
Hu Exposure–response modeling of clinical end points using latent variable indirect response models
WO2016173172A1 (zh) 堆内存操作的检测方法及装置
CN108898018A (zh) 一种程序代码安全检测方法、设备及可读存储介质
CN110661719A (zh) 流量负载均衡方法和装置
Liu et al. Exploring causality mechanism in the joint analysis of longitudinal and survival data
CN112099732B (zh) 非暂时性机器可读存储介质、计算系统和方法
Wang et al. Meta‐STEPP: subpopulation treatment effect pattern plot for individual patient data meta‐analysis
US8554700B2 (en) Answer model comparison
Ray et al. A novel association test for multiple secondary phenotypes from a case‐control GWAS
US10599880B1 (en) Systems and methods for simulating real-world IO workloads in a parallel and distributed storage system
CN119829421A (zh) 基于负载差异度引导的分布式系统负载均衡测试方法及装置
US20150020072A1 (en) Content space environment representation

Legal Events

Date Code Title Description
B03A Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]
B25A Requested transfer of rights approved

Owner name: ACCENTURE INTERNATIONAL SARL (LU)

Free format text: TRANSFERIDO DE: ACCENTURE GLOBAL SERVICES GMBH.

B25A Requested transfer of rights approved

Owner name: ACCENTURE GLOBAL SERVICES LIMITED (IE)

Free format text: TRANSFERIDO DE: ACCENTURE INTERNATIONAL SARL

B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06T Formal requirements before examination [chapter 6.20 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 31/03/2020, OBSERVADAS AS CONDICOES LEGAIS.

B21F Lapse acc. art. 78, item iv - on non-payment of the annual fees in time

Free format text: REFERENTE A 15A ANUIDADE.

B24J Lapse because of non-payment of annual fees (definitively: art 78 iv lpi, resolution 113/2013 art. 12)

Free format text: EM VIRTUDE DA EXTINCAO PUBLICADA NA RPI 2798 DE 20-08-2024 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDA A EXTINCAO DA PATENTE E SEUS CERTIFICADOS, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013.