Что такое программное обеспечение: объясняем на примерах из повседневной жизни
Зачем вам это знать?
Прежде чем тестировать что-либо, нужно чётко понять — что именно вы тестируете. Представьте, что вас попросили проверить качество автомобиля, а вы не знаете, чем двигатель отличается от кузова. Сложно, правда?
В этом уроке мы разберём, что такое программное обеспечение, из каких частей оно состоит и где вы встречаете его каждый день — даже не подозревая об этом. Без этого фундамента все дальнейшие темы — тестирование, автоматизация, поиск ошибок — будут висеть в воздухе.
Читайте спокойно. Здесь нет ни строчки кода, зато будет много знакомых примеров.
Теория
1. Что такое «железо» и что такое «софт»?
Любой компьютер, смартфон или планшет состоит из двух принципиально разных вещей:
- Аппаратное обеспечение (на профессиональном языке — hardware, «железо») — это всё, что можно потрогать руками: экран, кнопки, процессор внутри корпуса, батарея.
- Программное обеспечение (сокращённо — ПО; по-английски software, «софт») — это то, что нельзя потрогать. Это набор инструкций, которые говорят «железу», что делать.
💡 Аналогия из жизни. Представьте музыкальную шкатулку. Сама шкатулка с пружинами и металлическими зубчиками — это «железо». А мелодия, которую она играет, — это «программное обеспечение». Мелодию нельзя взять в руки, но именно она определяет, что шкатулка будет делать.
2. Простое определение программного обеспечения
Программное обеспечение — это набор команд (инструкций), написанных людьми на специальном языке (языке программирования), которые компьютер или смартфон выполняет шаг за шагом.
Когда вы нажимаете кнопку «Отправить» в мессенджере, где-то внутри устройства запускается длинная цепочка таких команд:
- Прочитать текст, который вы написали.
- Упаковать его в специальный формат.
- Отправить через интернет на сервер.
- Показать вам галочку «доставлено».
Всё это — работа программного обеспечения. Вы не видите этих команд, но именно они делают кнопку «живой».
3. Виды программного обеспечения
Программное обеспечение бывает очень разным. Давайте разберём основные виды на примерах, которые вы уже знаете.
3.1 Системное ПО
Системное ПО — это «фундамент», на котором работает всё остальное. Его главная задача — управлять самим устройством.
Главный пример системного ПО — операционная система (operating system, сокращённо OS). Это программа, которая запускается первой при включении устройства и руководит всеми остальными программами.
| Устройство | Операционная система |
|---|---|
| Компьютер (большинство офисов) | Windows |
| Компьютер Apple | macOS |
| Смартфон Samsung, Xiaomi и др. | Android |
| Смартфон Apple | iOS |
| Многие серверы | Linux |
💡 Аналогия. Операционная система — как директор школы. Она сама не ведёт уроки, но решает, в каком кабинете проходит математика, кто пользуется проектором, а кто — спортзалом. Без директора всё превратится в хаос.
3.2 Прикладное ПО
Прикладное ПО (или приложения, приложения-программы) — это программы, которые пользователь запускает для конкретных задач. Именно с ними вы работаете каждый день.
Примеры:
- Браузер (Chrome, Firefox, Safari) — для просмотра сайтов.
- Мессенджер (WhatsApp, Telegram) — для общения.
- Офисные программы (Microsoft Word, Google Docs) — для работы с документами.
- Интернет-банк — для управления деньгами.
- Приложение доставки еды — для заказа ужина.
💡 Аналогия. Если операционная система — директор школы, то прикладные программы — это учителя. Каждый учитель умеет делать что-то своё: математик объясняет уравнения, учитель рисования учит смешивать краски. Вы как ученик (пользователь) обращаетесь к нужному учителю в зависимости от задачи.
3.3 Встроенное ПО
Встроенное ПО (по-английски firmware) — это программы, «зашитые» прямо в устройство на заводе. Вы их не устанавливаете и обычно не замечаете.
Примеры встроенного ПО:
- Программа внутри вашего роутера (устройства для Wi-Fi), которая управляет раздачей интернета.
- Программа в стиральной машине, которая управляет режимами стирки.
- Программа в автомобиле, которая управляет антиблокировочной системой тормозов.
💡 Аналогия. Встроенное ПО — как рефлексы человека. Вы не думаете, как моргнуть или отдёрнуть руку от горячего: это «зашито» в нервной системе. Точно так же firmware работает автоматически, без вашего участия.
4. Как выглядит программное обеспечение «изнутри»? (Для любопытных)
Программы пишут люди — разработчики (или программисты). Они используют специальные языки программирования: Python, Java, JavaScript и другие. На таком языке разработчик пишет исходный код — это текст с командами, который человек может прочитать.
Вот как выглядит крошечный кусочек программы на языке Python. Не пугайтесь — читать код вам пока не нужно. Просто посмотрите: это обычный текст!
# Эта программа приветствует пользователя по имени
имя = "Анна"
print("Привет, " + имя + "! Добро пожаловать в приложение.")
Если запустить эту программу, она выведет на экран:
Привет, Анна! Добро пожаловать в приложение.
Всего три строчки — а уже есть результат! В реальных приложениях таких строчек могут быть миллионы. Именно поэтому в них так легко появляются ошибки — и именно поэтому нужны тестировщики.
5. Где программное обеспечение живёт?
Иногда люди думают, что ПО — это только то, что установлено на их телефоне или компьютере. На самом деле программное обеспечение работает повсюду.
Клиентская часть и серверная часть
Когда вы открываете приложение интернет-банка, на самом деле работают две программы:
- Клиентская часть (клиент, front-end) — то, что вы видите на экране своего телефона: кнопки, поля для ввода, баланс счёта. Эта программа установлена у вас.
- Серверная часть (сервер, back-end) — программа, которая работает на мощных компьютерах в дата-центре банка (специальном здании с серверами). Она хранит реальные данные о вашем счёте и обрабатывает платежи.
💡 Аналогия. Представьте пиццерию. Вы видите зал, меню и официанта — это «клиентская часть». А на кухне повар делает пиццу — это «серверная часть». Вы не видите кухню, но именно там происходит главная работа. Если повар ошибётся с ингредиентами, вы получите плохую пиццу — то есть баг (об этом — в следующих уроках).
6. Почему программное обеспечение ломается?
Программы создают люди. Люди совершают ошибки. Вот несколько причин, почему в ПО появляются проблемы:
Ошибка в логике. Разработчик неправильно описал, как программа должна работать. Например, написал: «если скидка больше 100%, показать ошибку» — но забыл проверить случай, когда скидка ровно 100%.
Ошибка при печати (опечатка). Человек написал команду с ошибкой. Компьютер очень буквален: он делает ровно то, что написано, а не то, что имелось в виду.
Неожиданное поведение пользователя. Разработчики не предусмотрели, что пользователь введёт своё имя на китайском языке или вставит в поле «возраст» букву вместо цифры.
Взаимодействие разных программ. Когда несколько программ работают вместе, между ними могут возникать конфликты, которые никто не предвидел.
Эти проблемы называют багами (от английского bug — жучок). Тестировщик — это человек, который профессионально ищет эти «жучки» до того, как программа попадёт к пользователям.
Пример: Программное обеспечение в вашем обычном утре
Давайте пройдёмся по типичному утру и посмотрим, сколько программного обеспечения вы используете ещё до того, как выйти из дома.
07:00 — Будильник на смартфоне сработал.
ПО: приложение «Часы» на Android/iOS.
07:05 — Вы проверили погоду.
ПО: приложение «Погода» (клиентская часть) + сервер
погодной службы (серверная часть).
07:15 — Включили электрочайник с таймером.
ПО: встроенное ПО (firmware) в чайнике.
07:30 — Прочитали новости в браузере.
ПО: браузер Chrome (прикладное ПО) работает поверх
Windows/macOS (системное ПО).
07:45 — Перевели деньги через приложение банка.
ПО: мобильное приложение банка (клиент) +
банковская система (сервер).
Итого: за 45 минут вы воспользовались минимум пятью разными программами трёх разных видов. И это только до выхода из дома!
Практика
Эти задания не требуют компьютера — только внимательности и желания думать. Выполняйте их в блокноте или в любом текстовом редакторе.
Задание 1. Охота за ПО в вашей жизни
Что делаем: Возьмите листок бумаги и запишите все программы или приложения, которыми вы пользовались вчера — с утра до вечера. Постарайтесь вспомнить как можно больше, включая неочевидные вещи (навигатор в машине, программа на банкомате, приложение в лифте бизнес-центра).
Цель: Увидеть, насколько ПО пронизывает повседневную жизнь.
Минимальный результат: список из 7–10 программ.
Задание 2. Определите вид ПО
Что делаем: Для каждой программы из списка ниже определите, к какому виду она относится: системное, прикладное или встроенное. Запишите свои ответы и объяснения.
| № | Программа | Вид ПО |
|---|---|---|
| 1 | iOS на iPhone | ? |
| 2 | Приложение Spotify | ? |
| 3 | Программа управления в микроволновой печи | ? |
| 4 | Браузер Safari | ? |
| 5 | Windows 11 | ? |
| 6 | Программа в вашем умном телевизоре | ? |
Подсказка: Подумайте — устанавливаете ли вы эту программу сами? Видите ли вы её интерфейс? Можно ли её запустить отдельно?
Задание 3. Клиент и сервер
Что делаем: Выберите любое приложение, которым вы пользуетесь (например, ВКонтакте, Gmail, сервис доставки еды). Попробуйте описать в двух-трёх предложениях:
- Что делает клиентская часть (то, что вы видите на экране)?
- Что, скорее всего, делает серверная часть (невидимая кухня)?
Пример ответа для приложения заказа такси:
Клиентская часть показывает мне карту, позволяет указать откуда и куда ехать, и отображает ближайшие машины. Серверная часть, скорее всего, хранит данные всех водителей и пассажиров, рассчитывает маршрут и цену поездки, соединяет меня с конкретным водителем.
Задание 4. Найдите возможную ошибку (для продвинутых)
Что делаем: Вспомните любой момент, когда приложение или сайт вёл себя странно — не так, как вы ожидали. Это мог быть неверный расчёт стоимости, кнопка, которая не работала, текст на непонятном языке, зависание и т.д.
Опишите ситуацию по плану:
- Какое приложение?
- Что вы делали?
- Что произошло?
- Что должно было произойти?
💡 Поздравляем — вы только что написали свой первый неформальный баг-репорт (описание ошибки)! В следующих уроках мы научимся делать это по всем правилам.
Ключевые выводы
- Программное обеспечение (ПО) — это набор команд, которые говорят «железу», что делать. Его нельзя потрогать, но оно определяет, как работает устройство.
- ПО бывает трёх основных видов: системное (фундамент, например Windows или Android), прикладное (конкретные приложения для пользователя) и встроенное (зашито в устройство на заводе).
- Почти каждое современное приложение имеет две части: клиентскую (то, что видит пользователь) и серверную (невидимая «кухня» с данными и логикой).
- Программы пишут люди, а люди ошибаются. Ошибки в ПО называют багами. Их поиском и занимается тестировщик.
- Вы уже сейчас пользуетесь десятками программ каждый день — это значит, что у вас уже есть опыт пользователя, который очень пригодится в тестировании.
Следующий урок: Откуда берутся ошибки в программах — и почему их так сложно поймать.