Sobes.tech
Middle

Jaké typy rámcových struktur pro testování uživatelského rozhraní znáš?

sobes.tech AI

Odpověď od AI

  • Datově řízený rámec: Testovací data jsou oddělena od logiky testu. Testy jsou prováděny s různými sadami dat pocházejícími z externích zdrojů (Excel, databáze, XML). Usnadňuje testování s mnoha vstupními scénáři.
  • Rámec řízený klíčovými slovy: Akce a objekty zapojené do testu jsou reprezentovány ve formě "klíčových slov". Testy jsou sestavovány kombinací těchto klíčových slov, často v tabulkové podobě. Vhodné pro netechnické osoby.
  • Hybridní rámec: Kombinace dvou nebo více přístupů (často Data-Driven a Keyword-Driven) pro maximální pohodlí, flexibilitu a škálovatelnost. Nejrozšířenější typ.
  • Page Object Model (POM): Vzor návrhu, kde každý prvek uživatelského rozhraní (stránka nebo komponenta) je reprezentován samostatnou třídou. Interakce s UI prvky probíhá přes metody těchto tříd. Zlepšuje čitelnost, udržovatelnost a opětovné použití testovacího kódu.
// Příklad Page Object Model
public class LoginPage {
    WebElement usernameField;
    WebElement passwordField;
    WebElement loginButton;

    public LoginPage(WebDriver driver) {
        // Inicializace prvků
    }

    public void enterCredentials(String username, String password) {
        usernameField.sendKeys(username);
        passwordField.sendKeys(password);
    }

    public void clickLogin() {
        loginButton.click();
    }
}
  • Behavior-Driven Development (BDD): Zaměřuje se na chování systému. Testy jsou psány v jednoduchém, srozumitelném jazyce (Gherkin), který popisuje kroky a očekávané výsledky z pohledu uživatele. Podporuje spolupráci QA, vývojářů a obchodních analytiků. Nástroje: Cucumber, SpecFlow.
// Příklad Gherkin (BDD)
Feature: Přihlášení

  Scenario: Úspěšné přihlášení s korektními údaji
    Given uživatel je na přihlašovací stránce
    When uživatel zadá "platný_uživatelský_jméno" do pole "přihlášení"
    And uživatel zadá "platné_heslo" do pole "heslo"
    And uživatel klikne na tlačítko "Přihlásit se"
    Then je uživatel přesměrován na hlavní stránku