1. Что такое программный продукт? Программный продукт — комплекс взаимосвязанных программ для решения определенной проблемы (задачи) массового спроса, подготовленный к реализации как любой вид промышленной продукции. Как правило, программные продукты требуют осуществляется сопровождения, специализированными фирмами распространителями программ (дистрибьюторами), разработчиками. которое реже — Сопровождение программ массового — фирмами- применения сопряжено с большими трудозатратами — исправление обнаруженных ошибок, создание новых версий программ и т.п. 2. Что такое тестирование программного продукта, для чего это необходимо? Тестирование программного продукта испытания программного продукта, — имеющий процесс своей исследования, целью проверку соответствия между реальным поведением программы и её ожидаемым поведением на конечном наборе тестов, выбранных определённым образом. Тестирование программного продукта необходимо для Экономии денег: без надлежащего тестирования количество времени и ресурсов, необходимых для поддержания продукта в долгосрочной перспективе, намного больше, чем инвестиции в тестирование, не говоря уже о том, что со временем что-то сломается. Обеспечении безопасности кода при командной работе: приложение часто создаётся командами. Разные люди изменяют один и тот же фрагмент кода с течением времени. Наличие тестов делают этот процесс более безопасным, поскольку никто не сломает что-то, не узнав об этом. Это также относится и к будущему, тесты обеспечивает безопасность кода, когда вы вернётесь через год или два для внесения изменений. Помощи в создании лучшей архитектуры: когда часть приложения трудно тестировать, это обычно происходит из-за того, что оно тесно связано с другими частями или функциональность вашего приложения слишком сложна. При их тестировании вам нужно будет сделать их слабосвязанными, применить делегирование и паттерны проектирования, чтобы сделать приложение максимально простым и тестируемым. Улучшении качество кода: ваш продукт менее подвержен сбоям в работе поскольку тесты помогает написать более надёжный и хороший код, который менее подвержен ошибкам. Делать рефакторинг простым и безопасным: создание программного обеспечения — это итеративный процесс. Требования меняются с течением времени, следовательно, меняется и функциональность. Наличие хорошего тестового покрытия позволяет вам модифицировать определённый код, проверяя, что тесты все ещё успешно проходят. Если это не так, вы делаете правки в код таким образом, чтобы тесты прошли. 3. Какие части программного продукта подлежат обязательному тестированию? Пользовательский интерфейс Юзабилити Безопасность Скорость Правильность работы по 4. Особенности тестирования производительности программного продукта? Тестирование производительности: Процесс тестирования с целью определить производительность программного продукта Тестирование производительности: в инженерные программные обеспечения тестирование, которое проводится с целью определения, как быстро работает система или её часть под определённой нагрузкой. Также может служить для проверки и подтверждения других атрибутов качества системы, таких как масштабируемость, надёжность и потребление ресурсов. Тестирование предусматривает “анализ” или "эксплуатацию" программного продукта. Тестовая деятельность, связанная с анализом результатов разработки программного обеспечения, называется статическим тестированием (static testing). 5. Какие типы тестирования программного продукта существуют? Существует два типа тестирования: обратная совместимость, тестирование прямой совместимости. Тестирование обратной совместимости гарантирует, что новая версия продукта продолжит работу с более старым продуктом. Тестирование прямой совместимости обеспечивает подключение к будущей версии продукта. 6. Альфа и Бета тестирование, объяснить разницу? Альфа-тестирование - это первая часть тестирования. Программное обеспечение должно пройти альфа-тестирование, чтобы перейти к бетатестированию. Если программное обеспечение не проходит альфа- тестирование, оно будет перерабатываться и подвергаться повторному тестированию до тех пор, пока оно не пройдет. Как правило, альфа- и бетатестирование происходит после успешного завершения формального плана тестирования. Альфа - это первая буква в греческом алфавите, бета – вторая. 7. Системы контроля версий программного продукта, кратко описать существующие? CVS (Concurrent Versions System, Система одновременных версий) одна из первых систем, получивших широкое распространение среди разработчиков, она возникла в конце 80-х годов прошлого века. В настоящее время этот продукт не развивается, это в первую очередь связано с рядом ключевых недостатков, таких как невозможность переименования файлов, неэффективное их хранение, практически полное отсутствие контроля целостности. Subversion (SVN) – система контроля версий, созданная на замену CVS. SVN была разработана в 2004 году и до сих пор используется. Несмотря на многие преимущества по сравнению с CVS у SVN все-таки есть недостатки, такие как проблемы с переименованием, невозможность удаления данных из хранилища, проблемы в операции слияния ветвей и т.д. В целом SVN был (и остается) значительном шагом вперед по сравнению с CVS. 8. Основные документы (ГОСТ), описывающий процедуру тестирования программного продукта? ГОСТ Р 56920-2016/ISO/IEC/IEEE 29119-1:2013 Системная и программная инженерия. Тестирование программного обеспечения. 9. Жизненный цикл Программного продукта, основные сведения? Жизненный цикл программного продукта (ПП) — это период времени, начинающийся с момента принятия решения о необходимости создания ПП и заканчивающийся в момент его полного изъятия из эксплуатации.