Вы находитесь на странице: 1из 33

Технические требования к кандидату

Знание основ Windows:


1.Установка ОС с нуля,
После успешного прожига вставьте флешку в свободный USB порт --- Включите компьютер, и при
запуске зайдите в BIOS компьютера (зайти можно с помощью клавиш: F10, DELETE, F12, TAB
и т.д, зависит от вашей версии BIOS и версии материнской платы)

Перейдите в пункт: «BOOT» (загрузка) и зайдите в раздел: «Boot Devise Priority»


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

В 1 st Boot Device ставим USB, остальные значение пока не трогаем, и при запуске система должна
загрузить нашу флешку с установкой

Далее жмите F10 что бы сохранить изменения перед выходом и ОК

При запуске компьютера у вас должна быть запись типа: Press any to boot from USB, когда она
появится нажмите: Enter

Выбираем пункт: Выборочная так как именно с помощью данного пункта вы сможете изменить
разделы вашего жёсткого диска и настроить их

Создание раздела:

Если хотите, что бы у вас был один раздел, нажимаем: Создать

Указываем память которую мы хотим выделить операционной системе, минимальный объем


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

Для этого можно создать процентное соотношение 50x50, на одном скажем у вас будут ОП, ПО,
Office и т.д, а на другом фильмы, фотографии, музыка.

Допустим у вам жесткий диск 500 гб создайте с начало 250000 мб, применить --- ОК. После
выделите: Незанятое пространство и повторите процедуру, и после установки у вас будет 2
раздела.

Сейчас же, как я писал выше, буду кидать всю свою память под операционную систему, так как у
меня ее мало, нажимаем: Применить

Региональные настройки ОС - Панель управления - Язык и региональные


стандарты

2. Установка и удаление программ;

3. Установка новых устройств.


4. Работа с драйверами;

5. Работа с файлами и дисками.


Разметка диска.

Один раздел отведем под ОС, другой под файлохранилище.

«Мой компьютер» -- (правая кнопка) Управление – Запоминающее устройство – Управление


дисками – (правая кнопка) Сжать том -- нужно выбрать количество доступного нам свободного
места, которое мы хотим отвести под новый несистемный раздел. – Далее -- отформатировать
свободное пространство в нужную нам файловую систему (для Windows это чаще всего NTFS) и
приписать новому разделу букву, под которой он будет отображаться в окошке "Мой
компьютер"-- Затем выберем для него все доступное место (если мы хотим создать только один
раздел) – Отформатировать

Файловые системы и их виды.

Файловая система — это совокупность условий и правил, определяющих способ организации


файлов на носителях информации. Основные функции файловых систем следующие:
• расположение на диске информации в виде файлов,
• присвоение файлам имён и атрибутов,
• удаление информации по запросу пользователя,
• защита информации от удаления в случае сбоев и несанкционированного доступа к данным.

Виды файловых систем


• FAT32. Максимальный поддерживаемый размер диска — 8 Тб. Файловая система работает с
файлами размером не больше 4 Гб.
• NTFS. Максимальный поддерживаемый размер диска — 16 Эб (эксабайт). Поддерживает работу
с файлами размером до 16 Тб.
• Ext3, ext4. Используются в операционных системах Linux. Максимальный размер тома
составляет 32 Тб для ext3 и 1 Эб для ext4. Поддерживается работа с файлами размером до 2 и 16
Тб соответственно.
• HFS Plus. Используется в системах OS X. Максимальный размер тома — 8 Эб, максимально
поддерживаемый размер файла тоже составляет 8 Эб.

Для работы с лазерными дисками используются:


• ISO9660. Максимальный размер файла — 2 Гб.
• UDF. Максимальный размер файла — 1 Эб.

Элементарные настройки безопасности (работа с


пользователями, базовое разграничение доступа);

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

Компьютерная сеть, в зависимости от своего диапазона, может быть локальной или


глобальной.

Локальные сети - это вид может объединить компьютеры и сетевое оборудование на


территориально ограниченном участке, например, в доме, в офисе, в школе. В локальных
сетях, в отличие от глобальных, обычно всегда более высокая скорость передачи данных.

Глобальная сеть - в этой сети объединяются компьютеры, находящиеся друг от друга на


расстояниях более 1 км. В основном, у глобальных сетей скорость передачи данных
намного ниже локальных типов. Глобальные сети объединяют в одно целое локальные
сети местного значения.

Самой большой глобальной сетью сейчас является Интернет.

IP адрес, маска подсети.


IP адрес

Администратор сети автоматически назначает любой компьютерной машине, подключенной к


роутеру или обычному кабелю, уникальный адрес. Через него пользователь получает
возможность доступа ко всем серверам, находящимся в Интернете, или компьютерам локальной
сети. Адресные цифры берутся с промежутка от 0 до 255. Нет ни единого адреса в Интернете,
дублирующего уже имеющийся. Именно через IP-адрес компьютера удается получить доступ к
сайтам, скачивать информацию или отправлять ее кому-нибудь по почте, социальной сети или
через другие программы, такие как Skype

Класс «А» находится в диапазоне от 1 до 126. Это самый огромный класс сетей. Он насчитывает
16777216 узловых адресов. «B» имеет значения от 127 до 191 и насчитывает 65536 узлов. В классе
«C» адреса IP - что это? Обычно это маленькие сети. Класс содержит 256 адресов. Существует еще
групповой адрес сети. Он начинается с последовательности бинарного кода 1110 и относится к
классу D. Адреса класса Е уже зарезервированы для последующего применения.

iP-адрес называют статическим (постоянным, неизменяемым), если он назначается


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

IP-адрес называют динамическим (непостоянным, изменяемым), если он назначается


автоматически при подключении устройства к сети и используется в течение ограниченного
промежутка времени, указанного в сервисе назначавшего IP-адрес (DHCP).

Маска подсети - это определение подсети IP-адресов. Например, с помощью маски подсети
можно сказать, что один диапазон IP-адресов будет в одной подсети, а другой диапазон
соответственно в другой подсети.

Разбиение одной большой сети на несколько маленьких подсетей позволяет упростить


маршрутизацию.
Шлюз

чтобы ваш домашний компьютер мог выходить во Всемирную сеть, ему нужен (маршрутизатор,
либо модем, либо сервер). Когда вы запрашиваете какую-нибудь интернет-страницу, ваш
компьютер узнает, находится ли сервер, который вы ищите, в вашей домашней сети. Если он там
имеется (например, если вы держите сайт на одном из своих компьютеров), то ничего, по сути,
особенного не происходит – компьютеры устанавливают соединение через локальную сеть и
начинают передачу данных. Однако если вы пытаетесь открыть сайт, расположенный на
удаленном сервере, в дело вступает шлюз.

DHCP, DNS.

DHCP (аббревиатура от Dynamic Host Configuration Protocol – в переводе «Протокол


Динамической Настройки Узла») – это технология, предназначенная для автоматического
присвоения IP-адресов сетевым устройствам. Множество системных администраторов
предпочитают использовать DHCP вместо ручного назначения IP-адресов сетевым
компьютерам, при этом DHCP также используется для конфигурации маски подсети,
шлюза и DNS-cерверов.

Окружение DHCP требует двух составных элементов – это сервера DHCP и клиента
DHCP.

 Первый элемент (DHCP-сервер) устанавливает нужные параметры конфигурации


сети, присваивает и обновляет адреса для присоединяющихся или покидающих
сеть устройств.
 Другой (DHCP-клиент) подключается к сети, получает от сервера сетевые
параметры, и начинает работать. Набор DHCP-параметров включает диапазон
доступных IP-адресов, соответствующую маску подсети, шлюз сети и имя для
серверных адресов.

