25
АВТОМАТИЗИРОВАННОЕ ТЕСТИРОВАНИЕ Prepared by: Anton Sirota Skype: yader-2007

Фвтоматизированное тестирование с чего начать Part1

  • Upload
    dataart

  • View
    293

  • Download
    0

Embed Size (px)

Citation preview

АВТОМАТИЗИРОВАННОЕ ТЕСТИРОВАНИЕ

Prepared by: Anton Sirota

Skype: yader-2007

• Определение:

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

Автоматизированное тестирование

• Автотесты работают быстрее, чем человек.

• Автотесты выполняются с большей точностью.

• Автоматизация тестирования позволяет повысить качество продукта.

• Автоматизация может использоваться практически во всех процессах тестирования.

• Автотесты могут выполняться независимо от времени.

Зачем нужна автоматизация?

• Функциональные тесты

• Нагрузочные тесты

• GUI тесты

• Тестирование безопасности

• Тестирование производительности

• Тестирование баз данных

• Unit-тесты

Типы автоматизированных тестов

Какие приложения можноавтоматизировать?

Web Desktop Mobile

Инструменты

Selenium – является одним из основных инструментов для автоматизированного управления браузерами.

Принцип взаимодействия:

Selenium

Selenium

Объектно-ориентированное программирование

• Абстракция

• Инкапсуляция

• Наследование

• Полиморфизм

• Класс

• Объект

Наследованиеpublic class House {

public String address;

public void setAddress(String address) {

this.address = address;

}

}

----------------------------------------------------------------------------------------------------------------

public class MyHouse extends House {

public String material;

public void setMaterial(String material) {

this.material = material;

}

}

Абстракция------------------------------------------------------------------------------------------------------------------

public abstract class UserActions {

public abstract void registerUser(User user);

public BigDecimal getUserBalance() {

return siteNavigator.goToAccountPage().getUserCashBalance();

}

}

------------------------------------------------------------------------------------------------------------------

public class UserActionsUK extends UserActions {

public abstract void registerUser(User user) {

siteNavigator.gotoHomePage().clickRegisterLink().fillInRegistrationForm(user);

}

}

------------------------------------------------------------------------------------------------------------------

public class UserActionsCA extends UserActions {

public abstract void registerUser(User user) {

siteNavigator.gotoRegistrationPage().fillInRegistrationForm(user);

}

}

------------------------------------------------------------------------------------------------------------------

Инкапсуляция

Модификаторы доступа:

• Private – доступен только в своем классе

• Protected – доступен в своем классе и в дочерних классах

• Public – доступен по всему проекту

ПолиморфизмПолиморфизмом назвается возможность работать с несколькими типами так, как будто это один и тот же тип и в то же время поведение каждого типа будет уникальным в зависимости от его реализации.

Java Core• Типы данных (String, Integer, Boolean, BigDecimal,

int, boolean, double, etc.)

• Методы для работы с данными (String.format(a,b),Boolean.toString(), etc.)

• Массивы (String[], int[])

• for/switch/while

• try-catch

• Исключения Exceptions(виды исклчюений)

• Collections (Map, Set, List, Queue, etc.)

PageObject паттерн

• Page Object – это структурный шаблон проектирования,используемый в автоматизированном тестированиипользовательского интерфейса для разделениявысокоуровневой тестовой логики от низкоуровневойлогики поиска конкретных элементов пользовательскогоинтерфейса.

• Page Object помогает разделять логику и реализацию

• В Page Object одна страница чаще всего представляетсобой отдельный класс.

PageObject паттерн

PageObject паттерн

Example 1

Example 2

Как выглядят тесты?

Вопросы?