Gerador de Dados de Teste de Caso Limítrofe API

API ID 13369

Dados de teste de caso extremo para QA e testes de fuzz Unicode sondas de injeção datas de limite precisão de ponto flutuante 16 tipos sementes reprodutíveis e cada valor explica o que quebra

Documentação da API

Endpoints

Requisição
Gera dados de teste de casos extremos para um único tipo de campo — os valores de entrada hostis, mas legais, que quebram códigos reais. Retorna valores com os metadados que os tornam acionáveis: a qual categoria o valor pertence e uma explicação em português simples do tipo exato de código que ele quebra. Escolha entre 16 tipos em 8 grupos: unicode_string, emoji_sequence, person_name, organization_name, email, email_display_name, date, datetime, integer, float, UUID, path_or_filename, postal_code, phone_number, chave JSON e valor JSON. Exemplos do que você recebe: datas de 29 de fevereiro que quebram aritmética de datas ingênua, o timestamp do ano 2038 que transborda 32 bits de time_t, 0.30000000000000004 da arredondamento IEEE 754, famílias de emojis ZWJ que são um grafema, mas sete pontos de código, homógrafos cirílicos usados em spoofing de domínios, nomes de arquivos reservados do Windows como CON, e endereços de email válidos segundo RFC 5322 que validadores de regex ingênuos rejeitam erroneamente. Totalmente determinístico: passe uma semente e os mesmos valores exatos retornam toda vez, então os resultados podem ser fixados em fixtures de CI. Omitir a semente e uma é gerada para você e retornada na resposta, pronta para ser fixada depois. Saída em JSON (padrão), CSV ou texto simples. Filtre para uma única categoria com o parâmetro de categoria. Descubra todos os tipos e categorias através do endpoint Catalog.
Endpoint ID: 28532
GET https://creators.zylalabs.com/api/13369/edge+case+test+data+generator+api/28532/generate+edge+case+test+data
PARÂMETROS DE ENTRADA

Gerar dados de teste de casos extremos — Recursos do endpoint

Objeto Descrição
type Obrigatório Field type to generate. One of the 16 types — call the Catalog endpoint for the full list.
count Opcional Number of values to return, 1–500. Default 50.
seed Opcional Integer seed for reproducible output. Omit for a random seed, which is returned in the response.
category Opcional Restrict output to one category within the type, e.g. leap_day or homoglyph.
format Opcional json (default), csv, or text.
csv_escape Opcional Only for format=csv. true (default) neutralises spreadsheet formula injection; false returns raw values.

Solicitações gratuitas de teste restantes: 3 de 3.


PARÂMETROS DE ENTRADA

type
count
seed
category
format
csv_escape
RESPOSTA DE EXEMPLO DA API
JSON
{
    "type": "email",
    "seed": 42,
    "count": 3,
    "items": [
        {
            "value": "user@[192.168.1.1]",
            "category": "ip_literal_domain",
            "breaks": "Domain-parsing code that assumes the part after '@' is always a hostname (never a bracketed IP literal) fails to extract or validate the domain correctly.",
            "safe_to_display": true
        },
        {
            "value": "[email protected]",
            "category": "punycode_domain",
            "breaks": "The domain is punycode-encoded (an internationalized domain name). Domain allowlist or comparison logic that does not decode punycode may fail to recognize this as equivalent to its Unicode form, or fail to catch a homograph-spoofed lookalike domain encoded the same way.",
            "safe_to_display": true
        },
        {
            "value": "[email protected]",
            "category": "plus_addressing",
            "breaks": "Deduplication logic treating '[email protected]' and '[email protected]' as different accounts misses that most mail providers deliver both to the same inbox (sub-addressing, RFC 5233).",
            "safe_to_display": true
        }
    ]
}
Gerar dados de teste de casos extremos — TRECHOS DE CÓDIGO

