Chat gpt en testdata creeren

28 sep. 2023 | by Ralph Van Der Horst

Chat GPT en testdata creeren

How gebruiken we ChatGPT in Consultancy: een blog serie hieromtrent

Introduction: In deze serie ga ik een reeks blogs maken om jullie hands-on te laten zien hoe we ChatGTP gebruiken in de consultancy-activiteiten die ik dagelijks uitvoer.

Discussie van de dag Vandaag had ik een gesprek met een Tosca-expert (overigens een zeer hardwerkende man) en we bespraken hoe lang het zou duren om een XML dataset te parsen om een BSN-structuur te genereren voor een bepaalde activiteit in een project. Ik daagde hem uit om het totaal anders te doen en hij koos voor Python.

De grote vraag:
Dus de vraag was: Kan ChatGPT samenwerken om hem te helpen bij het maken van een Python-script door een tester die geen programmeervaardigheden heeft? 😅 Het antwoord is… ja ;-), maar 🚀 👩‍💻 👨‍💻

Ja, ChatGPT kan inderdaad helpen bij het opzetten van een Python-script, zelfs voor een tester zonder programmeerkennis. 😃 Er zijn echter bepaalde nuances en complexiteiten in scripting die wellicht een diepere duik of enige praktische ervaring vereisen om volledig te begrijpen. Maar met de juiste begeleiding en tools is alles mogelijk!

Werkinstructie Guide:

Het eerste dat ik hem adviseerde te doen, was Faker installeren:

Installatie: Begin met het installeren van Faker, een bibliotheek die nepgegevens kan genereren in verschillende talen. Dit zal handig zijn om onze XML-structuur te vullen.

pip install Faker

Opzetten van het script:
Om het script te maken, gebruik het object ET.Element:

Hiermee kun je nepdata genereren voor elke taal die kan worden gebruikt in de te maken XML-structuur. Een tweede import die Chatgpt ons gaf en waarvan ik nog nooit had gehoord (die hierboven wel) is ET.Element. Dit zet eigenlijk een elementtree object voor XML op waarmee je gegevens kunt invoeren op basis van de tagstructuur.

from faker import Faker
import xml.etree.ElementTree as ET

fake = Faker('nl_NL')  # Dutch locale

def generate_dutch_citizen_data():
    citizen = ET.Element("citizen")

    # First name and last name
    name = ET.SubElement(citizen, "name")
    name.text = fake.name()

    # BSN
    bsn = ET.SubElement(citizen, "bsn")
    bsn.text = fake.ssn()  # In the Dutch locale, ssn() generates a BSN.

    return citizen

def main():
    root = ET.Element("citizens")

    # Generate data for 10 citizens
    for _ in range(10):
        citizen = generate_dutch_citizen_data()
        root.append(citizen)

    # Convert the XML data to a string and save
    tree = ET.ElementTree(root)
    tree.write("dutch_citizens_data.xml")

if __name__ == "__main__":
    main()

Wanneer het script is gemaakt en je het lokaal hebt uitgevoerd, zie je dat er een structuur is gecreƫerd.

<citizens>
    <citizen>
        <name>Full Name of Citizen 1</name>
        <bsn>BSN of Citizen 1</bsn>
    </citizen>
    <citizen>
        <name>Full Name of Citizen 2</name>
        <bsn>BSN of Citizen 2</bsn>
    </citizen>
    ...
    <citizen>
        <name>Full Name of Citizen 10</name>
        <bsn>BSN of Citizen 10</bsn>
    </citizen>
</citizens>

“Het is ongelooflijk snel, en zowel Python als JavaScript zijn uitstekend in het genereren van deze gegevens. Door het te integreren met tools zoals Tosca en Katalon, of open-source opties zoals Robot Framework, WDIO en Cypress, kun je je testdatamanagement en testautomatiseringssucces aanzienlijk verbeteren.”

Aandachtspunten zijn: je hebt nog steeds enige programmeervaardigheden nodig. Het is fijn dat Chatgpt code genereert en suggesties doet, maar je moet nog steeds interpreteren of de code efficiƫnt en werkend is. Dus voor een niet-technische tester: verdiep je in de studieboeken en leer!

Meer dingen die met ChatGPT gedaan kunnen worden:

Testcases maken: ChatGPT kan helpen testcases te maken voor je software.

Testdocumenten schrijven: Moet je opschrijven hoe je hebt getest? Of de resultaten? ChatGPT kan je hierbij helpen.

Software verkennen: ChatGPT kan testers helpen rond te kijken in de software om fouten te vinden door ernaar te praten.

Raden waar bugs zijn: ChatGPT kan proberen te raden waar de software problemen kan hebben.

Dit is slechts het begin. Er is veel meer dat we kunnen doen met AI in testen en ik geloof dat het veel potentieel heeft.

Meer informatie over hoe je dit voorbeeld van een Python-bestand kunt maken, is te vinden in mijn repo: GitLab Repo, daar staat de instructie in hoe te gebruiken https://gitlab.com/learnautomatedtesting/createtestdatapythonbsn

Volg mij op LinkedIn: www.linkedin.com/comm/mynetwork/discovery-see-all?usecase=PEOPLE_FOLLOWS&followMember=ralphvanderhorst mocht je vragen hebben

More information on how to create this example Pythonfile can be found in my repo https://gitlab.com/learnautomatedtesting/createtestdatapythonbsn

Follow me on LinkedIn: www.linkedin.com/comm/mynetwork/discovery-see-all?usecase=PEOPLE_FOLLOWS&followMember=ralphvanderhorst

by Ralph Van Der Horst

arrow right
back to blog

share this article