-
nowość
-
promocja
Testowanie oprogramowania z wykorzystaniem generatywnej AI - ebook
Testowanie oprogramowania z wykorzystaniem generatywnej AI - ebook
Poznaj potencjał integracji generatywnej sztucznej inteligencji z testowaniem oprogramowania!
Laurence Giglio, FactFindersPro.com
Im więcej testów, tym lepszy kod! Ale jest haczyk, o którym wie każdy profesjonalny tester: dobre testowanie wymaga czasu, a ten bywa zasobem krytycznym. Czy przyszło Ci do głowy, że warto by było zautomatyzować testy, poprawić ich jakość i pokrycie, a także zapewnić sobie lepsze wyniki?
Świetne pomysły na optymalizowanie procesów testowania oprogramowania z użyciem GenAI!
dr Ron HUbler, Capgemini
Dzięki tej książce przekonasz się, że poprzez zastosowanie generatywnej AI możesz usprawnić praktycznie każdy aspekt testowania. Zapewnisz sobie automatyzację pracy, ułatwisz zarządzanie danymi testowymi, pisanie skryptów testowych i testowanie eksploracyjne. A możliwości jest o wiele więcej! Praktyczne przykłady pomogą Ci się nauczyć używać narzędzi AI, takich jak Copilot, do programowania TDD, uzyskiwać opinie o swojej aplikacji od ChatGPT i stosować OpenAI API do generowania danych za pomocą sztucznej inteligencji.
To sprawi, że tworzenie testów stanie się łatwiejsze, szybsze i efektywniejsze.
Za pomocą pragmatycznych przykładów nauczysz się szybszego dostarczania oprogramowania wyższej jakości!
Ankit Virmani, Google
W książce między innymi:
- poprawianie jakości i pokrycia testów
- automatyzowanie testów z użyciem AI
- budowanie asystentów testowania
Techniki testowania, których może używać każdy!
Marvin Schwarze, REWE Group
Spis treści
Przedmowa
Wstęp
Podziękowania
Informacje o książce
Informacje o autorze
Część I. Nastawienie - budowanie pozytywnej relacji z modelami językowymi
- 1. Ulepszanie testowania z użyciem dużych modeli językowych
- 1.1. Wpływ narzędzi AI na testowanie i tworzenie oprogramowania
- 1.1.1. Generowanie danych
- 1.1.2. Zautomatyzowane budowanie testów
- 1.1.3. Projektowanie testów
- 1.2. Dostarczanie wartości z użyciem LLM-ów
- 1.2.1. Model dostarczania wartości
- 1.2.2. Wykorzystywanie zdolności człowieka i AI
- 1.2.3. Sceptycyzm wobec LLM-ów
- Podsumowanie
- 1.1. Wpływ narzędzi AI na testowanie i tworzenie oprogramowania
- 2. Duże modele językowe i inżynieria promptów
- 2.1. Sposób działania dużych modeli językowych
- 2.2. Unikanie zagrożeń związanych z używaniem dużych modeli językowych
- 2.2.1. Halucynacje
- 2.2.2. Pochodzenie danych
- 2.2.3. Prywatność danych
- 2.3. Ulepszenie wyników z użyciem inżynierii promptów
- 2.4. Zasady inżynierii promptów
- 2.4.1. Zasada 1. Pisz jasne i konkretne instrukcje
- 2.4.2. Taktyka 1. Używaj ograniczników
- 2.4.3. Taktyka 2. Proś o ustrukturyzowane wyniki
- 2.4.4. Taktyka 3. Sprawdzaj założenia
- 2.4.5. Taktyka 4. Prompty z kilkoma przykładami
- 2.4.6. Zasada 2. Daj modelowi czas, żeby "pomyślał"
- 2.4.7. Taktyka 1. Określ etapy realizacji zadania
- 2.4.8. Taktyka 2. Poinstruuj model, żeby najpierw znalazł własne rozwiązanie
- 2.5. Praca z różnymi LLM-ami
- 2.5.1. Porównywanie LLM-ów
- 2.5.2. Popularne LLM-y
- 2.6. Tworzenie biblioteki promptów
- 2.7. Rozwiązywanie problemów z użyciem promptów
- Podsumowanie
- 3. Sztuczna inteligencja, automatyzacja i testowanie
- 3.1. Wartość testowania
- 3.1.1. Inne spojrzenie na testowanie
- 3.1.2. Całościowe podejście do testowania
- 3.2. W jaki sposób narzędzia wspomagają testowanie?
- 3.2.1. Złudność automatyzacji
- 3.2.2. Selektywne podejście do narzędzi
- 3.3. Kiedy stosować LLM-y w testowaniu?
- 3.3.1. Generowanie
- 3.3.2. Przekształcanie
- 3.3.3. Rozszerzanie
- 3.3.4. LLM-y w testowaniu
- Podsumowanie
- 3.1. Wartość testowania
Część II. Technika - identyfikowanie zadań i inżynieria promptów w testowaniu
- 4. Testowanie wspomagane przez AI dla programistów
- 4.1. Wzrost znaczenia automatyzacji w programowaniu
- 4.2. Praca w parze z LLM-em
- 4.2.1. Analizowanie pomysłów
- 4.2.2. Analizowanie kodu
- 4.2.3. Dlaczego symulacja jest lepsza niż nic?
- 4.3. Budowanie jakości z pomocą sztucznej inteligencji
- 4.4. Tworzenie pierwszej pętli TDD z wykorzystaniem LLM-ów
- 4.4.1. Przygotowanie pracy
- 4.4.2. Pętla 1. Dodawanie wpisu do karty czasu pracy
- 4.4.3. Pętla 2. Pobieranie wpisu z karty czasu pracy
- 4.4.4. Pętla 3. Obliczanie czasu dla projektu
- 4.4.5. Refaktoryzacja kodu
- 4.5. Ulepszanie dokumentacji i komunikacji z użyciem LLM-ów
- 4.5.1. Generowanie komentarzy w kodzie
- 4.5.2. Generowanie uwag do wydania
- 4.6. Zachowywanie równowagi podczas pracy z asystentami kodowania
- Podsumowanie
- 5. Planowanie testów ze wsparciem AI
- 5.1. Definiowanie planowania testów we współczesnym testowaniu
- 5.1.1. Planowanie testów, LLM-y i obszar oddziaływania
- 5.2. Ukierunkowane prompty dla modeli
- 5.2.1. Słabe prompty to słabe sugestie
- 5.2.2. Czym są modele i dlaczego mogą pomóc?
- 5.3. Łączenie modeli i LLM-ów w planowaniu testów
- 5.3.1. Tworzenie modelu w celu zidentyfikowania promptów
- 5.3.2. Eksperymentowanie z różnymi typami modeli
- 5.4. LLM-y i przypadki testowe
- 5.4.1. Zdrowy sceptycyzm wobec wygenerowanych zagrożeń i przypadków testowych
- Podsumowanie
- 5.1. Definiowanie planowania testów we współczesnym testowaniu
- 6. Szybkie tworzenie danych z użyciem AI
- 6.1. Generowanie i przekształcanie danych za pomocą LLM-ów
- 6.1.1. Generowanie prostych zbiorów danych za pomocą LLM-ów
- 6.1.2. Przekształcanie danych w różne formaty
- 6.2. Przetwarzanie złożonych danych testowych za pomocą LLM-ów
- 6.2.1. Używanie standardowych formatów w promptach
- 6.2.2. Kod SQL jako wskazówka w prompcie
- 6.3. Konfigurowanie LLM-ów jako menedżerów danych testowych
- 6.3.1. Zakładanie konta OpenAI
- 6.3.2. Łączenie się z OpenAI
- 6.4. Korzyści z generowania danych testowych
- Podsumowanie
- 6.1. Generowanie i przekształcanie danych za pomocą LLM-ów
- 7. Przyspieszanie i ulepszanie automatyzacji UI z użyciem sztucznej inteligencji
- 7.1. Szybkie tworzenie automatyzacji UI
- 7.1.1. Konfigurowanie projektu
- 7.1.2. Tworzenie wstępnego sprawdzianu z pomocą ChatGPT
- 7.1.3. Uzupełnianie luk w wygenerowanym kodzie
- 7.2. Poprawianie istniejącej automatyzacji UI
- 7.2.1. Aktualizowanie zarządzania stanem w celu używania odpowiedniej warstwy
- 7.2.2. Nabieranie biegłości w pracy z narzędziami AI
- Podsumowanie
- 7.1. Szybkie tworzenie automatyzacji UI
- 8. Sztuczna inteligencja w testach eksploracyjnych
- 8.1. Organizowanie testów eksploracyjnych z użyciem LLM-ów
- 8.1.1. Rozszerzanie zidentyfikowanych zagrożeń za pomocą LLM-ów
- 8.1.2. Rozszerzanie list kart testowych z użyciem LLM-ów
- 8.2. Używanie LLM-ów podczas testów eksploracyjnych
- 8.2.1. Budowanie zrozumienia
- 8.2.2. Tworzenie danych na użytek sesji
- 8.2.3. Eksplorowanie i badanie usterek
- 8.2.4. Używanie LLM-ów do pomocy w testowaniu eksploracyjnym
- 8.3. Podsumowanie notatek z testów z użyciem modeli językowych
- Podsumowanie
- 8.1. Organizowanie testów eksploracyjnych z użyciem LLM-ów
- 9. Agenty AI jako asystenty testowania
- 9.1. Agenty AI i LLM-y
- 9.1.1. Co definiuje agenty AI?
- 9.1.2. W jaki sposób agent współdziała z LLM-ami?
- 9.2. Tworzenie asystenta testowania opartego na sztucznej inteligencji
- 9.2.1. Konfigurowanie agenta AI
- 9.2.2. Dawanie agentowi AI funkcji do wykonania
- 9.2.3. Łączenie narzędzi w łańcuch
- 9.3. Rozwijanie asystentów testowania opartych na AI
- 9.3.1. Przykłady asystentów testowania opartych na AI
- 9.3.2. Problemy w pracy z agentami
- Podsumowanie
- 9.1. Agenty AI i LLM-y
Część III. Kontekst - dostosowywanie LLM-ów do różnych kontekstów
- 10. Dostosowywanie LLM-ów
- 10.1. Wyzwania związane z kontekstem
- 10.1.1. Tokeny, okna kontekstu i ograniczenia
- 10.1.2. Osadzanie kontekstu jako rozwiązanie
- 10.2. Głębsze osadzanie kontekstu w promptach i LLM-ach
- 10.2.1. RAG
- 10.2.2. Dostrajanie LLM-ów
- 10.2.3. Porównanie dwóch podejść
- 10.2.4. Łączenie RAG i dostrajania
- Podsumowanie
- 10.1. Wyzwania związane z kontekstem
- 11. Kontekstualizowanie promptów z użyciem generowania wspomaganego wyszukiwaniem
- 11.1. Rozszerzanie promptów z użyciem RAG
- 11.2. Budowanie systemu RAG
- 11.2.1. Budowanie systemu RAG
- 11.2.2. Testowanie systemu RAG
- 11.3. Ulepszanie magazynu danych używanego przez RAG
- 11.3.1. Praca z wektorowymi bazami danych
- 11.3.2. Konfigurowanie systemu RAG opartego na wektorowej bazie danych
- 11.3.3. Testowanie systemu RAG opartego na wektorowej bazie danych
- 11.3.4. Potencjał systemów RAG
- Podsumowanie
- 12. Dostrajanie LLM-ów z wykorzystaniem wiedzy dziedzinowej
- 12.1. Proces dostrajania
- 12.1.1. Mapa procesu dostrajania
- 12.1.2. Wyznaczanie celów
- 12.2. Przeprowadzanie sesji dostrajania
- 12.2.1. Przygotowywanie danych do treningu
- 12.2.2. Wstępne przetwarzanie i konfiguracja
- 12.2.3. Praca z narzędziami do dostrajania
- 12.2.4. Uruchamianie procesu dostrajania
- 12.2.5. Testowanie wyników dostrajania
- 12.2.6. Wnioski z dostrajania modelu
- Podsumowanie
- 12.1. Proces dostrajania
A. Konfigurowanie i używanie ChatGPT
B. Konfigurowanie i używanie GitHub Copilota
C. Notatki z testów eksploracyjnych
| Kategoria: | Programowanie |
| Zabezpieczenie: |
Watermark
|
| ISBN: | 978-83-289-2901-2 |
| Rozmiar pliku: | 11 MB |