Что такое автоматизация тестирования? Аналоги из жизни
Все мы живём в реальном мире, нас окружает море разных вещей, событий и процессов. И такое понятие, как автоматизация, встречается в совершенно разных сферах жизни.
Например, нам не нужно сейчас стирать вручную - почти в каждом доме есть машинка-автомат. Подумайте только - еще каких-то 20-30 лет назад об этом даже не могли подумать - замачивали белье руками, стирали в одной машинке, отжимали в другой (если везло). Иначе - в тазике стирали руками. А лет 70-100 назад - шли на речку и там, на причале, наклонившись, отмывали белье. Лень, как говорят, двигатель прогресса. И вот прогресс принёс нам такую классную штуку, как стиральная машина, благодаря которой мы экономим время, воду, силы. И главное - это удобно. Запомним этот момент.
Другой пример из более промышленной сферы - конвейер на заводе. Допустим, там разливают подсолнечное масло. Масло надо приготовить, отмерить, залить в бутылку, бутылку герметично закрыть. Дома мы бы сделали это вручную. Например, при приготовлении домашней консервации так и происходит: мы стерилизуем банку, готовим огурчики-помидорчики-варенье, заливаем и “закатываем”. Почему бы на заводе не делать это вручную? Ведь машины-автоматы(роботы), которые осуществляют весь процесс, достаточно дороги как сами по себе, так и в процессе эксплуатации требуют внимания и ресурсов. Ответ прост и экономически обоснован: использовать робота + инженера, который будет поддерживать его в рабочем состоянии в долгосрочной и даже среднесрочной перспективе при массовом производстве - экономически выгодно. Также есть плюсы, которые мы получаем: исключение человеческого фактора, точное следование заданным инструкциям, неизменный и всегда предсказуемый результат в случае исправной работы робота.
Однако, стоит заметить, что есть и минусы: инженер должен быть высокой квалификации и может стоить дорого (явно дороже ручного “закрывальщика” консервации). Еще не имеет смысла строить завод ради 5 банок огурцов и 3 банок варенья в сезон. Также, как и покупать стиральную машинку, чтобы постирать 2 пары носков и трусы.
В то же время, избавляя людей от рутинной работы, работая по чётким и заранее прописанным инструкциям, автоматы не могут обеспечить нам качества. Приборы могут дать информацию о том, сколько тех или иных ингридиентов содержиться в масле, но не ответят нам на вопрос вкусное ли масло, не горчит ли оно. Поэтому на тех же заводах существуют отделы контроля качества, лаборатории и дегустаторы. Если масло горькое - нет смысла его разливать по бутылкам.
Даже если аппаратура определит, что масло горькое, инструкций это не изменит, отправить масло обратно поставщику или утилизировать, выставить претензии по сырью и т.п. она не может. Она лишь может дать сигнал людям, что что-то не так, и уже человек будет принимать решение. Сигнал - это отчет системы о состоянии (репорт, алерт). Дальше дело за человеком.
Теперь посмотрим на наш завод немного более глобально. Для его запуска надо построить помещения, соответствующие определенным требованиям(склады, производственные цеха, лаборатории, санузлы и т.д.); закупить, установить и настроить оборудование; нанять персонал; оформить все необходимые документы (от основания юридического лица до должностных инструкций работников). Для работы заводу понадобится как непосредственное сырьё (семечки или готовое масло в больших емкостях), так и такие коммуникации, как электричество, вода, канализация, газ и т.д. Вот это все в совокупности мы можем назвать инфраструктурой, необходимой для функционирования завода. Без такой инфраструктуры нормальная работа завода будет невозможна.
Однако завод не работает “из ниоткуда в никуда”. Важно иметь источники сырья, процесс его обработки и подготовки, выпуска готовой продукции, ее складировании, хранении, продажи и отгрузки. Если предыдущие свойства, которые мы выделяли и запоминали, дают заводу в принципе функционировать, то процесс позволяет функционировать правильно и, главное, наполняет всю затею смыслом. То есть именно благодаря нему мы решаем итоговую задачу, которая определяет весь наш проект - мы получаем готовую продукцию, а за нее - деньги. То есть бизнес с заводом сработал. Есть результат.
В целом, то же самое справедливо в процессах создания ПО, и в обеспечении его качества в частности. Итак, выделим основные принципы, касающиеся автоматизации тестирования и разработки ПО:
Например, нам не нужно сейчас стирать вручную - почти в каждом доме есть машинка-автомат. Подумайте только - еще каких-то 20-30 лет назад об этом даже не могли подумать - замачивали белье руками, стирали в одной машинке, отжимали в другой (если везло). Иначе - в тазике стирали руками. А лет 70-100 назад - шли на речку и там, на причале, наклонившись, отмывали белье. Лень, как говорят, двигатель прогресса. И вот прогресс принёс нам такую классную штуку, как стиральная машина, благодаря которой мы экономим время, воду, силы. И главное - это удобно. Запомним этот момент.
Другой пример из более промышленной сферы - конвейер на заводе. Допустим, там разливают подсолнечное масло. Масло надо приготовить, отмерить, залить в бутылку, бутылку герметично закрыть. Дома мы бы сделали это вручную. Например, при приготовлении домашней консервации так и происходит: мы стерилизуем банку, готовим огурчики-помидорчики-варенье, заливаем и “закатываем”. Почему бы на заводе не делать это вручную? Ведь машины-автоматы(роботы), которые осуществляют весь процесс, достаточно дороги как сами по себе, так и в процессе эксплуатации требуют внимания и ресурсов. Ответ прост и экономически обоснован: использовать робота + инженера, который будет поддерживать его в рабочем состоянии в долгосрочной и даже среднесрочной перспективе при массовом производстве - экономически выгодно. Также есть плюсы, которые мы получаем: исключение человеческого фактора, точное следование заданным инструкциям, неизменный и всегда предсказуемый результат в случае исправной работы робота.
Однако, стоит заметить, что есть и минусы: инженер должен быть высокой квалификации и может стоить дорого (явно дороже ручного “закрывальщика” консервации). Еще не имеет смысла строить завод ради 5 банок огурцов и 3 банок варенья в сезон. Также, как и покупать стиральную машинку, чтобы постирать 2 пары носков и трусы.
В то же время, избавляя людей от рутинной работы, работая по чётким и заранее прописанным инструкциям, автоматы не могут обеспечить нам качества. Приборы могут дать информацию о том, сколько тех или иных ингридиентов содержиться в масле, но не ответят нам на вопрос вкусное ли масло, не горчит ли оно. Поэтому на тех же заводах существуют отделы контроля качества, лаборатории и дегустаторы. Если масло горькое - нет смысла его разливать по бутылкам.
Даже если аппаратура определит, что масло горькое, инструкций это не изменит, отправить масло обратно поставщику или утилизировать, выставить претензии по сырью и т.п. она не может. Она лишь может дать сигнал людям, что что-то не так, и уже человек будет принимать решение. Сигнал - это отчет системы о состоянии (репорт, алерт). Дальше дело за человеком.
Теперь посмотрим на наш завод немного более глобально. Для его запуска надо построить помещения, соответствующие определенным требованиям(склады, производственные цеха, лаборатории, санузлы и т.д.); закупить, установить и настроить оборудование; нанять персонал; оформить все необходимые документы (от основания юридического лица до должностных инструкций работников). Для работы заводу понадобится как непосредственное сырьё (семечки или готовое масло в больших емкостях), так и такие коммуникации, как электричество, вода, канализация, газ и т.д. Вот это все в совокупности мы можем назвать инфраструктурой, необходимой для функционирования завода. Без такой инфраструктуры нормальная работа завода будет невозможна.
Однако завод не работает “из ниоткуда в никуда”. Важно иметь источники сырья, процесс его обработки и подготовки, выпуска готовой продукции, ее складировании, хранении, продажи и отгрузки. Если предыдущие свойства, которые мы выделяли и запоминали, дают заводу в принципе функционировать, то процесс позволяет функционировать правильно и, главное, наполняет всю затею смыслом. То есть именно благодаря нему мы решаем итоговую задачу, которая определяет весь наш проект - мы получаем готовую продукцию, а за нее - деньги. То есть бизнес с заводом сработал. Есть результат.
В целом, то же самое справедливо в процессах создания ПО, и в обеспечении его качества в частности. Итак, выделим основные принципы, касающиеся автоматизации тестирования и разработки ПО:
- Автоматизация тестирования призвана облегчить работу людей (сделать “удобно”), автоматизировав рутинные процессы.
- При правильном подходе автоматизация экономит наши ресурсы, а значит удешевит процесс тестирования.
- Нет смысла автоматизировать тестирование маленьких проектов.
- Человеческий фактор будет максимально исключен в рутинных задачах.
- Человек все равно остается главным и принимает итоговые решения на основе выданной автоматикой информации.
- Инфраструктура исключительно важна.
- Также важны и процессы, которым мы следуем. Именно они дают нам решение проблемы.
Комментарии
Отправить комментарий