Cykl życia testowania oprogramowania (STLC): 6 faz, kryteria wejścia i wyjścia, przykład

  1. Strona główna
  2. Blog
  3. Testowanie oprogramowania

Testowanie oprogramowania

Cykl życia testowania oprogramowania (STLC): 6 faz, kryteria wejścia i wyjścia, przykład

Testowanie to coś więcej niż uruchamianie przypadków testowych na koniec projektu. Poznaj sześć faz STLC, czego każda z nich potrzebuje i co produkuje, jak odnoszą się one do rzeczywistej funkcji i jak zespoły Agile je adaptują.

9 min czytania
Cykl życia testowania oprogramowania (STLC): sześć faz, kryteria wejścia i wyjścia oraz przykład

Najważniejsze

  • Cykl życia testowania oprogramowania to sekwencja czynności wykorzystywanych do planowania, projektowania, przeprowadzania i zamykania testów.
  • Wspólny model składa się z sześciu faz, od analizy wymagań do zamknięcia testów.
  • Kryteria wejścia i wyjścia określają, kiedy faza może się rozpocząć i kiedy się zakończy.
  • Zwinne zespoły wykonują te same czynności, ale powtarzają je w małych pętlach w każdym sprincie.

Kiedy błąd trafia do środowiska produkcyjnego, przyczyną często nie jest to, że ktoś zapomniał przeprowadzić test. Chodzi o to, że nigdy nie kwestionowano wymagań, dane testowe były błędne lub nikt nie zgodził się, co oznacza „zrealizowane”. Cykl życia testowania oprogramowania rozwiązuje te problemy, nadając testom przejrzystą strukturę od pierwszego wymagania do raportu końcowego.

W tym przewodniku opisano każdą fazę, a następnie omówiono jedną ilustracyjną cechę obejmującą wszystkie z nich: stronę logowania, która blokuje konto po pięciu nieudanych próbach. Źródła nie są w pełni zgodne co do liczby faz. Zobaczysz modele z siedmioma lub ośmioma, ale przeważnie dzielą tę samą pracę inaczej. Używamy powszechnie nauczanej wersji sześciofazowej.

Co to jest STLC?

STLC to zdefiniowana seria działań testowych przeprowadzanych w celu potwierdzenia, że ​​oprogramowanie spełnia jego wymagania. Każda faza ma cel, dane wejściowe i wyniki, dzięki czemu testowanie jest zaplanowane i identyfikowalne, a nie improwizowane na końcu.

Korzyści są praktyczne. Testerzy angażują się wcześnie, gdy defekty są tańsze w naprawie. Wysiłek wiąże się z najwyższym ryzykiem. A kiedy menedżer pyta „czy jesteśmy gotowi na zwolnienie?”, zespół może odpowiedzieć, przedstawiając dowody.

Sześć faz STLC w skrócie

Faza Główny cel Kluczowe wyjście
1. Analiza wymagań Dowiedz się, co testować Pytania, wymagania testowalne, RTM
2. Planowanie testów Zdecyduj, jak przetestować Plan testów, szacunki
3. Tworzenie przypadków testowych Zaprojektuj testy Przypadki testowe, skrypty, dane testowe
4. Konfiguracja środowiska Przygotuj miejsce do przetestowania Gotowe środowisko, wynik testu dymu
5. Wykonanie testu Uruchom testy i zarejestruj defekty Wyniki, raporty o błędach
6. Zamknięcie testu Oceniaj i ucz się Sprawozdanie z zamknięcia, wyciągnięte wnioski

Kryteria wejścia to warunki, które muszą zostać spełnione przed rozpoczęciem fazy. Kryteria wyjścia to warunki, które muszą być spełnione przed zakończeniem. Powstrzymują zespół od na przykład przeprowadzenia testów na uszkodzonej kompilacji i marnowania dnia.

Faza 1: Analiza wymagań

