# \[Перевод\] От песочных часов к пирамиде: как усовершенствовать структуру тестов

DevFeed: [\[Перевод\] От песочных часов к пирамиде: как усовершенствовать структуру тестов](<https://devfeed.tech/articles/article-23646.md>)

Original publisher: [Read original article](<https://habr.com/ru/companies/badoo/articles/652025/>)

Author: laechoppe (Badoo)

Published: 2022-02-17T12:15:34Z

Content type: tutorial

Language: ru

Sources: [Badoo EN](<https://devfeed.tech/sources/badoo-en.md>), [Badoo RU](<https://devfeed.tech/sources/badoo-ru.md>)

Topics: [iOS](<https://devfeed.tech/topics/ios.md>), [Objective-C](<https://devfeed.tech/topics/objective-c.md>), [Swift](<https://devfeed.tech/topics/swift.md>), [ui](<https://devfeed.tech/topics/ui.md>)

Tags: [badoo](<https://devfeed.tech/tags/badoo.md>), [ios](<https://devfeed.tech/tags/ios.md>), [objective-c](<https://devfeed.tech/tags/objective-c.md>), [qa](<https://devfeed.tech/tags/qa.md>), [qa-automation](<https://devfeed.tech/tags/qa-automation.md>), [swift](<https://devfeed.tech/tags/swift.md>), [tag-23c525fe15c9](<https://devfeed.tech/tags/tag-23c525fe15c9.md>), [tag-910b48292e17](<https://devfeed.tech/tags/tag-910b48292e17.md>), [tag-97ed25004d35](<https://devfeed.tech/tags/tag-97ed25004d35.md>), [tag-e932065bc8da](<https://devfeed.tech/tags/tag-e932065bc8da.md>), [testing](<https://devfeed.tech/tags/testing.md>), [ui](<https://devfeed.tech/tags/ui.md>), [xcuitest](<https://devfeed.tech/tags/xcuitest.md>)

## AI overview

A tutorial on test automation for native iOS applications written in Objective-C and Swift. It explains the test pyramid, recommends many small unit tests, fewer medium-level tests, and very few high-level end-to-end or UI tests, and discusses how projects can develop an unbalanced testing structure.

## Source excerpt

Меня зовут Владислав Романенко, я Senior iOS QA Engineer в Badoo и Bumble. Мы регулярно внедряем новые фичи в приложения, и автоматизация тестирования -- один из способов не пропустить баги. Фактически автотесты входят в жизненный цикл всех частей наших приложений: бэкенда, сервисов, фронтенда и мобильных клиентов. Чем раньше мы обнаружим ошибку, тем дешевле будет её исправить. Сегодня я расскажу об автоматизации тестирования в iOS, потому что на протяжении всей своей карьеры в Badoo я плотно занимался тестированием наших нативных iOS-приложений, которые написаны на Objective-C и Swift. Хотя кое-где я буду упоминать характерные для iOS инструменты и термины (например, XCTest), общие принципы и подходы универсальны. Так что, даже если в вашем проекте используется совсем другой стек, статья будет вам полезна. Читать далее