Veiklos bandymo plano šablonas

Našumo bandymo plano šablonas, kurį galima naudoti tokį, koks yra, arba modifikuotą, kad atitiktų jūsų projekto poreikius, atsižvelgiant į našumo reikalavimus.



1. Tikslas

Šio skyriaus tikslas yra pateikti aukšto lygio našumo bandymo metodo, kurio reikėtų laikytis taikant projektą. Tai turi būti pateikta visoms suinteresuotosioms šalims ir turėtų būti aptarta, kad būtų pasiektas sutarimas.



2. Įvadas

Pateikiant dalį, reikalaujama, kad sprendimas atitiktų priėmimo kriterijus tiek funkcinių, tiek nefunkcinių sričių atžvilgiu. Šio dokumento tikslas - pateikti nefunkcinio testavimo planą sprendimas.


Šis dokumentas apima:

  • Įvažiavimo ir išvykimo kriterijai
  • Aplinkosaugos reikalavimai
  • Tūrio ir našumo testavimo metodas
  • Veiklos tikrinimo veikla


3. Patekimo kriterijai

Šie veiksmai turėtų būti iš anksto užpildyti / suderinti, kad būtų galima atlikti tikrąją veiklos testavimo veiklą:


  • Nefunkcinių bandymų reikalavimų dokumentą pateikė su kiekybinėmis NFR, jei įmanoma
  • Kritiniai naudojimo atvejai turėtų būti funkciškai patikrinti ir be jokių kritinių klaidų
  • Patvirtintos ir prieinamos dizaino architektūros schemos
  • Pagrindiniai naudojimo atvejai buvo apibrėžti ir nustatyti
  • Sutarta dėl eksploatacinių savybių bandymų tipų
  • Apkrovos purkštukų nustatymas
  • Reikalinga bet kokia duomenų sąranka - pvz. Tinkamas naudotojų, sukurtų , skaičius


4. Išėjimo kriterijai

Našumo testavimo veikla bus baigta, kai:

  • NFR tikslai buvo pasiekti, o komandai buvo pateikti ir patvirtinti veiklos testo rezultatai.


5. Aplinkosaugos reikalavimai

Veikimo testai bus atliekami naudojant stabilią versiją sprendimas (kuris jau išlaikė funkcinius bandymus) ir atliktas specialioje į gamybą panašioje aplinkoje (pre-prod?), priskirtoje eksploatacinėms savybėms tikrinti, be toje aplinkoje veikimo testavimo metu.

5.1 Apkrovos purkštukai

Bus sukurtas vienas ar keli dedikuoti „apkrovos purkštukai“, kad būtų galima pradėti reikiamą apkrovą eksploatacinėms savybėms patikrinti. Apkrovos purkštukas gali būti VM arba keli VM, kuriuose veikia JMeter egzempliorius, inicijuojantis užklausas.

5.2 Testavimo įrankiai

Bandymo įrankiai, naudojami atliekant apimtį ir našumą, bus šie:


5.2.1 JMeter

Atviro kodo apkrovos tikrinimo įrankis. Daugiausia naudojamas tūrio ir našumo bandymams.

5.2.2 „Splunk“

„Splunk“ bus naudojamas registruoti (Galima naudoti kitą įrankį - reikia patvirtinti patikrinimo komandoje).



6. Tūrio ir našumo testavimo metodas

sprendimas turėtų būti pakankamai efektyvus, kad būtų galima valdyti šiuos apkrovos kriterijus.

N.B. Skaičiai šioje lentelėje yra tik pavyzdiniai - tikrosios vertės turėtų būti įterptos, kai jas užbaigs NFR dokumentas.


6.1 Tikslinių paslaugų apimtys

Valandiniai tikslai atrandami iš dabartinio [Y2019] sprendimo. Išvalytos kitos „pavyzdžio“ vertės iš plano šablono.

Kadangi valandinės smailės vertės nėra didelės, jos bus laikomos fiksuoto apkrovos bandymo tikslu. Mastelio koeficientas šiuo metu yra TBD.

6.2 Vartotojų skaičius

Našumo bandymai bus atliekami daugiausia su 1000 [?] Vartotojų. Vartotojai bus sukurti iš anksto ir būti prieinamas per Prisijungimo API. Kiekviena užklausa bus prisijungta naudojant skirtingą vartotojo ID.

6.3 Teiginiai

JMeter įrankis bus naudojamas našumo testavimo scenarijams vykdyti. Scenarijuose bus pateikti teiginiai, siekiant patikrinti aukščiau pateiktą metriką, taip pat keletas pagrindinių funkcinių patikrinimų, siekiant užtikrinti teisingus atsakymus į kiekvieną užklausą.


6.4 Įkelti profilius

Apkrovos profiliai turėtų būti sukurti taip, kad imituotų įprastą vidutinį dienos srautą į svetainėje. Atkreipkite dėmesį, kad srautas yra proporcingas tik svetainės kliento tapatybės ir prieigos valdymui, t.

  • Prisijungti
  • Registruotis
  • Atstatyti slaptažodį
  • Pamiršote slaptažodį
  • Nustatykite klientą
  • Gaukite klientą

