Отсюда и вывод: специалисты по тестированию нужны везде, где есть программисты. Программисты разрабатывают, а специалисты по тестированию – тестируют.
Что мы знаем о программах
В предыдущих главах мы упоминали программы, которые разрабатываются и тестируются. В жизни вы слышали термин «программное обеспечение». Кто работает в сфере информационных технологий, могли ещё слышать термин «информационная система». Многие считают, что программа, программное обеспечение и информационная система – это одно и то же. Давайте попробуем открыть завесу тайны и понять, что означают данные термины.
Начнём с «программы». Сначала приведём общепринятое понятие.
Простыми словами: программа представляет собой рецепт для компьютера. Когда мы готовим еду, нужен рецепт, чтобы знать, что и как делать. То же самое и с компьютером – ему необходима программа, чтобы выполнить определённую задачу. Рецепт содержит инструкции, как приготовить блюдо. Аналогично и программа содержит программные инструкции в коде. Но в отличие от рецепта, компьютерная программа исполняет инструкции автоматически или при определённом условии. Это значит, что, когда мы запускаем программу на компьютере, она самостоятельно выполняет определённые инструкции, прописанные в ней, или выполняет прописанные инструкции при определённом действии пользователя.
Рассмотрим пример простой программы, где есть две инструкции:
1) При нажатии на кнопку «Сложить» выполнить операцию сложения чисел и вывести результат сложения.
2) При нажатии на кнопку «Очистить» очистить все имеющиеся у программы поля.
Данная программа для сложения чисел будет сопровождать нас на протяжении всей книги, поэтому можете скачать её для ознакомления на сайте автора[4].
Переходим к термину «программное обеспечение».
Исходя из определения можно сказать, что программное обеспечение – это набор программ, установленных на компьютере и предоставляющих возможности для выполнения различных задач. Данный набор включает все программы на компьютере или устройстве, необходимые для их работы.
Теперь мы понимаем, что программа и программное обеспечение – это два разных понятия. Программа – часть программного обеспечения, а программное обеспечение – совокупностью всех программ, установленных на компьютере.
Вы часто будете сталкиваться с ситуациями, когда под словами «программное обеспечение» люди подразумевают программу. Так повелось, и на это надо реагировать спокойно.
Теперь нам предстоит понять, что такое «информационная система».
Информационные системы могут состоять из программ, компьютеров, сети передачи информации, баз данных[5], устройств ввода-вывода[6] и так далее. Цель информационных систем – облегчение, повышение эффективности и производительности процессов. Они используются для решения широкого спектра задач.
Теперь рассмотрим все три понятия в связке на простом примере. Мы покупаем компьютер. На нём ничего не установлено, и это является оборудованием. Далее устанавливаем операционную систему, которая включает набор различных программ: калькулятор, редактор текста и т. д. Теперь у нас есть компьютер с программным обеспечением.
Мы разрабатываем программу, в которой можно заполнять налоговые отчёты. Она установлена на первом компьютере. На втором устанавливаем базу данных, в которой наша программа хранит все данные включая созданные отчёты. На третий устанавливаем программу, которая получает из базы данных информацию по отчётам и автоматически отправляет их в налоговые органы. Всё описанное является информационной системой, включающей три компьютера, без которых не будут функционировать программы; программы для создания отчётов, их отправки, база данных; программное обеспечение с операционными системами со всеми перечисленными программами; сеть, которой связаны компьютеры и по которой они обмениваются информацией.
Есть ли элемент меньше программы? Есть – программный компонент.