Джеймс Уиттакер - Как тестируют в Google

Тут можно читать онлайн Джеймс Уиттакер - Как тестируют в Google - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство Издательский дом Питер, год 2014. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Как тестируют в Google
  • Автор:
  • Жанр:
  • Издательство:
    Издательский дом Питер
  • Год:
    2014
  • Город:
    СПб
  • ISBN:
    978-5-496-00893-8
  • Рейтинг:
    4.25/5. Голосов: 81
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Джеймс Уиттакер - Как тестируют в Google краткое содержание

Как тестируют в Google - описание и краткое содержание, автор Джеймс Уиттакер, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

В книге описано тестирование программных продуктов в Google: как устроены процессы, как организованы команды, какие техники используются, кто ответственен за качество. Принципы, на которых построено тестирование в Google, применимы в проектах и компаниях любого размера. Авторы книги сами работали над продуктами Google, создавая инструменты тестирования, настраивая процессы и занимаясь непосредственно тестированием. Книга рассчитана на профессионалов из индустрии разработки программного обеспечения: специалистов по тестированию, программистов, менеджеров.

Как тестируют в Google - читать онлайн бесплатно полную версию (весь текст целиком)

Как тестируют в Google - читать книгу онлайн бесплатно, автор Джеймс Уиттакер
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Средними тестами нужно управлять через тестовую инфраструктуру. Из-за большего времени прогона они запускаются реже. В основном эти тесты создаются и выполняются силами разработчиков в тестировании.

На заметку

Малые тесты проверяют поведение отдельной единицы кода. Средние тесты проверяют взаимодействие одного или нескольких модулей кода. Большие тесты проверяют работоспособность системы в целом.

Имитация внешних сервисов для средних тестов приветствуется, но не обязательна. Это может быть полезно, если нужно увеличить быстродействие. Там, где полноценная имитация сервисов неоправданна, для повышения производительности можно использовать облегченные вариации, например встроенные в память базы данных.

Большие и громадные тесты за пределами Google называют системными тестами, или сквозными тестами. Большие тесты оперируют на высоком уровне и проверяют, что система работает как единое целое. Эти тесты задействуют все подсистемы, начиная с пользовательского интерфейса и заканчивая хранилищами данных, как это показано на рис. 2.4. Они могут обращаться к внешним ресурсам, таким как базы данных, файловые системы и сетевые службы.

Как мы используем размеры тестов в общей инфраструктуре

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

Например, вот некоторые типичные сценарии запуска тестов, которые поддерживает общая инфраструктура тестирования Google.

— Разработчик хочет скомпилировать и запустить малый тест и тут же получить результаты.

— Разработчик хочет запустить все малые тесты для проекта и тут же получить результаты.

— Разработчик хочет скомпилировать и запустить только те тесты, которые связаны с последним изменением кода, и тут же получить результаты.

— Разработчик или тестировщик хочет собрать данные о покрытии кода в конкретном проекте и посмотреть результаты.

— Команда хочет прогонять все малые тесты для своего проекта каждый раз при создании списка изменений и рассылать результаты всем участникам команды.

— Команда хочет прогонять все тесты для своего проекта после отправки списка изменений в систему управления версиями.

— Команда хочет еженедельно собирать статистику о покрытии кода и отслеживать его прогресс со временем.

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

Система выполнения тестов Google отличает быстрые задания от медленных по информации о размере тестов. У каждого размера есть верхняя граница времени выполнения теста (табл. 2.1). Размер определяет и потенциальную потребность в ресурсах (табл. 2.2). Система прерывает выполнение и сообщает об ошибке, если тест превышает выделенное для его категории время или доступный объем ресурса. Это мотивирует разработчиков в тестировании назначать правильные метки размеров тестов. Точное определение размеров тестов позволяет системе строить эффективное расписание.

Преимущества разных размеров тестов Размер теста имеет значение Он влияет на - фото 6 Преимущества разных размеров тестов Размер теста имеет значение Он влияет на - фото 7

Преимущества разных размеров тестов

Размер теста имеет значение. Он влияет на специфические преимущества теста. На рис. 2.5 показана общая сводка, а ниже мы приводим более подробный список достоинств и недостатков каждого типа тестов.

Рис 25 Ограничения разных размеров тестов Большие тесты Достоинства и - фото 8

Рис. 2.5. Ограничения разных размеров тестов

Большие тесты

Достоинства и недостатки больших тестов:

— Большие тесты проверяют самое важное — работу приложения. Они учитывают поведение внешних подсистем.

— Большие тесты могут быть недетерминированными (результат может быть получен разными путями), потому что зависят от внешних подсистем.

— Большой охват усложняет поиск причин при неудачном прохождении теста.

— Подготовка данных для тестовых сценариев может занимать много времени.

— Из-за высокоуровневости больших тестов в них трудно прорабатывать граничные значения. Для этого нужны малые тесты.

Средние тесты

Достоинства и недостатки средних тестов:

— Требования к подставным объектам мягче, а временные ограничения свободнее, чем у малых тестов. Разработчики используют их как промежуточную ступень для перехода от больших тестов к малым.

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

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

— Средние тесты учитывают поведение внешних подсистем.

— Средние тесты могут быть недетерминированными, потому что зависят от внешних подсистем.

— Средние тесты выполняются не так быстро, как малые.

Малые тесты

Достоинства и недостатки малых тестов:

— Малые тесты помогают повысить чистоту кода, потому что работают узконаправленно с небольшими методами. Соблюдение требований подставных объектов приводит к хорошо структурированным интерфейсам между подсистемами.

— Из-за скорости выполнения малые тесты выявляют баги очень рано и дают немедленную обратную связь при внесении изменений в код.

— Малые тесты надежно выполняются во всех средах.

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

— Узкая направленность малых тестов сильно упрощает локализацию ошибок.

— Малые тесты не проверяют интеграцию между модулями — для этого используются другие тесты.

— Иногда сложно применить подставные объекты для подсистем.

— Подставные объекты и псевдосреды могут отличаться от реальности.

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

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Джеймс Уиттакер читать все книги автора по порядку

Джеймс Уиттакер - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Как тестируют в Google отзывы


Отзывы читателей о книге Как тестируют в Google, автор: Джеймс Уиттакер. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x