Sobes.tech
Junior
93
questionbank

Знаешь ли ты какие-либо типы тестирования?

Ответ от нейросети

sobes.tech AI

Да, знаю.

Основные типы тестирования:

  • Функциональное тестирование:

    • Тестирование дымом (Smoke Testing)
    • Тестирование критического пути (Sanity Testing)
    • Тестирование интеграции (Integration Testing)
    • Системное тестирование (System Testing)
    • Регрессионное тестирование (Regression Testing)
    • Приемочное тестирование (Acceptance Testing) - включая альфа- и бета-тестирование.
  • Нефункциональное тестирование:

    • Тестирование производительности (Performance Testing) - включает нагрузочное, стрессовое, объемное тестирование.
    • Тестирование безопасности (Security Testing)
    • Тестирование удобства использования (Usability Testing)
    • Тестирование совместимости (Compatibility Testing)
    • Тестирование надежности (Reliability Testing)
    • Тестирование доступности (Accessibility Testing)
    • Тестирование локализации (Localization Testing)
    • Тестирование интернационализации (Internationalization Testing)
  • Связанное с изменениями тестирование:

    • Дымовое тестирование (Smoke Testing)
    • Регрессионное тестирование (Regression Testing)
  • Структурное тестирование (на основе кода):

    • Модульное тестирование (Unit Testing)
    • Тестирование белого ящика (White Box Testing)
  • Тестирование на основе опыта:

    • Исследовательское тестирование (Exploratory Testing)
    • Тестирование на основе чек-листа (Checklist-based Testing)
    • Тестирование на основе сценариев (Scenario-based Testing)

Примеры применения некоторых типов:

Тип тестирования Краткое описание Когда применяется
Дымовое тестирование Проверка основных функций после сборки или развертывания. Каждая новая сборка.
Регрессионное тестирование Проверка того, что изменения не внесли новые дефекты в существующую функциональность. После каждого внесения изменений или исправления дефектов.
Нагрузочное тестирование Проверка поведения системы под ожидаемой нагрузкой. Перед запуском в эксплуатацию, при изменениях архитектуры.
Модульное тестирование Тестирование отдельных компонентов или модулей кода. На этапе разработки, разработчиками.

В автоматизации тестирования мы чаще всего автоматизируем регрессионные тесты, тесты интеграции и, иногда, тесты производительности и безопасности.

// Пример Unit тестов (JUnit)
public class Calculator {
    public int add(int a, int b) {
        return a + b;
    }
}

import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;

class CalculatorTest {
    @Test
    void testAdd() {
        Calculator calculator = new Calculator();
        assertEquals(5, calculator.add(2, 3), "Adding 2 and 3 should be 5");
    }
}
# Пример Selenium Webdriver теста (Python)
from selenium import webdriver

driver = webdriver.Chrome()
driver.get("https://www.google.com")
print(driver.title)
driver.quit()