Menu

Testbedrijfsgegevens: een praktische gids voor teams

Testbedrijfsgegevens zijn een volledig synthetisch bedrijfsrecord — naam, registratienummer, fiscaal nummer, adres — gebouwd voor softwaretests. Dit is wat het omvat en waarom het ertoe doet.

Gepubliceerd

  • testgegevens
  • bedrijfsgegevens
  • softwaretesten

Testbedrijfsgegevens zijn een verzonnen bedrijfsentiteit, volledig uitgeschreven. Het is een bedrijfsnaam, een rechtsvorm, een registratienummer, een fiscaal nummer en een btw-nummer, een statutaire zetel, een contacttelefoonnummer en een handjevol kleinere velden, samengesteld zodat software kan worden beproefd op een record dat op een gewoon handelsbedrijf lijkt zonder er een te beschrijven dat bestaat.

Dit artikel legt uit waarvoor zo’n record werkelijk dient, waarom het lenen van de gegevens van een echt bedrijf een slechte ruil is, zowel juridisch als technisch, welke delen van een bedrijf het nodig hebben, en wat een generator op deze site wel en niet garandeert over de uitvoer.

Wat testbedrijfsgegevens werkelijk zijn

Haal het jargon weg en een bedrijfstestrecord is niets meer dan een samenhangende reeks antwoorden op de vragen die een bedrijfsformulier stelt. Iemand dient een aanvraag in namens een organisatie. De organisatie heeft een naam en een opgegeven rechtsvorm, ze is ergens geregistreerd, er zijn haar de identificaties toegewezen die die plaats uitgeeft, en ze heeft een plaats van vestiging.

Samenhang is wat een bruikbaar record onderscheidt van een berg strings. Het registratienummer behoort toe aan het register van het land in het adres, het btw-nummer draagt het voorvoegsel van datzelfde land, de rechtsvorm is er een die het rechtsgebied werkelijk erkent, en het telefoonnummer draagt de juiste landcode. Een record dat veld voor veld wordt samengesteld, faalt meestal precies op dit punt, omdat elk veld op zichzelf werd beoordeeld.

Herkomst is wat een testrecord onderscheidt van een echt record. Niets erin is gekopieerd van een bedrijf, en niets erin behoort toe aan een bedrijf. Het heeft de vorm van een bedrijf zodat een systeem het kan verwerken, en geen enkele verwijzing daarbuiten.

Waar heeft een team dit soort bedrijfsrecords nu echt nodig?

De vraag is groter dan ze op het eerste gezicht lijkt, en ze clustert rond één vereiste: geef de software plausibele invoer terwijl de uitvoer ergens onschadelijk landt.

Situatie Wat onmogelijk is zonder gegenereerde records
Testen van onboardingformulieren Verplichte-veld- en lengteregels kunnen niet end-to-end worden beproefd
Repetitie van facturatie Fiscale en registratievelden kunnen niet worden uitgeprobeerd op een document dat niemand ontvangt
Sandbox-integratie De testomgeving van een partner heeft een tegenpartij nodig die geen echte klant is
Demo- en verkoomgevingen Het product oogt onafgemaakt wanneer elk record als plaatsaanduidingstekst leest
Bulk seeding Volumetests hebben vele duizenden rijen nodig die nog steeds plausibel ogen
Regressiefixtures Asserties gaan schuiven als dezelfde test bij elke run een ander bedrijf oplevert

De lijst laat ook zien waarom de vorm van het record meer uitmaakt dan een ontwikkelaar verwacht. Een sandbox-integratie wordt beoordeeld op de vraag of de validatie van de partner de payload accepteert. Een demo wordt beoordeeld op de vraag of een prospect het scherm kan lezen zonder iets vreemds op te merken. Geen van beide doelen wordt gediend door de identificaties van een echt bedrijf te injecteren.

Waarom is het gebruik van de gegevens van een echt bedrijf de verkeerde zet?

Omdat het registratienummer, het fiscale nummer en de bestuurders van een echt bedrijf persoonlijke en commerciële feiten zijn die aan iemand anders toebehoren, en lagere omgevingen zijn waar de zwakste controles plegen te zitten.

Er volgen twee vormen van falen. De eerste is juridisch en reputatiegebonden. Jezelf voordoen als een ander bedrijf is misleiding, en onder gegevensbeschermingsregels kunnen de registratiegegevens van een eenmanszaak plus een contactnaam ook persoonsgegevens zijn. Die feiten naar een ontwikkelomgeving verplaatsen is een nieuw gebruik ervan waarmee niemand heeft ingestemd. De tweede is operationeel: de kopie overleeft vervolgens in back-ups, in querylogs, in screenshots die in tickets worden geplakt en op de laptops van iedereen die de database heeft hersteld. De organisatie houdt uiteindelijk meer kopieën van de gegevens van één bedrijf over dan ooit tevoren, op plaatsen die niemand controleert.

Er is een derde, stillere kostenpost. Een test die op één echt bedrijf is gebouwd, ziet alleen de vorm van dat bedrijf. Echte portfolio’s bevatten korte namen, zeer lange namen, ampersands, letters met accenten, handelsnamen die afwijken van de geregistreerde naam, en entiteiten zonder enig btw-nummer. Een gegenereerde set kan die spreiding doelbewust dekken, wat een geleend record niet kan.