Testerzy badają wymagania, aby dowiedzieć się, co można przetestować, a co jest niejasne. Jest to często najtańsze miejsce, w którym można zapobiec błędom, ponieważ pytanie kosztuje znacznie mniej niż poprawka produkcyjna.

  • Wpis: dostępne są dokumenty dotyczące wymagań lub historie użytkowników.
  • Działania: identyfikacja potrzeb funkcjonalnych i niefunkcjonalnych, zadawanie pytań, ocena ryzyka i decydowanie, co można zautomatyzować.
  • Wyjście: udzielane są odpowiedzi na pytania otwarte i uruchamiana jest macierz identyfikowalności wymagań (RTM).
  • Elementy dostarczane: lista wymagań, które można przetestować, oraz RTM.

Przykład logowania. Historia mówi „zablokuj konto po pięciu nieudanych próbach”. Dobry tester pyta: pięć w jakim okresie? Jak to jest odblokowane? Czy pomyślne logowanie resetuje licznik? Jaki komunikat się wyświetla? Każda odpowiedź staje się czymś, co można przetestować.

Faza 2: Planowanie testów

Zespół decyduje o zakresie, podejściu, ludziach, narzędziach, harmonogramie i ryzyku. Przewód testowy zwykle jest właścicielem tej fazy.

  • Wpis: analiza wymagań i wstępna ocena ryzyka.
  • Działania: zdefiniuj zakres, oszacuj nakład pracy, wybierz narzędzia, przypisz role i ustal kryteria wyjścia na późniejsze fazy.
  • Wyjście: plan testów zostaje sprawdzony i zatwierdzony.
  • Elementy dostarczane: plan testów i szacunki nakładu pracy.

Przykład logowania. Zakres: zasady blokowania, resetowanie i komunikaty o błędach w internecie i na urządzeniach mobilnych. Poza zakresem: jednokrotne logowanie obsługiwane przez inny zespół. Największym ryzykiem jest blokowanie prawdziwych użytkowników, więc to oni przyciągają najwięcej uwagi. Jeśli nie masz pewności, czym plan różni się od strategii, przeczytaj plan testowy a strategia testowa.

Faza 3: Opracowanie przypadku testowego

Tutaj testerzy piszą szczegółowe przypadki testowe, skrypty automatyzacji i dane testowe.

  • Wpis: zatwierdzony plan testów i stabilne wymagania.
  • Działania: pisanie i przeglądanie przypadków testowych, przygotowywanie danych, tworzenie skryptów automatycznych kontroli i aktualizacja RTM.
  • Wyjście: przypadki testowe i dane zostały sprawdzone i gotowe.
  • Elementy dostarczane: przypadki testowe, skrypty i dane testowe.
Identyfikator Scenariusz Oczekiwany wynik
TC-01 4 nieudane próby, następnie prawidłowe hasło Logowanie powiodło się i licznik zostaje zresetowany
TC-02 5 nieudanych prób Konto zostaje zablokowane i pojawia się wyraźny komunikat
TC-03 Popraw hasło na zablokowanym koncie Logowanie nadal odmawiane
TC-04 Nieudane próby w dwóch przeglądarkach jednocześnie Liczba jest udostępniana i pozostaje dokładna
TC-05 Odblokuj za pomocą linku resetującego Logowanie działa, a licznik został wyczyszczony

Zauważ, że TC-01 i TC-02 testują obie strony granicy, co wynika bezpośrednio z analizy wartości granicznych. Więcej informacji na temat dobrego pisania tych przypadków znajdziesz w jak pisać przypadki testowe.

Faza 4: Konfiguracja środowiska testowego

Testy wymagają realistycznego miejsca do przeprowadzenia: odpowiednich serwerów, danych, kont, przeglądarek i dostępu do sieci. Ta faza często przebiega równolegle z fazą 3 i może być obsługiwana przez programistów lub zespół DevOps.

  • Wpis: plan testów, przegląd architektury i wymagania środowiskowe.
  • Czynności: skonfiguruj sprzęt lub kontenery, załaduj dane, skonfiguruj dostęp i zainstaluj kompilację.
  • Wyjście: środowisko jest gotowe i test dymu zakończył się pomyślnie.
  • Elementy dostawy: środowisko pracy i wynik testu dymu.