Устройства, которые имеют активный DHCP-протокол, автоматически получают нужные


настройки от DHCP-сервера( телефоны, компы и т.д.)

DHCP позволяет провайдерам переназначать адрес различным пользователям в


зависимости от того, кто из них находится онлайн, в определённый период времени.

сервер DHCP не распознаёт устройство, на котором ручным путём установлен IP-адрес,


входящий в диапазон заданных IP-адресов сервера. Такая ситуация обычно приводит к
конфликту IP-адресов и сбоев в работе сети.

DNS– Domain Names System (Система доменных имен).

Мы привыкли, что адрес веб-сайта написан в виде набора букв, очень удобных для
восприятия, например: google.com или mail.ru. Эти буквенные адреса работают именно
благодаря системе доменных имен. Для адресов интернет-узлов применяется специальная
цифровая кодировка, так называемые IP-адреса, а задача ДНС в том, чтобы связать
названия интернет-сайтов в буквенном виде с IP в виде цифр.

Первоочередная задача Domain Names System – это упростить поиск в сети интернет
необходимых ресурсов. Например, чтобы попасть на интернет-сайт поисковой системы
google, обычно в адресную строку вводим google.com, но ведь можно и IP-адресом
воспользоваться, написав 194.122.81.53.

Domain Names System имеет свою  древовидную структуру.   Ее узлы называются
доменами, каждый из которых может содержать много «подчиненных» доменов.
Структуру принято делить на уровни. Начинается система с корневого домена (нулевой
уровень). Бывают домены общего назначения (COM, NET, ORG и т.д.), и
двухбуквенные коды стран (ru, ua, kz и пр.).

Давайте рассмотрим на примере, чтобы более понятно. Домены первого уровня — это com, org, ru
и подобные. Под ними второй уровень — rambler.ru,  google.com; а домены третьего уровня
выглядят так: banner.org.ru, shops.com.ua и т.д.

Как все работает?


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

Основы теории баз данных:


1. Базы Данных. Назначение, описание и структура;
База данных – содержит данные вашего приложения, управление с помощью СУБД.

Понятия сущности, атрибута, строки, столбца, таблицы,


первичного ключа, вторично ключа в Базах Данных;
База данных — это информационная модель, позволяющая упорядоченно хранить данные
о группе объектов, обладающих одинаковым набором свойств.

Информация в базах данных хранится в упорядоченном виде.

Существует несколько различных типов баз данных: табличные, иерархические и сетевые.

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


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

Поле базы данных — это столбец таблицы, включающий в себя значения определенного
свойства.
Строки таблицы являются записями об объекте; эти записи разбиты на поля столбцами
таблицы. Запись базы данных — это строка таблицы, которая содержит набор значений
различных свойств объекта.

В каждой таблице должно быть, по крайней мере, одно ключевое поле, содержимое
которого уникально для любой записи в этой таблице. Значения ключевого поля
однозначно определяют каждую запись в таблице.

Иерархические базы данных. Иерархические базы данных графически могут быть


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

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

Сетевые базы данных. Сетевая база данных образуется обобщением иерархической за


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

Сетевой базой данных фактически является- Гиперссылки связывают между собой сотни
миллионов документов в единую распределенную сетевую базу данных.

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

Предметная область – это часть реального мира, подлежащая изучению с целью


создания базы данных для автоматизации процесса управления.

Наборы принципов, которые определяют организацию логической структуры хранения


данных в базе, называются моделями данных.

Существуют 4 основные модели данных – списки (плоские таблицы), реляционные базы


данных, иерархические и сетевые структуры.

В настоящее время наибольшее распространение при разработке БД получили


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

В реляционных БД используется несколько двумерных таблиц, в которых строки


называются записями, а столбцы полями, между записями которых устанавливаются
связи. Этот способ организации данных позволяет данные (записи) в одной таблице
связывать с данными (записями) в других таблицах через уникальные идентификаторы
(ключи) или ключевые поля.

Основные понятия реляционных БД: нормализация, связи и ключи

1. Принципы нормализации:

 В каждой таблице БД не должно быть повторяющихся полей;


 В каждой таблице должен быть уникальный идентификатор (первичный ключ);
 Каждому значению первичного ключа должна соответствовать достаточная
информация о типе сущности или об объекте таблицы (например, информация об
успеваемости, о группе или студентах);
 Изменение значений в полях таблицы не должно влиять на информацию в других
полях (кроме изменений в полях ключа).

2. Виды логической связи.

Связь устанавливается между двумя общими полями (столбцами) двух таблиц.


Существуют связи с отношением «один-к-одному», «один-ко-многим» и «многие-ко-
многим».

Отношения, которые могут существовать между записями двух таблиц:

 один – к - одному, каждой записи из одной таблицы соответствует одна запись в


другой таблице;
 один – ко - многим, каждой записи из одной таблицы соответствует несколько
записей  другой таблице;
 многие – к - одному, множеству записей из одной таблице соответствует одна
запись в другой таблице;
 многие – ко - многим, множеству записей из одной таблицы соответствует
несколько записей в другой таблице.

Тип отношения в создаваемой связи зависит от способа определения связываемых полей:

1. Отношение «один-ко-многим» создается в том случае, когда только одно из полей


является полем первичного ключа или уникального индекса.
2. Отношение «один-к-одному» создается в том случае, когда оба связываемых поля
являются ключевыми или имеют уникальные индексы.
3. Отношение «многие-ко-многим» фактически является двумя отношениями «один-
ко-многим» с третьей таблицей, первичный ключ которой состоит из полей
внешнего ключа двух других таблиц

3. Ключи.  Ключ – это столбец (может быть несколько столбцов), добавляемый к таблице
и позволяющий установить связь с  записями в другой таблице. Существуют ключи двух
типов: первичные и вторичные или внешние.

Первичный ключ – это одно или несколько полей (столбцов), комбинация значений
которых однозначно определяет каждую запись в таблице. Первичный ключ используется
для связывания таблицы с внешними ключами в других таблицах.

Внешний (вторичный) ключ - это одно или несколько полей (столбцов) в таблице,
содержащих ссылку на поле или поля первичного ключа в другой таблице. Внешний ключ
определяет способ объединения таблиц.

Из двух логически связанных таблиц одну называют таблицей первичного ключа или
главной таблицей, а другую таблицей вторичного (внешнего) ключа или подчиненной
таблицей. СУБД позволяют сопоставить родственные записи из обеих таблиц и совместно
вывести их в форме, отчете или запросе.
Существует три типа первичных ключей: ключевые поля счетчика (счетчик), простой
ключ и составной ключ.

Поле счетчика (Тип данных «Счетчик»). Тип данных поля в базе данных, в котором для
каждой добавляемой в таблицу записи в поле автоматически заносится уникальное
числовое значение.

Простой ключ. Если поле содержит уникальные значения, такие как коды или
инвентарные номера, то это поле можно определить как первичный ключ. В качестве
ключа можно определить любое поле, содержащее данные, если это поле не содержит
повторяющиеся значения или значения Null.

Составной ключ. В случаях, когда невозможно гарантировать уникальность значений


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

Если возникают затруднения с выбором подходящего типа первичного ключа, то в


качеcтве ключа целесообразно выбрать поле счетчика.

Программы, которые предназначены для структурирования информации, размещения ее в


таблицах и манипулирования данными называются системами управления базами
данных (СУБД). К наиболее распространенным типам СУБД относятся: MS SQL Server,
Oracle, Informix, Sybase, MS Access  и т. д.

К базовым понятиями модели БД «сущность – связь» относятся: сущности, связи между