Wat bevat een volledig bedrijfsrecord?

Op deze site bouwt de generator voor testbedrijfsgegevens de hele entiteit in één stap in plaats van veld voor veld. Een record draagt vier groepen velden.

  1. Identiteit — de geregistreerde naam, de rechtsvorm en de beschrijving van de branche of activiteit.
  2. Registratie en belasting — het bedrijfsregistratienummer, de fiscale identificatie en het btw-nummer waar het land er een uitgeeft, elk in de eigen vorm van dat land.
  3. Statutaire zetel — straat, district, stad, bestuurlijke indeling, postcode en land, volgens de echte adresconventies van dat land.
  4. Contact — een telefoonnummer met de juiste internationale landcode, plus bijbehorende administratieve details zoals de omvangklasse of oprichtingsindicatoren die het land publiceert.

Twee eigenschappen zijn het begrijpen waard voordat je op de uitvoer vertrouwt. De eerste is interne consistentie, zoals hierboven beschreven. De tweede is reproduceerbaarheid: de uitvoer wordt gestuurd door een identiteitssleutel, en dezelfde sleutel met hetzelfde land levert elke keer exact hetzelfde bedrijf op. Reproduceerbaarheid is wat een gegenereerd record bruikbaar maakt binnen een geautomatiseerde test in plaats van alleen binnen een handmatige doorloop. De vraag naar veldconsistentie is in feite een vraag naar de generatieorde, en het artikel over rechtsvormen legt uit waarom land moet worden bepaald voordat iets stroomafwaarts ervan.

Moeten gegenereerde bedrijfsgegevens er echt uitzien?

Ze moeten er gewoon uitzien, wat een zwakkere eis is — en het verschil doet ertoe.

Een overduidelijk nep record kan een lezer makkelijk wegwuiven, maar een validatieregel kan het om de verkeerde reden makkelijk afwijzen. Een record dat exotisch oogt, test het verkeerde: als elke gegenereerde bedrijfsnaam één lettergreep is, of elke straatregel dezelfde plaatsaanduidingszin is, wordt de lay-out nooit belast en gaat de validatie nooit af. Gegenereerde records verdienen hun bestaan wanneer ze in dezelfde vorm landen als de echte inzendingen die het systeem uiteindelijk zal ontvangen, inclusief de lastige — lange juridische namen, letters met accenten, handelsnamen die afwijken van de geregistreerde naam, en entiteiten die legitiem geen btw-nummer hebben.

Gewoon is niet hetzelfde als geldig-in-de-wereld. Een synthetisch registratienummer van de juiste vorm is nog steeds nergens geregistreerd. Het zal een formaatcontrole doorstaan en falen op het moment dat een proces het register erachter raadpleegt. Dat is een eigenschap, geen defect: de grenzen van synthetische bedrijfsgegevens zijn precies wat voorkomt dat een testrecord voor een echt wordt aangezien.

Voor ontwikkelaars: het record ontwerpen

Modelleer het record als velden met afhankelijkheden in plaats van als een platte tabel met onafhankelijke kolommen. Land beperkt de adresvorm, het register, het formaat van de identificatie en het telefoonvoorvoegsel. Rechtsvorm beperkt het naamachtervoegsel en de verzameling identificaties die überhaupt mogen bestaan. Een schema dat die relaties verbergt, laat inconsistente rijen toe, hoe zorgvuldig de fixtures ook zijn.

Drie gewoonten voorkomen de meeste schade. Geef het record een stabiele sleutel zodat het op verzoek opnieuw kan worden gegenereerd in plaats van tussen omgevingen te worden gekopieerd. Behandel een ontbrekende identificatie als afwezig in plaats van het veld met een plausibele string te vullen, omdat een leeg veld en een verkeerd veld op heel verschillende plaatsen falen. En laat een testrecord nooit naar productie oversteken: houd gegenereerde entiteiten in hun eigen database of schema, tag ze op rijniveau als een gedeelde omgeving dat afdwingt, en houd de fixturebestanden zelf als synthetisch gelabeld.

De notitie die met de fixtures meegaat, maakt deel uit van het ontwerp. Zeg ronduit in het bestand, en in elke export die de tool produceert, dat deze bedrijven voor testen zijn verzonnen, dat er geen echt bedrijf wordt beschreven, en dat de records niet mogen worden gebruikt om rekeningen te openen, vergunningen te verkrijgen, echte facturen uit te geven of een werkelijke tegenpartij te vervangen.

Volgende stappen

Kies één formulier in je product dat om bedrijfsgegevens vraagt en vul het met een gegenereerd record in plaats van de plaatsaanduidingstekst die er waarschijnlijk vandaag staat, en dien het dan twee keer in met dezelfde identiteitssleutel en bevestig dat de twee pogingen identieke waarden opleveren. Als ze verschillen, kijk je naar een generator die geautomatiseerde asserties niet kan ondersteunen, en het artikel over bedrijfsregistratienummers legt uit wat je dan in plaats daarvan moet vragen. Voor teams die een stagingdatabase op volume vullen, behandelt de seedingswalkthrough hetzelfde probleem op schaal.

Verder lezen

Handleidingen over Generator voor testbedrijfsgegevens