curl --location --request GET 'https://zylalabs.com/api/13369/edge+case+test+data+generator+api/28532/generate+edge+case+test+data?type=email&count=3&seed=42' --header 'Authorization: Bearer YOUR_API_KEY' 


    
Requisição
Gera um conjunto de testes completo em uma chamada: defina seus próprios nomes de campo, mapeie cada um para um tipo e receba linhas prontas para semear um banco de dados, um conjunto de testes de CI ou um conjunto de dados de QA Envie um objeto de campos mapeando qualquer nome de campo que você desejar para um dos 16 tipos suportados, por exemplo, {"user_email": "email", "signup_at": "datetime", "display_name": "person_name"} Cada linha combina um valor hostil por campo, então uma única chamada exerce muitos modos de falha ao mesmo tempo Até 20 campos e 500 linhas por chamada Dois campos que compartilham o mesmo tipo recebem valores embaralhados de forma independente em vez de cópias idênticas, então um billing_email e um personal_email na mesma linha são realmente endereços diferentes Determinístico: o mesmo seed sempre retorna as mesmas linhas Omitir o seed e um é gerado e retornado para que a execução possa ser reproduzida exatamente Saída como JSON (padrão) ou CSV CSV retorna uma coluna por nome de campo, na ordem em que você os declarou—cole diretamente em uma planilha ou em um script de semeadura
Endpoint ID: 28533
POST https://creators.zylalabs.com/api/13369/edge+case+test+data+generator+api/28533/generate+multi-field+test+fixture+rows
PARÂMETROS DE ENTRADA

Gerar Linhas de Fixture de Teste Multi-Campo — Recursos do endpoint

Objeto Descrição
Corpo da requisição Obrigatório Json

Solicitações gratuitas de teste restantes: 3 de 3.


PARÂMETROS DE ENTRADA

RESPOSTA DE EXEMPLO DA API
JSON
{
    "seed": 7,
    "count": 2,
    "rows": [
        {
            "user_email": {
                "value": "a234567890123456789012345678901234567890123456789012345678901234@aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.com",
                "category": "max_length_254",
                "breaks": "This address is near the RFC 5321 maximum length of 254 characters. Database columns sized below that maximum truncate or reject it even though it is technically valid.",
                "safe_to_display": true
            },
            "signup_at": {
                "value": "2026-11-01T01:30:00-04:00",
                "category": "dst_fall_back_ambiguous",
                "breaks": "In US Eastern time, this local clock time occurs twice during the fall-back transition. Without an explicit fold indicator, converting it to UTC is genuinely ambiguous, and libraries may silently pick the wrong occurrence.",
                "safe_to_display": true
            }
        },
        {
            "user_email": {
                "value": "[email protected]",
                "category": "plus_addressing",
                "breaks": "Deduplication logic treating '[email protected]' and '[email protected]' as different accounts misses that most mail providers deliver both to the same inbox (sub-addressing, RFC 5233).",
                "safe_to_display": true
            },
            "signup_at": {
                "value": "2026-01-01T24:00:00",
                "category": "midnight_as_24_00",
                "breaks": "ISO 8601 permits 24:00:00 to represent midnight at the end of a day, but many parsers only accept 00:00:00 through 23:59:59 and reject this equally valid representation.",
                "safe_to_display": true
            }
        }
    ]
}
Gerar Linhas de Fixture de Teste Multi-Campo — TRECHOS DE CÓDIGO

curl --location --request POST 'https://zylalabs.com/api/13369/edge+case+test+data+generator+api/28533/generate+multi-field+test+fixture+rows' --header 'Authorization: Bearer YOUR_API_KEY' 

--data-raw '{
  "fields": {
    "user_email": "email",
    "signup_at": "datetime"
  },
  "count": 2,
  "seed": 7
}'

    
Requisição
Retorna todos os tipos de campo que esta API pode gerar, junto com seu grupo de categoria, uma descrição, a lista de tags de categoria disponíveis para filtragem e quantos valores distintos existem em cada pool Chame isso primeiro ao integrar programaticamente — incluindo de um agente de IA ou assistente de codificação — para descobrir o conjunto completo de capacidades sem codificar nomes de tipos ou ler a documentação. Também retorna os formatos de saída suportados e o número máximo de linhas por solicitação
Endpoint ID: 28534
GET https://creators.zylalabs.com/api/13369/edge+case+test+data+generator+api/28534/list+available+types+and+categories
PARÂMETROS DE ENTRADA

Solicitações gratuitas de teste restantes: 3 de 3.

Este endpoint não requer parâmetros de entrada.