ними и их атрибуты (свойства).

Сущность – любой конкретный или абстрактный объект в рассматриваемой предметной


области. Сущности – это базовые типы информации, которые хранятся в БД (в
реляционной БД каждой сущности назначается таблица). К сущностям могут относиться:
студенты, клиенты, подразделения и т.д. Экземпляр сущности и тип сущности - это
разные понятия. Понятие тип сущности относится к набору однородных личностей,
предметов или событий, выступающих как целое (например, студент, клиент и т.д.).
Экземпляр сущности относится, например, к конкретной личности в наборе. Типом
сущности может быть студент, а экземпляром – Петров, Сидоров и т. д.

Атрибут – это свойство сущности в предметной области. Его наименование должно быть
уникальным для конкретного типа сущности. Например, для сущности студент могут
быть использованы следующие атрибуты: фамилия, имя, отчество, дата и место рождения,
паспортные данные и т.д. В реляционной БД атрибуты хранятся в полях таблиц.

Связь – в реляционной БД – это соединение между записями таблиц.

2. Основные операторы SQL: базовые действия с


данными – Select, Insert, Update, Delete. Синтаксис
запросов;
В общих терминах, «SQL база данных» является общим названием для реляционной
системы управления базами данных (РСУБД). Для некоторых систем, «база данных»
также относится к группе таблиц, данных, конфигурационной информации, которые
являются неотъемлемо отдельной частью от других, подобных конструкций. В этом
случае, каждая инсталляция SQL базы данных может состоять из нескольких баз данных.
В других системах, они упомянуты как таблицы.

Одной из важнейших операций, которые выполняются при работе с данными, является


выборка хранящейся в базе данных информации. Для этого пользователь должен
выполнить запрос (query).

Теперь давайте рассмотрим основные типы запросов к базе данных, которые


сосредоточены на манипуляции данными в пределах базы. Для наших целей, все примеры
приведены в стандартном SQL, дабы соответствовать любой среде.

Типы запросов данных


Есть четыре основных типа запросов данных в SQL, которые относятся к так называемому
языку манипулирования данными (Data Manipulation Language или DML):

 SELECT – выбрать строки из таблиц;


 INSERT – добавить строки в таблицу;
 UPDATE – изменить строки в таблице;
 DELETE – удалить строки в таблице;

Каждый из этих запросов имеет различные операторы и функции, которые используются


для того, чтобы произвести какие-то действия с данными.
Использование запроса SELECT для выборки нужных данных
Чтобы получить информацию, хранящуюся в базе данных используется запрос SELECT.
Базовое действие этого запроса ограничено одной таблицей, хотя существуют
конструкции, обеспечивающие выборку с нескольких таблиц одновременно. Для того,
чтобы получить все строки данных для специфических столбцов, используется запрос
такого вида:

SELECT column1, column2 FROM table_name;


Также, можно получить все столбцы из таблицы, используя подстановочный знак «*»:

SELECT * FROM table_name;


Это может быть полезно в том случае, когда вы собираетесь выбрать данные с
определенным условием WHERE. Следующий запрос возвратит все столбцы со всех
строк, где «column1» содержит значение «3»:

SELECT * FROM table_name WHERE column1=3;


Кроме «=» (равно), существуют следующие условные операторы:

Условные операторы
=Равно
<>Не равно
>Больше
<Меньше
>=Больше или равно
<=Меньше или равно
Дополнительно можно использовать условия BITWEEN и LIKE для сравнения с условием
WHERE, а так же комбинации операторов AND и OR.

SELECT * FROM table_name WHERE ((Age >= 18) AND (LastName BETWEEN ‘Иванов’
AND ‘Сидоров’)) OR Company LIKE ‘%Motorola%’;
Что в переводе на русский язык означает: выбрать все столбцы из таблицы table_name, где
значение столбца age больше или равно 18, а также значение столбца LastName находится
в алфавитном промежутке от Иванов до Сидоров включительно, или же значением
столбца Company является Motorola.

Использование запроса INSERT для вставки новых данных


Запрос INSERT используется для создания новой строки данных. Для обновления уже
существующих данных или пустых полей строки нужно использовать запрос UPDATE.

Примерный синтаксис запроса INSERT:

INSERT INTO table_name (column1, column2, column3) VALUES (‘data1’, ‘data2’, ‘data3’);
Если вы собираетесь вставлять все значения в порядке, в котором находятся столбцы
таблицы, то можно и не указывать имена столбцов, хотя для удобочитаемости это
предпочтительнее. Кроме того, если вы перечисляете столбцы, необязательно указывать
их по порядку нахождения в базе данных, пока значения, которые вы вводите,
соответсвуют этому порядку. Вы не должны перечислять столбцы, в которые не вводится
информация.

Изменяется уже существующая информация в базе данных очень похожим образом.

Запрос UPDATE и условие WHERE


UPDATE используется для того, чтобы изменить существующие значения или освободить
поле в строке, поэтому новые значения должны соответствовать существующему типу
данных и обеспечивать приемлемые значения. Если вы не хотите изменить значения во
всех строках, то нужно использовать условие WHERE.

UPDATE table_name SET column1 = ‘data1’, column2 = ‘data2’ WHERE column3 = ‘data3’;
Вы можете использовать WHERE для любого столбца, включая тот, который хотите
изменить. Это используется когда необходимо заменить одно определенное значение на
другое.

UPDATE table_name SET FirstName = ‘Василий’ WHERE FirstName = ‘Василий’ AND


LastName = ‘Пупкин’;
Будьте осторожны! Запрос DELETE удаляет целые строки
Запрос DELETE полность удаляет строку из базы данных. Если вы хотите удалить одно
единственное поле, то нужно использовать запрос UPDATE и установить для этого поля
значение, которое будет являться аналогом NULL в вашей программе. Будьте
внимательны, и ограничивайте ваш запрос DELETE условием WHERE, иначе вы можете
потерять все содержимое таблицы.

DELETE FROM table_name WHERE column1 = ‘data1’;


Как только строка была удалена из вашей базы данных, она не подлежит восстановлению,
поэтому желательно иметь столбец по имени «IsActive», или что-то типа того, который вы
можете изменить на ноль, что будет указывать на блокировку представления данных из
этой строки.

?Программа? на языке SQL представляет собой простую линейную последовательность


операторов языка SQL. Язык SQL в своем ?чистом? виде операторов управления
порядком выполнения запросов к БД (типа циклов, ветвлений, переходов) не имеет.
Операторы языка SQL строятся с применением:
 зарезервированных ключевых слов;
 идентификаторов (имен) таблиц и столбцов таблиц;
 логических, арифметических и строковых выражений, используемых для
формирования критериев поиска информации в БД и для вычисления значений
ячеек результирующих таблиц;
 идентификаторов (имен) операций и функций, используемых в выражениях.

Все ключевые слова, имена функций и, как правило, имена таблиц и столбцов
представляются 7-мибитными символами кодировки ASCII (иначе говоря - латинскими
буквами).
В языке SQL не делается различия между прописными (большими) и строчными
(маленькими) буквами, т.е., например, строки ?SELECT?, ?Select?, ?select? представляют
собой одно и то же ключевое слово.
Для конструирования имен таблиц и их столбцов допустимо использовать буквы, цифры и
знак ?_? (подчеркивание), но первым символом имени обязательно должна быть буква.
Запрещено использование ключевых слов и имен функций в качестве идентификаторов
таблиц и имен столбцов. Полный список ключевых слов и имен функций (а он весьма
обширен) можно найти в документации на конкретную СУБД.
Оператор начинается с ключевого слова-глагола (например, ?CREATE? - создать, ?
UPDATE? - обновить, ?SELECT? - выбрать и т.п.) и заканчивается знаком ?;? (точка с
запятой). Оператор записывается в свободном формате и может занимать несколько строк.
Допустимыми разделителями лексических единиц в операторе являются:

 один или несколько пробелов,


 один или несколько символов табуляции,
 один или несколько символов ?новая строка?.

