BR102019004568A2 - Método para geração automática de casos de teste baseada em requisitos, meio legível por computador não transitório e sistema para geração automática de casos de teste baseados em requisitos - Google Patents

Método para geração automática de casos de teste baseada em requisitos, meio legível por computador não transitório e sistema para geração automática de casos de teste baseados em requisitos Download PDF

Info

Publication number
BR102019004568A2
BR102019004568A2 BR102019004568-0A BR102019004568A BR102019004568A2 BR 102019004568 A2 BR102019004568 A2 BR 102019004568A2 BR 102019004568 A BR102019004568 A BR 102019004568A BR 102019004568 A2 BR102019004568 A2 BR 102019004568A2
Authority
BR
Brazil
Prior art keywords
test
strategy
test cases
model
requirements
Prior art date
Application number
BR102019004568-0A
Other languages
English (en)
Inventor
Meng Li
Augusto Marasca De Conto
Han Yu
Italo Romani de Oliveira
Kit Siu
Michael R. Durling
Original Assignee
General Electric Company
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 General Electric Company filed Critical General Electric Company
Publication of BR102019004568A2 publication Critical patent/BR102019004568A2/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/2273Test methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3608Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3676Test management for coverage analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/368Test management for test version control, e.g. updating test cases to a new software version
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

método para geração automática de casos de teste baseada em requisitos, meio legível por computador não transitório e sistema para geração automática de casos de teste baseados em requisitos um método de geração de casos de teste baseados em requisitos automatizados inclui a construção de um modelo de arquitetura de software derivado do modelo de informações arquitetõnicas de projeto de software, alocando modelos de requisitos em blocos/ operadores de modelo de arquitetura de software, e gerando casos de teste com base em requisitos a nível componente da arquitetura de software configurados para serem executáveis em diferentes níveis na arquitetura de software. o método de geração de casos de teste baseados em requisitos a nível de componente inclui a recepção de uma arquitetura de software, junto com os modelos de requisitos alocados representados no diagrama de fluxo de dados hierárquico, selecionando um dos componentes de software, construindo um modelo de teste intermediário com base no componente selecionado anexando automaticamente a pelo menos um dos objetivos ou restrições de teste para os blocos/ operadores de modelo de arquitetura de software correspondentes com base na estratégia de teste selecionada e geração de casos de teste humanos e legíveis por máquina com o gerador de teste para posterior conversão automática para testar artefatos executáveis e de revisão de teste. um sistema e um meio não transitório legível por computador para implementar o método também são divulgados.

Description