Przykład logowania. Staging pobiera konta testowe w znanych stanach, wraz ze skróconym licznikiem czasu blokady, dzięki czemu testerzy nie muszą czekać. Szybki test dymu potwierdza, że ​​logowanie w ogóle się ładuje przed rozpoczęciem pełnego działania. Kontenery pomagają zachować spójność środowisk, jak pokazano w naszym samouczku Docker Compose.

Faza 5: Wykonanie testu

Testerzy przeprowadzają zaplanowane testy, porównują rzeczywiste i oczekiwane wyniki oraz zgłaszają defekty. Naprawione błędy są ponownie testowane, a powiązane obszary poddawane są testom regresyjnym.

  • Wpis: przypadki testowe są gotowe, środowisko działa, a kompilacja została dostarczona.
  • Czynności: uruchamianie testów, rejestrowanie wyników, rejestrowanie defektów, ponowne testowanie poprawek i aktualizacja RTM.
  • Wyjście: przeprowadzane są zaplanowane testy, a defekty są naprawiane lub formalnie akceptowane.
  • Dostawy: wyniki testów i raporty o defektach.

Przykład logowania. Błąd TC-04: w przypadku dwóch przeglądarek licznik osiąga tylko cztery. Tester rejestruje błąd, podając jasne kroki i dowody, zgodnie z opisem w jak napisać raport o błędzie. Po naprawieniu problemu TC-04 jest uruchamiany ponownie, a powiązane kontrole logowania przechodzą przez listę kontrolną regresji.

Wskazówka: Spraw, aby kryteria wyjścia były mierzalne i uzgodnij je z wyprzedzeniem. „Wszystkie testy krytyczne przechodzą pomyślnie i nie wykryto żadnych błędów o dużym znaczeniu” – trudno się spierać. „Testowanie wygląda dobrze” nie jest kryterium.

Faza 6: Zamknięcie testu

Ta faza jest często pomijana, a szkoda, ponieważ dzięki niej zespół się rozwija. Zespół ocenia cykl, archiwizuje swoją pracę i zapisuje to, czego się nauczył.

  • Wpis: wykonanie zostało zakończone i znany jest status defektu.
  • Działania: sprawdzanie kryteriów wyjścia, analizowanie trendów defektów, archiwizowanie zasobów testowych i przeprowadzanie retrospektywy.
  • Wyjście: raport zamknięcia został podpisany.
  • Efekty: raport zamknięcia i wyciągnięte wnioski.

Przykład logowania. Z raportu wynika, że ​​wszystkie pięć spraw zakończyło się pomyślnie po jednej naprawie. Wniosek jest taki, że współbieżność została przetestowana dopiero późno, więc przyszłe funkcje z licznikami będą uwzględniały ten scenariusz podczas projektowania.

STLC kontra SDLC

SDLC, czyli cykl życia oprogramowania, obejmuje zbudowanie całego produktu. STLC to część skupiająca się na testowaniu i działająca obok niej.

Aspekt SDLC STLC
Skup się Tworzenie i dostarczanie oprogramowania Walidacja oprogramowania
Prowadzony przez Cały zespół produktowy Głównie inżynierowie ds. kontroli jakości i inżynierowie testowi
Fazy Wymagania, projektuj, buduj, testuj, wdrażaj, konserwuj Sześć faz powyżej
Wyjście Działający produkt Dowód jego jakości

Analiza wymagań w SDLC zasila analizę wymagań w STLC, a rozwój dostarcza elementy wbudowane w wykonanie testu. Testowanie nie musi czekać do zakończenia kodowania. Wczesne rozpoczęcie pracy jest tym, co ludzie mają na myśli, mówiąc „przesunięcie w lewo”.

STLC w Agile i DevOps

Poszczególne fazy mogą wydawać się długim, jednokierunkowym procesem, ale nie muszą tak być. W Agile te same czynności są skracane i powtarzane w każdym sprincie, często w ciągu godzin, a nie tygodni:

  • Analiza wymagań polega na udoskonalaniu zaległości za pomocą pytań dotyczących historii użytkownika.
  • Planowanie odbywa się podczas planowania sprintu, z lekkimi notatkami zamiast długich dokumentów.
  • Projektowanie testów odbywa się równolegle z kodowaniem, często jako kryteria akceptacji i testy automatyczne.
  • Konfiguracja środowiska jest zautomatyzowana za pomocą kontenerów i infrastruktury w postaci kodu.
  • Wykonanie przebiega w sposób ciągły w potoku CI/CD.
  • Zamknięcie staje się częścią przeglądu sprintu i retrospektywy.