RESPOSTA DE EXEMPLO DA API
JSON
{
    "types": [
        {
            "type": "date",
            "category_group": "datetimes",
            "description": "Calendar-boundary and invalid-looking-but-real dates.",
            "categories": [
                "earliest_iso_year",
                "far_future_sentinel",
                "invalid_day_of_month",
                "leap_day",
                "pre_epoch",
                "year_2038"
            ],
            "entry_count": 6
        },
        {
            "type": "datetime",
            "category_group": "datetimes",
            "description": "Timestamps at DST transitions, unusual UTC offsets, and precision boundaries.",
            "categories": [
                "dst_fall_back_ambiguous",
                "dst_spring_forward_gap",
                "leap_second",
                "midnight_as_24_00",
                "quarter_hour_offset",
                "sub_microsecond_precision"
            ],
            "entry_count": 7
        },
        {
            "type": "email",
            "category_group": "emails",
            "description": "RFC 5322-valid but unusual email addresses.",
            "categories": [
                "comment_syntax",
                "ip_literal_domain",
                "max_length_254",
                "mixed_case",
                "plus_addressing",
                "punycode_domain",
                "quoted_local_part"
            ],
            "entry_count": 7
        },
        {
            "type": "email_display_name",
            "category_group": "emails",
            "description": "Display-name strings that can corrupt naively-built SMTP headers.",
            "categories": [
                "angle_bracket_in_display_name",
                "comma_in_display_name",
                "crlf_header_injection",
                "null_byte",
                "very_long_display_name"
            ],
            "entry_count": 5
        },
        {
            "type": "emoji_sequence",
            "category_group": "unicode",
            "description": "Multi-codepoint emoji: ZWJ sequences, skin-tone modifiers, flag sequences, keycaps.",
            "categories": [
                "flag_sequence",
                "keycap_sequence",
                "skin_tone_modifier",
                "zwj_family",
                "zwj_generic_pair"
            ],
            "entry_count": 5
        },
        {
            "type": "float",
            "category_group": "numbers",
            "description": "Floating-point values that are not representable in JSON, or that expose IEEE 754 rounding.",
            "categories": [
                "denormal_minimum",
                "ieee754_rounding",
                "infinity",
                "not_a_number",
                "scientific_notation"
            ],
            "entry_count": 5
        },
        {
            "type": "integer",
            "category_group": "numbers",
            "description": "Integer values at 32-bit and 64-bit signed boundaries.",
            "categories": [
                "int32_max_plus_one",
                "int32_min_minus_one",
                "int64_max",
                "leading_zeros",
                "negative_zero"
            ],
            "entry_count": 5
        },
        {
            "type": "json_key",
            "category_group": "structural",
            "description": "Strings intended for use as a JSON object key, including reserved and unsafe names.",
            "categories": [
                "dollar_prefix",
                "embedded_dot",
                "empty_string_key",
                "numeric_string_key",
                "prototype_pollution_key",
                "very_long_key",
                "whitespace_only_key"
            ],
            "entry_count": 8
        },
        {
            "type": "json_value",
            "category_group": "structural",
            "description": "JSON values at precision, nesting, and null/empty/missing boundaries.",
            "categories": [
                "boolean_as_string",
                "empty_array",
                "empty_object",
                "explicit_null",
                "float64_precision_loss",
                "leading_zero_numeric_string"
            ],
            "entry_count": 6
        },
        {
            "type": "organization_name",
            "category_group": "names",
            "description": "Company/brand names with punctuation, leading digits, or unusual casing.",
            "categories": [
                "accented_character",
                "ampersand",
                "apostrophe",
                "intentional_lowercase_brand",
                "leading_digit",
                "trailing_punctuation",
                "very_long_legal_name"
            ],
            "entry_count": 7
        },
        {
            "type": "path_or_filename",
            "category_group": "identifiers",
            "description": "Filenames and paths that are legal but mishandled by common filesystem or validation code.",
            "categories": [
                "bare_parent_reference",
                "leading_dot_hidden_file",
                "max_length_255",
                "path_traversal",
                "reserved_windows_device_name",
                "trailing_dot",
                "trailing_space",
                "unicode_normalization_mismatch"
            ],
            "entry_count": 8
        },
        {
            "type": "person_name",
            "category_group": "names",
            "description": "Names that break naive validation, splitting, or templating logic -- includes canonical injection probes.",
            "categories": [
                "apostrophe",
                "emoji_in_name",
                "leading_trailing_whitespace",
                "mononym",
                "multi_word_particle_surname",
                "reserved_word",
                "right_to_left_script",
                "shell_metacharacter_probe",
                "single_character",
                "sql_injection_probe",
                "ssti_probe",
                "very_long_name",
                "xss_probe"
            ],
            "entry_count": 14
        },
        {
            "type": "phone_number",
            "category_group": "addresses_phones",
            "description": "Phone numbers at E.164 length boundaries and common formatting variants.",
            "categories": [
                "e164_maximum_length",
                "e164_near_minimum_length",
                "extension_suffix",
                "human_formatted_punctuation",
                "leading_zero_national_format",
                "long_country_code"
            ],
            "entry_count": 6
        },
        {
            "type": "postal_code",
            "category_group": "addresses_phones",
            "description": "Postal codes from formats that break US-centric assumptions.",
            "categories": [
                "canada_alternating_pattern",
                "country_without_postal_code",
                "eircode",
                "embedded_hyphen",
                "leading_zero_us_zip",
                "uk_postcode_variable_length"
            ],
            "entry_count": 6
        },
        {
            "type": "unicode_string",
            "category_group": "unicode",
            "description": "Strings with combining marks, bidi overrides, zero-width characters, and homoglyphs.",
            "categories": [
                "astral_plane",
                "bidi_override",
                "byte_order_mark",
                "combining_diacritic",
                "combining_mark_stack",
                "homoglyph",
                "mixed_script",
                "variation_selector",
                "zero_width_space"
            ],
            "entry_count": 9
        },
        {
            "type": "uuid",
            "category_group": "identifiers",
            "description": "Syntactically valid UUIDs at sentinel and formatting boundaries.",
            "categories": [
                "invalid_version_nibble",
                "max_uuid",
                "nil_uuid",
                "unhyphenated_form",
                "uppercase_hex"
            ],
            "entry_count": 5
        }
    ],
    "formats": [
        "csv",
        "json",
        "text"
    ],
    "max_count": 500
}
Listar Tipos e Categorias Disponíveis — TRECHOS DE CÓDIGO