MÉTODO PARA GERAÇÃO AUTOMÁTICA DE CASOS DE TESTE BASEADA EM REQUISITOS, MEIO LEGÍVEL POR COMPUTADOR NÃO TRANSITÓRIO E SISTEMA PARA GERAÇÃO AUTOMÁTICA DE CASOS DE TESTE BASEADOS EM REQUISITOS”
Reivindicação de Prioridade [001] Este pedido de patente reivindica o benefício de prioridade como uma continuação em parte, sob 35 U.S.C. § 120, para o Pedido de Patente US N° 14/947.633, apresentado em 20 de novembro de 2015, intitulado “SISTEMA E MÉTODO PARA GERAÇÃO DE CASOS DE TESTE BASEADA EM REQUISITOS DE SEGURANÇA CRÍTICA DE SOFTWARE AUTOMATIZADO” (agora Patente US No. TBD; emitida no DIA do mês, 2018), cuja descrição completa é aqui incorporada por referência.
Antecedentes da Invenção [002] O software crítico de segurança, como software de aviação, é exigido peios padrões de certificação (por exemplo, DO-178 BZ C para software de aviação) para ser estritamente verificado em relação aos objetivos da certificação. O teste é uma parte essencial do processo de verificação. Geração manual de casos de teste a partir dos requisitos é difícil e consome muito tempo, especialmente com softwares grandes e complexos.
[003] Casos de teste gerados automaticamente eZ ou procedimentos de teste derivados a partir dos requisitos de software de alto nível podem ajudar a reduzir o custo introduzido pelas atividades manuais de geração e revisão de casos de teste. Esses casos de teste e/ ou procedimentos de teste gerados a partir das especificações podem ser executados nas implementações de projeto de baixo nível associadas através de um condutor de teste.
[004] Ferramentas e/ ou modelos de teste convencionais não são capazes de gerar casos de teste baseados em requisitos em diferentes
Figure BR102019004568A2_D0001
2/17 níveis no modelo de projeto. Os casos de teste gerados por ferramentas convencionais não podem ser executados diretamente em componentes em vários níveis no projeto.
Breve Descrição dos Desenhos [005] A Figura 1 descreve um sistema para geração de casos de teste automática baseados em requisitos, de acordo com formas de realização;
[006] A Figura 2 descreve um processo para o teste de software de acordo com formas de realização;
[007] Figuras 3A-3D ilustram um modelo de arquitetura de software automaticamente derivado de um projeto de software de acordo com formas de realização;
[008] A Figura 4 descreve um processo para geração de caso de teste à nível de componente de acordo com formas de realização;
[009] A Figura 5 ilustra um modelo de requisito de acordo com formas de realização;
[0010] A Figura 6 descreve um modelo de requisito com objetivos do teste em anexo, em conformidade com formas de realização;
[0011] A Figura 7 ilustra um modelo de cobertura de condição lógica com objetivos de teste anexos de acordo com formas de realização;
[0012] As Figuras 8A-8B ilustram um modelo de disfarce de entrada com os objetivos do teste em anexo, em conformidade com formas de realização;
[0013] A Figura 9 ilustra um processo de geração e revisão de script de teste de acordo com as formas de realização;
[0014] A Figura 10 ilustra um projeto de arquitetura de software exemplificativo e a informação de rastreabilidade de requisitos associada de acordo com formas de realização;
[0015] A Figura 11 ilustra um exemplo de script de teste de nível
Figure BR102019004568A2_D0002
3/17 de unidade, de acordo com formas de realização; e [0016] A Figura 12 descreve um script de teste de nível de integração exemplificativo de acordo com formas de realização.
Descrição da Invenção [0017] De acordo com as formas de realização, os sistemas e métodos criam automaticamente um modelo de arquitetura de software a partir da arquitetura de projeto de software, junto com modelos de exigência para automatizar a geração de casos de teste com base em requisitos de arquitetura de vários níveis com base no modelo de arquitetura de software proposto.
[0018] De acordo com as formas de realização, o modelo de arquitetura de software e sua alocação de requisitos são construídos usando uma ferramenta de desenvolvimento baseado em modelo (MBD) com a representação de um diagrama de fluxo de dados hierárquico. Ao contrário de ferramentas MBD convencionais, que são tradicionalmente utilizadas para o projeto de baixo nível, uma ferramenta que contém MBD cria automaticamente o modelo de arquitetura de software a partir da arquitetura de software e gera casos de teste correspondentes para os requisitos de nível de sistema ou de alto nível.
[0019] Os sistemas e métodos das formas de realização podem implementar a geração de casos de teste baseados em requisitos a nível de componente para gerar automaticamente casos de teste para componentes em diferentes níveis na arquitetura de software.
[0020] A Figura 1 ilustra o sistema (100) para geração automática de casos de teste baseados em requisitos de acordo com formas de realização. O sistema (100) inclui o processador de controle (110), que executa as instruções do computador (131) para controlar o funcionamento do sistema e dos seus componentes. As instruções executáveis podem ser armazenadas no armazém de dados (130), que também pode armazenar dados acessados e
Figure BR102019004568A2_D0003
4/17 gerados pelo sistema. O processador de controle (110) pode estar localizado em um computador, ou em um servidor, e interligado aos vários componentes através da ligação de comunicação (120). A ligação de comunicação pode ser um barramento interno, uma rede de comunicação eletrônica ou semelhante. O sistema (100) pode gerar casos de teste do sistema e/ ou requisitos de alto nível (132) do software crítico de segurança.
[0021] A Figura 2 descreve o processo (200) para o teste de software automatizado, de acordo com formas de realização. O processo (200) obtém o modelo de arquitetura de software (134) a partir do modelo de projeto de software. O modelo de arquitetura de software é construído, na etapa (205), em ambiente de ferramenta de desenvolvimento baseado em modelo (150) com base em informações de arquitetura do modelo de projeto. Este modelo de arquitetura de software pode ser criado automaticamente de acordo com algumas implementações. Os modelos de requisitos são alocados, na etapa (210), em diferentes módulos no modelo de arquitetura de software, conectando as variáveis monitoradas/ controladas correspondentes (por exemplo, Figura 1: VAR1-VAR19) com as portas de entrada/ saida do componente. De acordo com algumas formas de realização, na etapa (205), podem ser adicionadas portas de entrada para todas as variáveis de saída nos modelos de requisitos. Ao adicionar portas de entrada para todas as variáveis de saída, o gerador de casos de teste pode gerar entradas e saídas esperadas para os casos de teste em uma execução.
[0022] A unidade geradora de casos de teste a nível de componente (140) pode usar o modelo de arquitetura de software com requisitos alocados para gerar, na etapa (215), casos de teste baseados em requisitos de nível de unidade/ módulo. A unidade geradora de caso de teste gerador (140) também pode gerar, na etapa (220), casos de teste de nível de integração para verificar se o componente ou integração de código está em
Figure BR102019004568A2_D0004
5/17 conformidade com os requisitos alocados.
[0023] As Figuras 3A-3D ilustram o modelo de arquitetura de software (300) construído como um diagrama de fluxo de dados hierárquico com base na arquitetura de projeto de software, de acordo com formas de realização. Cada componente Componentel, Componente2, Componente3, Componente4 no projeto de software é um bloco/ operador no modelo de arquitetura de software com portas de entrada e saída. Blocos/ operadores no modelo de arquitetura de software estão conectados uns com os outros e podem ter múltiplas camadas de sub-blocos/ sub-operadores. Os modelos de requisitos REQ12, REQ13, REQ14, REQ15 são alocados no modelo de arquitetura de software e conectados às portas de entrada e saída. O processo de construção é automático, sistemático e modular. O fluxo de dados hierárquico fornece boa visualização e fácil rastreabilidade, desde os requisitos até o projeto do software.
[0024] A Figura 4 ilustra o processo (400) para geração de caso de teste à nível de componente de acordo com formas de realização. O processo (400) baseia-se em um modelo de arquitetura de software recebido, criado automaticamente na etapa (405), na forma de um diagrama de fluxo de dados hierárquico com modelos de requisitos alocados. Um, ou mais, dos componentes de software no projeto do software é selecionado na etapa 410, com base no nível de geração de teste, e o modelo de arquitetura de software de bloco / operador correspondente é utilizado para geração de casos de teste. Um modelo de teste intermediário é construído, na etapa 415, com base no componente selecionado anexando as restrições de teste e os objetivos de teste ao bloco/ operador do modelo de arquitetura de software correspondente. Os objetivos do teste são anexados para satisfazer determinados critérios de cobertura no nível de requisitos, como cobertura de requisitos (por exemplo, todos os requisitos são ativados), cobertura de condição lógica (por exemplo,
Figure BR102019004568A2_D0005
6/17 condições lógicas nos requisitos são ativadas em determinado nível) etc. As restrições de teste estão ligadas ao modelo para restringir as faixas de variáveis monitoradas/ controladas e para assegurar que os casos de teste gerados não violem os requisitos.
[0025] As estratégias de geração automática de casos de teste (isto é, para anexar os objetivos do teste e as restrições) pode ser baseadas na forma geral de um requisito. Em linguagem natural estrutural em Português, a forma de um requisito pode ser expressa como:
<expressão antecedente> implica <expressão consequente>, onde <expressão antecedente> é uma expressão lógica em variáveis monitoradas;
e <expressão consequente> é uma expressão lógica em variáveis controladas.
[0026] A Figura 5 ilustra um modelo de requisito (500) (quando expressa em Simulink) de acordo com formas de realização. O modelo de requisito inclui a expressão antecedente (510) e a expressão consequente (520). Estas expressões são fornecidas ao bloco lógico (530), que implica o sinal de saída (540) com base nos estados das expressões (isto é, A ==> B). Para que o requisito seja mantido, o sinal de saida deve ser 1 ou “verdadeiro”. A unidade geradora de caso de teste automático (140) recebe e, a partir dela, gera casos de teste, de acordo com uma ou mais estratégias (por exemplo, estratégia de cobertura de requisitos, estratégia de cobertura condição lógica, estratégia de disfarce de entrada, estratégia de análise de integridade de dados, estratégia de evento, estratégia lista, estratégia de decomposição e equação, estratégia de classe de equivalência, a estratégia de análise de valor limite, estratégia de robustez, estratégia de temporização, etc.). As formas de realização não são tão limitadas e outras estratégias para geração de casos de teste estão dentro da contemplação desta invenção.
Figure BR102019004568A2_D0006
7/17 [0027] A estratégia de cobertura de requisitos inclui, para cada requisito, gerar um caso de teste, onde o requisito deve ser satisfeito com a expressão antecedente sendo verdadeira. Isso é feito inserindo os objetivos e restrições de teste e executando um mecanismo de geração de testes que pode orientar as sequências de entrada para alcançar os objetivos do teste.
[0028] A título de exemplo, a inserção de um objetivo de teste pode ser feita usando blocos de objetivo de teste e de condição de teste de uma biblioteca de blocos de verificador de projeto comercial na ferramenta de desenvolvimento baseada em modelo selecionada (por exemplo, blocos Simulink Design Verifier disponíveis no Simulink). O mecanismo de geração de testes pode ser usado para direcionar as entradas para atingir os objetivos do teste. A Figura 6 ilustra o modelo de requisito (600) com objetivos de teste anexos de acordo com formas de realização. O bloco de Objetivo de Teste (610) (anotado com um “O” dentro de um círculo), é analisado pelo verificador de projeto para encontrar uma combinação de atribuições de valores de variáveis VAR21, VAR22 que causam sua expressão antecedente, que é do tipo booleano, ser verdade. O bloco de condições de teste (620) (anotado com um “C dentro de um círculo), faz com que o verificador de projeto mantenha a saída do bloco “implicações como verdadeira. Um verdadeiro sinal de saída do bloco “implicações é uma indicação de que o requisito REQ27 está satisfeito. As atribuições de valor para as variáveis monitoradas e controladas são geradas automaticamente pelo verificador de projeto.
[0029] Uma estratégia de cobertura de condição lógica (LCC) pode ser implementada para alcançar uma cobertura funcional das condições de equação lógica. Cada condição dentro de uma equação lógica demonstra ter um efeito no resultado da equação lógica, variando apenas aquela condição e mantendo fixo para todos os outros que poderíam afetar o resultado. Considere os exemplos na Tabela 1, que descreve a cobertura da condição
Figure BR102019004568A2_D0007
8/17 lógica para duas variáveis, em que dois valores booleanos (a e b) são as condições para os operadores booleanos listados. A Tabela 1 indica se um caso de teste é necessário para atingir cobertura LCC ( ) ou não ( ). Quando a expressão antecedente possui um desses operadores, os casos de teste são gerados para cada uma das combinações correspondentes marcadas com ( ), e isso é generalizável para qualquer número de operandos.
Tabela 1
Operador Booleano Caso de Teste (T = Verdadeiro, F = Falso)
TT TF FT FF
a E b
a OUb
a NE b
a NOU b
aXOUb
a XNOUb
[0030] A Figura 7 ilustra o modelo de cobertura de condições lógicas (700) com objetivos de teste anexos de acordo com formas de realização. Este modelo LCC é baseado no modelo de requisito (600) com um padrão de objetivo de teste adicional e blocos de condição (710, 720, 730). Para gerar os casos de teste, os blocos de objetivo de teste são anexados de acordo com os operadores booleanos utilizados e respectivos casos na Tabela 1. Depois de executar o mecanismo de geração de teste, um conjunto de casos de teste é gerado para satisfazer a cobertura da condição lógica. Cada caso de teste gerado também é examinado para descobrir quais requisitos ele ativa'’ ____ativação significa que o sinal de saída da porta de Satisfação (740) deve ser 1 ou “verdadeiro”.
Figure BR102019004568A2_D0008
9/17 [0031] Uma estratégia de disfarce de entrada pode alcançar Condição Modificada/ Cobertura de Decisão disfarçada (MC/ DC), O disfarce MC/ DC atende a definição de efeito independente, garantindo os mesmos casos de teste mínimos em cada operador lógico como uma causa única, e é aceitável para atender ao objetivo MC/ DC de padrões de desenvolvimento de software crítico para segurança (por exemplo, DO-178 B/ C). O disfarce se refere ao conceito de que entradas especificas a uma construção lógica podem ocultar o efeito de outras entradas na construção. Por exemplo, uma entrada falsa para um operador E disfarça todas as outras entradas, e uma entrada verdadeira para um operador OU disfarça todas as outras entradas. A abordagem de disfarce para MC/ DC permite que mais de uma entrada seja alterada em um par independente, desde que a condição de interesse seja mostrada como a única condição que afeta o valor do resultado da decisão. Entretanto, a análise da lógica interna da decisão é necessária para mostrar que a condição de interesse é a única condição que faz com que o valor do resultado da decisão mude.
[0032] As Figuras 8A-8B descrevem a estratégia de modelo de disfarce de entrada (800) com objetivos de teste anexos em acordo com as formas de realização. Cada sub-expressão ilustrada no modelo de disfarce de entrada (800) corresponde a um caminho de sinal/ bloco que começa em uma condição de entrada da expressão antecedente, envolvendo uma variável monitorada VAR23, VAR24, VAR25 e termina no sinal que ilustra o resultado da expressão monitorada. A partir deste modelo, os casos de teste podem ser gerados automaticamente, associados aos requisitos REQ28 pela unidade geradora de caso de teste automático (140) e traduzidos para um script de teste de saída.
[0033] A estratégia de geração de testes de disfarce de entrada anexa os objetivos de teste de acordo com as seguintes etapas:
Figure BR102019004568A2_D0009
10/17 [0034] Para cada proposição básica (condição de entrada) da expressão antecedente, obter o conjunto S de todas as sub-expressões que contenham essa proposição, exceto a proposição em si. Então, para cada expressão no conjunto S: (1) se a operação de nível superior da sub-expressão for uma porta OU, substitui essa expressão por sua negação em S; (2) cria uma expressão e, que é o conjunto de todas as expressões em S e a proposição básica de cima; e (3) criar um objetivo do teste que deve fazer expressão e verdadeira.
[0035] Uma estratégia de análise de completude de dados pode analisar uma ou mais variáveis que aparecem no requisito e seleciona objetivos de teste para testar diferentes pontos dentro do intervalo físico ou funcional das variáveis particulares. A seleção dos objetivos do teste pode ser baseada, por exemplo, no tipo de variável. Em uma forma de realização, variáveis numéricas poderíam ser testadas em seu mínimo, máximo, limites, etc.; e enumeradas e variáveis booleanas podem ser testadas em todos os valores possíveis e/ ou estados.
[0036] Uma estratégia de evento pode garantir que cada evento possa ser acionado pelo menos uma vez. Essa estratégia também pode verificar se um evento não é acionado continuamente. Os casos de teste gerados e procedimentos podem acionar determinados eventos e verificar se as saídas com outras condições de entrada permanecem constantes.
[0037] Uma estratégia de lista pode analisar variáveis de lista e operadores que aparecem no requisito e seleciona objetivos de teste para testar diferentes propriedades de listas. Por exemplo, essa estratégia pode determinar se as operações de lista ocorrem em posições diferentes das listas e garantir que cada variável de lista seja testada pelo menos em um comprimento de lista mínimo e máximo.
[0038] Uma estratégia de decomposição e equação pode analisar
Figure BR102019004568A2_D0010
11/17 funções e/ ou equações dentro do requisito. Estas funções e/ ou equações podem ser indefinidas em algumas implementações. Objetivos de teste podem ser selecionados através da análise dos parâmetros de entrada e/ ou de saída das funções ou equações, e pontos propensos a erro nas funções ou equações definidas.
[0039] Uma estratégia de classe de equivalência, uma estratégia de análise de valor limite, e uma estratégia de robustez cada uma pode analisar desigualdades no requisito e selecionar objetivos de teste com base nas partições de classe de equivalência que podem ser induzidas pelas desigualdades. Uma estratégia de classe de equivalência pode selecionar um ou mais objetivos de teste para cada classe de equivalência normal; uma estratégia de análise de valor limite pode selecionar um ou mais objetivos de teste nos limites entre cada duas classes de equivalência; e uma estratégia de robustez pode selecionar um ou mais objetivos de teste para as classes de equivalência anormais.
[0040] Uma estratégia de temporização pode analisar um ou mais operadores de temporização no requisito e selecionar os objetivos de teste para testar diferentes pontos no intervalo de tempo - como, por exemplo, um acionador principal e/ ou um acionador de atraso. Os eventos podem ser levados em consideração para que os eventos nem sempre sejam acionados no intervalo de tempo.
[0041] Com referência novamente à Figura 4, depois da fixação das restrições de teste e processo de objetivos do teste (400) continua com a unidade geradora de caso de teste (140) gerando caso de teste (136), na etapa (420). A unidade geradora de caso de teste pode realizar verificação de modelo, demonstração de teoremas, solução de restrição e métodos de resolução de acessibilidade no modelo de teste intermediário para gerar os casos de teste, de modo a satisfazer os objetivos do teste e/ ou detectar
Figure BR102019004568A2_D0011
12/17 objetivos do teste não alcançáveis.
[0042] A verificação de modelo e o teorema que fornecem métodos cada um pode utilizar ferramentas de métodos formais que são, respectivamente, com base em verificação de modelo ou teorema provando técnicas que verificam a satisfação da negação dos objetivos de teste contra os requisitos. Se não estiver satisfeito, um contraexemplo pode ser gerado, o que pode ser usado para gerar casos de teste; Se estiver satisfeito, o objetivo do teste em particular é inacessível.
[0043] O método de resolução de restrições pode usar solucionadores de restrições e/ ou ferramentas de otimização para resolver as restrições no objetivo do teste para encontrar uma solução viável como um caso de teste. Se as restrições forem identificadas como inviáveis, o objetivo do teste correspondente é inacessível.
[0044] O método de resolução de capacidade pode modelar um conjunto de requisitos como um modelo híbrido que combina transições e dinâmicas discretas (se os requisitos forem com estado (stateful)). O modelo pode então ser analisado para encontrar um caminho viável a partir das condições iniciais para atingir o objetivo do teste, onde as dinâmicas são aproximadas e/ ou analiticamente resolvidas durante a descoberta do caminho. Se um caminho viável for identificado, ele pode ser usado para gerar casos de teste; se nenhum caminho viável puder atingir o objetivo do teste, o objetivo do teste será identificado como inalcançável.
[0045] Com referência novamente à Figura 4, os casos de teste gerados são traduzidos, na etapa (425), em scripts de teste para execução de teste e artefatos de revisão de teste para certificação. A vantagem do método de geração de teste a nível de componente é que o método é flexível para gerar automaticamente casos de teste baseados em requisitos para componentes em diferentes níveis na arquitetura de software para obter os
Figure BR102019004568A2_D0012
13/17 critérios de cobertura apropriados no nível dos requisitos. De acordo com as formas de realização, os casos de teste podem ser gerados aplicáveis a qualquer teste de nível de unidade/ módulo, bem como teste de nível de integração.
[0046] A Figura 9 ilustra o processo (900) para geração de script de teste e testa a revisão de artefato de acordo com as formas de realização. O formato intermediário (905) gerado pelo processo (900) pode ser lido por humanos e/ ou máquinas. O processo (900) opera nos casos de teste em nível de componente descritos acima. Um formato intermediário é gerado, na etapa (905), a partir dos casos de teste. Este formato intermediário pode indicar as informações de entrada e saída esperadas. O formato intermediário também pode indicar os requisitos para os quais o caso de teste é rastreado, o objetivo de teste que o caso de teste está atendendo e a referência da qual o objetivo de teste é derivado. As informações intermediárias podem ser usadas para realizar, manualmente ou automaticamente, revisões de teste. Artefatos de certificação são gerados, na etapa (910), a partir das informações intermediárias. As informações intermediárias podem ser usadas para gerar, scripts de teste executáveis na etapa (915), adequados para execução em diferentes ambientes de teste. Os scripts de teste também podem ser gravados automaticamente, etapa (920), para requisitos e ferramentas de gerenciamento de teste (por exemplo, IBM® Rational® DOORS®).
[0047] Coletivamente, as Figuras 10 a 13 ilustram uma ilustração de uma implementação de ponta a ponta de acordo com formas de realização. A Figura 10 ilustra o modelo de projeto de arquitetura de software exemplificativo (1000) e as informações de rastreabilidade de requisitos associadas de acordo com formas de realização. O modelo de arquitetura de software pode ser construído (Figura 2, na etapa (205)) como um modelo Simulink (Figuras 3A-3D). Cada bloco no projeto de arquitetura de software de
Figure BR102019004568A2_D0013
14/17 modelo de projeto de software é convertido em um bloco no modelo de arquitetura de software em Simulink com a mesma interface e informações de arquitetura. Cada bloco no modelo de arquitetura de software também é alocado com um conjunto de modelos de requisitos com base nas informações de rastreabilidade de requisitos da Figura 10. Por exemplo, na Figura 3D, quatro modelos de requisitos (1010) são alocados ao componente2 com base nas informações da Figura 10. Da mesma forma, o bloco (1020) indica a informação de rastreabilidade de requisitos ao componentel; o bloco (1030) indica a informação de rastreabilidade de requisitos para o componente3; e o bloco (1040) indica a informação de rastreabilidade de requisitos para o componente4. O modelo de arquitetura de software ilustrado nas Figuras 3A3D é então usada para gerar casos de teste baseados em requisitos em diferentes níveis na arquitetura de software.
[0048] Um usuário pode selecionar o bloco “Componente2” (Figura 4, etapa (410)) para gerar casos de teste neste nível de unidade e selecionar a estratégia de teste de disfarce de entrada. De acordo com formas de realização, os objetivos de teste e os blocos de restrições serão ligados automaticamente a todos os modelos de requisitos dentro do bloco “componente2 na etapa (415). Depois de chamar o Simulink Design Verifier na etapa (420) e traduzir os casos de teste na etapa (425), os casos de teste que satisfazem todos os objetivos de teste e restrições para a estratégia de teste de disfarce de entrada serão gerados.
[0049] A Figura 11 ilustra um script de teste de nível de unidade exemplificativo (1100) de acordo com formas de realização. Este script de teste de nível de unidade é um exemplo de casos de teste gerados no nível de unidade para “componente2. O caso de teste é gerado para ser capaz de executar no ambiente de teste SCADE no bloco “componente2” no projeto. Um usuário pode alternativamente, selecionar o bloco de nível de integração que
Figure BR102019004568A2_D0014
15/17 inclui o componente 1-4 na Figura 4, na etapa (410), para gerar casos de teste de nível de integração. De acordo com formas de realização, os objetivos de teste e os blocos de restrições são automaticamente ligados a todos os modelos de requisitos dentro do bloco de nível de integração na etapa (415). Depois de chamar o Simulink Design Verifier na etapa (420) e traduzir os casos de teste na etapa (425), os casos de teste que satisfazem todos os objetivos de teste e restrições para a estratégia de teste de disfarce de entrada serão gerados.
[0050] A Figura 12 descreve um script de teste de nível de integração exemplificativo (1200) de acordo com formas de realização. Este script de teste é um exemplo para os casos de teste de nível de integração gerados. O caso de teste é gerado para ser capaz de executar no ambiente de teste SCADE no bloco de nível de integração no projeto.
[0051] De acordo com as formas de realização, um diagrama de fluxo de dados hierárquico (isto é, modelo de arquitetura de software junto com modelos de requisitos) é criado automaticamente para capturar requisitos e informações de projeto. Esse diagrama de fluxo de dados hierárquico é usado para gerar casos de teste baseados em requisitos em diferentes níveis na arquitetura de software. De acordo com as formas de realização, as informações de projeto do sistema são usadas para construir o diagrama de fluxo de dados hierárquico, onde os modelos de requisitos são alocados dentro dos módulos do diagrama de fluxo de dados hierárquicos. As alocações de requisitos são baseadas na informação de rastreabilidade de requisitos de módulo a partir da informação de projeto. Os objetivos e restrições de teste podem ser anexados ao modelo de arquitetura de software de acordo com uma estratégia de teste selecionada pelo usuário. A geração automática de casos de teste é baseada no diagrama de fluxo de dados hierárquicos para gerar casos de teste baseados em requisitos em diferentes níveis na arquitetura de projeto que atendem aos
Figure BR102019004568A2_D0015
16/17 objetivos e restrições de teste. Os casos de teste gerados podem ser executados diretamente em componentes em vários níveis no projeto.
[0052] De acordo com algumas formas de realização, uma aplicação de programa de computador armazenada em memória não volátil ou meio legível por computador (por exemplo, memória de registrador, cache de processador, RAM, ROM, disco rígido, memória flash, CD-ROM, mídia magnética, etc.) pode incluir código ou instruções executáveis que, quando executadas, podem instruir e/ ou fazer com que um controlador ou processador execute os métodos discutidos aqui, como para geração automática de casos de teste baseada em requisitos, conforme descrito acima.
[0053] O meio legível por computador pode ser uma mídia não transitória legível por computador, incluindo todas as formas e tipos de memória e todas as mídias legíveis por computador, exceto por um sinal de propagação transitório. Em uma implementação, a memória não volátil ou mídia legível por computador pode ser memória externa.
[0054] Embora o hardware e os métodos específicos tenham sido aqui descritos, note que qualquer número de outras configurações pode ser proporcionado de acordo com formas de realização da invenção. Assim, embora tenham sido mostradas, descritas e indicadas características inovadoras fundamentais da invenção, será entendido que várias omissões, substituições e alterações na forma e detalhes das formas de realização ilustradas, e na sua operação, podem ser feitas pelos técnicos no assunto sem se afastar do espírito e escopo da invenção. As substituições de elementos de uma forma de realização por outros também são totalmente planejadas e contempladas. A invenção é definida unicamente em relação às reivindicações anexas, e equivalentes das suas declarações.
Lista de partes
NÚMERO DESCRIÇÃO
Figure BR102019004568A2_D0016
17/17
100
110
120
130
131
132
134
136
140
150
300
VAR1 a VAR19
REQ12 a REQ15
Componentel a Componente4
500
510
520
530
540
600
610
620
VAR20 a VAR22
REQ27
700
710
720
730
740
800
VAR23 a VAR25
REQ28
1000
1010
1020
1030
1040
REQ1 a REQ11
REQ16 a REQ26
1100
1200
Sistema
Processador de controfe
Link de comunicação
Armazém de dados
Instruções de computador
Requisitos de alto nível
Modelo de arquitetura de software
Casos de teste
Unidade geradora de casos de teste
Ferramenta de desenvolvimento baseada em modelo
Modelo de arquitetura de software
Variável
Modelo de Requisitos
Componente
Modelo de Requisitos
Expressão Antecedente
Expressão Consequente
Bloco lógico
Sinal de saída
Modelo de Requisitos
Bloco de objetivo de teste
Bloco de condição de teste
Variável
Requerimento
Modelo de cobertura de condição lógica
Bloco de condição
Bloco de condição
Bloco de condição
Porta de satisfação
Estratégia de modelo de disfarce de entrada
Variável
Requerimento
Modelo de projeto de arquitetura de software
Bloco
Bloco
Bloco
Bloco
Modelo de Requisito
Modelo de Requisito
Script de teste a nívei de unidade
Script de teste a nível de integração

