Testowanie oprogramowania z wykorzystaniem generatywnej AI - Helion

ebook
Autor: Mark Winteringham, Nicola Martin (Przedmowa)Tytuł oryginału: Software Testing with Generative AI
Tłumaczenie: Grzegorz Werner
ISBN: 978-83-289-2901-2
stron: 336, Format: ebook
Księgarnia: Helion
Cena książki: 89,00 zł
Książka będzie dostępna od października 2025
Poznaj potencja
Zobacz także:
- Wieczne opóźnienie. Zarządzanie projektami IT 59,00 zł, (23,60 zł -60%)
- JUnit - testy jednostkowe. Kurs video. Automatyzacja procesu testowania w Javie 79,00 zł, (31,60 zł -60%)
- Testy E2E. Kurs video. Protractor, Cypress, Cucumber 149,00 zł, (67,05 zł -55%)
- Android Studio. Kurs video. Narzędzia Android developera 69,00 zł, (31,05 zł -55%)
- Testowanie aplikacji mobilnych na platformę Android. Kurs video. Poziom pierwszy. Testy jednostkowe i UI 59,00 zł, (26,55 zł -55%)
Spis treści
Testowanie oprogramowania z wykorzystaniem generatywnej AI eBook -- 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