curl --location --request GET 'https://zylalabs.com/api/13369/edge+case+test+data+generator+api/28534/list+available+types+and+categories' --header 'Authorization: Bearer YOUR_API_KEY' 


    

Chave de acesso à API e autenticação

Após se cadastrar, cada desenvolvedor recebe uma chave de acesso à API pessoal, uma combinação única de letras e dígitos para acessar nosso endpoint de API. Para autenticar com a Gerador de Dados de Teste de Caso Limítrofe API basta incluir seu token Bearer no cabeçalho Authorization.

Cabeçalhos
Cabeçalho Descrição
Authorization Obrigatório Deve ser Bearer access_key. Veja "Sua chave de acesso à API" acima quando você estiver inscrito.

Sem compromisso de longo prazo. Faça upgrade, downgrade ou cancele a qualquer momento. O teste gratuito inclui até 50 requisições.

(Economize 2 meses com cobrança anual 🎉)

🚀 Plano Empresarial

A partir de
$ 10.000/Ano


  • Volume personalizado
  • Limite de taxa personalizado
  • Suporte ao cliente especializado
  • Monitoramento de API em tempo real
zeiss-logo amazon-logo zoom-logo decathlon-logo

Empresas líderes confiam em nós

Visão Geral

Dados de teste de casos extremos para QA e testes de fuzz: Unicode, sondas de injeção, datas de limite, precisão de ponto flutuante. 16 tipos, sementes reproduzíveis, e cada valor explica o que quebra.

Gerador de Dados de Teste de Caso Limítrofe API FAQs

Dados de teste de caso limite são entradas que são tecnicamente válidas, mas estão nos limites onde o software normalmente falha - datas de dias bissextos, inteiros nos limites de 32 bits, nomes contendo apóstrofes, emojis feitos de múltiplos pontos de código e nomes de arquivos reservados pelo Windows. Geradores comuns de dados falsos produzem dados plausíveis; dados de caso limite são o que realmente encontra bugs

