Przejdź do głównej zawartości

Jak zbudować nowoczesną automatyzację testów: Poza Happy Path – Dostępność i bezpieczeństwo (Część 4)

· 4 min aby przeczytać
Przemysław Majdak
Full-Stack Developer, Automation Engineer & Web Security Specialist

Po zbudowaniu Piramidy Testów, opanowaniu mockowania i wdrożeniu testów wizualnych, mogłoby się wydawać, że nasza praca jest skończona. Niestety, testowanie tzw. "szczęśliwych ścieżek" (Happy Paths) to zaledwie wierzchołek góry lodowej.

W czwartej części naszego cyklu poruszymy obszary najczęściej ignorowane w procesie deweloperskim, aż do momentu krytycznego błędu na produkcji. Skupimy się na Dostępności (A11y), Bezpieczeństwie (Security) oraz nieliniowym, hakerskim podejściu do własnej aplikacji, czyli Testowaniu Adwersaryjnym.

Model Context Protocol (MCP): 10 krytycznych luk bezpieczeństwa, które otwierają infrastrukturę na ataki AI

· 4 min aby przeczytać
Przemysław Majdak
Full-Stack Developer, Automation Engineer & Web Security Specialist

Model Context Protocol (MCP) rewolucjonizuje budowę agentowych systemów AI, ale wdrażanie tego standardu bez odpowiednich barier ochronnych to biznesowe samobójstwo. Luki w warstwie projektowej – na czele z brakiem obligatoryjnego uwierzytelniania oraz podatnością na zatruwanie kontekstu – sprawiają, że serwery MCP stały się kluczowym celem ataków na architekturę korporacyjną i łańcuchy dostaw.

Jak zbudować nowoczesną automatyzację testów: Kompleksowe testowanie interfejsu (Część 3)

· 3 min aby przeczytać
Przemysław Majdak
Full-Stack Developer, Automation Engineer & Web Security Specialist

Po ustabilizowaniu fundamentów strategii testowej i zapanowaniu nad środowiskiem (sieć oraz dane), czas spojrzeć na warstwę, z którą nasz użytkownik styka się bezpośrednio – interfejs.

W trzeciej części cyklu skupimy się na połączonych konceptach Testowania Wielopłaszczyznowego (Cross-X) oraz Testowania Wizualnego. Dlaczego warto o nich mówić razem? Ponieważ oba skupiają się na zagwarantowaniu, że niezależnie od urządzenia, silnika czy najmniejszej zmiany w CSS, nasza aplikacja wygląda i zachowuje się wzorowo.

Jak zbudować nowoczesną automatyzację testów: Pełna kontrola nad środowiskiem (Część 2)

· 4 min aby przeczytać
Przemysław Majdak
Full-Stack Developer, Automation Engineer & Web Security Specialist

W poprzedniej części cyklu o automatyzacji testów omówiliśmy fundamenty: Piramidę Testów i traktowanie testów jako pełnoprawnego kodu produkcyjnego (Page Object Model, TypeScript). Jednak nawet najlepiej napisany kod testowy będzie bezużyteczny, jeśli będzie działał na niestabilnym środowisku z nieprzewidywalnymi danymi.

Dlatego w tym bardzo "mięsistym" technicznie wpisie skupimy się na wyzwaniu, które spędza sen z powiek wielu testerom: Izolacja Danych i Zarządzanie Ruchem Sieciowym.

Jak zablokować masowy spam w komentarzach WordPress za pomocą Cloudflare

· 3 min aby przeczytać
Przemysław Majdak
Full-Stack Developer, Automation Engineer & Web Security Specialist

Dzisiaj rano mój blog stał się celem zautomatyzowanego ataku typu Comment Spam / Black Hat SEO. Botnet próbował masowo wstrzykiwać do bazy danych wpisy promujące finansowe wyłudzenia (scam) oraz linki mające sztucznie budować profil PageRank docelowych domen.

Jak zbudować nowoczesną automatyzację testów: Od piramidy po czysty kod (Część 1)