Žemiau pateikiamas dienos profilio pavyzdys:

6.4.1

Pirmasis veiksmas yra rasti pradinę padėtį. Naudodami tik 1 vartotoją, tam tikrą laiką (pvz., 5 min.) Vykdysime modeliavimą, kad gautume kiekvieno galinio taško atsako trukmės vidurkį. Tai užtikrina, kad tik su vienu vartotoju mes iš tikrųjų galėsime pasiekti didžiausias užklausas per sekundę.


6.4.2 Apkrovos tikrinimas

Surinkus bazinę metriką, atliekamas tas pats modeliavimas, kuris imituoja apkrovos profilį, su didesniu vartotojų skaičiumi, kad būtų galima išbandyti pagal tikslines apimtis. Šio apkrovos bandymo idėja yra išbandyti sistemą pagal tipišką dienos apkrovą, imituojant pakilimus, dienos viršūnes ir žemyn.

6.4.3 Testavimas nepalankiausiomis sąlygomis

Streso testavimo tikslas yra rasti sistemos lūžio tašką, t.y., kurioje vietoje sistema tampa nereaguojanti. Jei yra automatinis mastelio keitimas, testavimas nepalankiausiomis sąlygomis taip pat bus geras rodiklis, kuriuo metu pridedamos sistemos skalės ir nauji ištekliai. Atliekant testavimą nepalankiausiomis sąlygomis naudojamas tas pats modeliavimas, kuris buvo naudojamas apkrovos bandymams atlikti, tačiau su didesne, nei tikėtasi, apkrova.

6.4.4 Smaigalių testavimas

Smaigalių bandymai sistemai sukuria didelę apkrovą per gana trumpą laiką. Šio bandymo tikslas yra imituoti, pavyzdžiui, pardavimo įvykį, kai didelis skaičius vartotojų vienu metu prieina savo sąskaitą per gana trumpą laiką.

6.4.5 Mirkymo testavimas

Mirkymo bandymai apkrovos testą atliks ilgesnį laiką. Tikslas yra atskleisti visus atminties nutekėjimus ir nereagavimą ar klaidas per mirkymo testą. Paprastai mes naudosime 80% apkrovos (naudojamos apkrovos bandymams) 24 valandas ir (arba) 60% apkrovos 48 valandas.

6.4.6 Sodrumo taško testavimas

Atliekant prisotinimo taško bandymą, mes nuolat didiname apkrovą, kad nustatytume, kuriame taške sistema nereaguoja, t. Y. Nustatant sistemos lūžio tašką pagal apkrovą.



7. Veiklos patikrinimo veikla

Siūloma atlikti šias veiklas norint užbaigti našumo testavimą:

7.1 Našumo bandymo aplinkos sudarymas

  • Įpurškimo įpurškėjai turėtų būti pakankamai pajėgūs ir valdomi nuotoliniu būdu. Taip pat reikėtų susitarti dėl purkštukų vietos
  • Turėtų būti įdiegtas realaus laiko stebėjimo ir perspėjimo mechanizmas, kuris turėtų apimti programą, serverius ir apkrovos purkštukus.
  • Programų žurnalai turėtų būti prieinami.

7.2 Naudojimo atvejų scenarijai

  • Veikimo testavimo įrankis, kuris bus naudojamas, yra „JMeter“
  • Buvo aptarti bet kokie duomenų reikalavimai, norint naudoti scenarijus

7.3 Testo scenarijaus sudarymas

  • Atliekamo bandymo tipas (apkrova / įtampa ir kt.)
  • Kiekvienam bandymo tipui turėtų būti susitarta dėl apkrovos profilio / apkrovos modelio (aukštyn / žemyn, pakopos ir kt.)
  • Įtraukite mąstymo laiką į scenarijus

7.4 Testo vykdymas ir analizė

Šie bandymai turėtų būti atliekami tokia tvarka:

  • Pradinis testas
  • Apkrovos bandymas
  • Streso testas
  • Smaigalio testas
  • Sugerti testą
  • Soties taško testas

Idealiu atveju bus atlikti 2 kiekvieno tipo bandymai. Po kiekvieno bandymo programa gali būti tiksliai sureguliuota, kad padidėtų jos veikimas, tada prasideda kitas bandymo ciklas.

7.5 Po testo analizė ir ataskaitų teikimas

  • Užfiksuokite ir sukurkite atsargines visų susijusių duomenų ataskaitų ir archyvų kopijas.
  • Nustatykite sėkmę ar nesėkmę palygindami bandymo rezultatus su tiksliniais rezultatais. Jei tikslai nepasiekiami, reikia atlikti atitinkamus pakeitimus ir tada prasideda kitas bandymo vykdymo ciklas. Nežinoma, kiek vykdymo ciklų reikės norint pasiekti sutartus tikslus.
  • Dokumentuokite ir pristatykite bandymo rezultatus komandai.