Task: Identifikace testovacích podmínek
Určení co se bude testovat na základě podkladů pro testování a plánu testování.
Disciplines: Analýza testů
Relationships
RolesPrimary Performer: Additional Performers:
Outputs
    Main Description

    Jakmile jsou podklady pro testování zrevidovány, je možné přejít k identifikaci testovacích podmínek. Testovací podmínky v jednoduché formě popisují, co bude testováno a typicky jsou identifikovány na základě podkladů pro testování, cílů testování, strategických cílů a měly by se snažit pokrýt produktová rizika.

    Stejně tak jako při plánování testů, i při identifikaci a prioritizaci testovacích podmínek je vhodné následovat některé z analytických přístupů jako je testování založené na rizicích, testování založené na požadavcích, nebo založené na případech užití. To, jaký přístup či kombinace přístupů bude pro identifikaci testovacích podmínek zvolena, závisí na přístupu, který je definován v plánu testování a na dostupnosti podkladů pro testování.

    Kromě podkladů pro testování mohou jednotlivé testovací podmínky vycházet i z předchozích zkušeností s chováním a strukturou dané položky testování nebo ze zkušeností s obdobnými položkami testování. Například pro webové aplikace je charakteristické následující chování a pravidla:

    ·         Naběhnou okamžitě po spuštění (zapsání URL adresy do prohlížeče) a není nutná jejich instalace.

    ·         Logo aplikace je v levém horním rohu a odkazuje na úvodní stránku. Navigační menu je typicky po levém boku.

    ·         Kromě samotné funkcionality aplikace je možné ovládat aplikaci i standardními prvky prohlížeče (tlačítko zpět a dopředu, zvětšení/zmenšení textu, zvětšení/zmenšení okna, otevírání jednotlivých stránek ve více záložkách nebo oknech).

    ·         Výpočetní operace jsou prováděny na serveru, tudíž je zapotřebí vysoký výpočetní výkon serveru a na klientských počítačích není vysoký výpočetní výkon zapotřebí.

    ·         Aplikace, které jsou v síti internet, jsou ohroženy na bezpečnosti - typickými defekty jsou např. nekontrolované vstupy od uživatele, použití neinicializovaných proměnných, kdy data z vnějšku mohou změnit obsah neinicializované proměnné, nebo chybějící ochrany session proti cross-site scriptování [1] a SQL injection [2] [Kosek, 2011].

    Na závěr analýzy testů by test analytik měl vědět, jaké specifické testy musí být navrženy a s jakou prioritou, aby byly splněny cíle a uspokojeny potřeby testování na projektu.



    [1] Cross-site scriptování je útok na weby, kde jsou zobrazována data vkládaná uživateli. Jedná se například o diskusní fóra, kam může útočník umístit odkaz, ve kterém je vložen škodlivý skript. Když potom ostatní uživatelé na tento odkaz kliknou, skript se spustí a může například zkopírovat cookies uživatelů a zaslat je danému útočníkovi. [Imperva, 2013]

    [2] SQL injection je technika, která využívá neověření vstupních dat při dynamickém generování SQL dotazů na základě vstupů uživatelů. Útočník může vložit libovolný SQL příkaz jako vstupní data aplikaci. Aplikace se zachová, jako kdyby se jednalo o její vlastní příkaz a provede příslušnou operaci na backendu databáze. Útočník se tímto způsobem může dostat například k citlivým datům uživatelů nebo dokonce provést v databázi změnu.

    More Information