· 4 min aby przeczytać
Przemysław Majdak
Full-Stack Developer, Automation Engineer & Web Security Specialist

Zanim zaczniemy pisać o konkretnych narzędziach, konfigurować pipeline'y CI/CD i uruchamiać testy w środowiskach wirtualnych, musimy odpowiednio ustawić nasz "mindset". Budowanie stabilnego frameworka testowego zaczyna się od obranej strategii (Piramidy Testów), a kończy na uświadomieniu sobie kluczowej zasady: kod testów to kod produkcyjny.

Od Zera do CI/CD: Jak ujarzmiliśmy testy E2E z Playwright w projekcie Reads

· 4 min aby przeczytać
Przemysław Majdak
Full-Stack Developer, Automation Engineer & Web Security Specialist

W dzisiejszym świecie tworzenia oprogramowania (szczególnie aplikacji Fullstack), testowanie to nie tylko "dodatek", ale absolutny fundament utrzymania zdrowego cyklu życia projektu. W projekcie reads od początku postawiliśmy na wysoką jakość i zautomatyzowane procesy. Chciałbym podzielić się z Wami, dlaczego wybraliśmy Playwrighta do testów End-to-End (E2E), jak to narzędzie sprawdza się w praktyce oraz w jaki sposób wpięliśmy je w naszą "piramidę testów" na CI/CD.

Wielka ewolucja włamań 2005–2026: Od SQL Injection do AI

· 9 min aby przeczytać
Przemysław Majdak
Full-Stack Developer, Automation Engineer & Web Security Specialist

Jako inżynier bezpieczeństwa, który zaczynał od analizy pakietów w Wiresharku i ręcznego „fuzzowania” formularzy, z pewnym sentymentem wspominam rok 2005. Wtedy bezpieczeństwo aplikacji webowych opierało się na naiwnym zaufaniu do protokołów GET i POST. Parametry w URL-u były dosłownie zaproszeniem do przejęcia bazy danych (SQLi), a brak walidacji po stronie serwera był normą, nie wyjątkiem. Królowała era monolitycznych systemów, w których jedna luka w kodzie oznaczała natychmiastowe RCE (Remote Code Execution). Zamiast podejścia Secure by Design, żyliśmy w świecie „perymetrycznej obrony”, wierząc, że firewall ochroni nas przed wszystkim.

Prometheus + Grafana na VPS: Jak zbudować solidny monitoring i uniknąć typowych pułapek

· 7 min aby przeczytać
Przemysław Majdak
Full-Stack Developer, Automation Engineer & Web Security Specialist

Mam VPS z kilkoma usługami dockerowymi: WireGuard, Pi-hole, n8n, SonarQube, środowisko staging dla mojego projektu. Przez długi czas jedynym "monitoringiem" było SSH i docker ps. Postanowiłem to zmienić.

Ten wpis to kopalnia wiedzy z mojego wdrożenia — dowiesz się z niego, jak poprawnie skonfigurować cały stack i jak poradzić sobie z wyzwaniami, które mogą pojawić się w nowoczesnych środowiskach Docker (jak Ubuntu 24.04). To nie jest zwykły tutorial "kopiuj-wklej", ale praktyczny przewodnik po tym, jak sprawić, by monitoring na VPS naprawdę działał.

Jak Przyspieszyć i Zabezpieczyć CI/CD – Praktyczne Wdrożenie DevSecOps w GitHub Actions

· 4 min aby przeczytać
Przemysław Majdak
Full-Stack Developer, Automation Engineer & Web Security Specialist

Jako programiści często wpadamy w pułapkę dokładania kolejnych narzędzi i skanerów do naszych pipeline'ów w CI/CD, nie zważając na to, jak mocno wydłuża to czas trwania całego procesu. Chcemy mieć zrobiony linting, przetestowany kod (zarówno jednostkowo, jak i E2E), jakość potwierdzoną przez SonarQube i wreszcie bezpieczeństwo obrazów Dockerowych za pomocą Trivy.