При описании операторов языка SQL в учебном пособии используются следующие


соглашения.

 Прописными (большими) буквами (напрмер, SELECT, FROM, WHERE) набраны


зарезервированные слова.
 Курсивом (например, имя_табл, сложн_условие) набраны переменные
(нетерминальные символы), подлежащие замене в реальном операторе
конструкцией из терминальных символов (идентификаторов, знаков операций,
имен функций и т.п.).
 В квадратные скобки (?[...]?) заключается необязательная часть оператора, которую
можно опустить при создании реального оператора (сами квадратные скобки в
текст оператора не включаются).
 Вертикальная черта (?|?) означает возможность выбора (?или?) из двух или
нескольких вариантов синтаксической конструкции (сама вертикальная черта в
текст оператора не включается). Подчеркнутый вариант (например, в ?[ ALL |
DISTINCT }?) является умолчательным.
 Последовательность символов ?, ...? обозначает возможность повторения
произвольное количество раз (в том числе и нулевое) предшествующей запятой
конструкции. Символ ?,? включается в реальный оператор в качестве разделителя
перед каждым повторением конструкции.

К сожалению, разработчики реальных СУБД неаккуратно обращаются с требованиями


стандартов языка SQL в части комментариев. Поэтому комментарии при использовании в
различных СУБД в текстах ?программ? на языке SQL могут помечаться следующими
способами:
 от двойного минуса (?--?) до конца строки;
 от символа ?#? до конца строки;
 между последовательностями ?/*? и ?*/? (стиль комментариев языка СИ).

Основы теории разработки ПО и тестирования:


1. Модели разработки ПО. Этапы в зависимости от вида.
Сравнение моделей разработки ПО;
Модель разработки ПО (Software Development Model, SDM) — структура,
систематизирующая различные виды проектной деятельности, их взаимо-действие и
последовательность в процессе разработки ПО. Выбор той или иной модели зависит
от масштаба и сложности проекта, предметной области, доступных ресурсов и
множества других факторов.
Выбор модели разработки ПО серьёзно влияет на процесс тестирования, определяя
выбор стратегии, расписание, необходимые ресурсы и т.д.

Моделей разработки ПО много, но в общем случае классическими можно считать


водопадную, v-образную, итерационную инкрементальную, спиральную и гибкую.
Водопадная модель (waterfall model19) сейчас представляет скорее истори-ческий
интерес, т.к. в современных проектах практически неприменима. Она пред-полагает
однократное выполнение каждой из фаз проекта, которые, в свою оче-редь, строго
следуют друг за другом (рисунок 2.1.a). Очень упрощённо можно ска-зать, что в
рамках этой модели в любой момент времени команде «видна» лишь предыдущая и
следующая фаза. В реальной же разработке ПО приходится «видеть весь проект
целиком» и возвращаться к предыдущим фазам, чтобы исправить недоработки или
что-то уточнить.
19 In a waterfall model, each phase must be completed fully before the next phase can begin. This type of model is basically used
Рисунок 2.1.a — Водопадная модель разработки ПО
К недостаткам водопадной модели принято относить тот факт, что участие пользователей
ПО в ней либо не предусмотрено вообще, либо предусмотрено лишь косвенно на стадии
однократного сбора требований. С точки зрения же тестирования эта модель плоха тем,
что тестирование в явном виде появляется здесь лишь с середины развития проекта,
достигая своего максимума в самом конце.

Тем не менее водопадная модель часто интуитивно применяется при выпол-нении


относительно простых задач, а её недостатки послужили прекрасным отправ-ным пунктом
для создания новых моделей. Также эта модель в несколько усовер-шенствованном виде
используется на крупных проектах, в которых требования очень стабильны и могут быть
хорошо сформулированы в начале проекта (аэро-космическая область, медицинское ПО и
т.д.)
V-образная модель (V-model22) является логическим развитием водопад-ной. Можно
заметить (рисунок 2.1.b), что в общем случае как водопадная, так и v-образная
модели жизненного цикла ПО могут содержать один и тот же набор ста-дий, но
принципиальное отличие заключается в том, как эта информация исполь-зуется в
процессе реализации проекта.

Очень упрощённо можно сказать, что при использовании v-образной модели на каждой
стадии «на спуске» нужно думать о том, что и как будет происходить на соответствующей
стадии «на подъёме». Тестирование здесь появляется уже на са-мых ранних стадиях
развития проекта, что позволяет минимизировать риски, а также обнаружить и устранить
множество потенциальных проблем до того, как они станут проблемами реальными.
Итерационная инкрементальная модель (iterative model25, incremental model26)
является фундаментальной основой современного подхода к разработке ПО. Как
следует из названия модели, ей свойственна определённая двойствен-ность (а
ISTQB-глоссарий даже не приводит единого определения, разбивая его на отдельные
части):
 с точки зрения жизненного цикла модель является итерационной, т.к. под-
разумевает многократное повторение одних и тех же стадий;
 с точки зрения развития продукта (приращения его полезных функций) мо-дель
является инкрементальной.

Ключевой особенностью данной модели является разбиение проекта на от-носительно


небольшие промежутки (итерации), каждый из которых в общем случае может включать в
себя все классические стадии, присущие водопадной и v-образной моделям (рисунок
2.1.c). Итогом итерации является приращение (инкре-мент) функциональности продукта,
выраженное в промежуточном билде (build27).
Длина итераций может меняться в зависимости от множества факторов, од-нако сам
принцип многократного повторения позволяет гарантировать, что и тести-рование, и
демонстрация продукта конечному заказчику (с получением обратной связи) будет
активно применяться с самого начала и на протяжении всего времени разработки
проекта.
Во многих случаях допускается распараллеливание отдельных стадий внутри
итерации и активная доработка с целью устранения недостатков, обнару-женных на
любой из (предыдущих) стадий.

Итерационная инкрементальная модель очень хорошо зарекомендовала себя на


объёмных и сложных проектах, выполняемых большими командами на про-тяжении
длительных сроков. Однако к основным недостаткам этой модели часто относят высокие
накладные расходы, вызванные высокой «бюрократизированно-стью» и общей
громоздкостью модели.
Спиральная модель (spiral model30) представляет собой частный случай
итерационной инкрементальной модели, в котором особое внимание уделяется
управлению рисками, в особенности влияющими на организацию процесса разра-
ботки проекта и контрольные точки.
Схематично суть спиральной модели представлена на рисунке 2.1.d. Обра-тите
внимание на то, что здесь явно выделены четыре ключевые фазы:
 проработка целей, альтернатив и ограничений;
 анализ рисков и прототипирование;
 разработка (промежуточной версии) продукта;
 планирование следующего цикла.

С точки зрения тестирования и управления качеством повышенное внимание рискам


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

Автор модели Barry Boehm в своих публикациях31, 32 подробно раскрывает эти вопросы и
приводит множество рассуждений и рекомендаций о том, как применять спиральную
модель с максимальным эффектом.
Гибкая модель (agile model35) представляет собой совокупность различных подходов
к разработке ПО и базируется на т.н. «agile-манифесте» 36:
 Люди и взаимодействие важнее процессов и инструментов.
 Работающий продукт важнее исчерпывающей документации.
 Сотрудничество с заказчиком важнее согласования условий контракта.
 Готовность к изменениям важнее следования первоначальному плану.