Claims (20)

  1. Reivindicações
    1. MÉTODO PARA GERAÇÃO AUTOMÁTICA DE CASOS DE TESTE BASEADA EM REQUISITOS, o método caracterizado pelo fato de que compreende:
    construir um modelo de arquitetura de software em uma ferramenta de desenvolvimento baseada em modelo, o modelo de arquitetura de software derivado automaticamente a partir de informações arquitetônicas de um modelo de projeto de software;
    alocar modelos de requisitos em diferentes componentes de um modelo de arquitetura de software;
    uma unidade geradora de casos de teste gerando casos de teste baseados em requisitos a nível de componente de um ou mais níveis do modelo de arquitetura de software; e os casos de teste baseados em requisitos gerados configurados para serem executáveis em diferentes níveis na arquitetura de software.
  2. 2. MÉTODO, de acordo com a reivindicação 1, caracterizado pelo fato de que inclui alocar os modelos de requisito, conectando as variáveis monitoradas ou controladas correspondentes com, pelo menos, uma de uma porta de entrada e uma porta de saída das respectivas dos diferentes módulos.
  3. 3. MÉTODO, de acordo com a reivindicação 1, caracterizado pelo fato de que inclui a unidade geradora de casos de teste gerando casos de teste de nível de integração e aplicando os casos de teste de nível de integração para verificar se um módulo de código está em conformidade com os requisitos alocados.
  4. 4. MÉTODO, de acordo com a reivindicação 1, caracterizado pelo fato de que inclui:
    receber o modelo de arquitetura de software na forma de
    Figure BR102019004568A2_C0001
    2/7 um diagrama de fluxo de dados hierárquico derivado do projeto de software junto com os modelos de requisitos alocados, o diagrama de fluxo de dados hierárquico incluindo um ou mais mapeamentos de blocos/ operadores para componentes correspondentes no projeto de software;
    selecionar um dos componentes de software do projeto de software para geração de casos de teste; e construção de um modelo de teste intermediário com base no componente selecionado, anexando automaticamente pelo menos um objetivo de teste e restrições de teste ao bloco/ operador de modelo de arquitetura de software correspondente.
  5. 5. MÉTODO, de acordo com a reivindicação 4, caracterizado pelo fato de que inclui a seleção do componente de software com base em um nível de geração de teste.
  6. 6. MÉTODO, de acordo com a reivindicação 1, caracterizado pelo fato de que inclui a geração de casos de teste de acordo com pelo menos uma estratégia selecionada da lista de uma estratégia de cobertura de requisitos, uma estratégia de cobertura de condição lógica, uma estratégia de disfarce de entrada, uma estratégia de análise de completude de dados, uma estratégia de evento, uma estratégia de lista, uma estratégia de decomposição e equação, uma estratégia de classe de equivalência, uma estratégia de análise de valor limite, uma estratégia de robustez e uma estratégia de temporização.
  7. 7. MÉTODO, de acordo com a reivindicação 4, caracterizado pelo fato de que inclui:
    gerar casos de teste baseados em requisitos executando pelo menos um dos métodos de verificação de modelo, prova de teorema, resolução de restrições e resolução de alcançabilidade no modelo de teste intermediário; e
    Figure BR102019004568A2_C0002
    3/7 traduzir os casos de teste gerados em scripts de teste para execução de teste e em artefatos de teste para revisão,
  8. 8. MEIO LEGÍVEL POR COMPUTADOR NÃO TRANSITÓRIO, caracterizado pelo fato de que tem armazenado no mesmo instruções que quando executadas por um processador fazem com que o processador execute um método para geração automática de casos de teste baseada em requisitos, o método compreendendo:
    construir um modelo de arquitetura de software, o modelo de arquitetura de software derivado automaticamente de informações arquitetônicas de um modelo de projeto de software;
    alocar modelos de requisitos em diferentes blocos/ operadores de um modelo de arquitetura de software;
    gerar casos de teste baseados em requisitos a nível de componente de um ou mais níveis do modelo de arquitetura de software; e os casos de teste baseados em requisitos gerados configurados para serem executáveis em diferentes níveis na arquitetura de software.
  9. 9. MEIO LEGÍVEL POR COMPUTADOR NÃO TRANSITÓRIO, de acordo com a reivindicação 8, caracterizado pelo fato de que inclui instruções para fazer com que o processador aloque os modelos de requisito conectando variáveis monitoradas ou controladas correspondentes a uma porta de entrada ou uma porta de saída dos respectivos módulos diferentes.
  10. 10. MEIO LEGÍVEL POR COMPUTADOR NÃO TRANSITÓRIO, de acordo com a reivindicação 8, caracterizado pelo fato de que inclui instruções para fazer com que o processador gere casos de teste de nível de integração, e aplique os casos de teste de nível de integração para verificar se um módulo de código está em conformidade com os requisitos
    Figure BR102019004568A2_C0003
    4/7 alocados.
  11. 11. MEIO LEGÍVEL POR COMPUTADOR NÃO TRANSITÓRIO, de acordo com a reivindicação 8, caracterizado pelo fato de que inclui instruções para fazer com que o processador:
    receba o modelo de arquitetura de software na forma de um diagrama de fluxo de dados hierárquico derivado do software projeto, junto com os modelos de requisitos alocados, o diagrama de fluxo de dados hierárquico incluindo um ou mais de mapeamento de blocos/ operadores de componentes correspondentes no projeto de software;
    selecione um dos componentes de software do projeto de software para geração de casos de teste; e construa um modelo de teste intermediário com base no componente selecionado, anexando automaticamente pelo menos um objetivo de teste e restrições de teste ao bloco/ operador do modelo de arquitetura de software correspondente.
  12. 12. MEIO LEGÍVEL POR COMPUTADOR NÃO TRANSITÓRIO, de acordo com a reivindicação 10, caracterizado pelo fato de que inclui instruções para fazer com que o processador gere os casos de teste de acordo com pelo menos uma estratégia selecionada a partir da lista de uma estratégia de cobertura de requisitos, uma estratégia de cobertura de condição lógica, uma estratégia de disfarce de entrada, uma estratégia de análise de completude de dados, uma estratégia de evento, uma estratégia de lista, uma estratégia de decomposição e equação, uma estratégia de classe de equivalência, uma estratégia de análise de valor limite, uma estratégia de robustez e uma estratégia de temporização.
    ___
  13. 13. MEIO LEGÍVEL POR COMPUTADOR NÃO TRANSITÓRIO, de acordo com a reivindicação 11, caracterizado pelo fato de que inclui instruções para fazer com que o processador:
    Figure BR102019004568A2_C0004
    5/7 gerar casos de teste baseados em requisitos executando pelo menos um dos métodos de verificação de modelo, prova de teorema, resolução de restrições e resolução de alcançabilidade no modelo de teste intermediário; e traduzir os casos de teste gerados em scripts de teste para execução de teste e em artefatos de teste para revisão.
  14. 14. SISTEMA PARA GERAÇÃO AUTOMÁTICA DE CASOS DE TESTE BASEADOS EM REQUISITOS, o sistema caracterizado pelo fato de que compreende:
    uma ferramenta de desenvolvimento baseada em modelo, incluindo um processador de controle configurado para executar instruções, o processador de controle conectado a um link de comunicação;
    uma unidade geradora de caso de teste a nível de componente para gerar automaticamente casos de teste.
  15. 15. SISTEMA, de acordo com a reivindicação 14, caracterizado pelo fato de que inclui o processador de controle configurado para executar instruções que fazem com que o processador de controle execute as etapas de:
    derivar o modelo de arquitetura de software do projeto de software alocar modelos de requisitos em diferentes blocos/ operadores de um modelo de arquitetura de software;
    gerar casos de teste baseados em requisitos a nível de componente.
  16. 16. SISTEMA, de acordo com a reivindicação 15, caracterizado pelo fato de que inclui o processador de controle configurado para executar instruções que fazem com que o processador de controle gere casos de teste de nível de integração e aplique os casos de teste de nível de
    Figure BR102019004568A2_C0005
    6/7 integração para verificar se um módulo de código está em conformidade com o modelo de arquitetura de software e modelos de requisitos alocados.
  17. 17. SISTEMA, de acordo com a reivindicação 15, caracterizado pelo fato de que inclui o processador de controle configurado para executar instruções que fazem com que o processador de controle:
    receba o modelo de arquitetura de software na forma de um diagrama de fluxo de dados hierárquico derivado do projeto de software junto com os modelos de requisitos alocados, o diagrama de fluxo de dados hierárquico incluindo um ou mais mapeamentos de blocos/ operadores para componentes correspondentes no projeto de software;
    selecione um dos componentes de software do projeto de software para geração de casos de teste; e construa um modelo de teste intermediário com base no componente selecionado, anexando automaticamente pelo menos um objetivo de teste e restrições de teste ao bloco/ operador de modelo de arquitetura de software correspondente.
  18. 18. MÉTODO, de acordo com a reivindicação 6, caracterizado pelo fato de que a estratégia de disfarce de entrada inclui disfarce de Condição Modificada/ Cobertura de Decisão (MC/ DC) para permitir que mais do que uma entrada de uma condição de entrada altere em um par independente.
  19. 19. MEIO LEGÍVEL POR COMPUTADOR NÃO TRANSITÓRIO, de acordo com a reivindicação 12, caracterizado pelo fato de que a estratégia de disfarce de entrada inclui disfarce de Condição Modificada/ Cobertura de Decisão (MC/ DC) para permitir que mais do que uma entrada de uma condição de entrada altere em um par independente.
  20. 20. SISTEMA, de acordo com a reivindicação 15, caracterizado pelo fato de que os casos de teste baseados em requisitos a nível de componente gerados incluindo uma estratégia de disfarce de entrada
    7/7
    Figure BR102019004568A2_C0006
    que permite que mais de uma entrada de uma condição de entrada mude em um par independente.
