Criando uma ferramenta automatizada de teste de banco de dados com ChatGPT

Ontem à noite pensei em tentar fazer com que o ChatGPT criasse um banco de dados automatizado ferramenta de teste e os resultados foram bastante promissores.

Em conclusão, com orientação, foi capaz de construir um projeto de raiz que executou um script python e um banco de dados postgres. Ele gerou algum esquema aleatório e valores para as tabelas geradas aleatoriamente. Ele forneceu um script Python que faria uma introspecção do banco de dados e executaria consultas nele.

Tudo funcionou fora da caixa? Não. Existem alguns bugs para corrigir no python script que ele gerou. No entanto, o esforço para consertá-los não é alto e certamente todo o processo de ponta a ponta é mais barato, em termos de tempo, em comparação com começando do zero.

Descobri que os bugs encontrados eram em grande parte devido à minha falta de clareza ou ordenação das questões que lhe são colocadas. Era perfeitamente capaz de consertar seu próprio erros / atualização do código existente para corresponder aos novos requisitos ao solicitado a fazê-lo.

O único problema real que encontrei foram erros gerais de API que esperar de algo tão popular em um estado de visualização inicial.

Saí desta experiência visualizando o ChatGPT e tudo o que o segue como um auxiliar de desenvolvimento realmente útil para quem já sabe programar. Isto me ajudou a construir uma ferramenta mais rápido do que eu poderia ter feito se tivesse sentado para fazê-lo de coçar, arranhão. Ainda não o vejo como um substituto para engenheiros de software para dois razões principais - em primeiro lugar: para aplicações não triviais, suspeito que a pessoa requisitos de alimentação no sistema (ou “engenheiro de prompt”) precisa ter um ideia razoável de como construir software em primeiro lugar, para saber como formular solicitações e corrigir erros / preencher lacunas. em segundo lugar: o código sendo gerado nem sempre é bom - sem um engenheiro experiente revisando e tomando posse de qualquer código que seja produzido (propriedade sendo importante para razões de manutenção), então há pouca garantia de que você obterá o que estão esperando.

No entanto; isso ainda é muito cedo. Os problemas descritos podem ser fechados avançar? Absolutamente. Esse tipo de ferramenta será “ruim” para software engenharia como um todo, a longo prazo? Possivelmente. Pessoalmente, estou muito animado por ter esta ferramenta em meu arsenal - já me permitiu construir um protótipo de scaffold aplicações rapidamente. Eu o usaria para código de produção em um local de trabalho? Não mais ou menos do que eu faria com trechos de stackoverflow ou algo parecido. Por agora.

Repositório Github: https://github.com/peter-mcconnell/gpt_sql_test_generator

Capturas de tela:

step 2 step 3 step 4 step 5 step 6 step 7 step 8 step 9 step 10 step 11 step 12 step 13 step 14 step 15 step 16