Dela via


Att tänka på vid distribution och testning för arbetsbelastningar för intelligenta program

Upprätthåll en felfri ALM-process (Application Lifecycle Management) för att undvika produktionsproblem och för att snabbt åtgärda eventuella regressioner.

Bestäm din ALM-strategi

Se till att din utvecklingsprocess är effektiv och skalbar genom att utveckla en omfattande ALM-strategi som inkluderar versionskontroll, kontinuerlig integrering/kontinuerlig distribution (CI/CD) och automatiserad testning.

Utvärdera alternativ från enkel till avancerad CI/CD:

Använd lösningar för miljöhantering

Upprätthåll separata miljöer för utveckling, testning och produktion. Den här metoden hjälper till att isolera problem och säkerställer att ändringar testas noggrant innan de når användarna.

Använd lösningar för att flytta plugin-program som skapats i Copilot Studio olika miljöer.

Viktiga rekommendationer och överväganden:

  • Arbeta inom ramen för lösningar: Se till att all utveckling sker inom ramen för lösningar.
  • Separata lösningar för oberoende distribution: Skapa bara distinkta lösningar när det Dit finns ett behov av att distribuera komponenter oberoende av varandra.
  • Förstå begränsningar: Förstå begränsningarna för automatiserad distribution och utvärdera vilka inställningar som Application Insights måste anges eller uppdateras manuellt efter distributionen, till exempel integrering, distribuerade kanaler och säkerhetsinställningar.
  • Använd en anpassad utgivare och ett anpassat prefix: Implementera en anpassad utgivare och ett anpassat prefix för bättre organisation och hantering.
  • Använd miljövariabler: Använd miljövariabler för inställningar och hemligheter som varierar mellan olika miljöer.
  • Exportera och distribuera som hanterade lösningar: Exportera och distribuera lösningar som hanterade, förutom när du konfigurerar en utvecklingsmiljö.
  • Begränsa anpassningar till utveckling: Undvik att göra anpassningar utanför utvecklingsmiljön.
  • Automatisera ALM-processer: Överväg att automatisera ALM för källkontroll och automatiserade distributioner.

Exempel

Det här exemplet ger en översikt över distributionsstrategin för en intelligent programarbetsbelastning och beskriver de roller och processer som är associerade med varje miljö: Utveckling (Dev), Testning (Test), Kvalitetssäkring (QA) och Produktion (Prod).

Exempel på lösningskonfiguration

  1. Utvecklingsmiljö (Dev):

    • Syfte: För det första skapandet och anpassningen av lösningen.
    • Aktiviteter: Utvecklare skapar och ändrar komponenter som appar, flöden och copilots. Alla anpassningar och konfigurationer utförs Hit.
    • Viktiga metoder:
      • Använd en anpassad utgivare och ett prefix för alla komponenter.
      • Implementera miljövariabler för inställningar och hemligheter.
      • Se till att alla ändringar är versionskontrollerade och dokumenterade.
  2. Testmiljö (Test):

    • Syfte: För preliminär validering och testning av den framtagna lösningen.
    • Aktiviteter: Lösningar exporteras från utvecklingsmiljön som hanterade lösningar och importeras till testmiljön. Funktions- och integrationstestning utförs för att identifiera och lösa problem tidigt.
    • Viktiga metoder:
      • Upprätthåll en separat testmiljö för att simulera verkliga scenarier.
      • Använd miljövariabler för att hantera inställningar och hemligheter som är specifika för testmiljön.
      • Automatisera distributionsprocesser för att säkerställa konsekvens och repeterbarhet.
  3. Kvalitetssäkringsmiljö (Q.A. eller QA):

    • Syfte: Dedikerad till grundlig kvalitetssäkring och testning av användaracceptans (UAT).
    • Aktiviteter: Hanterade lösningar importeras från testmiljön till QA-miljön. Omfattande tester, inklusive prestanda, säkerhet och UAT, utförs för att säkerställa att lösningen uppfyller alla krav och standarder.
    • Viktiga metoder:
      • Använd miljövariabler för att hantera QA-specifika inställningar och hemligheter.
      • Involvera användare i UAT för att samla in feedback och se till att lösningen uppfyller deras behov.
      • Automatisera testprocesser där det är möjligt för att förbättra effektiviteten och noggrannheten.
  4. Produktionsmiljö (Prod):

    • Syfte: Är värd för den aktiva, användarriktade versionen av lösningen.
    • Aktiviteter: Efter framgångsrik QA-testning exporteras den hanterade lösningen från QA-miljön och importeras till produktionsmiljön. Denna miljö är strikt kontrollerad för att säkerställa stabilitet och tillförlitlighet.
    • Viktiga metoder:
      • Distribuera lösningar som hanterade för att förhindra obehöriga ändringar.
      • Använd miljövariabler för att hantera produktionsspecifika inställningar och hemligheter.
      • Övervaka och underhålla lösningen för att säkerställa optimal prestanda och åtgärda eventuella problem snabbt.

Övergripande strategi:

  • Separering av problem: Varje miljö har ett distinkt syfte, vilket säkerställer att utvecklings-, testnings-, QA- och produktionsaktiviteter inte stör varandra.
  • Automation: Automatisera ALM-processer, inklusive källkontroll, testning och distributioner, för att förbättra effektiviteten och minska risken för fel.
  • Konsekvens: Upprätthåll konsekvens i olika miljöer med hjälp av miljövariabler och automatiserade distributionsskript.

Upprätta en teststrategi

Se till att du har en tydlig plan för att validera att dina copilots och integrationer fungerar som förväntat.

  • Definiera din teststrategi för intelligenta programarbetsbelastningar. Använd testramverket för att masstesta användaryttranden och verifiera att rätt ämne utlöses eller att det första alternativet "menade du" är rätt i 90 % av fallen?

  • Testa integreringar som en del av den fullständiga konversationstestningen från slutpunkt till slutpunkt med testfunktionen för skalningstest i testramverket.

  • Använd Power CAT Copilot Studio Kit för att konfigurera copilots och tester. Kör enskilda tester mot API:erna Copilot Studio (Direct Line) och utvärdera copilot-svaren mot förväntade resultat.

  • Se till att du förstår icke-funktionella krav som tillgänglighet, efterlevnad, datalagring/uppehållstillstånd, prestanda, integritet, återställningstid, säkerhet och skalbarhet. Till exempel bör en chattwidget på webbplatsen laddas och starta en konversation inom 5 sekunder efter att du klickat på den. På samma sätt bör ett molnflöde som utlöses för att returnera information till användaren tillhandahålla önskade data inom 10 sekunder.