Sobes.tech
Middle+

Lze se vzdát regresních testů a v jakých případech je to odůvodnitelné?

sobes.tech AI

Odpověď od AI

Odmítnutí regresního testování v klasickém smyslu je extrémně riskantní. Nicméně, v určitých případech je možné jej optimalizovat nebo minimalizovat:

  • Krátkodobé projekty bez dalšího rozvoje a podpory, kde není kritičnost chyb příliš vysoká.
  • Raná fáze MVP (Minimum Viable Product), kdy je hlavní důraz kladen na ověření klíčové funkčnosti a rychlé vydání.
  • Projekty s velmi omezeným rozpočtem a termíny, ale s vědomím zvýšených rizik.

Je důležité pochopit, že úplné odmítnutí regresí vede ke zvýšení počtu chyb ve starých funkcích po provedení změn, což může dlouhodobě vést k vážným problémům a zvýšení nákladů na opravy.

Lepší je optimalizace regresního testování:

  1. Automatizace: Maximální pokrytí kritických a často měněných funkcí automatizovanými testy.
    # Příklad automatizace uživatelského scénáře v Pythonu s Selenium
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    
    def test_login_success():
        driver = webdriver.Chrome()
        driver.get("http://example.com/login")
        driver.find_element(By.ID, "username").send_keys("testuser")
        driver.find_element(By.ID, "password").send_keys("password123")
        driver.find_element(By.XPATH, "//button[text()='Login']").click()
        assert "Dashboard" in driver.title # Kontrola úspěšného přechodu
        driver.quit()
    
  2. Prioritizace: Zaměření na nejkritičtější a změnami ovlivněné oblasti aplikace.
  3. Rizikově orientovaný přístup: Definice testovacích scénářů na základě odhadu rizik provedených změn.
  4. Smoak-testování: Rychlý soubor testů pro ověření základní funkčnosti systému po nasazení.
  5. Selektivní regresní testování: Výběr podmnožiny regresních testů relevantních pro danou změnu.
Přístup k regresi Výhody Nevýhody
Plné odmítnutí Rychlé počáteční dodání v teorii Vysoká rizika, nárůst chyb, snížení kvality
Optimalizace (Automatizace) Zrychlení, opakovatelnost, úspora času Počáteční náklady na vývoj testů
Optimalizace (Prioritizace) Efektivní využití zdrojů Riziko přehlédnutí chyb v méně prioritních oblastech

Tímto je úplné odmítnutí regresního testování velmi nežádoucí. Oprávněné může být pouze minimalizace nebo optimalizace ve velmi specifických a krátkodobých projektech s nízkými požadavky na kvalitu a stabilitu. Ve všech ostatních případech je nutné používat strategie zaměřené na zvýšení jeho efektivity.