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 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:

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

Przykładowa konfiguracja rozwiązania

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