Upgrade to Pro — share decks privately, control downloads, hide ads and more …

(RU) Lecture for NURE students - "Automative Testing Technologies in iOS apps"

(RU) Lecture for NURE students - "Automative Testing Technologies in iOS apps"

The lecture was created for NURE students. It covers such topics:
- Unit testing
- UI testing
- Acceptance testing
- BDD

Volodymyr Hryhoriev

December 03, 2019
Tweet

More Decks by Volodymyr Hryhoriev

Other Decks in Programming

Transcript

  1. Виды тестирований в iOS - unit тесты: XCTest - тестирование

    UI: XCUITest, KIF, EarlGray - приемочное тестирование: XCTest-Gherkin - BDD: Quick & Nimble
  2. XCTest - import XCTest - @testable import AppName - наследуем

    XCTestCase - имя метода должно начинаться с test
  3. Тестирования UI - это: - поиск и взаимодействие с UI

    элементами - валадиации свойств и состояния UI элементов
  4. XCUIElement - является proxy для UI элемента - имеет тип:

    Button, Cell, … - имеет accessibility identifier, label, title
  5. Сторонние решения для UI тестирования - KIF (Keep It Functional)

    - EarlGrey Из минусов: - нет рекординга тестов - написаны на Objective-C - являются частью Unit Test таргета, а не UI Test
  6. KIF vs XCUITest - KIF работает быстрее - XCUITest не

    требует особых усилий для настройки - KIF дает доступ напрямую к UI элементам, а не через proxy - XCUITest имеет более глубокий поиск - KIF не поддерживает из коробки поиск по accessibility identifier
  7. EarlGrey фичи: - автоматическая синхронизация: - анимация - ввод клавиатуры

    - нетворкинг - другие очереди - использует скриншоты для проверки видимости элемента перед взаимодействием - использует жесты на уровне приложения, а не хендлеры элементов
  8. Приемочное тестирование: XCTest-Gherkin - реализация BDD на Swift - основывается

    на Gherkin языке: - описывает бизнес поведения не вдаваясь в подробности реализации - служит документацией - легко воспринимается не программистами - сама спецификация часто пишется бизнес аналитиком