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 rozwiązać wszelkie regresje.
Określanie strategii zarządzania cyklem życia aplikacji (ALM)
Upewnij się, że proces programowania jest wydajny i skalowalny, opracowując kompleksową strategię zarządzania cyklem życia aplikacji (ALM), która obejmuje kontrolę wersji, ciągłą integrację/ciągłe wdrażanie (CI/CD) i zautomatyzowane testowanie.
Oceń opcje od prostej do zaawansowanej ciągłej integracji/ciągłego wdrażania:
- Ręczne wdrażanie rozwiązań.
- Zautomatyzowane wdrażanie z przyjaznymi dla użytkownika potokami w Power Platform (bez kontroli źródła).
- Zautomatyzowane wdrażanie + kontrola źródła za pomocą narzędzi Azure DevOps lub GitHub Power Platform Tools.
- Zautomatyzowane testowanie obciążenia aplikacji inteligentnej w ramach procesu wdrażania.
Używanie rozwiązań do zarządzania środowiskiem
Zarządzaj oddzielnymi środowiskami deweloperskimi, testowymi i produkcyjnymi. Ta praktyka pomaga wyodrębnić problemy i zapewnia, że zmiany są dokładnie testowane, zanim dotrą do użytkowników.
Korzystaj z rozwiązań do przenoszenia dodatków plug-in utworzonych w Microsoft Copilot Studio w różnych środowiskach.
Najważniejsze zalecenia i zagadnienia:
- Praca w kontekście rozwiązań: upewnij się, że cały rozwój oprogramowania 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.
- Zrozum ograniczenia: zapoznaj się z ograniczeniami zautomatyzowanego wdrażania i oceń, które ustawienia należy ustawić lub zaktualizować ręcznie po wdrożeniu, takie jak integracja Application Insights, 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 zależności od środowiska.
- Eksportuj i wdrażaj jako zarządzane rozwiązania: eksportuj i wdrażaj rozwiązania jako zarządzane, z wyjątkiem sytuacji, gdy konfigurujesz środowisko deweloperskie.
- Ogranicz dostosowania do programowania: unikaj wprowadzania dostosowań poza środowiskiem deweloperskim.
- Automatyzuj procesy ALM: rozważ zautomatyzowanie ALM na potrzeby kontroli źródła i zautomatyzowanych wdrożeń.
Przykład
W tym przykładzie przedstawiono omówienie strategii 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 deweloperskie (Dev):
- Cel: początkowe tworzenie i dostosowywanie rozwiązania.
- Działania: deweloperzy tworzą i modyfikują składniki, takie jak aplikacje, przepływy i agenci. 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 pod względem wersji i udokumentowane.
Środowisko testowania (Test):
- Cel: wstępna walidacja i testowanie 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 wczesnego identyfikowania i rozwiązywania problemów.
-
Kluczowe praktyki:
- Utrzymuj oddzielne środowisko testowe, aby symulować rzeczywiste scenariusze.
- Użyj zmiennych środowiskowych, aby zarządzać 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: dedykowane 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 QA. 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żyj zmiennych środowiskowych, aby zarządzać 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ą, dostępną dla użytkownika wersję rozwiązania.
- Działania: po pomyślnym przetestowaniu QA rozwiązanie zarządzane jest eksportowane ze środowiska QA i importowane do środowiska produkcyjnego. To środowisko jest ściśle kontrolowane, aby zapewnić stabilność i niezawodność.
-
Kluczowe praktyki:
- Wdrażaj rozwiązania zarządzane, 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ązać wszelkie problemy.
Strategia ogólna:
- Rozdzielenie zadań: 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, aby zwiększyć wydajność i zmniejszyć ryzyko błędów.
- Spójność: utrzymuj spójność w różnych środowiskach przy użyciu zmiennych środowiskowych i skryptów automatycznego wdrażania.
Ustal strategię testowania
Upewnij się, że masz jasny plan sprawdzania, czy obciążenia i integracje aplikacji inteligentnych działają zgodnie z oczekiwaniami.
Zdefiniuj strategię testowania dla inteligentnych obciążeń aplikacji. Użyj platformy testowej, aby zbiorczo przetestować wypowiedzi użytkownika i sprawdzić, czy odpowiedni temat jest wyzwalany lub czy pierwsza opcja „Czy chodziło Ci o to” jest poprawna w 90% przypadków.
Przetestuj integracje w ramach pełnego, kompleksowego testowania konwersacji za pomocą możliwości testowania skali platformy testowej.
Użyj zestawu Power CAT Copilot Studio do konfigurowania agentów i testów. Uruchom poszczególne testy na interfejsach Copilot Studio API (Direct Line) i oceń odpowiedzi agenta pod kątem 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 widżet czatu na stronie internetowej powinien załadować się i rozpocząć rozmowę w ciągu 5 sekund od kliknięcia. Podobnie przepływ w chmurze wyzwolony w celu zwrócenia informacji użytkownikowi powinien dostarczyć żądane dane w ciągu 10 sekund.