Del via


Distribusjons- og testhensyn for intelligente programarbeidsbelastninger

Oppretthold en sunn prosess for administrasjon av applivssyklus for å unngå produksjonsproblemer og raskt løse eventuelle regresjoner.

Fastslå strategien for administrasjon av applivssyklus

Sørg for at utviklingsprosessen er effektiv og skalerbar ved å utvikle en omfattende strategi for administrasjon av applivssyklus som inkluderer versjonskontroll, kontinuerlig integrering/kontinuerlig utrulling (CI/CD) og automatisert testing.

Evaluer alternativer fra enkel til avansert CI/CD:

Bruk løsninger for miljøadministrasjon

Vedlikehold separate miljøer for utvikling, testing og produksjon. Denne praksisen bidrar til å isolere problemer og sikrer at endringer testes grundig før de når brukerne.

Bruk løsninger for å flytte plugin-moduler som er opprettet i Microsoft Copilot Studio, i forskjellige miljøer.

Viktige anbefalinger og hensyn:

  • Arbeid innenfor konteksten av løsninger: Sikre at all utvikling skjer innenfor rammen av løsninger.
  • Separate løsninger for uavhengig utrulling: Opprett distinkte løsninger bare når det er behov for å rulle ut komponenter uavhengig av hverandre.
  • Forstå begrensninger: Forstå begrensninger ved automatisert utrulling, og evaluer hvilke innstillinger som må angis eller oppdateres manuelt etter utrulling, for eksempel Application Insights-integrering, utrullede kanaler og sikkerhetsinnstillinger.
  • Bruk en egendefinert utgiver og prefiks: Implementer en egendefinert utgiver og prefiks for bedre organisering og administrasjon.
  • Bruk miljøvariabler: Bruk miljøvariabler for innstillinger og hemmeligheter som varierer mellom miljøer.
  • Eksporter og rull ut som administrerte løsninger: Eksporter og rull ut løsninger som administrert, bortsett fra når du konfigurerer et utviklingsmiljø.
  • Begrens tilpassinger til utvikling: Unngå å gjøre tilpassinger utenfor utviklingsmiljøet.
  • Automatiser ALM-prosesser: Vurder automatisering av ALM for kildekontroll og automatiserte utrullinger.

Eksempel

Dette eksemplet gir en oversikt over utrullingsstrategien for en intelligent programarbeidsbelastning og beskriver rollene og prosessene som er knyttet til hvert miljø: Utvikling (Dev), testing (test), kvalitetssikring (QA) og produksjon (prod).

Eksempel på løsningskonfigurasjon

  1. Utviklingsmiljø (Dev):

    • Formål: For den første opprettelsen og tilpasningen av løsningen.
    • Aktiviteter: Utviklere bygger og endrer komponenter som apper, flyter og agenter. Alle tilpassinger og konfigurasjoner utføres her.
    • Gode fremgangsmåter:
      • Bruk en egendefinert utgiver og prefiks for alle komponenter.
      • Implementer miljøvariabler for innstillinger og hemmeligheter.
      • Sørg for at alle endringer er versjonskontrollert og dokumentert.
  2. Testmiljø (Test):

    • Formål: For foreløpig validering og testing av den utviklede løsningen.
    • Aktiviteter: Løsninger eksportere fra Dev-miljøet som administerte løsninger og importeres til Test-miljøet. Funksjons- og integrasjonstesting utføres for å identifisere og løse problemer tidlig.
    • Gode fremgangsmåter:
      • Oppretthold et separat testmiljø for å simulere virkelige scenarioer.
      • Bruk miljøvariabler til å administrere innstillinger og hemmeligheter som er spesifikke for testmiljøet.
      • Automatiser utrullingsprosesser for å sikre konsistens og repeterbarhet.
  3. Kvalitetssikringsmiljø (Q.A. eller QA):

    • Formål: Dedikert til grundig kvalitetssikring og brukeraksepttesting (UAT).
    • Aktiviteter: Administrerte løsninger importeres fra Test-miljøet til QA-miljøet. Omfattende testing, inkludert ytelse, sikkerhet og UAT, utføres for å sikre at løsningen oppfyller alle krav og standarder.
    • Gode fremgangsmåter:
      • Bruk miljøvariabler til å administrere QA-spesifikke innstillinger og hemmeligheter.
      • Involver brukere i UAT for å samle tilbakemeldinger og sikre at løsningen oppfyller deres behov.
      • Automatiser testprosesser der det er mulig for å forbedre effektiviteten og nøyaktigheten.
  4. Produksjonsmiljø (Prod):

    • Formål: Drifter den live, brukerrettede versjonen av løsningen.
    • Aktiviteter: Etter vellykket QA-testing eksporteres den administrerte løsningen fra QA-miljøet og importeres til produksjonsmiljøet. Dette miljøet er strengt kontrollert for å sikre stabilitet og pålitelighet.
    • Gode fremgangsmåter:
      • Rull ut løsninger som administrert for å forhindre uautoriserte endringer.
      • Bruk miljøvariabler til å administrere produksjonsspesifikke innstillinger og hemmeligheter.
      • Overvåk og vedlikehold løsningen for å sikre optimal ytelse og løse eventuelle problemer raskt.

Generell strategi:

  • Separasjon av ansvarsområder: Hvert miljø tjener et distinkt formål, og sikrer at utvikling, testing, kvalitetssikring og produksjonsaktiviteter ikke forstyrrer hverandre.
  • Automatisering: Automatiser ALM-prosesser, inkludert kildekontroll, testing og utrullinger, for å forbedre effektiviteten og redusere risikoen for feil.
  • Konsistens: Oppretthold konsistens på tvers av miljøer ved å bruke miljøvariabler og automatiserte utrullingsskript.

Etabler en teststrategi

Sørg for at du har en klar plan for å validere at intelligente programarbeidsbelastninger og integrasjoner fungerer som forventet.

  • Definer teststrategien for intelligente programarbeidsbelastninger. Bruk Testrammeverk til masseteste brukerytringer og validere at det riktige emnet utløses, eller at det første alternativet «mente du» er det riktige i 90 % av tilfellene.

  • Test integreringer som en del av den fullstendige ende-til-ende-samtaletestingen med skaleringstestfunksjonen for Test Framework.

  • Bruk Power CAT Copilot Studio-pakke til å konfigurere agenter og tester. Kjør individuelle tester mot Copilot Studio-API-ene (Direct Line), og evaluer agentsvarene mot forventede resultater.

  • Pass på at du forstår ikke-funksjonelle krav som tilgjengelighet, forskriftssamsvar, dataoppbevaring/-lagring, ytelse, personvern, gjenopprettingstid, sikkerhet og skalerbarhet. Eksempel: En nettpratmodul på nettstedet skal laste inn og starte en samtale innen fem sekunder etter å ha blitt klikket. På samme måte bør en skyflyt som utløses for å returnere informasjon til brukeren, gi de ønskede dataene innen ti sekunder.