Faker Mockaroo e ferramentas semelhantes otimizam para dados com aparência realista nomes endereços e datas plausíveis Esta API faz o oposto: cada valor é escolhido porque quebra algo Ela também diz o que quebra então um teste falho é imediatamente diagnosticável em vez de um mistério

Uma explicação em português simples do modo de falha específico que o valor foi projetado para expor - por exemplo, que 0.30000000000000004 é o resultado real de 0.1 + 0.2 na aritmética IEEE 754 e falhará em um teste de igualdade contra 0.3. Ele transforma uma string bruta em um caso de teste documentado

Sim Passe uma semente e os mesmos valores são retornados toda vez permanentemente nos endpoints /v1 - seguro para fixar em recursos de CI Omitir a semente e uma aleatória é gerada e retornada na resposta para que você possa reproduzir essa execução exata mais tarde

Dezesseis tipos em oito grupos: strings Unicode e sequências de emojis, nomes de pessoas e organizações, e-mails e nomes de exibição de e-mail, datas e datas e horas, inteiros e floats, UUIDs e caminhos de arquivos, códigos postais e números de telefone, e chaves e valores JSON

Sim POST /v1/generate aceita um objeto fields mapeando seus próprios nomes de campo para tipos e retorna até 500 linhas completas até 20 campos cada prontas para semear um banco de dados ou um fixture de CI

Inclui probes de detecção canônicos e inócuos do tipo publicados em guias padrão de teste de segurança - uma tautologia SQL, uma probe básica de XSS, uma string de travessia de caminho. Estes são para testar o seu próprio manuseio de entrada. Não há exploits funcionais, payloads de shell ou cadeias de ataque específicas de CVE

Ele distingue dois riscos diferentes "Falso" significa que o valor não é seguro para ser exibido cru em uma interface de usuário uma sobreposição bidirecional que pode falsificar visualmente um nome de arquivo por exemplo "Verdadeiro" significa que é seguro exibir como texto inerte mesmo que ainda possa quebrar o código de backend que o processa Filtre isso se você mostrar valores gerados para os usuários

Sim — format=csv, além do format=text para um valor bruto por linha. Por padrão, as células CSV que acionariam a execução de fórmulas de planilhas são neutralizadas. Defina csv_escape=false se você estiver testando deliberadamente o manuseio da importação CSV.

Não A API é sem estado sem banco de dados Nada que você solicite e nada gerado para você é escrito em logs — apenas metadados de solicitação como ponto de extremidade código de status e qual tipo foi solicitado

Perguntas Frequentes Gerais

O Zyla API Hub é como uma grande loja de APIs, onde você pode encontrar milhares delas em um só lugar. Também oferecemos suporte dedicado e monitoramento em tempo real de todas as APIs. Após se cadastrar, você pode escolher quais APIs deseja usar. Lembre-se apenas de que cada API precisa de sua própria assinatura. Mas se você se inscrever em várias, usará a mesma chave para todas elas, facilitando as coisas para você.
Os preços são listados em USD (Dólar Americano), EUR (Euro), CAD (Dólar Canadense), AUD (Dólar Australiano) e GBP (Libra Esterlina). Aceitamos todos os principais cartões de débito e crédito. Nosso sistema de pagamento usa a mais recente tecnologia de segurança e é operado pela Stripe, uma das empresas de pagamento mais confiáveis do mundo. Se tiver problemas para pagar com cartão, entre em contato conosco em [email protected]

