Sobes.tech

QA / QA Automation

W jakim celu w testach używa się ORM i w jakich przypadkach lepiej go nie używać?

Middle
229

Z czego składa się żądanie HTTP?

Middle
224

Czym jest macierz śledzenia i jak się ją tworzy?

Middle
224

Czym jest pamięć podręczna, czym są pliki cookie?

Middle
215

API REST: jak stworzyć serwis mock? Podaj przykłady narzędzi.

Middle
204

Programowanie obiektowe (OOP) to podejście do tworzenia programów, w którym kod jest organizowany w postaci obiektów Enkapsulacja Enkapsulacja to łączenie danych i metod, które z nimi pracują, w jednej klasie, a także ograniczanie bezpośredniego dostępu do wewnętrznego stanu obiektu. Prostymi słowami: obiekt sam zarządza swoimi danymi, a zewnętrzny kod wchodzi z nim w interakcję przez metody. Abstrakcja Abstrakcja to wyodrębnianie tylko ważnych cech obiektu i ukrywanie szczegółów jego implementacji. Prostymi słowami: użytkownik interesuje się tym, co robi obiekt, a nie jak dokładnie to robi. Polimorfizm Polimorfizm to możliwość obiektów z różną implementacją korzystania z tego samego interfejsu. W testach pomaga to pisać uniwersalny kod, który działa z różnymi typami danych lub klasami. Przykład w Python: class Animal: def make_sound(self): pass class Dog(Animal): def make_sound(self): return "Hau!" class Cat(Animal): def make_sound(self): return "Miau!" def animal_sound(animal: Animal): print(animal.make_sound()) dog = Dog() cat = Cat() animal_sound(dog) # Hau! animal_sound(cat) # Miau! W testach automatycznych, polimorfizm jest przydatny do: - Tworzenia uniwersalnych metod sprawdzania - Implementacji różnych strategii testowania przez jeden interfejs - Wsparcia różnych wersji API/UI bez zmiany testów Dziedziczenie Dziedziczenie to mechanizm, który pozwala nowej klasie automatycznie korzystać z istniejącej klasy, odziedziczając jej właściwości i metody. Prostymi słowami: nowa klasa ponownie używa kodu klasy rodzica i w razie potrzeby go rozszerza. Git 1. Systemy kontroli wersji. Lokalny, scentralizowany, rozproszony. 2. Podstawowe pojęcia. Repozytorium, indeks, commit, wskaźniki, gałąź, kopia robocza. 3. Praca z repozytorium. Polecenia: init, clone, status 4. Tworzenie commitu. Polecenia: add, commit. 5. Tworzenie, wyświetlanie, przełączanie między gałęziami, usuwanie. Polecenia: branch, checkout, log, diff. 6. Cofanie zmian. Polecenia: restore, rm, checkout, revert. 7. Scalanie zmian między gałęziami. Polecenia: merge, cherry-pick, rebase. 8. Praca z repozytorium zdalnym. Polecenia: fetch, pull, push. 9. Praca z GitHub, forki i Pull Requests.

Middle
185

Do czego służą ORDER BY i GROUP BY w SQL? Jakie funkcje agregujące używałeś w pracy?

Middle
175

Jaka jest różnica między metodami PUT i PATCH i jakie są ich cechy charakterystyczne?

Middle
167

Jak rozwiązać problem wyścigu wiadomości w Kafka?

Middle
163

Jakie informacje są przekazywane w nagłówkach żądania HTTP?

Middle
160

Opowiedz o cyklu życia błędu. Można to zrobić według statusów.

Middle
159

Czym jest śledzenie wiadomości i jak pomaga w lokalizacji defektu w architekturze mikroserwisów?

Middle
146

W jakich przypadkach ma sens używanie asynchroniczności, a w jakich nie? Jak implementujesz asynchroniczność testów?

Middle
140

Jak zaimplementować soft assert w pytest dla wielu sprawdzeń w teście, aby test nie kończył się na pierwszym błędzie, lecz wykonał wszystkie sprawdzenia?

Middle
137

Jaka jest różnica między iteratorem a generatorem?

Middle
130

Jaka jest różnica między testami Smoke, Sanity i Regression?

Middle
116

Jak przechwycić i zmodyfikować odpowiedź API w Playwright do testowania interfejsu użytkownika?

Middle
113