BR102019004568-0A 2015-11-20 2019-03-08 Método para geração automática de casos de teste baseada em requisitos, meio legível por computador não transitório e sistema para geração automática de casos de teste baseados em requisitos BR102019004568A2 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/947,633 US9940222B2 (en) 2015-11-20 2015-11-20 System and method for safety-critical software automated requirements-based test case generation
US15/916,660 2018-03-09
US15/916,660 US20180196739A1 (en) 2015-11-20 2018-03-09 System and method for safety-critical software automated requirements-based test case generation

Publications (1)

Publication Number Publication Date
BR102019004568A2 true BR102019004568A2 (pt) 2019-10-01

Family

ID=58699700

Family Applications (2)

Application Number Title Priority Date Filing Date
BR102016026988-1A BR102016026988A2 (pt) 2015-11-20 2016-11-18 Method for generating test cases based on automated requirements
BR102019004568-0A BR102019004568A2 (pt) 2015-11-20 2019-03-08 Método para geração automática de casos de teste baseada em requisitos, meio legível por computador não transitório e sistema para geração automática de casos de teste baseados em requisitos

Family Applications Before (1)

Application Number Title Priority Date Filing Date
BR102016026988-1A BR102016026988A2 (pt) 2015-11-20 2016-11-18 Method for generating test cases based on automated requirements