Zachowaj to, co przydatne, i skaluj formalności do ryzyka. Małe narzędzie wewnętrzne może wymagać krótkiej listy kontrolnej, podczas gdy system bankowy może wymagać formalnych zatwierdzeń ze względów regulacyjnych.

Typowe błędy

  • Późne sprowadzanie testerów. Błędy znalezione w wymaganiach są znacznie tańsze niż te znalezione po wydaniu.
  • Niejasne kryteria wyjścia. Bez nich terminy podejmują decyzję za Ciebie.
  • Testowanie w złym środowisku. Awarie spowodowane złymi danymi lub konfiguracją marnują czas i podważają zaufanie.
  • Pomijanie zamknięcia. Następnie zespół powtarza te same błędy w następnym cyklu.
  • Podążanie zbyt rygorystycznie. STLC jest przewodnikiem. Ciężkie dokumenty nie oznaczają automatycznie lepszej jakości.

Podsumowanie

Cykl życia testowania oprogramowania to po prostu zdyscyplinowana odpowiedź na sześć pytań: co testujemy, jak, w jakich przypadkach, gdzie, co się stało i czego się nauczyliśmy? Przyjrzyj się swojej następnej funkcji i sprawdź, które z tych pytań Twój zespół zwykle pomija. Naprawienie tej jednej luki prawdopodobnie da ci największy zysk.

Najczęstsze pytania

Jakie jest 6 faz STLC?

Należą do nich analiza wymagań, planowanie testów, tworzenie przypadków testowych, konfiguracja środowiska testowego, wykonanie testów i zamknięcie testów. Niektóre modele dzielą je na więcej etapów.

Jaka jest różnica między STLC i SDLC?

SDLC obejmuje budowanie całego produktu, od wymagań po konserwację. STLC obejmuje wyłącznie działania testowe i przebiega równolegle z rozwojem.

Jakie są kryteria wejścia i wyjścia?

Kryteria wejścia to warunki wymagane przed rozpoczęciem fazy, np. stabilna wersja. Kryteria wyjścia to warunki wymagane do jego ukończenia, takie jak zaliczenie wszystkich testów krytycznych.

Czym jest RTM w testowaniu?

Macierz identyfikowalności wymagań odwzorowuje każde wymaganie na przypadki testowe. Pokazuje, czy uwzględniono wszystkie wymagania i pomaga ocenić wpływ zmian.

Czy STLC jest używany w Agile?

Tak. Zwinne zespoły wykonują te same czynności, ale w krótszych, powtarzalnych cyklach w ramach każdego sprintu, przy większej automatyzacji i mniej formalnej dokumentacji.

Ucz się dalej

Pracuj z Stack Quora

Potrzebujesz pomocy przy testowaniu, WordPressie lub SEO?

Pomagamy zespołom dostarczać lepsze oprogramowanie i rozwijać ich witryny. Powiedz nam, nad czym pracujesz, a my zaproponujemy jasny następny krok.

Czytaj dalej

Więcej poradników na testowanie, sztuczna inteligencja i nowoczesny rozwój

Podobał Ci się ten artykuł? Wybierz temat i przejdź bezpośrednio do naszych najnowszych tutoriali.

Sztuczna inteligencja

Wyjaśnienie halucynacji AI: dlaczego modele językowe tworzą rzeczy i jak je zmniejszyć

Wyjaśniono halucynacje AI: czym są, dlaczego powstają w modelach językowych, typowe typy, jak je zredukować za pomocą uziemień i podpowiedzi oraz pr…

Przeczytaj artykuł →
DevOps

Wyjaśnienie zmiennych środowiskowych: pliki .env, sekrety i konfiguracja wykonana prawidłowo

