Файл: 1.(Гриша)Дайте определение понятия репозитория проекта. Опишите классы уровней репозиториев.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 22.11.2023

Просмотров: 762

Скачиваний: 8

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


19.(Влад)Дайте определение системы управления версиями. Сформулируйте основные принципы организации работы команды в системе контроля версий.

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

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

Основные принципы организации работы команды в системе контроля версий:

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

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

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

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

5. Команда должна придерживаться единого стиля написания кода и правил форматирования, чтобы упростить процесс слияния изменений и уменьшить количество конфликтов.

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

20.(Гриша)Перечислите и охарактеризуйте функциональные виды тестирования.

1. Модульное тестирование: это проверка на уровне отдельных модулей кода, которые имеют

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

приложения.

2. Интеграционное тестирование: это проверка на уровне взаимодействия между модулями,

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

3. Системное тестирование: это проверка на уровне всей системы, при которой проверяется

правильность работы всех компонентов системы в целом.

4. Приемочное тестирование: это проверка на соответствие заданным требованиям и

ожиданиям заказчика.


5. Тестирование производительности: это проверка на уровне производительности

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

условиях.

6. Тестирование безопасности: это проверка на уровне безопасности приложения, при которой

проверяется, насколько безопасно данное приложение для использования.

7. Тестирование совместимости: это проверка на уровне совместимости приложения с другими

системами и устройствами, с которыми оно может взаимодействовать.

8. Тестирование на ошибки и отказы: это проверка на уровне выявления ошибок и отказов в

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

9. Дымовой тест в тестировании программного обеспечения означает минимальный набор тестов на явные ошибки. Дымовой тест обычно выполняется программистом; не проходившую этот тест программу не имеет смысла отдавать на более глубокое тестирование.

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

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

21.(Ася)Дайте определение понятия проект. Охарактеризуйте состав и структуру коллектива

разработчиков, их функции.

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

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

  • 1. Руководитель проекта - координирует работу команды, контролирует выполнение задач и соблюдение сроков.

  • 2. Аналитик - проводит анализ требований заказчика и разрабатывает техническое задание.

  • 3. Дизайнер - разрабатывает дизайн продукта и его интерфейса.

  • 4. Программисты - занимаются написанием кода и тестированием программного обеспечения.

  • 5. Тестировщики - проверяют работоспособность и качество продукта перед его выпуском.

  • 6. Менеджер по качеству - контролирует соответствие продукта требованиям качества.

  • 7. Менеджер по продукту - занимается позиционированием продукта на рынке и его маркетинговым продвижением.


22.(Аня)Перечислите и охарактеризуйте связанные с изменениями виды тестирования.



Кратко о видах тестирования, связанного с изменениями:

Существует несколько видов тестирования, связанного с изменениями:
- Подтверждающее тестирование (Re-testing)

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

- Регрессионное тестирование (Regression Testing)

Код связан между собой и одно исправление может повлечь за собой новые проблемы. Получается, что изменение, внесенное в одну часть кода, будь то исправление или что-либо другое, может случайно повлиять на поведение других частей кода. Регрессионное тестирование направлено на обнаружение таких непреднамеренных побочных эффектов.
- Дымовое тестирование (Smoke Testing)

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

Относится к виду тестирования, которое используется с целью доказательства работоспособности конкретной функции или модуля согласно заявленным техническим требованиям. Зачастую санитарное тестирование используют для проверки какой либо части программы или приложения в результате внесенных изменений на нее со стороны факторов окружающей среды. Выполнение его обычно происходит в ручном режиме.
- Тестирование сборки (Build Verification Test)

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


23.(Лера)Сформулируйте понятие и принципы работы с инструментальными средствами разработки ПО.

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

Принципы работы с инструментальными средствами разработки ПО:

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

2. Обучение и поддержка: разработчики должны быть обучены работе с инструментальными средствами и получать поддержку от команды разработчиков.

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

4. Автоматизация: использование инструментальных средств для автоматизации рутинных задач может значительно повысить производительность и качество работы.

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

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

24.(Влад)Дайте определение понятий «Отладка», «Локализация Ошибки». Какие виды ошибок существуют? Охарактеризуйте их.

Отла́дка — этап разработки компьютерной программы, на котором обнаруживают, локализуют и устраняют ошибки.

Локализация ошибки - нахождение конкретного местоположения ошибки в коде

Существуют три типа ошибок программирования:

синтаксические ошибки,

ошибки выполнения,

семантические ошибки.

В любом языке программирования каждое предложение (оператор) строится по определенным правилам. Когда в программе встречается предложение, которое нарушает эти правила, то говорят о наличии синтак­сической ошибки. Синтаксическая ошибка легко обнаруживается компи­ляторами и интерпретаторами языка и легко исправляется.


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

Семантические (смысловые) ошибки – это применение опе­раторов, которые не дают нужного эффекта (например, (a–b) вместо (a+b)), ошибка в структуре алгоритма, в логической взаи­мосвязи его частей, в применении алгоритма к тем данным, к которым он неприменим и т.д. Правила семан­тики не фор­мализуемы. Поэтому поиск и устранение семантической ошибки и составляет основу отладки.

25.(Гриша)Опишите инструментальные средства создания Windows-приложений.

Существуют различные инструментальные средства для создания Windows-

приложений. Ниже перечислены основные из них:

1. Microsoft Visual Studio - это одно из самых популярных интегрированных

сред для разработки Windows-приложений. Он обеспечивает широкий спектр

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

развертывание.

2. Microsoft .NET Framework - это среда выполнения, которая обеспечивает

поддержку языков программирования, таких как C#, VB .NET и F# для

разработки Windows-приложений.

3. Microsoft Expression Blend - это инструментальное средство для разработки

интерфейсов пользовательского интерфейса для Windows-приложений, которое

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

4. Xamarin - это платформа для разработки мобильных и настольных

приложений под Windows, Mac и Linux. Используя Xamarin, можно написать

код на языке C# и использовать его для создания приложений на различных

платформах.

5. Qt - это кроссплатформенная среда разработки для создания Windows-

приложений, которая поддерживает различные языки программирования,

включая C++, Python и JavaScript.

6. Unity - это платформа для создания игр и приложений, которая позволяет

разрабатывать приложения для Windows, Mac, Android, iOS и других платформ

с помощью языков программирования C# и JavaScript.

7. Electron - это инструментальное средство для создания кроссплатформенных