Udostępnij za pośrednictwem


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).

Przykładowa konfiguracja rozwiązania

  1. Ś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.
  2. Ś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ść.
  3. Ś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ść.
  4. Ś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.