what is scalability testing
Uvod v preizkušanje razširljivosti:
Testiranje razširljivosti je nefunkcionalna preskusna metodologija, pri kateri se uspešnost aplikacije meri glede na njeno zmožnost povečati ali zmanjšati število uporabniških zahtev ali drugih takšnih atributov merila uspešnosti.
Testiranje razširljivosti je mogoče izvesti na ravni strojne opreme, programske opreme ali baze podatkov.
Parametri, uporabljeni za to preskušanje, se od aplikacije do aplikacije razlikujejo, za spletno stran je to lahko število uporabnikov, poraba CPE-ja, uporaba omrežja, medtem ko bi bilo za spletni strežnik število obdelanih zahtev.
Ta vadnica vam bo dala popoln pregled nad Preizkušanje razširljivosti, skupaj z njegovimi atributi in različnimi koraki pri izvajanju testa s praktičnimi primeri, ki vam omogočajo boljše razumevanje koncepta.
Kaj se boste naučili:
- Preizkušanje razširljivosti Vs preskus obremenitve
- Atributi testiranja razširljivosti
- Koraki za preizkušanje razširljivosti aplikacije
- Zaključek
- Priporočeno branje
Preizkušanje razširljivosti Vs preskus obremenitve
Preizkušanje obremenitve meri aplikacijo, ki jo preizkušate, pri največji obremenitvi, pri kateri bi se sistem zrušil. Glavni namen preskušanja obremenitve je določiti najvišjo točko, po kateri uporabniki ne bi mogli uporabljati sistema.
Tako obremenitev kot razširljivost spadata v metodologijo testiranja učinkovitosti.
Razširljivost se od preskušanja obremenitve razlikuje po tem, da test razširljivosti meri sistem na najmanjšo in največjo obremenitev na vseh ravneh, vključno s programsko, strojno in bazo podatkov. Ko ugotovimo največjo obremenitev, se morajo razvijalci ustrezno odzvati, da zagotovijo, da je sistem prilagodljiv po določeni obremenitvi.
Primer: Če preskus razširljivosti določi, da je največja obremenitev 10.000 uporabnikov, morajo razvijalci, da bo sistem razširljiv, sprejeti ukrepe glede dejavnikov, kot so zmanjšanje odzivnega časa po doseženi 10.000 uporabniški omejitvi ali povečanje velikosti RAM-a, da se prilagodijo naraščajočim uporabniškim podatkom.
Testiranje obremenitve vključuje največjo obremenitev razvitih aplikacij naenkrat, preskušanje razširljivosti pa postopno povečevanje obremenitve v določenem časovnem obdobju.
Testiranje obremenitve določa točko, pri kateri se aplikacija zruši, medtem ko razširljivost skuša ugotoviti razlog za zrušitev aplikacije in sprejeti ukrepe za rešitev težave.
Skratka, testiranje obremenitve pomaga prepoznati težave z zmogljivostjo, medtem ko testiranje razširljivosti pomaga ugotoviti, ali sistem lahko poveča vse večje število uporabnikov.
Atributi testiranja razširljivosti
Atributi preizkusa razširljivosti določajo merila učinkovitosti, na podlagi katerih se bo to preskušanje izvedlo.
Nekaj pogostih lastnosti:
1) odzivni čas:
- Odzivni čas je čas med uporabniško zahtevo in odzivom aplikacije. To testiranje se opravi, da se ugotovi odzivni čas strežnika pri najmanjši obremenitvi, mejni obremenitvi in največji obremenitvi, da se določi točka, na kateri bi se aplikacija zlomila.
- Odzivni čas se lahko poveča ali zmanjša glede na različno uporabniško obremenitev aplikacije. V idealnem primeru bi se odzivni čas aplikacije zmanjšal, ko se obremenitev uporabnika nenehno povečuje.
- Šteje se, da je aplikacija razširljiva, če lahko zagotavlja enak odzivni čas za različne stopnje uporabniške obremenitve.
- V okoljih v grozdih, kjer je obremenitev aplikacije porazdeljena med več komponent strežnika, mora preskušanje razširljivosti meriti obseg, v katerem izravnalnik obremenitve razporeja obremenitev med več strežniki. To bo zagotovilo, da en strežnik ne bo preobremenjen z zahtevami, medtem ko drugi strežnik sedi v prostem teku in čaka, da pride zahteva.
- Odzivni čas vsake strežniške komponente je treba natančno izmeriti, če aplikacija gostuje v gručastem okolju, preskušanje razširljivosti pa mora zagotoviti, da mora biti odzivni čas vsake strežniške komponente enak, ne glede na količino obremenitve na posameznem strežniku.
- Primer: Odzivni čas lahko merimo kot čas, v katerem uporabnik vnese spletni naslov v spletni brskalnik, do časa, do katerega spletna stran naloži vsebino. Manjši kot je odzivni čas, večja bi bila zmogljivost aplikacije.
2) Pretočnost:
- Pretočnost je merilo števila zahtev, ki jih aplikacija obdela v enoti časa.
- Rezultat prepustnosti se lahko razlikuje od aplikacije do aplikacije. Če gre za spletno aplikacijo, se pretočnost meri glede na število uporabniških zahtev, obdelanih na enoto časa, in če gre za bazo podatkov. pretočnost se meri glede na število poizvedb, obdelanih v času enote.
- Šteje se, da je aplikacija razširljiva, če lahko zagotavlja enako zmogljivost za različne stopnje obremenitve notranjih aplikacij, strojne opreme in baze podatkov.
3) Uporaba procesorja:
- Uporaba CPU-ja je merilo uporabe CPU-ja za izvajanje naloge s pomočjo aplikacije. Uporaba CPU se običajno meri v enotah MegaHertz.
- Idealno bi bilo, da je bolj kot je koda aplikacije optimizirana, manjša bo opazovana uporaba CPU.
- Da bi to dosegli, številne organizacije uporabljajo standardne prakse programiranja, da zmanjšajo uporabo procesorja.
- Primer: Odstranjevanje mrtve kode v aplikaciji in zmanjšanje uporabe Thread. Metode spanja so ena najboljših praks programiranja za čim manjšo uporabo procesorja.
4) Uporaba pomnilnika:
- Poraba pomnilnika je merilo pomnilnika, ki ga aplikacija porabi za izvajanje naloge.
- V idealnem primeru se pomnilnik meri v bajtih (MegaBytes, GigaBytes ali Tera Bytes), ki jih razvita aplikacija uporablja za dostop do pomnilnika z naključnim dostopom (RAM).
- Uporabo pomnilnika aplikacije je mogoče zmanjšati z upoštevanjem najboljših praks programiranja.
- Primeri najboljših praks programiranja bi bili, če ne bi uporabljali odvečnih zank, zmanjšali zadetkov v bazo podatkov, uporabili predpomnilnik, optimizirali uporabo poizvedb SQL itd. Program velja za razširljiv, če zmanjša uporabo pomnilnika na največji možni obseg.
- Primer: Če prostora za shranjevanje, ki je na voljo določenemu številu uporabnikov, ostane brez pomnilnika, bo razvijalec prisiljen dodati dodatno pomnilniško bazo podatkov, da nadomesti izgubo podatkov.
5) Uporaba omrežja:
- Uporaba omrežja je količina pasovne širine, ki jo porabi preizkušena aplikacija.
- Cilj uporabe omrežja je zmanjšati prezasedenost omrežja. Uporaba omrežja se meri v smislu prejetih bajtov na sekundo, prejetih sličic na sekundo, sprejetih in poslanih segmentov na sekundo itd.
- Tehnike programiranja, kot je uporaba tehnik stiskanja, lahko pomagajo zmanjšati zastoje in zmanjšati uporabo omrežja. Šteje se, da je aplikacija razširljiva, če lahko deluje z minimalno prezasedenostjo omrežja in zagotavlja visoko zmogljivost aplikacije.
- Primer: Namesto da bi sledil mehanizmu čakalne vrste za obdelavo uporabniških zahtev, lahko razvijalec napiše kodo za obdelavo uporabniških zahtev, ko in ko zahteva prispe v bazo podatkov.
Poleg teh parametrov obstaja še nekaj manj uporabljenih parametrov, kot so odzivni čas zahteve strežnika, čas izvajanja naloge, čas transakcije, čas nalaganja spletne strani, čas za pridobitev odziva iz baze podatkov, čas ponovnega zagona, čas tiskanja, čas seje, prehod zaslona , transakcije na sekundo, zadetki na sekundo, zahteve na sekundo itd.
Atributi za preizkušanje razširljivosti se lahko razlikujejo od ene aplikacije do druge, saj merilo učinkovitosti spletnih aplikacij morda ne bo enako kot pri namizju ali aplikaciji odjemalec-strežnik.
Koraki za preizkušanje razširljivosti aplikacije
Glavna prednost izvajanja tega testiranja na aplikaciji je razumevanje vedenja uporabnika, ko je dosežena največja obremenitev, in načinov za njegovo razrešitev.
To preskušanje omogoča tudi preizkuševalcem, da prepoznajo poslabšanje na strani strežnika in odzivni čas glede na obremenitev uporabnika aplikacije. Kot rezultat, ima to testiranje prednost v več organizacijah po vsem svetu.
Spodaj je seznam korakov za preizkus razširljivosti aplikacije:
- Ustvarite ponovljive preskusne scenarije za vsakega od atributov preizkušanja razširljivosti.
- Preizkusite aplikacijo za različne stopnje obremenitve, kot so majhne, srednje in visoke obremenitve, in preverite vedenje aplikacije.
- Ustvarite preskusno okolje, ki je dovolj stabilno, da prenese celoten preskusni cikel razširljivosti.
- Konfigurirajte strojno opremo, potrebno za izvedbo tega preskušanja.
- Določite nabor navideznih uporabnikov za preverjanje vedenja aplikacije pod različnimi obremenitvami uporabnikov.
- Ponovite preskusne scenarije za več uporabnikov pod različnimi pogoji sprememb notranjih aplikacij, strojne opreme in baze podatkov.
- V primeru gručastega okolja preverite, ali izravnalnik obremenitve usmerja uporabniške zahteve na več strežnikov, da zagotovite, da noben strežnik ni preobremenjen z vrsto zahtev.
- Izvedite testne scenarije v testnem okolju.
- Analizirajte ustvarjena poročila in preverite področja izboljšav, če obstajajo.
Zaključek
Na kratko,
j2ee intervju in vprašanja in odgovori pdf
=> Testiranje razširljivosti je nefunkcionalna preskusna metodologija za preverjanje, ali se aplikacija lahko poveča ali zmanjša na različne atribute. Atributi, uporabljeni za to preskušanje, se razlikujejo od ene do druge aplikacije.
=> Glavni cilj tega testiranja je ugotoviti, kdaj se aplikacija začne razgrajevati pri največji obremenitvi, in sprejeti ustrezne ukrepe za zagotovitev, da je razvita aplikacija dovolj razširljiva, da ustreza spremembam v notranjih aplikacijah, programski opremi, strojni opremi in tudi zbirki podatkov spremembe v prihodnosti.
=> Če je to testiranje opravljeno pravilno, lahko v razvitih aplikacijah odkrijemo večje napake v zvezi z zmogljivostjo programske, strojne opreme in baze podatkov.
=> Glavna pomanjkljivost tega testiranja bi bila omejitev shranjevanja podatkov z omejitvami velikosti baze podatkov in vmesnega prostora. Omejitve pasovne širine omrežja so lahko tudi ovira pri testiranju razširljivosti.
=> Postopek testiranja razširljivosti se razlikuje od organizacije do organizacije, saj se atributi preizkusa razširljivosti ene aplikacije razlikujejo od drugih aplikacij.
Priporočeno branje
- Testiranje obremenitve z vadnicami HP LoadRunner
- Preskušanje učinkovitosti v primerjavi s preskusom obremenitve v primerjavi s testiranjem izjemnih situacij (razlika)
- Razlika med testiranjem namizja, odjemalskega strežnika in spletnim preskušanjem
- Preizkus obremenitve, stresa in učinkovitosti spletne aplikacije z uporabo WAPT
- Najboljša orodja za testiranje programske opreme 2021 (QA Test Automation Tools)
- Vodič za preizkušanje varnosti spletnih aplikacij
- Testiranje aplikacij - v osnove testiranja programske opreme!
- Namestite svojo aplikacijo v napravo in začnite testirati iz Eclipse