Loading AI tools
Da Wikipédia, a enciclopédia livre
TTCN-3 (notação de teste e controle de teste versão 3) é uma linguagem de teste fortemente tipada usada em testes de conformidade de sistemas de comunicação. TTCN-3 é escrito por ETSI na série ES 201 873[1] e padronizado por ITU-T na série Z.160.[2] A TTCN-3 tem seus próprios tipos de dados e pode ser combinado com as definições de tipo ASN.1, IDL e XML.
O padrão ITU-T TTCN-3 faz parte da Série Z e é organizado em várias partes:
A TTCN-3 foi usada para definir conjuntos de testes de conformidade para os protocolos SIP, WiMAX e DSRC padrão.
A OMA adotou em 2008 uma estratégia de usar o TTCN-3 para traduzir alguns dos casos de teste em uma especificação de teste habilitadora em uma representação executável.[3]
O projeto AUTOSAR promoveu (em 2008) o uso do TTCN-3 na indústria automotiva.[4]
O projeto 3GPP promoveu o uso do TTCN-3 na indústria móvel.[5]
Durante a execução, a arquitetura é organizada da seguinte forma:
Este é um exemplo TTCN-3 com seu equivalente gráfico em MSC (gráfico de sequência de mensagens).
module TestSystem {
// Define um subtipo de inteiro
type integer myNewType (0..50)
// Declara o tipo de estrutura de solicitação com 2 campos
type record Request {
myNewType param1,
charstring param2
}
// Declara o tipo de estrutura de resposta com um campo
type record Answer {
myNewType param1
}
// Declara uma porta de comunicação baseada em mensagem
type port cEnv_type message {
out Request;
in Answer;
}
// Declara o componente no qual o caso de teste será executado
type component sSystem {
port cEnv_type cEnv;
}
// Os modelos definem os valores dos parâmetros de saída
// e verificam os valores dos parâmetros de entrada
template Request Good_Req := {param1 := 42, param2 := "olá !" };
template Answer All_is_OK := {param1 := 0};
// Define o caso de teste 1 que será executado no componente do sistema
testcase testcase1() runs on sSystem
{
// Envia mensagem de solicitação com (42, "olá!") como parâmetros
cEnv.send(Good_Req);
// Uma alternativa para as 2 respostas possíveis
alt
{
// Recebemos resposta com 0 como parâmetro
[]cEnv.receive(All_is_OK)
{
// Pass verdict !
setverdict(pass)
}
// Ou recebemos outra coisa
[]cEnv.receive
{
// Fail verdict
setverdict(fail)
}
}
}
// Controla automaticamente a execução de partes de casos de teste de cadeias
control {
var verdicttype verdict1;
verdict1 := execute(testcase1());
}
}
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.