Počítače, Softvér
Testovacie programy - chyba procesu detekcie v softvérovom produkte
Vo vývoji softvéru, významná časť výrobného procesu je založený na testovanie softvéru. Čo to je a ako je táto činnosť sa bude diskutovať v tomto článku.
To, čo sa nazýva test?
To sa odkazuje na proces spustením softvér pre detekciu umiestnenie nesprávnou obsluhou kódu. Pre dosiahnutie najlepších výsledkov, zámerne konštruované zložitého súboru vstupných dát. Hlavným účelom kontroly je vytvoriť najlepšiu príležitosť k zlyhaniu softvéru. Hoci niekedy testovanie vyvinutého programu môže byť zjednodušená na bežnej kontrole pracovnej schopnosti a plniť funkcie. To šetrí čas, ale je často sprevádzaný nespoľahlivosťou softvéru, užívateľské nespokojnosti, a tak ďalej.
účinnosť
Ako dobre a rýchlo sú chyby významný vplyv na náklady a doba vývoja softvéru požadovanej kvalite. Tak, a to napriek skutočnosti, že testery plat niekoľkonásobne menšie, než vývojári, náklady na ich služby je zvyčajne až o 30 - 40% nákladov celého projektu. To je vzhľadom k počtu pracovníkov, pretože pátranie po omylom - to je nezvyčajné a veľmi náročný proces. Ale aj keď je softvér prešiel slušný počet testov, nie je 100% záruka, že došlo k chybe nedôjde. Len neviem, kedy k nim dôjde. Povzbudiť testery zvoliť typy testov, ktoré sú s väčšou pravdepodobnosťou nájsť chybu, sa používajú rôzne motivačné nástroje: i morálne a materiál.
Prístup k práci
Optimálne je, keď implementovať rôzne mechanizmy, ktoré zabezpečia, že chyby v softvéri nebolo od začiatku. Ak to chcete vykonať, je nutné sa postarať o správnej architektúry, jasným mandátom, a to je dôležité, aby sa vykonať úpravy v komunikácii, kedy práce na projekte už začala. V tomto prípade tester úlohu nájsť a identifikovať malé množstvo chýb, ktoré zostávajú v konečnom výsledku. To ušetrí čas aj peniaze.
Čo je to test?
To je dôležitý aspekt kontrolnej činnosti, ktorá je nevyhnutná pre úspešnú detekciu chýb kódu. Sú nevyhnutné pre kontrolu správneho používania. Čo je zahrnuté v teste? To sa skladá z dát a ich počiatočnej hodnoty, ktorá by mala byť získaná ako výslednica (alebo strednú). Aby bolo možné úspešne identifikovať problémy a nezrovnalosti, testy by mali byť po algoritmus bol vyvinutý, ale nezačal programovanie. Je žiaduce použiť niekoľko prístupov k odhadu požadovaných údajov. V tomto prípade sa zvyšuje pravdepodobnosť detekcie chybu, pretože môžete preskúmať kód z iného uhla pohľadu. Komplexné skúšky musí zabezpečiť overovanie vonkajších vplyvov hotových softvérových produktov, rovnako ako vo svojich pracovných algoritmov. Osobitného záujmu a poskytuje marginálne prípady degenerované. Tak, v praxi chýb môže často ukazujú, že cyklus pracuje v jednom alebo viacerých krát menej, než sa plánovalo. Dôležitá je tiež testovacie počítač, pomocou ktorého môžete overiť, že požadovaný účinok na rôznych strojoch. To je nevyhnutné, aby sa ubezpečil, že softvér bude fungovať na všetkých počítačoch. Okrem toho, že počítač test, na ktorom bude vývoj vykonáva, je dôležitý pri tvorbe vývoja pre viac platforiem.
ťažkostí Arts
Programy často majú za cieľ pracovať s veľkými dátovými súbormi. Je nutné vytvoriť úplne? Nie. Rozšírená získal prax "miniaturizácia" programu. V tomto prípade existuje primeraná redukcia objemu dát v porovnaní s tým, ktoré majú byť použité. Pozrime sa na príklad: existuje program, ktorý vytvorí maticu veľkosti 50x50. Inými slovami - je potrebné ručne zadať hodnoty 2500. Je samozrejme možné, ale bude to trvať veľmi dlhú dobu. Aby však bolo možné testovať funkčnosť, softvér dostáva matice, ktorej rozmer 5x5. Ak to chcete vykonať, je nutné zadať viac ako 25 hodnôt. Ak sa v tomto prípade normálnej bezchybnú prevádzku, to znamená, že je všetko v poriadku. Hoci tam sú úskalia, ktorá spočíva v tom, že sa vyskytuje miniaturizácia situácie, čo má za následok zmenu stáva implicitné a dočasne zmizne. Je tiež veľmi vzácne, ale napriek tomu sa stane, je, že existujú nové chyby.
sledované ciele
Testovanie nie je ľahká úloha vzhľadom na to, že tento proces nie je prístupný formalizácie v plnom rozsahu. Veľké programy takmer nikdy majú potrebné presné meradlo. Preto je ako vodítko pri použití rad nepriamych údajov, ktoré však nemôžu plne odrážať vlastnosti a funkcie vývoj softvéru, ktorá bude ladiť. Okrem toho by mali byť vybrané tak, aby správny výsledok počíta pred ako bude softvérový produkt testovaný. Ak nechcete postupovať, je lákavé, aby zvážila všetky okolo, a ak je výsledkom stroj dostane v očakávanom rozsahu, bude to byť zlé rozhodnutie, že je všetko v poriadku.
Skontrolujte, za rôznych podmienok
Je pravidlom, že testovací program sa vyskytuje v objemoch, ktoré sú nevyhnutné pre minimálne testu funkčnosti v obmedzenej miere. Činnosti vykonávané pri zmene parametrov, ako aj ich pracovných podmienok. Spôsob testovania možno rozdeliť do troch fáz:
- Skontrolujte, či za normálnych podmienok. V tomto prípade sme sa vyskúšať základné funkcie vyvinutého softvéru. Výsledok musí zodpovedať očakávané.
- Skontrolujte, či v extrémnych podmienkach. V týchto prípadoch, za synonymum okrajovými dát, čo môže nepriaznivo ovplyvniť výkon vytvorený softvér. Ako príklad možno uviesť, pracujeme s extrémne veľké alebo malé množstvo, alebo dokonca úplne chýba prijatých informácií.
- Kontrola vo výnimočných situáciách. To zahŕňa využívanie údajov, ktoré sú nad rámec liečby. V takýchto situáciách je veľmi zlé, keď je softvér vníma ich ako užitočné pre výpočet a dáva vierohodný výsledok. Je potrebné dbať, že v týchto prípadoch sa jedná o odmietnutí akýchkoľvek údajov, ktoré nemôžu byť spracované správne. Je tiež potrebné stanoviť pre informovanie užívateľa o tom
Testovanie: Druhy
Vytvorenie softvér bez chýb je veľmi ťažké. To si vyžaduje značné množstvo času. Ak chcete získať dobrý produkt je často používaný dva typy testov: "Alpha" a "beta". Čo sú zač? Keď ľudia hovoria o testovaní alfa, znamená to, že preskúmanie najneskôr sa v stave vývoja "laboratórnych" podmienkach. Ide o poslednú fázu testovania pred spustením programu budú prevedené na koncových užívateľov. Preto sa vývojári sa snažia otočiť na maximum. Pre jednoduchú obsluhu, môžu byť zaznamenané údaje o vytvorení chronológiu problémov a ich riešení. V rámci testovania beta pochopiť dodávku softvéru pre obmedzený počet užívateľov, takže môžu využiť program a aké chyby ste vynechal. Zvláštnosťou je v tomto prípade skutočnosť, že často softvér nie je používaný na určený účel. Kvôli tomuto neúspechu budú identifikované tam, kde bolo nič nevidel. To je úplne bežné a starosti to nie je nutné.
test Dokončenie
Ak predchádzajúce kroky boli úspešne dokončený, zostáva vykonať akceptačné testy. Ten v tomto prípade nestalo len formalitou. Počas tohto testu príde potvrdenie, že neboli nájdené žiadne ďalšie problémy a softvér môže byť prepustený na trhu. Najdôležitejšie bude konečný výsledok, tým presnejšie musí byť overená. je potrebné dbať na to, že všetky kroky boli úspešne dokončené. Tu je testovací proces ako celok. Teraz sa poďme ponoriť do technických podrobností a hovoriť o také užitočný nástroj, ako testovacích programov. Čo sú a ak je použitý?
Computer-Aided testovanie
Predtým sa predpokladalo, že dynamická analýza vyvinutého softvéru - to je príliš ťažký prístup, ktorý efektívne používa na detekciu chýb. Ale vzhľadom k rastúcej zložitosti a množstvo programov sa objavil opačný názor. Automatizované testovanie sa používajú tam, kde sú najdôležitejšími prioritami sú účinnosť a bezpečnosť. A mali by byť v rámci akéhokoľvek vstupu. Ako príklad možno uviesť, programy, pri ktorých je vhodné, aby tieto skúšky, patria nasledujúce: sieťové protokoly, webový server, sandbox. Naďalej sa pozrieme na niekoľko vzoriek, ktoré môžu byť použité pre tieto činnosti. Ak máte záujem o testovacích programov zadarmo, kvalita je ťažké nájsť medzi nimi. Ale tam sú popraskané "pirátskych" verzia dobre zavedených projektoch, takže sa môžete obrátiť na svoje služby.
lavína
Tento nástroj umožňuje detekovať chyby sú testované programy v režime s dynamickú analýzu. To zbiera dáta a analyzuje výkonnosť objektu koľaje navrhnuté. Tester je daná sada vstupov, ktoré spôsobujú chybu alebo obísť existujúce súbory obmedzení. Vďaka dobrým testom algoritmu, ktorý vypracoval veľký počet možných situácií. Program dostane inú sadu vstupných dát, ktoré umožňujú simulovať veľké množstvo situácií a vytvoriť podmienky, v ktorých najpravdepodobnejšie je výskyt poruchy. Dôležitou výhodou tohto programu je použitie heuristickej metriky. Ak to je problém, potom je chyba aplikácie je veľmi pravdepodobné. Ale tento program má svoje obmedzenia, ako je len jedným kontrolným označením zásuvky vstupu alebo súboru. Pri vykonávaní operácie, ako testovacích programov bude obsahovať podrobné informácie o problémoch s ukazovateľom null, nekonečnej slučky, nesprávnej adresy alebo poruchy v dôsledku použitia knižníc. Samozrejme, že to nie je úplný zoznam zistených chýb a ich jediným spoločným príklady. Oprava nedostatky, bohužiaľ, majú vývojári - automatizované prostriedky nie sú vhodné pre tieto účely.
Klee
Je to dobrý program pre testovanie pamäte. Je možné zachytiť približne 50 systémové volania a veľký počet virtuálnych procesov teda vykonaných súbežne alebo oddelene. Ale všeobecne platí, že program nie je pri pohľade na niektoré podozrivé miestach, a spracováva maximálneho možného množstva kódu a analýzy používaných dátových ciest. Z tohto dôvodu je testovací program závisí od veľkosti objektu. Pri kontrole stávka je umiestnený na symbolických procesov. Sú jedným z možných spôsobov, ako vykonávať úlohy v programe, ktorý je testovaný. Vďaka paralelná prevádzka, je možné analyzovať veľký počet variantov práce aplikácie testu. Pre každú cestu dátových sád vstupných sú uložené po skúške, ktorá začala s kontrolou. Je potrebné poznamenať, že skúšobné programy pomocou Klee pomáha identifikovať veľký počet variantov, ktoré by nemali byť. Je možné nájsť problémy aj v aplikáciách, ktoré sú vyvíjané po desaťročia.
Similar articles
Trending Now