V dnešním světě existuje mnoho přístupů k testování software. Níže vám popíšeme pár z nejpoužívanějších metod, které bychom vyzdvihli jako ty nejvíce efektivní.
TRENDY V TESTOVÁNÍ
- Test Automation
- Shift left testing
- Al and Machine Learning
- Security Testing
- Test Enviroment Management
- Continuous testing
- Cloud based testing
SHIFT LEFT TESTING
- Tento přístup k testování zdůrazňuje potřebu začít s testy co nejdříve v procesu vývoje pro zajištění co nejrychlejší zpětné vazby a díky tomu umožnit – dosáhnout co nejnižších nákladů.
- Testování tedy začíná co nejdříve, mnohdy ještě před dokončením produktu.
- Logicky je shift left testing závislý na úzké spolupráci testingu a vývoje. Testovací týmy také například spolupracují s vývojáři na vytvoření testovacích scénářů a automatizovaných testů, které se budou používat v průběhu vývoje. Klíčové jsou auto testy, časté integrace a správné nastavení CI/CD a samozřejmě se nám hodí i continuos testing.
- Největší uplatnění nalézá v dynamickém prostředí, tedy například pří tvorbě mobilních a cloudových aplikací.
AI & MACHINE LEARNING
- Velký potenciál „zautomatizovat“ velkou část procesů testování.
- Přesné a rychlé generování test „casů“
- Časová úspora
- Automatizace testů, vhodné například při regresivním testování
- Autodetence defektů, Machine Learning algoritmy při využití historických dat mohou být nastaveny k identifikaci vzorců chyb a jejich predikování
- Continuous testing: ideální pro nastavení konstantního testování během celého běhu aplikace
- Nutné nastavení procesu správného použití a kontroly
SECURITY TESTING
Typ testování softwaru, který se zaměřuje na identifikaci zranitelností nebo slabých míst v zabezpečení softwarové aplikace.
Typy security testingu:
- Vulnerability scanning
- Penetration testing
- Security auditing
- Security code review
- Threat modelling
Identifikací a řešením bezpečnostních zranitelností organizace se minimalizuje riziko úniku dat, finančních ztrát a poškození pověsti. Je důležité provádět pravidelné security testingy, aby se zajistilo, že zabezpečení aplikace je aktuální a efektivní v ochraně před potencionálními hrozbami.
CONTINUOUS TESTING
- Přístup k testování softwaru, který zdůrazňuje kontinuální a automatizované testování softwarových aplikací během celého životního cyklu vývoje softwaru.
- Zahrnuje použití automatizovaných nástrojů a frameworků k průběžnému testování, ideálně jako součást softwarového vývoje procesu.
- Tato metoda testování je obvykle integrována do vývojových procesů DevOps nebo Agile, kde se software vyvíjí a dodává v menších, častějších inkrementech. Průběžným testováním během celého vývojového procesu týmy zajistí vyšší kvalitu dodaného softwaru a samozřejmě spokojenost uživatelů.
- Pro continuous testing musí organizace stanovit komplexní strategii a framework pro auto testy, integrovat testování do softwarového vývojového procesu a stanovit kulturu kontinuálního zlepšování a zpětné vazby.
CLOUD BASED TESTING
- Využívá „sílu a výkon“ cloudu k provedení testů
- Místo využití on prenise řešení využívá virtuální zdroje dostupné online
- Scalování dovoluje testerům „scalovat“ velký počet virtuálních nástrojů potřebných pro testování
- Velmi rychlé „loadování“ testů
- Cost effective řešení
- Vysoká flexibilita
- Větší míra zabezpečení
TECH STACK MODERNÍHO TESTERA
- Test management tools (TestRail, Zephyr, HP ALM)
- Test Automation tools (Selenium, Cypress, Appium, TestComplete)
- Continuous Integration and Delivery tools (CI/CD) (Jenkins, Travis, CI, GitLab)
- Performance testing tools (Jmeter, LoadRunner, Gatling)
- Security testing tools (OWASP, ZAP, Burp Suite, Nessus)
- API testing tools (Postman, SoapUI, Rest Assured)
- Cloud based testing platforms (AWS Device Farm, Sauce, Labs, BrowseStack)