Country Status (7)

Country Link
US (2) US9940222B2 (pt)
JP (1) JP6307140B2 (pt)
CN (3) CN114996115A (pt)
BR (2) BR102016026988A2 (pt)
CA (2) CA2948250C (pt)
FR (1) FR3044126B1 (pt)
GB (1) GB2545800A (pt)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9940222B2 (en) * 2015-11-20 2018-04-10 General Electric Company System and method for safety-critical software automated requirements-based test case generation
US10025696B2 (en) 2016-02-09 2018-07-17 General Electric Company System and method for equivalence class analysis-based automated requirements-based test case generation
US20180165180A1 (en) * 2016-12-14 2018-06-14 Bank Of America Corporation Batch File Creation Service
JP6556786B2 (ja) 2017-05-17 2019-08-07 矢崎総業株式会社 端子
CN107729226A (zh) * 2017-07-13 2018-02-23 中科院合肥技术创新工程院 基于业务流的测试用例自动生成系统及方法
CN107729256A (zh) * 2017-11-16 2018-02-23 郑州云海信息技术有限公司 一种项目需求和测试用例的关联方法及系统
EP3493051A1 (en) * 2017-11-30 2019-06-05 The MathWorks, Inc. System and methods for evaluating compliance of implementation code with a software architecture specification
DE102018003142A1 (de) 2017-12-13 2019-06-13 The Mathworks, Inc. Automatische Einstellung von Multitasking-Konfigurationen für ein Codeprüfsystem
EP3572945A1 (en) * 2018-03-09 2019-11-27 General Electric Company System and method for safety-critical software automated requirements-based test case generation
CN108595318B (zh) * 2018-03-31 2021-05-14 西安电子科技大学 Rfc制导的ssl/tls实现中数字证书验证模块的差异测试方法
CN108427554B (zh) * 2018-05-14 2023-09-08 华南理工大学 一种表驱动的云模式软件自动构造方法及系统
WO2020015837A1 (de) * 2018-07-20 2020-01-23 Siemens Aktiengesellschaft Verfahren und anordnung zur bereitstellung, überprüfung und optimierung eines automatisierungsprogramms
US10585779B2 (en) 2018-07-30 2020-03-10 General Electric Company Systems and methods of requirements chaining and applications thereof
CN109344059B (zh) * 2018-09-20 2023-04-11 天津龙拳风暴科技有限公司 一种服务器压力测试方法及装置
US11138089B2 (en) 2018-12-19 2021-10-05 International Business Machines Corporation Performance benchmark generation
CN109815147B (zh) * 2019-01-21 2022-06-24 深圳乐信软件技术有限公司 测试案例生成方法、装置、服务器和介质
EP3722942B1 (en) * 2019-04-10 2023-03-22 The Boeing Company Running integration tests using unit tests
US11620454B2 (en) * 2020-02-05 2023-04-04 Hatha Systems, LLC System and method for determining and representing a lineage of business terms and associated business rules within a software application
CN111539099A (zh) * 2020-04-17 2020-08-14 北京航空航天大学 一种基于程序变异的Simulink模型验证方法
CN111679941A (zh) * 2020-05-31 2020-09-18 西南电子技术研究所(中国电子科技集团公司第十研究所) 自动识别仪器型号映射仪器指令实现仪器互换的方法
US11200069B1 (en) 2020-08-21 2021-12-14 Honeywell International Inc. Systems and methods for generating a software application
US11144436B1 (en) 2020-10-19 2021-10-12 Bank Of America Corporation System for testing an application with dynamically linked security tests
CN112231164B (zh) * 2020-12-11 2021-08-27 鹏城实验室 处理器验证方法、设备及可读存储介质
EP4050489A1 (en) * 2021-02-24 2022-08-31 The Boeing Company Automatic generation of integrated test procedures using system test procedures
CN113010152A (zh) * 2021-03-24 2021-06-22 中广核工程有限公司 一种核电厂安全级软件设计系统和方法
CN112905486B (zh) * 2021-03-26 2022-07-08 建信金融科技有限责任公司 一种服务集成测试方法、装置和系统
CN113282498B (zh) * 2021-05-31 2024-04-05 深圳赛安特技术服务有限公司 测试用例的生成方法、装置、设备及存储介质
CN115525532A (zh) * 2021-06-25 2022-12-27 华为云计算技术有限公司 一种测试用例选择方法及相关装置
CN117555812B (zh) * 2024-01-11 2024-05-17 北京捷科智诚科技有限公司 一种云平台自动化测试方法及系统

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5390325A (en) 1992-12-23 1995-02-14 Taligent, Inc. Automated testing system
US7437304B2 (en) * 1999-11-22 2008-10-14 International Business Machines Corporation System and method for project preparing a procurement and accounts payable system
US6681383B1 (en) 2000-04-04 2004-01-20 Sosy, Inc. Automatic software production system
US7272752B2 (en) 2001-09-05 2007-09-18 International Business Machines Corporation Method and system for integrating test coverage measurements with model based test generation
CA2393043A1 (en) 2002-07-11 2004-01-11 Luiz Marcelo Aucelio Paternostro Formal test case definitions
US20050043913A1 (en) 2003-08-19 2005-02-24 Rex Hyde Method of determining the level of structural coverage testing of test cases which are written for a program that does not provide for structural coverage testing
US7478365B2 (en) 2004-01-13 2009-01-13 Symphony Services Corp. Method and system for rule-based generation of automation test scripts from abstract test case representation
US7392509B2 (en) 2004-04-13 2008-06-24 University Of Maryland Method for domain specific test design automation
JP2006024006A (ja) 2004-07-08 2006-01-26 Denso Corp テストケース生成装置、テストケース生成プログラム、モデルベース開発プログラム、ソースコード生成妥当性診断装置、ソースコード生成妥当性診断プログラム、およびモデルベース開発方法。
US7865339B2 (en) 2004-07-12 2011-01-04 Sri International Formal methods for test case generation
US7979849B2 (en) 2004-10-15 2011-07-12 Cisco Technology, Inc. Automatic model-based testing
US8392873B2 (en) 2005-01-26 2013-03-05 Tti Inventions C Llc Methods and apparatus for implementing model-based software solution development and integrated change management
US7752606B2 (en) * 2005-08-10 2010-07-06 Capital One Financial Corporation Software development tool using a structured format to generate software code
KR101222860B1 (ko) 2005-09-01 2013-01-16 삼성전자주식회사 광픽업장치
US7716254B2 (en) 2005-09-12 2010-05-11 Infosys Technologies Ltd. System for modeling architecture for business systems and methods thereof
US7853906B2 (en) 2006-03-22 2010-12-14 Nec Laboratories America, Inc. Accelerating high-level bounded model checking
US20080056210A1 (en) 2006-06-14 2008-03-06 Toshiba America Research, Inc. Moving Networks Information Server
DE102006050112A1 (de) 2006-10-25 2008-04-30 Dspace Digital Signal Processing And Control Engineering Gmbh Verfahren zur Erstellung einer Anforderungsbeschreibung für ein eingebettetes System
US7644334B2 (en) * 2006-11-27 2010-01-05 Honeywell International, Inc. Requirements-based test generation
US8041554B1 (en) 2007-06-06 2011-10-18 Rockwell Collins, Inc. Method and system for the development of high-assurance microcode
US9189757B2 (en) * 2007-08-23 2015-11-17 International Business Machines Corporation Monitoring and maintaining balance of factory quality attributes within a software factory environment
US8423879B2 (en) 2008-05-14 2013-04-16 Honeywell International Inc. Method and apparatus for test generation from hybrid diagrams with combined data flow and statechart notation
US8307342B2 (en) 2008-05-14 2012-11-06 Honeywell International Inc. Method, apparatus, and system for automatic test generation from statecharts
JP5412510B2 (ja) 2008-05-19 2014-02-12 ジョンソン コントロールズ テクノロジー カンパニー 1個のソフトウェアの少なくとも一部を検証するためにテストケースを自動的に形成する方法
JP2009294846A (ja) * 2008-06-04 2009-12-17 Denso Corp テストケース生成装置、テストケース生成プログラム、およびテストケース生成方法
US8260479B2 (en) 2008-12-09 2012-09-04 Honeywell International Inc. Modular software architecture for an unmanned aerial vehicle
US20100192128A1 (en) 2009-01-27 2010-07-29 Honeywell International Inc. System and methods of using test points and signal overrides in requirements-based test generation
US20110083121A1 (en) 2009-10-02 2011-04-07 Gm Global Technology Operations, Inc. Method and System for Automatic Test-Case Generation for Distributed Embedded Systems
US9298598B2 (en) * 2010-03-22 2016-03-29 Red Hat, Inc. Automated visual testing
US8849626B1 (en) 2010-06-23 2014-09-30 Iowa State University Research Foundation, Inc. Semantic translation of stateflow diagrams into input/output extended finite automata and automated test generation for simulink/stateflow diagrams
WO2012049816A1 (ja) 2010-10-14 2012-04-19 日本電気株式会社 モデル検査装置、方法及びプログラム
CN102136047A (zh) 2011-02-25 2011-07-27 天津大学 一种基于形式化及统一软件模型的软件可信工程方法
JP5814603B2 (ja) * 2011-04-21 2015-11-17 株式会社東芝 テスト仕様作成支援装置、方法及びプログラム
US8645924B2 (en) 2011-06-06 2014-02-04 Fujitsu Limited Lossless path reduction for efficient symbolic execution and automatic test generation
US8893087B2 (en) 2011-08-08 2014-11-18 Ca, Inc. Automating functionality test cases
US9063673B2 (en) * 2011-08-30 2015-06-23 Uniquesoft, Llc System and method for implementing application code from application requirements
US9360853B2 (en) 2011-09-19 2016-06-07 Dspace Gmbh Exchange of files and meta-information between system design tools and behavior modeling tools and/or simulators for the creation of ECU software
CN102693134B (zh) 2012-05-25 2014-11-19 南京邮电大学 一种基于统一建模语言的传感网软件建模平台开发方法
US9971676B2 (en) 2012-08-30 2018-05-15 Toyota Motor Engineering & Manufacturing North America, Inc. Systems and methods for state based test case generation for software validation
KR101408870B1 (ko) 2012-11-06 2014-06-17 대구교육대학교산학협력단 Uml sd로부터 mccfg를 기반으로 하는 다단계 테스트 케이스 생성장치 및 방법
US9747079B2 (en) 2014-12-15 2017-08-29 General Electric Company Method and system of software specification modeling
CN104991863B (zh) * 2015-07-14 2017-11-03 株洲南车时代电气股份有限公司 一种基于功能块图测试模型自动生成测试用例的方法
CN104978275B (zh) * 2015-07-16 2017-09-29 北京航空航天大学 一种面向do‑178c软件测试过程的目标验证及证据模型提取方法
CN105068927A (zh) * 2015-08-04 2015-11-18 株洲南车时代电气股份有限公司 基于关键字驱动的城轨传动控制单元自动化测试方法
US9940222B2 (en) * 2015-11-20 2018-04-10 General Electric Company System and method for safety-critical software automated requirements-based test case generation
CN107727411B (zh) * 2017-10-30 2019-09-27 青岛慧拓智能机器有限公司 一种自动驾驶车辆测评场景生成系统及方法

