← Назад ко всем вопросам

Чем тест-кейс отличается от автотеста и как ты трассируешь их связь?

1️⃣ Как кратко ответить

Тест-кейс — это документ, описывающий условия, шаги и ожидаемые результаты для проверки конкретной функциональности. Автотест — это программный скрипт, автоматизирующий выполнение тест-кейса. Связь между ними трассируется через уникальные идентификаторы, которые указываются в обоих артефактах, что позволяет отслеживать соответствие и покрытие тестирования.

2️⃣ Подробное объяснение темы

Тест-кейс и автотест — это два ключевых элемента в процессе тестирования программного обеспечения, которые, несмотря на их взаимосвязь, выполняют разные функции.

Тест-кейс — это документ, который описывает конкретный сценарий тестирования. Он включает в себя:

  • Идентификатор тест-кейса: уникальный номер или код, который позволяет легко идентифицировать тест-кейс.
  • Название: краткое описание того, что проверяет тест-кейс.
  • Предусловия: условия, которые должны быть выполнены перед началом теста.
  • Шаги выполнения: последовательность действий, которые необходимо выполнить для проведения теста.
  • Ожидаемый результат: описание того, что должно произойти, если тест пройден успешно.

Тест-кейсы необходимы для систематизации процесса тестирования, обеспечения его полноты и повторяемости. Они служат основой для создания автотестов.

Автотест — это программный скрипт, который автоматизирует выполнение тест-кейса. Он написан на языке программирования и выполняется с помощью инструментов автоматизации тестирования, таких как Selenium, JUnit, TestNG и другие. Автотесты позволяют:

  • Ускорить процесс тестирования за счет автоматизации рутинных задач.
  • Повысить точность тестирования, исключив человеческий фактор.
  • Обеспечить регулярное выполнение тестов, например, в рамках CI/CD процессов.

Пример автотеста на Java с использованием Selenium:

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
​
public class LoginTest {
    public static void main(String[] args) {
        // Установка пути к драйверу Chrome
        System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver");
​
        // Создание экземпляра веб-драйвера
        WebDriver driver = new ChromeDriver();
​
        // Открытие веб-страницы
        driver.get("http://example.com/login");
​
        // Поиск элемента поля ввода логина и ввод данных
        WebElement usernameField = driver.findElement(By.id("username"));
        usernameField.sendKeys("testuser");
​
        // Поиск элемента поля ввода пароля и ввод данных
        WebElement passwordField = driver.findElement(By.id("password"));
        passwordField.sendKeys("password");
​
        // Поиск кнопки входа и клик по ней
        WebElement loginButton = driver.findElement(By.id("loginButton"));
        loginButton.click();
​
        // Проверка ожидаемого результата
        String expectedUrl = "http://example.com/dashboard";
        if (driver.getCurrentUrl().equals(expectedUrl)) {
            System.out.println("Test Passed");
        } else {
            System.out.println("Test Failed");
        }
​
        // Закрытие браузера
        driver.quit();
    }
}
  • System.setProperty: Устанавливает системное свойство для пути к драйверу браузера.
  • WebDriver driver = new ChromeDriver(): Создает экземпляр веб-драйвера для управления браузером.
  • driver.get: Открывает указанную веб-страницу.
  • driver.findElement: Находит элемент на странице по заданному селектору.
  • sendKeys: Вводит текст в найденное поле ввода.
  • click: Выполняет клик по найденному элементу.
  • driver.getCurrentUrl(): Получает текущий URL страницы для проверки результата.
  • driver.quit(): Закрывает браузер и завершает сессию.

Трассировка связи между тест-кейсами и автотестами осуществляется через уникальные идентификаторы. В тест-кейсе и в коде автотеста указывается один и тот же идентификатор, что позволяет:

  • Легко находить соответствие между тест-кейсом и его автоматизированной версией.
  • Обеспечивать актуальность и полноту тестового покрытия.
  • Упрощать анализ результатов тестирования и управление тестовой документацией.

Тема: Тестовая документация
Стадия: Tech

🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!

Твои заметки