Além disso, se você já tiver uma assinatura ativa em qualquer uma dessas moedas (USD, EUR, CAD, AUD, GBP), essa moeda será mantida para assinaturas subsequentes. Você pode alterar a moeda a qualquer momento, desde que não tenha assinaturas ativas.
A moeda local exibida na página de preços é baseada no país do seu endereço IP e é fornecida apenas como referência. Os preços reais são em USD (Dólar Americano). Ao efetuar o pagamento, a cobrança aparecerá no extrato do seu cartão em USD, mesmo que você veja o valor equivalente em sua moeda local em nosso site. Isso significa que você não pode pagar diretamente com sua moeda local.
Ocasionalmente, o banco pode recusar a cobrança devido às configurações de proteção contra fraude. Sugerimos contatar seu banco inicialmente para verificar se estão bloqueando nossas cobranças. Você também pode acessar o Portal de Cobrança e alterar o cartão associado para realizar o pagamento. Se isso não funcionar e precisar de mais ajuda, entre em contato com nossa equipe em [email protected]
Os preços são determinados por uma assinatura recorrente mensal ou anual, dependendo do plano escolhido.
As chamadas de API são descontadas do seu plano com base nas requisições bem-sucedidas. Cada plano possui um número específico de chamadas por mês. Apenas chamadas bem-sucedidas, indicadas por uma resposta com Status 200, serão contabilizadas, garantindo que falhas não afetem sua cota mensal.
O Zyla API Hub funciona com um sistema de assinatura mensal recorrente. Seu ciclo de cobrança começa no dia em que você compra um dos planos pagos e será renovado no mesmo dia do mês seguinte. Portanto, cancele sua assinatura com antecedência se quiser evitar cobranças futuras.
Para fazer upgrade do seu plano atual, acesse a página de preços da API e selecione o novo plano desejado. O upgrade é instantâneo, permitindo aproveitar imediatamente os recursos do novo plano. Observe que as chamadas restantes do plano anterior não serão transferidas; você será cobrado pelo valor integral do novo plano.
Para verificar quantas chamadas de API restam para o mês atual, consulte o campo 'X-Zyla-API-Calls-Monthly-Remaining' no cabeçalho da resposta. Por exemplo, se seu plano permite 1.000 requisições por mês e você usou 100, este campo no cabeçalho da resposta indicará 900 chamadas restantes.
Para ver o número máximo de requisições de API que seu plano permite, verifique o cabeçalho de resposta 'X-Zyla-RateLimit-Limit'. Por exemplo, se seu plano inclui 1.000 requisições por mês, este cabeçalho exibirá 1.000.
O cabeçalho 'X-Zyla-RateLimit-Reset' mostra o número de segundos até seu limite de taxa ser redefinido. Isso informa quando sua contagem de requisições começará do zero. Por exemplo, se exibir 3.600, significa que restam 3.600 segundos até o limite ser redefinido.
Sim, você pode cancelar seu plano a qualquer momento acessando sua conta e selecionando a opção de cancelamento na página de Cobrança. Observe que upgrades, downgrades e cancelamentos têm efeito imediato. Além disso, após o cancelamento, você não terá mais acesso ao serviço, mesmo que ainda tenha chamadas restantes na sua cota.
Para oferecer a oportunidade de experimentar nossas APIs sem compromisso, oferecemos um teste gratuito de 7 dias que permite realizar até 50 chamadas de API sem custo. Esse teste pode ser usado apenas uma vez; recomendamos aplicá-lo à API que mais interessa. Embora a maioria das APIs ofereça teste gratuito, algumas podem não oferecer. O teste termina após 7 dias ou quando você atingir 50 requisições, o que ocorrer primeiro. Se atingir o limite, será necessário "Iniciar seu plano pago" para continuar. Você encontra esse botão no perfil em Assinatura -> Escolha a API -> aba Preços. Se não cancelar até o 7º dia, sua assinatura será cobrada automaticamente, liberando todas as chamadas do plano.
Após 7 dias, será cobrado o valor total do plano ao qual você estava inscrito durante o teste. Portanto, é importante cancelar antes do término do período. Solicitações de reembolso por esquecimento de cancelamento não são aceitas.
Ao assinar um teste gratuito de API, você pode fazer até 50 chamadas. Se desejar fazer chamadas adicionais além desse limite, a API solicitará que você "Inicie seu plano pago". Você encontra o botão no perfil em Assinatura -> Escolha a API -> aba Preços.
As Ordens de Pagamento são processadas entre os dias 20 e 30 de cada mês. Se você enviar sua solicitação antes do dia 20, seu pagamento será processado dentro desse período.
Você pode nos contatar via chat para receber assistência imediata. Estamos online de 8h às 17h (EST). Se nos contatar após esse horário, retornaremos o mais rápido possível. Além disso, você pode enviar um e-mail para [email protected]

Você também pode gostar