Udostępnij za pośrednictwem


Szybki start: generowanie danych na potrzeby testowania i pozorowania (wersja zapoznawcza)

W tym szybkim przewodniku dowiesz się, jak używać narzędzia GitHub Copilot do tworzenia realistycznych i tematycznych zestawów danych wspierających rozwój aplikacji, testowanie i prezentacje. Analizując schemat i kontekst bazy danych, narzędzie GitHub Copilot może generować pozorne dane dopasowane do rzeczywistych formatów, symulować przypadki brzegowe i zmniejszyć nakład pracy ręcznej przy rozmieszczaniu baz danych, co przyspiesza testowanie i bardziej reprezentatywne dla rzeczywistych scenariuszy.

Rozpocznij

Upewnij się, że masz połączenie z bazą danych i masz otwarte aktywne okno edytora z rozszerzeniem MSSQL. To połączenie umożliwia uczestnikowi czatu @mssql zrozumienie kontekstu środowiska bazy danych, umożliwiając dokładne i kontekstowe sugestie. Bez połączenia z bazą danych uczestnik czatu nie będzie miał schematu ani kontekstu danych w celu zapewnienia znaczących odpowiedzi.

W poniższych przykładach użyto bazy danych AdventureWorksLT2022 jako przykładu, którą można pobrać ze strony głównej Przykładów i projektów społeczności programu Microsoft SQL Server.

Aby uzyskać najlepsze wyniki, dostosuj nazwy tabel i schematów, aby dopasować je do własnego środowiska.

Upewnij się, że czat zawiera @mssql prefiks. Na przykład wpisz @mssql pytanie lub monit. Dzięki temu uczestnik czatu rozumie, że prosi o pomoc związaną z językiem SQL.

Generowanie realistycznych i testowalnych danych za pomocą narzędzia GitHub Copilot

Narzędzie GitHub Copilot może pomóc w generowaniu danych testowych i pozorujących bezpośrednio ze schematu SQL lub przykładów JSON. Niezależnie od tego, czy przygotowujesz zestawy danych do pokazów, testowania przypadków brzegowych, czy wypełniasz środowisko projektowe danymi tematycznymi lub losowymi, usługa GitHub Copilot oferuje pomocne sugestie kontekstowe, które pomogą skrócić czas i poprawić pokrycie, szczególnie tam, gdzie ręczne wprowadzanie danych byłoby powolne lub niespójne.

Poniżej przedstawiono typowe przypadki użycia i przykłady tego, co można zadać za pośrednictwem uczestnika czatu.

Generowanie danych testowych

Użyj narzędzia GitHub Copilot, aby wygenerować tematyczne, losowe lub reprezentatywne przykładowe dane dla istniejących tabel. Można zażądać określonych liczb wierszy, zastosować wzorce nazw/wartości lub tworzyć zestawy danych na podstawie struktur zewnętrznych, takich jak przykłady JSON.

  • Generowanie danych testowych dla tabeli SalesLT.Customer z 100 przykładowymi rekordami.

  • Wypełnij tabelę SalesLT.Product 50 elementami, z których każda ma unikatowe nazwy i ceny.

  • Wygeneruj dane przykładowe dla tabeli SalesLT.SalesOrderHeader z 200 rekordami, w tym datami zamówień i identyfikatorami klientów.

  • Na podstawie tego przykładowego kodu JSON z czterema rekordami wygeneruj schemat tabeli SQL i wypełnij go 50 pozornymi rekordami. Użyj nazw znaków z dobrze znanych książek sci-fi (na przykład Dune, Foundation, Ready Player One) dla pól firstName i lastName, aby dane były bardziej realistyczne i tematyczne.

    [
      { "firstName": "Alice", "lastName": "Smith", "email": "alice@example.com" },
      { "firstName": "Bob", "lastName": "Jones", "email": "bob@example.com" },
      { "firstName": "Charlie", "lastName": "Brown", "email": "charlie@example.com" },
      { "firstName": "Dana", "lastName": "White", "email": "dana@example.com" }
    ]
    

Testowanie przypadków brzegowych

Przechodzenie poza podstawowe generowanie danych przy użyciu narzędzia GitHub Copilot w celu symulowania przypadków brzegowych i weryfikowania zachowania systemu. Niezależnie od tego, czy przeprowadzasz testy obciążeniowe logiki biznesowej, sprawdzasz niepowodzenia weryfikacji danych, czy zapewniasz spójność relacyjną, narzędzie GitHub Copilot może pomóc w generowaniu odpowiednich danych oraz zapisywaniu asercji lub logiki testowania w celu weryfikowania wyników.

  • Wygeneruj instrukcje insert dla elementu SalesLT.SalesOrderDetail z wartościami OrderQty na górnej granicy (na przykład 1000 jednostek) i sprawdź, czy system wymusza ograniczenia ilości.

  • Utwórz dane testowe dla programu SalesLT.Customer z nieprawidłowymi formatami poczty e-mail i napisz zapytanie, które flaguje te rekordy do przeglądu.

  • Wygeneruj dane testowe dla SalesLT.Product z cenami dla przypadków brzegowych, takimi jak StandardCost = 0 czy wartościami ujemnymi, i napisz zapytanie, które wyróżnia anomalie.

  • Symuluj integralność danych, generując 500 SalesOrderDetail wierszy, które poprawnie odwołują się do prawidłowych ProductID wartości i SalesOrderID z powiązanych tabel, i upewnij się, że narzędzie GitHub Copilot zawiera logikę walidacji.

  • Napisz skrypt testowy, który potwierdza, że wartość SalesOrderHeader.TotalDue jest zawsze większa niż wartość SubTotal dla każdego zamówienia, co pomaga wykrywać błędne obliczenia w logice biznesowej.

  • Za pomocą funkcji SQLAlchemy utwórz test, który próbuje wstawić SalesOrderDetail rekord z wartością null ProductID i sprawdź, czy narzędzie ORM zgłasza błąd integralności z powodu ograniczenia klucza obcego.

  • Za pomocą funkcji Prisma wygeneruj logikę testową, która próbuje wstawić element Product z wartością StandardCost-10. Sprawdź, czy prisma odrzuca wpis i rejestruje odpowiedni komunikat o błędzie.

Informacja zwrotna: Generowanie danych na potrzeby testowania i pozorowania

Aby pomóc nam udoskonalić i ulepszyć narzędzie GitHub Copilot dla rozszerzenia MSSQL, użyj następującego szablonu problemu GitHub, aby przesłać swoją opinię: GitHub Copilot Feedback

Podczas przesyłania opinii należy wziąć pod uwagę następujące kwestie:

  • Przetestowane scenariusze — daj nam znać obszary, na przykład tworzenie schematu, generowanie zapytań, zabezpieczenia, lokalizację.

  • Co się udało — opisz wszelkie doświadczenia, które przebiegły sprawnie, były pomocne lub przerosły twoje oczekiwania.

  • Problemy lub błędy — obejmują wszelkie problemy, niespójności lub mylące zachowania. Zrzuty ekranu lub nagrania ekranu są szczególnie przydatne.

  • Sugestie dotyczące poprawy — podziel się pomysłami na poprawę użyteczności, rozszerzaniem zasięgu lub ulepszaniem odpowiedzi w usłudze GitHub Copilot.