Как несложно догадаться, положенные в основу гибкой модели подходы яв-ляются


логическим развитием и продолжением всего того, что было за десятилетия создано и
опробовано в водопадной, v-образной, итерационной инкрементальной, спиральной
и иных моделях. Причём здесь впервые был достигнут ощутимый ре-зультат в
снижении бюрократической составляющей и максимальной адаптации процесса
разработки ПО к мгновенным изменениям рынка и требований заказчика.

Очень упрощённо (почти на грани допустимого) можно сказать, что гибкая модель
представляет собой облегчённую с точки зрения документации смесь ите-рационной
инкрементальной и спиральной моделей (рисунки 2.1.e37, 2.1.f); при этом следует
помнить об «agile-манифесте» и всех вытекающих из него преимуществах и
недостатках.
Главным недостатком гибкой модели считается сложность её применения к крупным
проектам, а также частое ошибочное внедрение её подходов, вызванное
недопониманием фундаментальных принципов модели.
Тем не менее можно утверждать, что всё больше и больше проектов начи- нают
использовать гибкую модель разработки.
Вкратце можно выразить суть моделей разработки ПО таблицей 2.1.a.
Таблица 2.1.a — Преимущества Недостатки Тестирование
Сравнение
моделей
разработки ПО
Модель
Водопадная
 У каждой стадии  Полная неспособ-  С середины про-
есть чёткий прове- ность адаптировать екта.
ряемый результат. проект к измене-
 В каждый момент ниям в требова-
времени команда ниях.
выполняет один вид  Крайне позднее
работы. со- здание работаю-
 Хорошо работает щего продукта.
для небольших за-
дач.

V-образная
 У каждой стадии  Недостаточная  На переходах
есть чёткий прове- гиб- кость и между стадиями.
ряемый результат. адаптируе- мость.
 Внимание тестиро-  Отсутствует
ванию уделяется с раннее
первой же стадии. прототипирование.
 Хорошо работает  Сложность устра-
для проектов со нения проблем,
стабильными тре- пропущенных на
бованиями. ранних стадиях
развития проекта.

Итерационная
инкре-ментальная  Достаточно  Недостаточная В
раннее гиб-кость внутри определённые
прототипировани итера-ций. моменты
е.  Сложность итераций.
 Простота устра-нения  Повторное
управле-ния проблем, тестиро-вание
итерациями. пропущенных на (после дора-
 Декомпозиция ранних стадиях ботки) уже прове-
про-екта на развития ренного ранее.
управляе-мые проекта.
итерации.

Спиральная
 Глубокий анализ рисков.  Высокие накладные
 Подходит для круп-ных расходы.
проектов.  Сложность приме-нения
 Достаточно раннее для неболь-ших проектов.
прототипирование.  Высокая зависи-мость
успеха от ка-чества анализа
рисков.

Гибкая
 Максимальное во-  Сложность реали-  В определённые
влечение заказ-чика. зации для больших моменты итераций и
 Много работы с проектов. в любой необхо-
требованиями.  Сложность постро- димый момент.
 Тесная интеграция ения стабильных
тестирования и процессов.
разработки.
 Минимизация доку-
ментации.

2. Что такое баг. Структура и содержание «идеального» бага;


баг (bug) — это отклонение фактического результата (actualresult) от ожидаемого
результата (expected result).

3. Что такое тест-кей с. Структура и содержание


«идеального» тест-кей са;
Тест кейс (тестовый случай) — это самая маленькая часть тест документации, это ситуация которая
проверяет конкретно взятое условие из требований. Одно условие может проверятся
несколькими Тестовыми Случаями (позитивными и негативными).

Из каких основных полей состоят тест кейсы:

 ID

В это поле записывается номер кейса или номер вместе с какой-то аббревиатурой к
примему «PD_Sync_123»служит для их уникальной идентификации среди других кейсов.

 Summary

Cюда записывают краткое описание проблемы. Summary (описание) должно содержать


ответ на вопрос что произошло и при каких условиях работает не верно.

 Steps

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

 Expected Result

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

 Pass/Fail
Поле служит для проставления статуса каждому тест кейсу. Если ожидаемый результат
совпадает с реальным, то проставляем pass, в противном случае ставим fail. Возможно еще
несколько статусов в зависимости от процессов и правил в IT компании

Возможны дополнительные поля для комментариев, ссылок на Баг репорт.


Виды и типы тестирования. Различные классификации
тестирования.
Типы тестирования

Принято подразделять тестирование на виды по следующим категориям:

      - по объектам (элементам) тестирования, часто разделение на виды тестов по данному


критерию называют разделением тестирования на уровни;

      - по глубине тестирования, то есть разделение тестовых испытаний на типы проводится в


зависимости от количества времени и объема тестируемых компонент программного продукта;

      - в соответствие с традиционными показателями качества, которые проверяются с их


помощью.

      Уровни тестирования

      Модульное тестирование (Автономное или Unit-тестирование). На данном уровне тестируются


по отдельности небольшие элементы системы, максимально отделенные от других элементов и, в
то же время, пригодные для тестирования.

      Комплексное тестирование (Сборочное тестирование, integration testing или interface testing).
На данном уровне тестируются объединенные элементы (компоненты или подсистемы) общей
системы, чаще всего некоторая взаимодействующая между собой группа элементов.

      Системное тестирование (system testing).После того, как система собрана из составляющих
компонентов, она должна быть протестирована на соответствие системным. На данном уровне
тестируется приложение или система (одно или более приложений) целиком.

      Приемочное тестирование (Приемо-сдаточное тестирование или acceptance testing). На


данном уровне завершенное приложение (система) тестируется заказчиком.

      Операционное тестирование (Release Testing). Даже если система удовлетворяет всем
требованиям, важно убедиться в том, что она удовлетворяет нуждам пользователя и выполняет
свою роль в среде своей эксплуатации, как это было определено в бизнес моделе системы.
Следует учесть, что и бизнес модель может содержать ошибки. Поэтому так важно провести
операционное тестирование как финальный шаг валидации. Кроме этого, тестирование в среде
эксплуатации позволяет выявить и нефункциональные проблемы, такие как: конфликт с другими
системами, смежными в области бизнеса или в программных и электронных окружениях;.

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

      Виды тестирования


      Инсталляционное тестирование (Installation testing). Проверка правильности установки
программного продукта должна быть обязательным элементом проекта по тестированию любого
продукта.

     Дымовое тестирование (проверка на дым, Smoke testing). Первый прогон программы (после
написания или после внесения существенных изменений). Как правило, используется для
определения, готова ли программа для проведения более обширного тестирования. Основная
цель такого тестирования - выявление проблем «лежащих на поверхности» – тестируется чаще
всего основная бизнес логика программы.

      Функциональное тестирование (Functional testing). Под данным типом тестирования


подразумевается проверка соответствия продукта функциональным требованиям и
спецификациям.

      Регрессионное тестирование (Regression testing). Повторное тестирование после внесения


