Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Information about the controller can be found in this link: 

Measurements Controller

Test 1

Unique identification


Information (Dansk)

Endpoints:
  GET /bright/measurements        -> maaned   (Monthly)
  GET /bright/measurementDays     -> dag       (Daily)
  GET /bright/measurementHours    -> time      (Hourly)
  GET /bright/measurements15min   -> 15 minutter (Quarterly)

Parametre (alle fire): CustomerID, ServiceID, DateFrom, DateTo

Om dette dokument:
Disse testcases er KRITISKE, datafoelsomme tests, der udfoeres MANUELT af en
tester, som kalder endpointet og sammenligner de returnerede data med det,
kunden kan se i klientprogrammet. 
Hovedfokus er DATOER: der må ALDRIG returneres forkerte datoer/tidspunkter. 
Trivielle scenarier og ting, der allerede er daekket af unit-tests, er ikke gentaget - undtagen hvor det er noedvendigt for at bekraefte datoer mod virkelige data i klienten.

Sådan læses testene:
- Data beskrives ud fra HVAD det er for kunden (fx "forbruget for perioden",
  "tidspunktet en maaling hoerer til"). Testeren skal selv slå op i klienten
  og bekræfte, at vaerdien er korrekt - og dermed at den kommer det rigtige
  sted fra.
- Naar et kald forventes at FEJLE, skal testeren bekraefte, at fejlen er
  synlig i logfilen BLOG, og at der IKKE returneres data til kunden.

Begreber:
  Måling/aflaesning  = et datapunkt med et forbrug (KWh) og et tidspunkt
  Periode            = det interval (DateFrom-DateTo) der spørges om
  Opløsning          = maaned / dag / time / 15 minutter

Tests

Unique identification


DATOER OG TIDSPUNKTER - INGEN FORKERTE DATOER MÅ RETURNERES

  • Hvert datapunkts tidspunkt hører til den rigtige periode
    Hent forbrug for en kunde og sammenlign hvert datapunkts tidspunkt og forbrug
    med det, klienten viser for samme malepunkt. Tidspunkt og forbrug skal stemme
    punkt for punkt.

  • Dagsvisning: forbrug grupperes på den rigtige KALENDERDAG (dansk tid)
    Vælg en kunde med forbrug tæt på midnat. Kontroller, at en måling lige
    FØR midnat tilfalder den ene dato, og en måling lige EFTER midnat den
    næste - præcis som klienten viser dagene. Dagstotalen i svaret skal være
    lig dagstotalen i klienten.

  • Dagsvisning hen over sommertid/vintertid-skift
    Vælg en periode, der indeholder skiftet til sommertid (dag med 23 timer) og
    til vintertid (dag med 25 timer). Kontroller, at selve skiftedagen får den
    rigtige dato og en korrekt dagstotal sammenlignet med klienten.

  • Månedsvisning: forbrug grupperes i den rigtige MÅNED (dansk tid)
    Vælg en kunde med forbrug tæt på et månedsskifte (sidste dag i måneden,
    sen aften). Kontroller, at forbruget tilfalder den rigtige måned, og at
    månedstotalen matcher klienten.

  • Timevisning: tidspunktet matcher den time kunden ser i klienten
    Hent timeforbrug og sammenlign tidspunktet for hver time med klienten - vær
    særligt opmærksom på aftentimer og på dage med tidsomstilling, hvor dansk
    tid og UTC ikke er ens. Bekræft, at den viste time svarer til den time,
    kunden faktisk forbrugte i.

  • 15-minutters visning: ubrudt række af tidspunkter, intet mangler/dubleres
    Hent 15-minutters data for en periode. Kontroller, at tidspunkterne løber i
    ubrudte 15-minutters spring fra start til slut, uden huller og uden gentagne
    tidspunkter.

  • Perioder uden målinger vises som 0 - ikke som huller eller forkerte datoer
    Vælg en kunde/periode, hvor der mangler målinger i en del af perioden (eller
    en helt fremtidig periode uden forbrug). Svaret skal stadig have datapunkter
    for hele perioden med forbrug = 0 og korrekte, fortløbende datoer.

  • Perioden dækkes præcist - intet datapunkt ud over slut-tidspunktet
    Vælg en periode, hvor slut-tidspunktet ligger præcis på et kvarter/en
    døgngrænse. Kontroller, at datapunktet PÅ slut-tidspunktet IKKE er med
    (perioden er til-men-ikke-med slut), og at der ikke er datapunkter før start.

  • Periodeoverskrift (start/slut) svarer til det DER BLEV SPURGT OM
    Hent en periode, hvor der kun findes faktiske målinger i en DEL af perioden.
    Den start- og slutdato, svaret melder for hele udtrækket, skal være den
    periode, der blev spurgt om - ikke indsnævret til første/sidste måling.
    Kritisk fordi: hvis overskriften snævres ind til data, viser klienten en
    forkert periode for udtrækket.

  • A10 - Lokal visning: UTC-tidspunkter omsættes korrekt til dansk tid
    Tag et kendt tidspunkt fra svaret og bekræft, at klienten viser det på det
    korrekte danske klokkeslæt (ingen 1-2 timers forskydning), både i sommer-
    og vintertid.

  • DateFrom skal ligge før DateTo (ellers afvises kaldet)
    Kald med DateFrom lig med eller efter DateTo.
    Kaldet skal afvises med fejl, og der må ikke returneres data. Bekræft, at fejlen er synlig i BLOG.

ØVRIGE DATA - SAMMENHÆNG OG KORREKTHED

  • Totaler hænger sammen på tværs af de fire opløsninger
    Hent samme kunde/malepunkt/periode i flere opløsninger. Summen af 15-minutters
    forbruget skal give samme total som time-, dags- og månedsforbruget for samme
    periode (forbruget bliver lagt sammen, ikke ændret).

  • Returnerede data hører KUN til det ønskede malepunkt
    Vælg en kunde med flere malepunkter.
    Hent for eet bestemt malepunkt og bekræft i klienten, at alt forbrug i svaret tilhører netop dette malepunkt -
    intet andet malepunkts forbrug må være blandet ind.
    Hvis dette sker, skal kaldet i stedet fejle - bekræft da fejlen i BLOG.

  • Forbrug for en inaktiv kunde/installation returneres ikke
    Vælg en kunde eller installation, der ikke er aktiv.
    Der må ikke returneres målinger for den; kaldet skal i stedet fejle.
    Bekræft fejlen i BLOG.
  • Account returned should be unique and identifiable 
    • Error if more than one account with the same active customerid and status for active customer
  • Account detail match the things in Billing

Result:

Update User Account

...