QA / QA Automation
Какво да правите, ако изискванията са противоречиви и е невъзможно да изберете правилна парола?
Договаряте се предварително на grooming, че разработчиците ще напишат юнит тестове, и ти разбираш какво ще покриваш?
Проектът беше започнат от нулата, тоест вие организирахте автоматизацията отначало сами?
Оптимизация на решението: как да премахнете клона else и да използвате for/else?
Каква е разликата между HTTP и HTTPS?
Моля, разкажи ми какви са генериците и за какво служат.
Посочете основните принципи на ООП и кратко ги характеризирайте
Работили ли сте някога с mock/stub?
Как виждате използването на ИИ в работата на QA глобално, в рамките на подобряване на процесите?
Как да управляваме група потребители при многопоточен четене на една тема?
По какви признаци разбираш, че деплоймънтът е успешен? Как да разбереш версията на услугата в Kubernetes?
С какво се занимаваше в банката? Коя част от продукта тествахте?
Работили ли сте с Allure? Можете ли да назовете някои анотации? Може ли да прикачите скрийншот и как? Къде се съхраняват резултатите от изпълнението? Как да свържете Allure с CI/CD (Jenkins)?
Избройте артефактите за тестване, които знаете.
Какво да правите, ако документацията на API е неактуална?
Колко голям беше екипът? Работихте ли самостоятелно или под ръководство?
Можеш ли да опишеш някакъв механизъм за авторизация?
Методът взаимодейства с базата данни — това е юнит или интеграционен тест?
Обектно-ориентираното програмиране (ООП) е подход към разработката на софтуер, при който кодът е организиран под формата на обекти Инкапсулация Инкапсулацията е обединяване на данни и методи, които работят с тези данни, в рамките на един клас, както и ограничаване на директния достъп до вътрешното състояние на обекта. Просто казано: обектът управлява собствените си данни, а външният код взаимодейства с него чрез методи. Абстракция Абстракцията е изолиране само на важните характеристики на обекта и скриване на детайлите на неговата реализация. Просто казано: потребителят се интересува от това, което прави обектът, а не как точно го прави. Полиморфизъм Полиморфизмът е възможността на обекти с различна реализация да използват един и същи интерфейс. В тестовете това помага да се пише универсален код, който работи с различни типове данни или класове. Пример в Python: class Animal: def make_sound(self): pass class Dog(Animal): def make_sound(self): return "Га!" class Cat(Animal): def make_sound(self): return "Мяу!" def animal_sound(animal: Animal): print(animal.make_sound()) dog = Dog() cat = Cat() animal_sound(dog) # Га! animal_sound(cat) # Мяу! В автоматизираните тестове полиморфизмът е полезен за: - Създаване на универсални методи за проверка - Реализиране на различни стратегии за тестване чрез един интерфейс - Поддръжка на различни версии на API/UI без промяна на тестовете Наследство Наследството е механизъм, който позволява на нов клас автоматично да използва съществуващ клас, наследявайки неговите свойства и методи. Просто казано: новият клас рециклира кода на родителския клас и го разширява при необходимост.
Какво е Основен ключ и за какво служи?