Zagadnienia dotyczące wdrażania i testowania obciążeń aplikacji inteligentnych
Utrzymuj zdrowy proces zarządzania cyklem życia aplikacji (ALM), aby uniknąć problemów produkcyjnych i szybko reagować na wszelkie regresje.
Określ swoją strategię ALM
Upewnij się, że proces programowania jest wydajny i skalowalny, opracowując kompleksową strategię ALM, która obejmuje kontrolę wersji, ciągłą integrację/ciągłe wdrażanie (CI/CD) i testowanie automatyczne.
Oceń opcje od prostej do zaawansowanej CI/CD:
- Ręczne wdrażanie rozwiązań.
- Zautomatyzowane wdrażanie z przyjaznymi dla użytkownika potokami ( Power Platform bez kontroli źródła).
- Zautomatyzowane wdrażanie + kontrola źródła za pomocą Azure DevOps narzędzi lub GitHub Power Platform .
- Zautomatyzowane testowanie drugiego pilota w ramach procesu wdrażania.
Korzystaj z rozwiązań do zarządzania środowiskiem
Utrzymuj oddzielne środowiska do programowania, testowania i produkcji. Ta praktyka pomaga wyodrębnić problemy i zapewnia, że zmiany są dokładnie testowane przed dotarciem do użytkowników.
Korzystaj z rozwiązań , aby przenosić utworzone wtyczki między Copilot Studio różnymi środowiskami.
Najważniejsze zalecenia i kwestie:
- Praca w kontekście rozwiązań: Upewnij się, że cały rozwój odbywa się w ramach rozwiązań.
- Oddzielne rozwiązania do niezależnego wdrażania: twórz odrębne rozwiązania tylko wtedy, gdy istnieje potrzeba niezależnego wdrażania składników.
- Omówienie ograniczeń: Omówienie ograniczeń zautomatyzowanego wdrażania i ocena, które ustawienia należy ustawić lub zaktualizować ręcznie po wdrożeniu, takie jak Application Insights integracja, wdrożone kanały i ustawienia zabezpieczeń.
- Użyj niestandardowego wydawcy i prefiksu: Zaimplementuj niestandardowego wydawcę i prefiks, aby uzyskać lepszą organizację i zarządzanie.
- Użyj zmiennych środowiskowych: użyj zmiennych środowiskowych dla ustawień i wpisów tajnych, które różnią się w różnych środowiskach.
- Eksportowanie i wdrażanie jako rozwiązań zarządzanych: eksportowanie i wdrażanie rozwiązań zgodnie z zarządzaniem, z wyjątkiem sytuacji, gdy konfiguruje się środowisko programistyczne.
- Ogranicz dostosowania do programowania: Unikaj wprowadzania dostosowań poza środowiskiem programistycznym.
- Automatyzowanie procesów ALM: Rozważ automatyzację ALM na potrzeby kontroli źródła i zautomatyzowanych wdrożeń.
Przykład
W tym przykładzie omówiono strategię wdrażania obciążenia aplikacji inteligentnej oraz opisano role i procesy skojarzone z każdym środowiskiem: Programowanie (Dev), Testowanie (Test), Quality Assurance (QA) i Production (Prod).
Środowisko programistyczne (Dev):
- Cel: Do początkowego tworzenia i dostosowywania rozwiązania.
- Działania: Deweloperzy tworzą i modyfikują składniki, takie jak aplikacje, przepływy i copilots. W tym miejscu wykonywane są wszystkie dostosowania i konfiguracje.
- Kluczowe praktyki:
- Użyj niestandardowego wydawcy i prefiksu dla wszystkich składników.
- Zaimplementuj zmienne środowiskowe dla ustawień i wpisów tajnych.
- Upewnij się, że wszystkie zmiany są kontrolowane i udokumentowane w wersji.
Środowisko testowe (Test):
- Cel: Do wstępnej walidacji i testowania opracowanego rozwiązania.
- Działania: Rozwiązania są eksportowane ze środowiska deweloperskiego jako rozwiązania zarządzane i importowane do środowiska testowego. Testy funkcjonalne i integracyjne są przeprowadzane w celu wczesnej identyfikacji i rozwiązania problemów.
- Kluczowe praktyki:
- Utrzymuj oddzielne środowisko testowe, aby symulować rzeczywiste scenariusze.
- Użyj zmiennych środowiskowych do zarządzania ustawieniami i wpisami tajnymi specyficznymi dla środowiska testowego.
- Zautomatyzuj procesy wdrażania, aby zapewnić spójność i powtarzalność.
Środowisko zapewnienia jakości (Q.A. lub QA):
- Cel: Dedykowany do dokładnego zapewnienia jakości i testów akceptacyjnych użytkowników (UAT).
- Działania: Rozwiązania zarządzane są importowane ze środowiska testowego do środowiska kontroli jakości. Przeprowadzane są szeroko zakrojone testy, w tym wydajności, bezpieczeństwa i UAT, aby upewnić się, że rozwiązanie spełnia wszystkie wymagania i standardy.
- Kluczowe praktyki:
- Używanie zmiennych środowiskowych do zarządzania ustawieniami i wpisami tajnymi specyficznymi dla kontroli jakości.
- Zaangażuj użytkowników w UAT, aby zebrać opinie i upewnić się, że rozwiązanie spełnia ich potrzeby.
- Zautomatyzuj procesy testowania tam, gdzie to możliwe, aby zwiększyć wydajność i dokładność.
Środowisko produkcyjne (Prod):
- Cel: Hostuje aktywną wersję rozwiązania skierowaną do użytkownika.
- Działania: Po pomyślnym przetestowaniu kontroli jakości rozwiązanie zarządzane jest eksportowane ze środowiska kontroli jakości i importowane do środowiska produkcyjnego. To środowisko jest ściśle kontrolowane w celu zapewnienia stabilności i niezawodności.
- Kluczowe praktyki:
- Wdrażaj rozwiązania zgodnie z zarządzaniem, aby zapobiec nieautoryzowanym zmianom.
- Użyj zmiennych środowiskowych, aby zarządzać ustawieniami i wpisami tajnymi specyficznymi dla produkcji.
- Monitoruj i utrzymuj rozwiązanie, aby zapewnić optymalną wydajność i szybko rozwiązywać wszelkie problemy.
Ogólna strategia:
- Rozdzielenie problemów: Każde środowisko służy odrębnemu celowi, zapewniając, że działania związane z programowaniem, testowaniem, kontrolą jakości i produkcją nie kolidują ze sobą.
- Automatyzacja: Automatyzuj procesy ALM, w tym kontrolę źródła, testowanie i wdrażanie, w celu zwiększenia wydajności i zmniejszenia ryzyka błędów.
- Spójność: Zachowaj spójność między środowiskami przy użyciu zmiennych środowiskowych i skryptów automatycznego wdrażania.
Ustal strategię testowania
Upewnij się, że masz jasny plan sprawdzenia, czy współpiloci i integracje działają zgodnie z oczekiwaniami.
Zdefiniuj strategię testowania dla inteligentnych obciążeń aplikacji. Użyj struktury testowej do zbiorczego testowania wypowiedzi użytkowników i sprawdzenia, czy wyzwala się odpowiedni temat lub czy pierwsza opcja "czy chodziło Ci o to" jest poprawna w 90% przypadków?
Testowanie integracji w ramach pełnego testowania konwersacji typu end-to-end z możliwością testowania skali struktury testowej.
Użyj zestawu Copilot Studio Power CAT , aby skonfigurować drugiego pilota i testy. Przeprowadź indywidualne testy na interfejsach Copilot Studio API (Direct Line) i oceń odpowiedzi drugiego pilota w stosunku do oczekiwanych wyników.
Upewnij się, że rozumiesz wymagania nieakcyjne, takie jak dostępność, zgodność, przechowywanie/przechowywanie danych, wydajność, prywatność, czas odzyskiwania, zabezpieczenia i skalowalność. Na przykład widget czatu na stronie internetowej powinien załadować się i rozpocząć rozmowę w ciągu 5 sekund od kliknięcia. Podobnie przepływ w chmurze uruchomiony w celu zwrócenia informacji do użytkownika powinien dostarczyć żądane dane w ciągu 10 sekund.