Versions Compared

Key

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

...

Læseren forventes at have kendskab til Java software udvikling, herunder unittesting ved anvendelse af JUnit og Maven.

Afviklede komponenttest

Følgende tests er I de følgende afsnit beskrives de tests der afviklet som en del af udviklingen af NAS 2 komponenterne.

Der henvises i øvrigt til NAS 2.0 Udviklerguide for udførselsvejledning og NAS 2.0 Testrapport for resultat.

UnitTests

Der findes UnitTests af alle centrale enheder (klasser) i NAS 2.

...

Unittests og tilhørende udregning af testcoverage udføres som en integreret del af byg af komponenten (se i øvrigt NAS 2.0 Udviklerguide).

Integrationstest til verifikation af funktionalitet og deployment

Integrationstestene for NAS 2 er implementeret vha JUnit i modulet integration-test, og er beregnet til afvikling mod en kørende udgave af NAS 2.

...

Testrapporter kan genereres i HTML med kommandoer: mvn surefire-report:report; mvn site -DgenerateReports=false

Sammenhæng mellem integrationstests og user stories

NAS 2.0 Design og Arkitekturbeskrivelse findes en liste over, hvilke user stories, der er relevante for hvilke delkomponenter i NAS 2.0.

...

Ved at sammenholde testrapporten NAS 2.0 Testrapport med listen af user stories kan det verificeres, hvorledes dækningen er.

Performancetests

...

Info
titleNoter fra møde med SDS 11/4-209

Der skal laves 1000 pullpoints  1 enkelt topic, af disse skal de 20 af dem have kaldt GetMessage under testen

Der behøver ikke ligge beskeder på det anvendte topic inden testen starter

Hver af de 1000 pullpoints skal have en unik idliste med 3000 unikke id'er hver.

Der skal laves en baggrundsbelastning til Notify der leverer 40 adviseringer pr sekund.

Adviseringerne skal have id'er således at de er ligeligt fordelt på de id'er som de 20 pullpoints har. Dvs 2 adviseringer pr. pullpoint pr. sekund.

Se filen 2019-04-11 14.03.06.jpg for noter fra selve mødet.

...

Udover ovenstående test på pullpoint laves performance test på notification broker:

Performance krav

Der er følgende performance krav til NAS servicen:

Notifications broker

  • Forudsætninger:
    • Test: 10 adviseringer pr. sekund (1 advisering per kald)
  • Krav:
    • Gennemsnitlig svartid skal være under 250 millisekunder
    • 95 % skal være under 500 millisekunder
    • 99 % skal være under 2.000 millisekunder

Pullpoint

  • Forudsætninger:
    • Baggrundsdata:
      • 1 topic
      • 1.000 pullpoints på dette topic (20 af disse bruges aktivt under testen)
      • Hver pullpoint har en unik idliste med hver 3000 id'er
      • Der behøver ikke være beskeder på tipic inden testen starter
    • Baggrundsbelastning
      • Notifikation broker skal lave 40 adviseringer per sekund fordelt ligeligt på 20 udvalgte pullpoints
      • Dvs. 2 adviseringer per pullpoint per sekund
    • Test: 1 kald til getMessage på en af de 20 udvalgte pullpoints hver 10. sekund
  • Krav:
    • Gennemsnitlig svartid skal være under 5.000 millisekunder
    • 95 % skal være under 10.000 millisekunder
    • 99 % skal være under 20.000 millisekunder

Disse belyses ved 2 test. En for notification broker og en for pullpoint. I nedenstående afsnit skal der skelnes mellem disse, da baggrundsdata og udførsel af test ikke er ens for de to, 

Baggrundsdata

Notification broker

(TBD)

Pullpoint

Vedlagt sql script

Et sql script med insert statements til baggrundsdata til performance testen for pullpoint, er attached på dette dokument (nas_performancetest.sql). Der er en del insert linier i filen (3.004.001) så vær opmærksom på det tager noget tid (timer) at indlæse.

Scriptet indeholder følgende dele, der samlet opfylder forudsætningerne til de 2 performance teste:

  • 1 topic (topic_mapping)
  • 1.000 idlister (id_list)
  • 3.000.000 (1.000*3.000) idliste indhold (id_list_content)
  • 1.000 pullpoints (pull_point)
  • 1.000 subscriptions (subscription)
  • 1.000 consumers (nas_consumer) 

Før test kørslen for pullpoint skal dette sql script indlæses til en tom NAS database.

Ændring af sql insert fil

Ønskes et andet datagrundlag kan sql filen skabes vha. java klassen GenerateTestdataSql, der findes i NSP performance test sourcen under NAS (https://svn.nspop.dk/svn/components/performance/trunk).

Den nuværende sql fil er skabt med parametrene: pullPoint 1000 3000 idtype01 TESTNAS-TOPIC-PERFORMANCE-01 30808460SOSITEST .

Udførsel af test

Forberedelse

Testen hentes fra https://svn.nspop.dk/svn/components/performance/trunk i den revision, der er angivet nedenfor per release af NAS servicen.

Databasen klargøres. Tom NAS database, de respektive scripts er kørt som nævnt under baggrundsdata.

Der skal være en kørende version af NAS servicen, man kan teste imod. Og host.properties skal være sat korrekt op jf. arosiis performance test framework.

Kørsel

Når databasen er på plads, servicen kørende og testen configureret kan følgende køres:

Notification broker

run_test.sh -h hosts.properties -p 9012 nas notificationbroker nbtest900

Pullpoint

run_test.sh -h hosts.properties -p 9012 nas pullpoint pptest900


(distributionenerne *test900 kører 15 minutter, der findes også kørsler til 10 sekunder (*test10) )

Version

NAS Release

Performance test revision

2.*.*(TBD) eller nyere






'* ' betyder hvilken som helst

...

Funktionstest

User stories

...