Also Published As

Publication number Publication date
GB2545800A (en) 2017-06-28
CN107066375A (zh) 2017-08-18
CA3035176A1 (en) 2019-09-09
US20180196739A1 (en) 2018-07-12
US9940222B2 (en) 2018-04-10
FR3044126A1 (fr) 2017-05-26
CN110245067B (zh) 2023-09-22
CA2948250A1 (en) 2017-05-20
FR3044126B1 (fr) 2022-01-14
JP2017097862A (ja) 2017-06-01
CN114996115A (zh) 2022-09-02
CA2948250C (en) 2020-05-26
JP6307140B2 (ja) 2018-04-04
BR102016026988A2 (pt) 2017-07-18
CN110245067A (zh) 2019-09-17
CN107066375B (zh) 2022-03-01
US20170147482A1 (en) 2017-05-25

Similar Documents

Publication Publication Date Title
BR102019004568A2 (pt) Método para geração automática de casos de teste baseada em requisitos, meio legível por computador não transitório e sistema para geração automática de casos de teste baseados em requisitos
US8601436B2 (en) Simulation-based interface testing automation system and method for robot software components
US8918678B2 (en) Functional testing of a processor design
US8904321B1 (en) System and method for automatically generating coverage constructs and constraint solver distributions
US11720373B2 (en) Data plane program verification
Sargsyan et al. Directed fuzzing based on program dynamic instrumentation
US20170161403A1 (en) Assertion statement check and debug
Jiang et al. Assuring the model evolution of protocol software specifications by regression testing process improvement
US9373077B1 (en) System and method for identifying constraint solver calls
Rocha et al. Memory management test-case generation of C programs using bounded model checking
EP3572945A1 (en) System and method for safety-critical software automated requirements-based test case generation
Furda et al. A practical approach for detecting multi-tenancy data interference
Jebali et al. Formal modelling and verification of GALS systems using GRL and CADP
US10769332B2 (en) Automatic simulation failures analysis flow for functional verification
Fey et al. Model-based design for safety-related applications
El-Ashry et al. Efficient methodology of sampling UVM RAL during simulation for SoC functional coverage
US10031991B1 (en) System, method, and computer program product for testbench coverage
Shi Improving regression testing efficiency and reliability via test-suite transformations
Bertolino et al. An automated testing framework of model-driven tools for XACML policy specification
Muccini An approach for detecting implied scenarios
JP7433510B2 (ja) セキュリティポリシーの実施を検証する方法、記憶媒体、コンピュータプログラム、及び処理回路
Drusinsky et al. Validating quality attribute requirements via execution‐based model checking
JP2010165121A (ja) プログラム及びプログラム検証方法
Munetoh et al. RAILROADMAP: an agile security testing framework for web-application development
Chaari et al. Efficient exploration of safety-relevant systems through a link between analysis and simulation

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]
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B08F Application dismissed because of non-payment of annual fees [chapter 8.6 patent gazette]

Free format text: REFERENTE A 3A ANUIDADE.

B08K Patent lapsed as no evidence of payment of the annual fee has been furnished to inpi [chapter 8.11 patent gazette]

Free format text: EM VIRTUDE DO ARQUIVAMENTO PUBLICADO NA RPI 2671 DE 15-03-2022 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDO O ARQUIVAMENTO DO PEDIDO DE PATENTE, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013.