изменений в программное обеспечение или в его окружение (в новой версии приложения. Целью
регрессионного тестирования является выявление проблем, которые могли возникнуть в
результате изменений и проверка исправления найденных ранее дефектов.

      Интеграционное тестирование (Integration testing). Проверка скомбинированных компонентов


прикладной программы с целью определения корректности их совместного функционирования

      Тестирование графического интерфейса пользователя (User Interface testing). Тестирование


интерфейса – экранов, кнопок и т.д. Цель - обнаружение ошибок в интерфейсе и поиск ошибок в
функциональности посредством интерфейса

     Тестирование производительности (Performance testing). Проверка скорости работы системы в


имитационной и реальной средах.

      Нагрузочное тестирование (Load testing). цель этого тестирования – оценить способность
системы правильно функционировать при некотором превышении планируемых нагрузок при
реальной эксплуатации (система имеет некоторый «запас прочности»).

      Стресс тестирование (Stress testing). Является одним из разновидностей тестирования на


производительность, при которой проверяется, что система адекватно реагирует нате или иные
стрессовые ситуации, например при недостатке ресурсов (дискового пространства, обрывов сети и
т.д.).

      Конфигурационное тестирование (Configuration testing). Конфигурационное тестирование –


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

      Классификация тестов на виды производится в соответствие с традиционными показателями


качества, которые проверяются с их помощью. Иными словами, разделение тестирования на виды
происходит в зависимости от типа требований (функциональные, нефункциональные),
проверяемых с помощью тестов.

      Для проверки функциональности (functionality) ПО необходимо испытать приложение на


выполнение функциональных требований к нему (сценариев использования и др.). Для этого
используются собственно функциональные тесты, а также тесты безопасности, объема и другие.
      Тестирование надежности (reliability) ПО производится с целью проверки нефункциональных
требований, что приложение работает, как и ожидалось, устойчиво к падениям и т.п. Здесь
применяются интеграционные тесты, тесты структуры, стрессовые тесты и другие.

      Тестирование удобства использования (usability) ПО (нефункциональные требования)


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

      Тестирование производительности (performance) ПО выполняется с целью удостовериться, что


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

По запуску кода на исполнение:


o Статическое тестирование — без запуска.
o Динамическое тестирование — с запуском.

 По доступу к коду и архитектуре приложения:


o Метод белого ящика — доступ к коду есть.
o Метод чёрного ящика — доступа к коду нет.
o Метод серого ящика — к части кода доступ есть, к части — нет.

 По степени автоматизации:
o Ручное тестирование — тест-кейсы выполняет человек.
o Автоматизированное тестирование — тест-кейсы частично или полно-стью
выполняет специальное инструментальное средство.

 По уровню детализации приложения (по уровню тестирования):


o Модульное (компонентное) тестирование — проверяются отдельные небольшие
части приложения.
o Интеграционное тестирование — проверяется взаимодействие между несколькими
частями приложения.
o Системное тестирование — приложение проверяется как единое це-лое.

 По (убыванию) степени важности тестируемых функций (по уровню функци-


онального тестирования):
o Дымовое тестирование (обязательно изучите этимологию термина — хотя бы в
Википедии109) — проверка самой важной, самой ключевой функциональности,
неработоспособность которой делает бессмыс-ленной саму идею использования
приложения.

Тестирование критического пути — проверка функциональности, ис-пользуемой


типичными пользователями в типичной повседневной де-ятельности.
o Расширенное тестирование — проверка всей (остальной) функцио-нальности,
заявленной в требованиях.

 По принципам работы с приложением:


o Позитивное тестирование — все действия с приложением выполня-ются строго по
инструкции без никаких недопустимых действий, некор-ректных данных и т.д. Можно
образно сказать, что приложение иссле-дуется в «тепличных условиях».
o Негативное тестирование — в работе с приложением выполняются (некорректные)
операции и используются данные, потенциально при-водящие к ошибкам (классика
жанра — деление на ноль).

4. Задачи тестировщика на этапах разработки ПО;


 обеспечить очищения ПО от ошибок (Вы не можете предоставить 100% покрытие,
но Вы должны сделать все возможное, и гарантировать, что очевидные ошибки
исправлены);
 убедить, что ПО отвечает оригинальным требованиям и спецификации;
 обеспечить уверенность в ПО (пользователям, заказчикам и т.д.).

Из каких этапов состоит процесс


тестирования?
Инициация – событие, которое извещает команду тестирования о необходимости сессии
тестирования, а также гарантирует выполнение требований к продукту для проведения
тестирования.

Выявление требований – пожалуй, один из главных шагов в процессе тестирования. Неизвестны


требования – нет тестирования.
Генерация тестовых случаев – выявление всех возможных случаев использования продукта, его
характеристик и особенностей в процессе эксплуатации. Это значит: всех случаев, которые
тестировщик может «придумать» на основе прямых и косвенных требований, известных ему. Этот 
этап требует высокой квалификации специалиста по тестированию.

Отбор тестовых случаев – отбор наиболее показательных, значимых и воспроизводимых тестовых


случаев.
Проведение проверок –
Фиксация результатов – создание внутренней и внешней тестовой документации в
формализованном виде или в виде записей и т. п.
Анализ результатов – вынесение решения о соответствии проверенного продукта требованиям.
Формализация данного решения и его обоснование в виде отчета о тестировании.
Передача информации о соответствии продукта требованиям. Формально: передача внешней
тестовой документации заинтересованным в ней сторонам, зачастую инициатору сессии
тестирования.

Документы, создаваемые тестировщиком на различных


этапах разработки ПО
Тестовая документация бывает двух видов: внешняя и внутренняя. И та, и другая –
инструмент, облегчающий жизнь проектной команде. Не более и не менее.
Внешняя документация:

 Замечание – короткая записка, комментарий о небольшой неточности в реализации


продукта.
 Баг-репорт – описание выявленного случая несоответствия производимого
продукта требованиям, к нему выдвигаемым – ошибки или ее проявления.
 Запрос на изменение (улучшение) – описание неявных/некритичных косвенных
требований, которые не были учтены при планировании/реализации продукта, но
несоблюдение, которых может вызвать неприятие у конечного потребителя. И
пути/рекомендации по модификации продукта для соответствия им.
 Отчет о тестировании (тест репорт) – документ, предоставляющий сведения о
соответствии/ несоответствии продукта требованиям. Может так же содержать
описание некоторых подробностей проведенной сессии тестирования, например,
затраченное время, использованные виды тестирования, перечень проверенных
случаев и т. п. В идеальном варианте фраза вида «Тест пройден. Ошибка не
воспроизводится/Функционал работает корректно/Соответствует требованиям»
означает, что продукт или его часть полностью соответствует требованиям прямым
и косвенным (в производстве ПО).

Внутренняя документация:

 Тест-план (план тестирования) – формализованное и укрупненное описание одной


сессии тестирования по одному или нескольким направлениям проверок. Т.е.
перечень направлений проверок, которые должны быть проведены в рамках сессии
тестирования (и, сообразных этим направлениям, требований). Также может
содержать в себе необходимую информацию об окружении, методике, прочих
условиях важных для показательности данной сессии тестирования. Под
направлением проверок также может пониматься более детализированная тестовая
документация (в виде ссылки на нее): чек листы, тестовые комплекты, тестовые
сценарии, на которую необходимо опираться при проведении сессии тестирования.
Основная цель документа – описать границы сессии тестирования,
стабилизировать показательность данной сессии.
 Тестовый сценарий – последовательность действий над продуктом. Фактически
при успешном прохождении всего тестового сценария мы можем сделать
заключение о том, что продукт может выполнять ту или иную возложенную на
него функцию.
 Тестовый комплект – некоторый набор формализованных тестовых случаев
объединенных между собой по общему логическому признаку.
 Чек-лист (лист проверок) – это документ, описывающий что должно быть
протестировано.
 Тестовый случай (тест-кейс) – формализованное описание одной показательной
проверки на соответствие требованиям прямым или косвенным.

Хорошо структурированная, поддерживаемая, читаемая, организованная и


доступная тестовая документация позволяет в долгосрочной перспективе:
Продуктная документация (product documentation, development documenta-tion 52)
используется проектной командой во время разработки и поддержки продукта. Она
включает:
o План проекта (project management plan53) и в том числе тестовый план (test plan54).
o Требования к программному продукту (product requirements document, PRD55) и
функциональные спецификации (functional specifications56 doc-ument, FSD57; software
requirements specification, SRS58).
o Архитектуру и дизайн (architecture and design59).
o Тест-кейсы и наборы тест-кейсов (test cases60, test suites61).
o Технические спецификации (technical specifications 62), такие как схемы баз данных,
описания алгоритмов, интерфейсов и т.д.

 Проектная документация (project documentation63) включает в себя как про-


дуктную документацию, так и некоторые дополнительные виды документа-ции и
используется не только на стадии разработки, но и на более ранних и поздних
стадиях (например, на стадии внедрения и эксплуатации). Она вклю-чает:
Основы web-технологий:
1. Что такое XML. Структура, способы её описания. Синтаксис
XML;
XML – Это очень удобный язык, его воспринимают многие приложения, его
используют разные платформы.

Назначения:

-хранение структурированных данных

-обмен инфо между программами

-для создания специализированных языков разметки(XHTML-для создания почти всех


страниц в интернете)

Вы можете создавать текст и размечать его при помощи обрамляющих тегов,


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

В XML можно создавать свои собственные элементы, что позволяет точно


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

Рассмотрим теперь основные синтаксические правила построения XML документов.

 XML документ содержит один и только один корневой элемент, содержащий все
остальные элементы
 Имена элементов подчиняются правилам:
o Имя начинается с буквы, знака подчеркивания или двоеточия.
o После первого символа в имени могут быть буквы, цифры, знаки переноса,
подчеркивания, точка или двоеточие.
o Имена не могут начинаться с буквосочетания XML.

XML документ имеет следующую структуру :

 Первая строка XML документа называется объявлением XML. Это необязательная


строка, указывающая версию стандарта XML (обычно это 1.0). Также здесь может
быть указана кодировка символов и внешние зависимости.
 Комментарий может быть размещен в любом месте дерева. XML комментарии
размещаются внутри пары тегов <!-- и заканчиваются -->. Два знака дефис (--) не
могут быть применены ни в какой части внутри комментария.
 Остальная часть этого XML -документа состоит из вложенных элементов,
некоторые из которых имеют атрибуты и содержимое.
 Элемент обычно состоит из открывающего и закрывающего тегов, обрамляющих
текст и другие элементы.
 Открывающий тег состоит из имени элемента в угловых скобках;
 Закрывающий тег состоит из того же имени в угловых скобках, но перед именем
ещё добавляется косая черта.
 Содержимым элемента называется всё, что расположено между открывающим и
закрывающим тегами, включая текст и другие (вложенные) элементы.
 Кроме содержания у элемента могут быть атрибуты - пары имя=значение,
добавляемые внутрь открывающего тега после названия элемента.
 Значения атрибутов всегда заключаются в кавычки (одинарные или двойные), одно
и то же имя атрибута не может встречаться дважды в одном элементе.
 Не рекомендуется использовать разные типы кавычек для значений атрибутов
одного тега.
 Для обозначения элемента без содержания, называемого пустым элементом,
необходимо применять особую форму записи, состоящую из одного тега, в
котором после имени элемента ставится косая черта "/".

Приложения:

XPath – язык запросов к элементам XML- документа

Пример:

- /html/body/*/span[@class] (внутри элемента html нужно взять элемент body,


*произвольный любой элемент внутри которого есть элемент span, у которого
определенный атрибут[@class]

XQuery – язык запросов, разработанный для обработки данных в формате XML.

XSLT – язык преобразования XML- документа (например в PDF)

Применение:

- XHTML – интернет

- WSDL – язык описания веб сервисов и доступа к ним

- SVG – помогает описанию картинок

Достоинства: понятен человеку, стандарт, поддерживает списки,деревья и записи, не


зависит от платформы

2. Что такое HTML. Структура, тэги HTML. Синтаксис HTML.


Основные теги CSS;
HTML-документ — это обычный текстовый документ, может быть создан как в обычном
текстовом редакторе (Блокнот), так и в специализированном, с подсветкой кода
(Notepad++). HTML-документ имеет расширение .html.
Язык HTML — язык тегов. Теги описывают структуру HTML-документа. Теги
оформляются угловыми скобками <имя тега>, между которыми прописывается имя тега.

Теги располагаются в HTML-документе в соответствии с правилами разметки (порядок


следования, правило вложенности тегов), создавая разделы будущей веб-страницы. Кроме
тегов, HTML-документы могут содержать специальные символы.

Браузер просматривает HTML-документ, выстраивая его структуру (DOM) и отображая ее


в соответствии с инструкциями, включенными в этот файл (таблицы стилей, скрипты).
Если разметка правильная, то в окне браузера будет отображена HTML-страница,
содержащая HTML-элементы — заголовки, таблицы, изображения и т.д.

Большинство тегов — парные, они состоят из начального и закрывающего тегов.


Начальный тег показывает, где начинается элемент, закрывающийся — где
заканчивается. Закрывающий тег образуется путем добавления слэша / перед именем
тега: <имя тега>…</имя тега>. Между начальным и закрывающим тегами находится
содержимое тега — контент.

Одиночные теги не могут хранить в себе содержимого напрямую, оно прописывается как
значение атрибута, например, тег <input type="button" value="Кнопка"> создаст кнопку с
текстом Кнопка внутри.

Язык HTML следует правилам, которые содержатся в файле объявления типа документа
(Document Type Definition, или DTD). DTD представляет собой XML-документ,
определяющий, какие теги, атрибуты и их значения действительны для конкретного типа
HTML. Для каждой версии HTML есть свой DTD.

DOCTYPE отвечает за корректное отображение веб-страницы браузером. DOCTYPE


определяет не только версию HTML (например, html), но и соответствующий DTD-файл в
Интернете.

Чтобы разобраться во взаимодействии элементов веб-страницы, необходимо рассмотреть


так называемые «родственные отношения» между элементами. Отношения между
множественными вложенными элементами подразделяются на родительские, дочерние и
сестринские.

Предок — элемент, который заключает в себе другие элементы. На рисунке 1 предком


для всех элементов является <html>. В то же время элемент <body> является предком для
всех содержащихся в нем тегов: <h1>, <p>, <span>, <nav> и т.д.

Потомок — элемент, расположенный внутри одного или более типов элементов.


Например, <body> является потомком <html>, а элемент <p> является потомком
одновременно для <body> и <html>.

Родительский элемент — элемент, связанный с другими элементами более низкого


уровня, и находящийся на дереве выше их. На рисунке 1 <html> является родительским
только для <head> и <body>. Тег <p> является родительским только для <span>.
Дочерний элемент — элемент, непосредственно подчиненный другому элементу более
высокого уровня. На рисунке 1 только элементы <h1>, <h2>, <p> и <nav> являются
дочерними по отношению к <body>.

Сестринский элемент — элемент, имеющий общий родительский элемент с


рассматриваемым, так называемые элементы одного уровня. На рисунке 1 <head> и
<body> — элементы одного уровня, так же как и элементы <h1>, <h2> и <p> являются
между собой сестринскими.

Основные тэги CSS

<html></html> Указывает программе просмотра страниц, что это HTML документ.

<head></head> Определяет место, где помещается различная информация не


отображаемая в теле документа. Здесь располагается тег названия
документа и теги для поисковых машин. (не видно пользователю)

Здесь используется мета-тег, который указывает в какой кодировке


символы расположены на странице <meta charset=’UTF-8’>

И название документа\вкладки <title>какая-то страница</title>

<body></body> Определяет видимую часть документа (пользователь видит). Содержит


рабочие элементы.

Заголовок текста на странице <h1>заголовок</h1>

Тег абзаца <p1>абазц, текст</p1>

CSS — формальный язык описания внешнего вида документа, написанного с


использованием языка разметки.

3. Сравнение XML и HTML;


XML является прекрасным инструментом для манипулирования структурированными
данными в Web, Благодаря возможностям представления данных, заложенным в HTML,
эти два языка действительно дополняют друг друга. Если же важна структура документа,
становятся видны преимущества XML. В отличие от HTML, XML является прекрасным
языком разметки для создания сложных Web-приложений.

XML прекрасно подходит в тех случаях, когда требования к документу выходят за рамки
простых опций HTML, обеспечивающих представление данных.

В общих чертах, XML и HTML различаются по трем основным направлениям:

-При помощи XML можно определять собственные наборы тегов и необходимые имена
атрибутов.

-При помощи XML структуры документа могут быть вложены друг в друга, обеспечивая любой
уровень сложности
-В XML-документах могут содержаться любые необязательные описания грамматики документа,
чтобы другие приложения могли выполнить проверку его структуры.

4. Объяснить, что происходит после того, как пользователь


ввел URL в адресную строку браузера и нажал Enter.
Браузер отсылает запрос с этой строкой к DNS-серверу, который ищет соответствующий
адрес в своих базах, после чего пересылает запрос на просмотр страницы по найденному
адресу, или ответ браузеру что такой адрес не найден.

Если адрес верен, то найденный сервер связывается с вашим браузером и передает ему
содержание страницы.

Объясните термин «жизненный цикл программного обеспечения».


Жизненным циклом программного обеспечения (SLC) является период времени,
начинающийся с момента появления концепции ПО и заканчивающийся тогда, когда
использование ПО более невозможно. Жизненный цикл программного обеспечения
обычно включает в себя следующие этапы: концепт, описание требований, дизайн,
реализация, тестирование, инсталляция и наладка, эксплуатация и поддержка и, иногда,
этап вывода из эксплуатации. Данные фазы могут накладываться друг на друга или
проводиться итерационно.

Каковы основные фазы модели жизненного цикла разработки ПО?

1. Принятия решения (идея) о необходимости создания ПО;


2. Сбор и анализ требований;
3. Дизайн (Системы и ПО) на основе требований;
4. Кодирование на основе дизайна системы;
5. Тестирование;
6. Внедрение в пользовательскую среду;
7. Сопровождение (в том числе фиксация найденных в пользовательской среде
ошибок);
8. Изъятие из эксплуатации (редко);

Итерация - это многократное повторение некоторой математической операции (сложение,


вычитание, умножение и т.п.) или действия (повторение одного и того же слова, символа и т.п.),
при организации обработки данных в программировании, при котором используется
накопленный предыдущий результат такой же операции или действия. (Определение дал/дала
Программист)

Баг трекинг Jira – идеально для больших проектов. Представляет большие возможности. Это
система управления проектами.

Водопадная модель – один этап строго идет за другим (Планирование—Проектирование –


Кодирование – Тестирование – Внедрение – Сопровождение)

+: Хорошая документация и спланированность действий, понятная последовательность этапов.

-: Отсутствие возможно вернуться на предыдущий этап (придется начинать все с начала) и поздно
начинается тестирование.

Подходит для хорошо спланированных, больших серьезных проектов

Классификация:
1. По знанию внутренностей системы:
• черный ящик (black box testing);
• серый ящик (grey box testing);
• белый ящик (white box testing).
2. По объекту тестирования:
• функциональное тестирование (functional testing)- становить соответствие разработанного
программного обеспечения (ПО) исходным функциональным требованиям заказчика. То есть
проведение функционального тестирования позволяет проверить способность информационной
системы в определенных условиях решать задачи, нужные пользователям.
• тестирование интерфейса пользователя (UI testing);
• тестирование локализации (localization testing) - вещь, подразумевающая проверку множества
аспектов, связанных с адаптацией сайта для пользователей из
других стран.
• тестирование скорости и надежности (load/stress/performance
esting) -Это проверка поведения веб-сайта (или его отдельных частей ) при дновременном наплыве
множества пользователей.
• тестирование безопасности (security testing);
• тестирование опыта пользователя (usability testing)- При юзабилити-тестировании также
проверяется интуитивность интерфейса.
• тестирование совместимости (compatibility testing).
3. По субъекту тестирования:
• альфа-тестировщик (alpha tester);
• бета-тестировщик (beta tester).
4. По времени проведения тестирования:
• до передачи пользователю — альфа-тестирование (alphatesting);
- тест приемки (smoke test, sanity test или confidence test);
- тестирование новых функциональностей (new feature
testing);
142 Тестирование Дот Ком. Часть 2
- регрессивное тестирование (regression testing);
- тест сдачи (acceptance or certification test);
• после передачи пользователю — бета-тестирование (beta
testing).
5. По критерию "позитивности" сценариев:
• позитивное тестирование (positive testing);
• негативное тестирование (negative testing).
6. По степени изолированности тестируемых компонентов:
• компонентное тестирование (component testing);
• интеграционное тестирование (integration testing);
• системное (или энд-ту-энд) тестирование (system or endto-
end testing).
7. По степени автоматизированности тестирования:
• ручное тестирование (manual testing);
• автоматизированное тестирование (automated testing);
• смешанное/полуавтоматизированное тестирование (semi
automated testing).
8. По степени подготовки к тестированию:
• тестирование по документации (formal/documented testing);
• эд хок-тестирование (ad hoc testing).

Требования

Бизнес-требования (business requirements69) выражают цель, ради которой разрабатывается


продукт (зачем вообще он нужен, какая от него ожидается польза)

Пользовательские требования (user requirements71) описывают задачи, ко-торые


пользователь может выполнять с помощью разрабатываемой системы (ре-акцию системы на
действия пользователя, сценарии работы пользователя).

Бизнес-правила (business rules75) описывают особенности принятых в пред-метной области


(и/или непосредственно у заказчика) процессов, ограничений и иных правил.

Функциональные требования (functional requirements78) описывают поведе-ние системы, т.е.


её действия (вычисления, преобразования, проверки, обработку и т.д.)

Нефункциональные требования (non-functional requirements79) описывают свойства системы


(удобство использования, безопасность, надёжность, расширяе-мость и т.д.), которыми она
должна обладать при реализации своего поведения.

Требования к интерфейсам (external interfaces requirements81) описывают особенности


взаимодействия разрабатываемой системы с другими системами и операционной средой.
Требования к данным (data requirements82) описывают структуры данных (и сами данные),
являющиеся неотъемлемой частью разрабатываемой системы. Ча-сто сюда относят описание
базы данных и особенностей её использования.

Спецификация требований (software requirements specification, SRS83) объ-единяет в себе


описание всех требований уровня продукта и может представлять собой весьма объёмный
документ

JS – изначально создавался для того, чтобы сделать веб приложения и сайты «живыми». Для
быстрого взаимодействия с пользователями.

Для выполнения программы

Компиляция – исходный код программы преобразуется при помощи др. программы


«компилятор» для того чтобы преобразоваться в машинный.

Интерпретация – интерпретатор получает наш код и запускает наш код как есть

Во все браузеры встроен интерпретатор JS.

Клиентский язык. Работает на стороне клиента. Поэтому мы можем с нашего браузера зайти в
JS и изменить код и посмотреть что из этого будет.

Вам также может понравиться