Zmienne środowiskowe wyjaśnione na przykładach Pythona, które przeprowadziliśmy: ich odczytywanie i ustawianie, dlaczego każda wartość jest ciągiem …

Przeczytaj artykuł →
Tworzenie oprogramowania

Wyjaśnienie ograniczenia szybkości interfejsu API: algorytmy, nagłówki i obsługa błędów 429

Ograniczanie szybkości API wyjaśnione za pomocą przeprowadzonej przez nas symulacji: zasobnik tokenów, stałe okno, przesuwane okno, 429 odpowiedzi, …

Przeczytaj artykuł →
Automatyzacja testów

Wyśmiewanie w Pythonie: unittest.mock, patch i błędy, które sprawiają, że testy kłamią

Wyśmiewanie w Pythonie za pomocą unittest.mock, przetestowane: Mock i zwracana wartość, efekt uboczny, łatanie tam, gdzie używana jest nazwa, specyf…

Przeczytaj artykuł →
Testowanie oprogramowania

Wyjaśnienie zasięgu kodu: pokrycie linii i oddziału oraz co naprawdę oznacza 100%

Wyjaśnienie pokrycia kodu za pomocą prawdziwego pliku cover.py: pokrycie linii, gałęzi i warunków, przeczytanie raportu, dlaczego 100% pokrycia może…

Przeczytaj artykuł →
Bazy danych i SQL

DELETE vs TRUNCATE vs DROP w SQL: różnice, wycofywanie i kiedy używać każdego z nich

DELETE vs TRUNCATE vs DROP wyjaśnione za pomocą przetestowanego SQL: co każdy usuwa, wycofywanie, wyzwalacze, resetowanie tożsamości, prędkość i czy…

Przeczytaj artykuł →
Bazy danych i SQL

Wyjaśnienie widoków SQL: tworzenie, używanie i unikanie pułapek wraz z przykładami

Widoki SQL wyjaśnione za pomocą zapytań, które uruchomiliśmy: tworzenie widoku, wyniki na żywo, ukrywanie kolumn, wydajność, widoki z możliwością ak…

Przeczytaj artykuł →
Tworzenie oprogramowania

Interfejs TypeScript a typ: rzeczywiste różnice, testowane za pomocą kompilatora

Interfejs TypeScript a typ, sprawdzony z prawdziwym kompilatorem: co oba mogą zrobić, co tylko jeden, łączenie deklaracji, rozszerzenia a przecięcia…

Przeczytaj artykuł →
Tworzenie oprogramowania

Python *args i **kwargs wyjaśnione: elastyczne funkcje z przejrzystymi przykładami

Python *args i **kwargs wyjaśnione za pomocą uruchomionego przez nas kodu: pakowanie i rozpakowywanie, kolejność parametrów, argumenty zawierające t…

Przeczytaj artykuł →
Tworzenie oprogramowania

Funkcje Lambda w Pythonie: składnia, rzeczywiste zastosowania i kiedy ich nie używać

Funkcje lambda w Pythonie wyjaśnione za pomocą uruchomionego przez nas kodu: składnia, sortowanie za pomocą klucza, mapa i filtr, domknięcia, pułapk…

Przeczytaj artykuł →
Sztuczna inteligencja

Kim są agenci AI? Jak one działają, dzięki prostej pętli agenta, którą możesz uruchomić

Kim są agenci AI? Prosty przewodnik po pętli agenta, narzędziach, pamięci i poręczach, z małą pętlą w Pythonie, którą uruchomiliśmy, prawdziwymi zag…

Przeczytaj artykuł →
DevOps

Monitorowanie a obserwowalność: prawdziwa różnica z logami, wskaźnikami i śladami

Wyjaśnienie monitorowania a obserwowalności: znane i nieznane awarie, dzienniki, metryki i ślady, opis incydentu przy kasie, złote sygnały, OpenTele…

Przeczytaj artykuł →
DevOps

Woluminy platformy Docker a mocowania powiązań: utrwalanie danych kontenera we właściwy sposób

