Testování softwaru: Porovnání verzí
Značka: přepnuto z Vizuálního editoru |
Značka: editace z Vizuálního editoru |
||
Řádek 1: | Řádek 1: | ||
{{Pracuje se}} | {{Pracuje se}} | ||
Pod tímto pojmem si celkem snadno dokážeme představit, co znamená. Testování je jakési zkoumání kvality a software je programové vybavení počítače. Testování softwaru je tedy oblast, která se zabývá kontrolou kvality nebo chyb programů. | Pod tímto pojmem si celkem snadno dokážeme představit, co znamená. Testování je jakési zkoumání kvality a software je programové vybavení počítače. Testování softwaru je tedy oblast, která se zabývá kontrolou kvality nebo chyb programů. | ||
− | == Charakteristika == | + | ==Charakteristika== |
+ | |||
Testování softwaru je jednou z několika složek IT struktury, která se může jevit jako nepříliš důležitá, ale opak je pravdou. Na správném testování softwaru velice závisí. V realitě je testování softwaru pomyslnou špičkou ledovce – dle přání zákazníka je navržen softwarový produkt, ale je dokončen a předán až v momentě, kdy na něm odvede svou práci tester. Tester kontroluje, zda výsledný produkt odpovídá zadání zákazníka, obsahuje všechny potřebné funkce a zda správně pracují. Důležitá je i uživatelská přívětivost pro budoucího uživatele softwaru. | Testování softwaru je jednou z několika složek IT struktury, která se může jevit jako nepříliš důležitá, ale opak je pravdou. Na správném testování softwaru velice závisí. V realitě je testování softwaru pomyslnou špičkou ledovce – dle přání zákazníka je navržen softwarový produkt, ale je dokončen a předán až v momentě, kdy na něm odvede svou práci tester. Tester kontroluje, zda výsledný produkt odpovídá zadání zákazníka, obsahuje všechny potřebné funkce a zda správně pracují. Důležitá je i uživatelská přívětivost pro budoucího uživatele softwaru. | ||
− | == Typy testů == | + | ==Typy testů== |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | === Testy dle přístupu ke kódu === | + | Testy lze dělit na dělit na tři základní oblasti: |
− | - je hledisko viditelnosti zdrojového kódu ze strany samotného testera | + | ===Testy z hlediska chronologizace=== |
− | * „Black box“ testování | + | - kdy se daná testovací aktivita z pohledu vývojového modelu nastává |
− | + | ||
− | * „White box“ testování | + | *'''Testování vývojářem''' |
− | + | ||
− | * „Grey box“ testování | + | - Veškerá kontrola probíhá na úrovni zdrojového kódu, jeden vývojář kontroluje kód po druhém. Pro kvalitní testování je potřeba mít mezi programátory jednotný přístup k psaní kódu. |
− | + | ||
+ | *'''Testování jednotek''' | ||
+ | |||
+ | - Jedná se o formu testování, která přestála veškerý vývoj agilních metodik bez větší změny. | ||
+ | |||
+ | *'''Integrační testování''' | ||
+ | |||
+ | - Integrační testy připravuje testovací tým. Jedná se o sadu testů, které zkoumají správnost vnitřní integrity aplikace. | ||
+ | |||
+ | *'''Systémové testování''' | ||
+ | |||
+ | - Tyto testy ověřují aplikaci jako celek. Jsou používány v pozdějších fázích vývoje. Ověřují aplikaci z pohledu zákazníka. | ||
+ | |||
+ | *'''Akceptační testování''' | ||
+ | |||
+ | - Akceptační testy probíhají na straně zákazníka. Pokud všechny předchozí etapy testů proběhly v pořádku, je možné předat aplikaci zákazníkovi. | ||
+ | |||
+ | === Testy dle přístupu ke kódu === | ||
+ | - je hledisko viditelnosti zdrojového kódu ze strany samotného testera | ||
+ | |||
+ | *'''„Black box“ testování''' | ||
+ | |||
+ | - Při použití těchto testů nemá tester žádný přístup ke kódu, neví tedy jak přesně systém spolupracuje s daty. | ||
+ | |||
+ | *'''„White box“ testování''' | ||
+ | |||
+ | – Zde tester zná vnitřní strukturu softwaru. Testují se průchody zdrojovým kódem, reakce kódu na prázdné nebo nestandardní hodnoty. | ||
+ | |||
+ | * '''„Grey box“ testování''' | ||
+ | |||
+ | – Zde hovoříme o kombinaci předchozích dvou kategorií. Může se jednat o situaci, kdy software testujeme přes například uživatelské rozhraní. | ||
=== Testy dle běhu programu === | === Testy dle běhu programu === | ||
− | - dle nutnosti běhu programu | + | - dle nutnosti běhu programu |
− | * Statické testování | + | |
+ | *'''Statické testování''' | ||
+ | |||
– Toto testování nevyžaduje běh programu. Využívá se v prvotních fázích životního cyklu softwaru. | – Toto testování nevyžaduje běh programu. Využívá se v prvotních fázích životního cyklu softwaru. | ||
− | * Dynamické testování | + | |
+ | *'''Dynamické testování''' | ||
+ | |||
– Tady je již vyžadován běh aplikace. Používá se v pozdějších fázích vývoje a je zaměřeno na bezchybnost provozu. <br> | – Tady je již vyžadován běh aplikace. Používá se v pozdějších fázích vývoje a je zaměřeno na bezchybnost provozu. <br> | ||
− | == Automatizace testů a testovací nástroje == | + | ==Automatizace testů a testovací nástroje== |
− | Aby testy proběhly precizně a úspěšně ke spokojenosti všech zapojených stran, je do celého procesu investovat nemálo času. Není proto s podivem, že i tato oblast IT se automatizuje. Existuje proto celá řada testovacích nástrojů, které mohou být využity ke zrychlení testovacího procesu. Můžeme využít nástroje, které jsou uskutečňované pomocí standardních rozhraní testované aplikace. Pro tyto typy testů existuje velké množství komerčně dostupných nástrojů, například ATF (Softbridge), WinRunner (Mercury Interactive), Rational Robot (Rational) a další. Pokud se jedná o nestandardní rozhraní, je nutné si vytvořit vlastní testovací nástroj, jež bude vyvíjen společně s aplikací, která se podrobí testu. | + | |
+ | |||
+ | Aby testy proběhly precizně a úspěšně ke spokojenosti všech zapojených stran, je do celého procesu investovat nemálo času. Není proto s podivem, že i tato oblast IT se automatizuje. Existuje proto celá řada testovacích nástrojů, které mohou být využity ke zrychlení testovacího procesu. Můžeme využít nástroje, které jsou uskutečňované pomocí standardních rozhraní testované aplikace. Pro tyto typy testů existuje velké množství komerčně dostupných nástrojů, například ATF (Softbridge), WinRunner (Mercury Interactive), Rational Robot (Rational) a další. Pokud se jedná o nestandardní rozhraní, je nutné si vytvořit vlastní testovací nástroj, jež bude vyvíjen společně s aplikací, která se podrobí testu. | ||
− | === Manuální testování x automatizované testování === | + | ===Manuální testování x automatizované testování=== |
Při testování softwaru se můžeme setkat se dvěma druhy testování, s manuálním a automatizovaným. Jak již bylo řečeno výše, při automatizovaném testování je možné ušetřit čas a využít testovací nástroje. Velkou nevýhodou je ale neustálá údržba zkoušek. Manuální testování oproti tomu je prováděno ručně testerem, který vše poctivě proklikává a nemusí se starat o údržbu nástroje pro testování.<br> | Při testování softwaru se můžeme setkat se dvěma druhy testování, s manuálním a automatizovaným. Jak již bylo řečeno výše, při automatizovaném testování je možné ušetřit čas a využít testovací nástroje. Velkou nevýhodou je ale neustálá údržba zkoušek. Manuální testování oproti tomu je prováděno ručně testerem, který vše poctivě proklikává a nemusí se starat o údržbu nástroje pro testování.<br> | ||
− | == Testování softwaru x Quality Assurance == | + | ==Testování softwaru x Quality Assurance== |
V oblasti testování softwaru se můžeme setkat s pojmem Quality Assurance, neboli zajištění kvality. Na první pohled se může zdá, že mezi oběma pojmy není rozdíl, ale je. Quality Assurance je nadřazený pojem pro testování softwaru. Obě oblasti si kladou stejné cíle – zlepšení softwaru, ale QA zvyšuje kvalitu díky zlepšení procesu a testování díky hledání chyb. Je důležité mezi těmito pojmy vidět rozdíl, který je zásadní. <br> | V oblasti testování softwaru se můžeme setkat s pojmem Quality Assurance, neboli zajištění kvality. Na první pohled se může zdá, že mezi oběma pojmy není rozdíl, ale je. Quality Assurance je nadřazený pojem pro testování softwaru. Obě oblasti si kladou stejné cíle – zlepšení softwaru, ale QA zvyšuje kvalitu díky zlepšení procesu a testování díky hledání chyb. Je důležité mezi těmito pojmy vidět rozdíl, který je zásadní. <br> | ||
− | == Softwarový tester == | + | ==Softwarový tester== |
Osoba, která v testování softwaru má největší uplatnění je softwarový tester. Kromě testera se ale na testování podílí i další osoby, jako vývojář softwaru, projektový manažer, ale i koncový uživatel.<br> | Osoba, která v testování softwaru má největší uplatnění je softwarový tester. Kromě testera se ale na testování podílí i další osoby, jako vývojář softwaru, projektový manažer, ale i koncový uživatel.<br> | ||
Kvalifikovaný tester musí zvládat celou řadu činností, například: | Kvalifikovaný tester musí zvládat celou řadu činností, například: | ||
− | * Analýza požadavků na testování | + | |
− | * Tvorba a aktualizace testovací dokumentace | + | *Analýza požadavků na testování |
− | * Příprava testovacích dat | + | *Tvorba a aktualizace testovací dokumentace |
− | * Provádění testů podle testovací dokumentace | + | *Příprava testovacích dat |
− | * Dokumentace průběhu testování | + | *Provádění testů podle testovací dokumentace |
− | * Reportování chyb a výsledků testů | + | *Dokumentace průběhu testování |
− | * Podpora vývojového týmu | + | *Reportování chyb a výsledků testů |
+ | *Podpora vývojového týmu |
Verze z 21. 11. 2021, 18:49
Na této stránce se právě pracuje. Prosím needitujte tuto stránku, dokud na ní zůstává tato šablona. Předejdete tak editačnímu konfliktu. Jestliže uběhla od poslední editace doba alespoň dvou dnů, neváhejte tuto šablonu odstranit. |
Pod tímto pojmem si celkem snadno dokážeme představit, co znamená. Testování je jakési zkoumání kvality a software je programové vybavení počítače. Testování softwaru je tedy oblast, která se zabývá kontrolou kvality nebo chyb programů.
Obsah
Charakteristika
Testování softwaru je jednou z několika složek IT struktury, která se může jevit jako nepříliš důležitá, ale opak je pravdou. Na správném testování softwaru velice závisí. V realitě je testování softwaru pomyslnou špičkou ledovce – dle přání zákazníka je navržen softwarový produkt, ale je dokončen a předán až v momentě, kdy na něm odvede svou práci tester. Tester kontroluje, zda výsledný produkt odpovídá zadání zákazníka, obsahuje všechny potřebné funkce a zda správně pracují. Důležitá je i uživatelská přívětivost pro budoucího uživatele softwaru.
Typy testů
Testy lze dělit na dělit na tři základní oblasti:
Testy z hlediska chronologizace
- kdy se daná testovací aktivita z pohledu vývojového modelu nastává
- Testování vývojářem
- Veškerá kontrola probíhá na úrovni zdrojového kódu, jeden vývojář kontroluje kód po druhém. Pro kvalitní testování je potřeba mít mezi programátory jednotný přístup k psaní kódu.
- Testování jednotek
- Jedná se o formu testování, která přestála veškerý vývoj agilních metodik bez větší změny.
- Integrační testování
- Integrační testy připravuje testovací tým. Jedná se o sadu testů, které zkoumají správnost vnitřní integrity aplikace.
- Systémové testování
- Tyto testy ověřují aplikaci jako celek. Jsou používány v pozdějších fázích vývoje. Ověřují aplikaci z pohledu zákazníka.
- Akceptační testování
- Akceptační testy probíhají na straně zákazníka. Pokud všechny předchozí etapy testů proběhly v pořádku, je možné předat aplikaci zákazníkovi.
Testy dle přístupu ke kódu
- je hledisko viditelnosti zdrojového kódu ze strany samotného testera
- „Black box“ testování
- Při použití těchto testů nemá tester žádný přístup ke kódu, neví tedy jak přesně systém spolupracuje s daty.
- „White box“ testování
– Zde tester zná vnitřní strukturu softwaru. Testují se průchody zdrojovým kódem, reakce kódu na prázdné nebo nestandardní hodnoty.
- „Grey box“ testování
– Zde hovoříme o kombinaci předchozích dvou kategorií. Může se jednat o situaci, kdy software testujeme přes například uživatelské rozhraní.
Testy dle běhu programu
- dle nutnosti běhu programu
- Statické testování
– Toto testování nevyžaduje běh programu. Využívá se v prvotních fázích životního cyklu softwaru.
- Dynamické testování
– Tady je již vyžadován běh aplikace. Používá se v pozdějších fázích vývoje a je zaměřeno na bezchybnost provozu.
Automatizace testů a testovací nástroje
Aby testy proběhly precizně a úspěšně ke spokojenosti všech zapojených stran, je do celého procesu investovat nemálo času. Není proto s podivem, že i tato oblast IT se automatizuje. Existuje proto celá řada testovacích nástrojů, které mohou být využity ke zrychlení testovacího procesu. Můžeme využít nástroje, které jsou uskutečňované pomocí standardních rozhraní testované aplikace. Pro tyto typy testů existuje velké množství komerčně dostupných nástrojů, například ATF (Softbridge), WinRunner (Mercury Interactive), Rational Robot (Rational) a další. Pokud se jedná o nestandardní rozhraní, je nutné si vytvořit vlastní testovací nástroj, jež bude vyvíjen společně s aplikací, která se podrobí testu.
Manuální testování x automatizované testování
Při testování softwaru se můžeme setkat se dvěma druhy testování, s manuálním a automatizovaným. Jak již bylo řečeno výše, při automatizovaném testování je možné ušetřit čas a využít testovací nástroje. Velkou nevýhodou je ale neustálá údržba zkoušek. Manuální testování oproti tomu je prováděno ručně testerem, který vše poctivě proklikává a nemusí se starat o údržbu nástroje pro testování.
Testování softwaru x Quality Assurance
V oblasti testování softwaru se můžeme setkat s pojmem Quality Assurance, neboli zajištění kvality. Na první pohled se může zdá, že mezi oběma pojmy není rozdíl, ale je. Quality Assurance je nadřazený pojem pro testování softwaru. Obě oblasti si kladou stejné cíle – zlepšení softwaru, ale QA zvyšuje kvalitu díky zlepšení procesu a testování díky hledání chyb. Je důležité mezi těmito pojmy vidět rozdíl, který je zásadní.
Softwarový tester
Osoba, která v testování softwaru má největší uplatnění je softwarový tester. Kromě testera se ale na testování podílí i další osoby, jako vývojář softwaru, projektový manažer, ale i koncový uživatel.
Kvalifikovaný tester musí zvládat celou řadu činností, například:
- Analýza požadavků na testování
- Tvorba a aktualizace testovací dokumentace
- Příprava testovacích dat
- Provádění testů podle testovací dokumentace
- Dokumentace průběhu testování
- Reportování chyb a výsledků testů
- Podpora vývojového týmu