Mnoho typov testovacích metód softvéru
Can this video get 1 million dislikes?
Obsah:
Predtým, než sa softvér dostane na verejnosť, programátori trávia hodiny pokusom o odstránenie každej malej chyby. Kým produkt nespĺňa všetky zainteresované strany, nebude k dispozícii na komerčné použitie.
Obrovské softvérové spoločnosti, ako napríklad Google, uspejú napriek chybám s nízkou prioritou vo svojom softvéri, pretože majú pacientov investorov a verných používateľov. Menšie spoločnosti a startupy však tento luxus nemajú. Zákazníci očakávajú, že produkty budú robiť to, čo tvrdia na predajnej stránke alebo v dokumentácii. S takým množstvom možností tam nebudú rozmýšľať o skokovej lodi, ak produkt stráca svoj čas a peniaze. Preto softvér podlieha prísnym testom pred vydaním, aby:
- zvýrazniť rozdiely medzi pôvodným konceptom a konečným výstupom
- overiť, či softvér funguje tak, ako projektanti plánovali
- overiť, či konečný výrobok spĺňa požiadavky zákazníka
- posúdiť vlastnosti a kvalitu
Testovanie sa riadi striktným plánom na optimalizáciu zručností, času a peňazí zamestnancov a zároveň poskytuje zainteresovaným stranám dôležité informácie, aby mohli produkt posunúť dopredu. Cieľom je uľahčiť dobrú skúsenosť koncového používateľa prostredníctvom silného programu zabezpečenia kvality.So stávkami tak vysokými sú manažéri QA jedni z najlepších pracovníkov v technologickom priemysle. Testovanie sa zvyčajne riadi týmito krokmi:
- Analýza požiadaviek, kde manažéri načrtnú plán na zavedenie vhodnej testovacej stratégie.
- Testy začínajú a výsledky prechádzajú analýzou.
- Všetky chyby sú opravené a softvér prechádza regresným testovaním - systém na kontrolu, či program po úpravách stále funguje.
- Správa o ukončení testu potom podrobne popisuje celý proces a výsledky.
Jednotlivci sa môžu stať certifikovanými softvérovými testermi prostredníctvom organizácií ako BCS, The Chartered Institute for IT, ISTQB® (International Quality Testing Qualification Board) a ASQ (predtým American Society for Quality).
Metódy testovania softvéru
Black box a biele box testovanie sú dve základné metódy pre posudzovanie správania výrobku a výkonu, ale existujú aj iné metódy.
- Testovanie čiernej skrinky: Táto metóda sa tiež nazýva funkčné testovanie alebo testovanie založené na špecifikáciách. Táto metóda sa zameriava na výstup. Testeri sa netýkajú vnútorných mechanizmov. Kontrolujú len to, či softvér robí to, čo má robiť. Znalosť kódovania nie je potrebná a testeri pracujú na úrovni používateľského rozhrania.
- Testovanie bielej skrinky: Táto metóda využíva know-how kódovania ako súčasť skúšobného postupu. Keď produkt zlyhá, testeri idú tak hlboko do kódu, aký je potrebný na nájdenie príčiny. Vývojári softvéru to robia sami, pretože určujú, ako by mal produkt fungovať. Testy založené na štruktúre a skle sú ďalšími názvami tejto metódy.
- Statické testovanie: Testeri preskúmajú kód a dokumentáciu softvéru, ale program nevykonávajú. Statické testy začínajú už vo vývoji produktu počas procesu overovania.
- Dynamické testovanie: Softvér sa vykonáva s rôznymi vstupmi a testeri porovnávajú výstupy s očakávaným správaním s touto metódou.
- Testovanie grafického používateľského rozhrania: To testuje GUI charakteristiky, ako je formátovanie textu, textové polia, tlačidlá, zoznamy, rozloženie, farby, písma, veľkosti písma, a tak ďalej. Testovanie grafického používateľského rozhrania je časovo náročné a spoločnosti tretej strany často vykonávajú úlohu namiesto vývojárov.
Úrovne testov
Na identifikáciu oblastí slabosti a prekrývania sa v každej fáze životného cyklu vývoja softvéru sa používajú rôzne úrovne testovania.
- Testovanie jednotky: Vývojári testujú najzákladnejšie časti kódu, ako sú triedy, rozhrania a funkcie / postupy. Vedia, ako by ich kód mal reagovať a môžu robiť úpravy v závislosti od výstupu.
- Testovanie komponentov: Ďalšími názvami sú testovanie modulov alebo programov. Je to podobné testovaniu jednotiek, ale obsahuje vyššiu úroveň integrácie. Moduly softvéru sú testované na chyby, aby sa overila ich individuálna funkcia.
- Testovanie integrácie: To identifikuje chyby, keď sú moduly integrované. Rôzne integračné testy sú zdola nahor, zhora nadol a funkčné inkrementálne.
- Testovanie systému: S touto metódou sú komponenty projektu testované ako celok v rôznych prostrediach. Patrí pod metódu čiernej skrinky a je jedným z posledných testov v procese. Určuje, či systém funguje tak, ako by mal spĺňať potreby podnikov a používateľov.
- Alfa testovanie: Interní zamestnanci testujú softvér na stránkach developera v simulovanom alebo aktuálnom prostredí. Potom vývojári napravia chyby a iné problémy.
- Beta testovanie: Tiež známa ako testovanie v teréne, klienti testujú produkt na svojich vlastných stránkach v reálnych podmienkach. Klienti môžu ponúknuť skupine koncových užívateľov možnosť otestovať softvér prostredníctvom predpremiéra alebo beta verzií. Spätná väzba na možné vylepšenia je potom zaslaná vývojárovi.
- Akceptačné testovanie: Tiež v rámci čiernej skrinky testovanie, klienti test softvér zistiť, či developer vytvoril program na požadované špecifikácie.
Typy testov
Rôzne typy softvérových testov sú zamerané na špecifické ciele.
- Testy inštalácie: Softvérový testovací inžinier a konfiguračný manažér vykonávajú tento test, aby zabezpečili, že koncový užívateľ môže inštalovať a spúšťať program. Zahŕňa oblasti, ako sú inštalačné súbory, umiestnenia inštalácie a oprávnenia správcu.
- Vývojové testovanie: To implementuje rad synchronizovaných stratégií na detekciu a prevenciu chýb. Zahŕňa analýzu statického kódu, recenzie partnerských kódov, sledovateľnosť a analýzu metrík. Cieľom je znížiť riziká a ušetriť náklady.
- Testovanie použiteľnosti: Užívateľský zážitok je v tomto teste v centre pozornosti. Meria, ako dobre je GUI navrhnuté a jeho jednoduché používanie. Test kontroluje presnosť a účinnosť funkcií a emocionálne reakcie testovaných subjektov.
- Testovanie sanity: To indikuje, či softvér stojí za čas a náklady na pokračovanie ďalších testov. Ak je príliš veľa nedostatkov, nebudú nasledovať agresívnejšie testy.
- Testovanie dymu: Testovanie dymu odhaľuje základné poruchy, ktoré sú dostatočne závažné na to, aby zabránili uvoľneniu. Keď sa to vykonáva na novej zostave, nazýva sa test overenia zostavenia.
- Regresné testovanie: Keď systém prejde úpravou, regresné testovanie monitoruje neočakávané správanie. Poukazuje na nepriaznivé vplyvy na moduly alebo komponenty.
- Deštruktívne testovanie: Testery zadávajú abnormálne vstupy a rozpoznávajú schopnosť softvéru riadiť neočakávaný vstup. To ukazuje vývojárom, ako robustný je program pri riadení chýb.
- Testovanie obnovy: Ak zlyhá hardvér alebo iné funkcie, tento test ukazuje, ako dobre môže softvér obnoviť a pokračovať v prevádzke.
- Automatizované testovanie: Toto vykonáva funkcie, ktoré sa ťažko vykonávajú manuálne. Používa špecifický softvér na spustenie testov a na poskytovanie údajov o skutočných a očakávaných výsledkoch.
- Testovanie kompatibility: Softvér musí bežať v rôznych počítačových prostrediach, čím sa kontroluje kompatibilita s rôznymi systémami. Pracuje napríklad softvér s rôznymi operačnými systémami a webovými prehliadačmi?
- Testovanie výkonu: Toto je hĺbkový test, ktorý skúma výkonnosť softvéru v rôznych scenároch. Informácie o citlivosti, stabilite, alokácii zdrojov a rýchlosti sa zhromažďujú. Okrem toho v tomto procese zohrávajú úlohu subtesty ako objem, kapacita a testovanie hrotov.
- Testovanie bezpečnosti: To meria schopnosť softvéru chrániť bezpečnosť používateľov. To znamená autorizačné funkcie, autentifikáciu, dôvernosť, integritu, dostupnosť a neudržateľnosť.
- Testovanie dostupnosti: Nie je to to isté ako testovanie použiteľnosti. To určuje, do akej miery môžu používatelia používať rôzne schopnosti - vrátane učenia a telesného postihnutia.
- Testovanie internacionalizácie a lokalizácie: Výsledky ukazujú, ako sa softvér môže prispôsobiť rôznym jazykom a regionálnym požiadavkám. To zahŕňa pridávanie komponentov pre konkrétne miesta a preklad textu.
Pochopenie typov zmlúv o modelovaní
Druhý článok v sérii o porozumení modelových zmlúv sa zaoberá štyrmi typmi zmlúv, s ktorými sa môžete stretnúť.
Mnoho typov predajných miest
Zoznam všetkých rôznych typov a variantov kariéry predaja by bol takmer nemožný. Avšak, tu je niekoľko pre vás, aby zvážila.
Definícia a príklady softvéru s otvoreným zdrojovým kódom
Open-source softvér, alternatíva k proprietárnemu softvéru, má špecifické kritériá a nekonečné výhody - pre spotrebiteľov aj programátorov.