Wyjaśniono woluminy Dockera a montowanie powiązań: dlaczego dane kontenera znikają, nazwane woluminy, montowanie powiązań, tmpfs, przykłady tworzeni…

Przeczytaj artykuł →
Automatyzacja testów

TDD vs BDD: kluczowe różnice, jedna funkcja zbudowana w obie strony i kiedy używać każdej z nich

TDD vs BDD wyjaśnione za pomocą jednej funkcji rabatowej zbudowanej w obie strony: refaktoryzacja czerwono-zielona z uruchomionym przez nas kodem, s…

Przeczytaj artykuł →
Testowanie oprogramowania

Testowanie akceptacyjne użytkownika (UAT): proces, lista kontrolna i rzeczywiste przykłady

Wyjaśniono testy akceptacyjne użytkownika: kto je przeprowadza, czym różni się od kontroli jakości, siedmioetapowy proces, szablon przypadku testowe…

Przeczytaj artykuł →
Bazy danych i SQL

Wyjaśnienie wartości SQL NULL: IS NULL, COALESCE, NULLIF i pułapki, których należy unikać

Wartości SQL NULL wyjaśnione za pomocą zapytań, które wykonaliśmy: logika trójwartościowa, IS NULL, COALESCE, NULLIF, w jaki sposób agregacje, łącze…

Przeczytaj artykuł →
Bazy danych i SQL

Instrukcja SQL CASE WHEN: składnia, rzeczywiste przykłady i typowe błędy

SQL CASE WHEN wyjaśnione za pomocą zapytań, które uruchomiliśmy: proste i przeszukiwane formularze, kolejność warunków, elementy przestawne z SUM, s…

Przeczytaj artykuł →
Tworzenie oprogramowania

Co to jest JWT? Tokeny internetowe JSON wyjaśnione na przykładzie działania

Co to jest JWT? Wyjaśniono tokeny sieciowe JSON: trzy części, token zbudowany i zmodyfikowany w uruchomionym przez nas kodzie, JWT a sesje, pamięć m…

Przeczytaj artykuł →
Tworzenie oprogramowania

Wyjaśnienie pętli zdarzeń JavaScript: stos wywołań, mikrozadania i liczniki czasu z przykładami

Pętla zdarzeń JavaScript wyjaśniona za pomocą uruchomionego przez nas kodu: stos wywołań, kolejki zadań i mikrozadań, dlaczego setTimeout 0 nie jest…

Przeczytaj artykuł →
Tworzenie oprogramowania

Wyjaśnienie generatorów Pythona i wydajności: oszczędzaj pamięć dzięki prawdziwym przykładom

Generatory Pythona i wydajność wyjaśnione za pomocą uruchomionego przez nas kodu: sposób wstrzymywania i wznawiania, mierzone oszczędności pamięci, …

Przeczytaj artykuł →
Sztuczna inteligencja

Czym są osady? Wyjaśnienie wektorów i podobieństwa cosinusa

Czym są osadzania? Prosty przewodnik po wektorach, podobieństwie cosinusów i wyszukiwaniu semantycznym, z małym przykładem, który przeprowadziliśmy,…

Przeczytaj artykuł →
DevOps

Wdrożenie niebiesko-zielone a kanaryjskie: różnice, kompromisy i sposób wyboru

Wyjaśniono wdrożenie Blue-Green vs Canary: sposób działania każdego z nich, koszty, ryzyko i wycofywanie zmian, przetestowane przez nas stabilne łąc…

Przeczytaj artykuł →
Automatyzacja testów

Niestabilne testy: co je powoduje i jak je naprawić na dobre

Niestabilne testy wyjaśnione w przeprowadzonych przez nas demonstracjach: główne przyczyny, sposób potwierdzenia i zdiagnozowania jednej z nich, odp…

Przeczytaj artykuł →
Testowanie oprogramowania

Load Testing vs Stress Testing: Differences, Metrics and k6 Examples

Wyjaśniono testy obciążenia i testy warunków skrajnych: co dowodzi każdy z nich, testy szczytowe i nasiąkania, istotne metryki, dlaczego średnie wpr…

Przeczytaj artykuł →
Testowanie oprogramowania

