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 - это инструментальное средство для создания кроссплатформенных