Przypadek testowy a scenariusz testowy: kluczowe różnice, przykłady i kiedy stosować każdy z nich

Wyjaśnienie przypadków testowych i scenariuszy testowych: jasne definicje, tabela obok siebie, jedna funkcja resetowania hasła zaczerpnięta ze scena…

Przeczytaj artykuł →
Bazy danych i SQL

Optymalizacja zapytań SQL: czytaj plany wykonania i napraw powolne zapytania z synchronizacją

Optymalizacja zapytań SQL przetestowana na milionie wierszy: przeczytaj plany wykonania, dodaj odpowiednie indeksy, napraw filtry niesargowalne, uży…

Przeczytaj artykuł →
Bazy danych i SQL

SQL UNION vs UNION ALL: różnice, przykłady i testowana wydajność

SQL UNION vs UNION ALL wyjaśnione na podstawie zapytań, które uruchomiliśmy: duplikaty, obie reguły są zgodne, prawdziwy błąd danych, zmierzona wyda…

Przeczytaj artykuł →
Tworzenie oprogramowania

Samouczek API pobierania JavaScript: GET, POST, obsługa błędów i limity czasu

Samouczek JavaScript Fetch API testowany na serwerze lokalnym: GET i POST, dlaczego 404 nie rzuca, pomocnik wielokrotnego użytku, ciągi zapytań, prz…

Przeczytaj artykuł →
Tworzenie oprogramowania

Obsługa plików w Pythonie: odczyt, zapis, CSV, JSON i pathlib z przykładami

Obsługa plików w Pythonie wyjaśniona za pomocą uruchomionego przez nas kodu: tryby otwarte, czytanie dużych plików, CSV, JSON, pathlib, pliki binarn…

Przeczytaj artykuł →
Tworzenie oprogramowania

Klasy i obiekty Pythona: samouczek OOP z prawdziwymi przykładami

Klasy i obiekty Pythona objaśnione za pomocą uruchomionego przez nas kodu: __init__, metody, atrybuty klas i instancji, dziedziczenie, właściwości, …

Przeczytaj artykuł →
Sztuczna inteligencja

Co to jest model dużego języka? Jak działają LLM, wyjaśnione bez szumu

Co to jest model dużego języka? LLM wyjaśnione prostym językiem: tokeny, osadzanie, uwaga, szkolenie, temperatura i okna kontekstowe, mała demonstra…

Przeczytaj artykuł →
DevOps

Polecenia systemu Linux dla początkujących: niezbędny przewodnik po terminalu z przykładami

Polecenia systemu Linux dla początkujących, pogrupowane według zadań: nawigacja, pliki, przeglądanie logów, grep, potoki, uprawnienia, procesy i arc…

Przeczytaj artykuł →
Automatyzacja testów

Selenium kontra dramaturg: kluczowe różnice, porównanie kodu i wybór

Porównanie Selenium i Playwright: architektura, oczekiwanie, obsługa przeglądarki i języka, debugowanie, ten sam test w obu narzędziach, porady doty…

Przeczytaj artykuł →
Testowanie oprogramowania

Partycjonowanie równoważne: technika projektowania testów wyjaśniona na praktycznych przykładach

Wyjaśniono podział równoważny: jak znaleźć prawidłowe i nieprawidłowe partycje, sprawdzone przykłady dla grup wiekowych, hasła i kupony, przeprowadz…

Przeczytaj artykuł →
Testowanie oprogramowania

Ważność a priorytet w testowaniu oprogramowania: różnice, macierz i rzeczywiste przykłady

Wyjaśniono ważność a priorytet w testowaniu oprogramowania: jasne definicje, czterokierunkowa macierz z przykładami, skale poziomów, kto ustawia każ…

Przeczytaj artykuł →
Bazy danych i SQL

Samouczek dotyczący podzapytań SQL: typy, skorelowane podzapytania i ISTNIEJĄ z przykładami

Samouczek dotyczący podzapytań SQL z zapytaniami, które wykonaliśmy: podzapytania skalarne, IN, FROM i SELECT, podzapytania skorelowane, EXISTS, puł…

Przeczytaj artykuł →
Bazy danych i SQL

Wyjaśnienie transakcji SQL i ACID: COMMIT, ROLLBACK i poziomy izolacji

Transakcje SQL i ACID wyjaśnione za pomocą wykonanego przez nas przelewu bankowego: COMMIT, ROLLBACK, punkty zapisu, blokady, poziomy izolacji, brud…

Przeczytaj artykuł →
Tworzenie oprogramowania

Ściągawka dotycząca poleceń Git: polecenia, których faktycznie używasz, z przykładami

Ściągawka poleceń Git pogrupowana według zadań: konfiguracja, przemieszczanie, gałęzie, piloty, skrytka, historia i cofanie błędów, z danymi wyjścio…

Przeczytaj artykuł →
Tworzenie oprogramowania

Wyjaśnienie obietnic JavaScript: następnie catch, Promise.all i typowe błędy

Obietnice JavaScript wyjaśnione za pomocą uruchomionego przez nas kodu: stany, łańcuchy then i catch, obsługa błędów, Promise.all, allSettled, race …

Przeczytaj artykuł →
Tworzenie oprogramowania

Samouczek słownika języka Python: metody, przykłady i typowe wzorce

Samouczek słownika języka Python z uruchomionym przez nas kodem: tworzenie, odczytywanie i aktualizowanie słowników, metody kluczowych, łączenie, ro…

Przeczytaj artykuł →
Sztuczna inteligencja

Co to jest RAG? Generacja rozszerzona o wyszukiwanie wyjaśniona na przykładzie roboczym

Co to jest RAG? Generowanie wspomagane pobieraniem wyjaśnione krok po kroku: indeksowanie, fragmentowanie, osadzanie, pobieranie, mały działający pr…

Przeczytaj artykuł →
DevOps

Samouczek Terraform dla początkujących: Infrastruktura jako kod od pierwszego pliku do modułów

Samouczek Terraform dla początkujących: zacznij bez konta w chmurze, naucz się inicjowania, planowania i stosowania, a następnie zmiennych, wyników,…

Przeczytaj artykuł →
DevOps

Docker kontra Kubernetes: kluczowe różnice, jak ze sobą współpracują i czego potrzebujesz

Wyjaśniono Docker vs Kubernetes: co robi każdy z nich, ta sama aplikacja działa z obydwoma, porównanie Docker Compose i Swarm, zmiana podkładki dock…

Przeczytaj artykuł →
Automatyzacja testów

Samouczek Pytest dla początkujących: urządzenia, parametryzacja i prawdziwe przykłady

Samouczek pytest dla początkujących z testami, które przeprowadziliśmy na pytest 9.2: asercje, urządzenia, parametryzacja, conftest, znaczniki, tmp_…

Przeczytaj artykuł →
Testowanie oprogramowania

Cykl życia testowania oprogramowania (STLC): 6 faz, kryteria wejścia i wyjścia, przykład

Wyjaśniono cykl życia testowania oprogramowania: sześć faz STLC z kryteriami wejścia i wyjścia, elementy dostarczane, działający przykład funkcji lo…

Przeczytaj artykuł →
Tworzenie oprogramowania

Git merge vs rebase: różnice, przykłady i kiedy czego używać

Git merge vs rebase wyjaśnione na prawdziwym wyniku logu, z tabelą porównawczą, złotą zasadą rebase i bezpiecznym procesem pracy zespołu.

Przeczytaj artykuł →
Tworzenie oprogramowania

Python list comprehension: składnia, przykłady i kiedy jej unikać

Python list comprehension wyjaśnione: składnia, filtrowanie, if-else, zagnieżdżone pętle, zmierzone czasy i sytuacje, w których zwykła pętla for jes…

Przeczytaj artykuł →
Bazy danych i SQL

SQL JOIN – wyjaśnienie z przykładami (Inner, Left, Right, Full)

Zrozum złączenia SQL krok po kroku na przykładowych tabelach i zapytaniach: INNER, LEFT, RIGHT, FULL, CROSS i SELF, plus typowe błędy i wskazówki wy…

Przeczytaj artykuł →