ОТЧЕТ. Практическая работа 1 Что такое тестирование программного обеспечения
Скачать 39.27 Kb.
|
Отчет по практическим работам ИСП-43 Серебряков К.П Практическая работа №1 1.Что такое тестирование программного обеспечения Тестирование программного обеспечения — процесс исследования, испытания программного продукта, имеющий своей целью проверку соответствия между реальным поведением программы и её ожидаемым поведением на конечном наборе тестов, выбранных определённым образом. 2.Чем тестирование отличается от отладки? Отладка и тестирование (англ. test - испытание) - это два четко различимых и непохожих друг на друга этапа: при отладке происходит локализация и устранение синтаксических ошибок и явных ошибок кодирования в процессе же тестирования проверяется работоспособность программы, не содержащей явных ошибок 3.Для чего проводится функциональное тестирование? Проведение функционального тестирования — процесс, позволяющий проверить способность информационной системы работать в определенных условиях и решать задачи, нужные пользователям. 4.Что такое комплексное тестирование? Комплексное тестирование - контроль и/или испытание системы по отношению к исходным целям. Комплексное тестирование является процессом контроля, если оно выполняется в моделируемой среде, и процессом испытания, если выполняется в среде реальной, жизненной. 5.Каковы правила тестирования программы «как черного ящика»? — тестирование, как функциональное, так и нефункциональное, не предполагающее знания внутреннего устройства компонента или системы. — тест-дизайн, основанный на технике черного ящика — процедура написания или выбора тест-кейсов на основе анализа функциональной или нефункциональной спецификации компонента или системы без знания ее внутреннего устройства. 6.Как проводится тестирования программы по принципу «белого ящика»? При тестировании "белого ящика" для разработки тестовых примеров используется внутренняя перспектива системы, а также навыки программирования. Тестировщик выбирает входные данные для реализации путей прохождения кода и определяет ожидаемые выходные данные. Это аналогично тестированию узлов в цепи, например, внутрисхемному тестированию (ИКТ). 7.Что такое модульное тестирование? Процесс в программировании, позволяющий проверить на корректность отдельные модули исходного кода программы, наборы из одного или более программных модулей вместе с соответствующими управляющими данными, процедурами использования и обработки 8.Как осуществляется сборка программы при модульно тестировании? Модульное тестирование - это тестирование программы на уровне отдельно взятых модулей, функций или классов. Цель модульного тестирования состоит в выявлении локализованных в модуле ошибок в реализации алгоритмов, а также в определении степени готовности системы к переходу на следующий уровень разработки и тестирования. Модульное тестирование проводится по принципу "белого ящика", то есть основывается на знании внутренней структуры программы, и часто включает те или иные методы анализа покрытия кода. Модульное тестирование обычно подразумевает создание вокруг каждого модуля определенной среды, включающей заглушки для всех интерфейсов тестируемого модуля. Некоторые из них могут использоваться для подачи входных значений, другие для анализа результатов, присутствие третьих может быть продиктовано требованиями, накладываемыми компилятором и сборщиком. Практическая работа № 2 Подтверждает ли тестирование правильность программы? Тестирование не может доказать правильность ПС, в лучшем случае оно может продемонстрировать наличие в нем ошибки. Другими словами, нельзя гарантировать, что тестированием ПС практически выполнимым набором тестов можно установить наличие каждой имеющейся в ПС ошибки. Поэтому возникает две задачи. Первая задача: подготовить такой набор тестов и применить к ним ПС, чтобы обнаружить в нем по возможности большее число ошибок. Что можно сказать о программе, если она на значительном количестве тестов ведет себя правильно? Если программа правильно ведет себя для значительного набора тестов, нет оснований утверждать, что в ней нет ошибок; со всей определенностью можно лишь утверждать, что неизвестно, когда эта программа не работает. Конечно, если есть причины считать данный набор тестов способным с большой вероятностью обнаружить все возможные ошибки, то можно говорить о некотором уровне уверенности в правильности программы, устанавливаемой этими тестами. Может ли повысить надежность программы процесс тестирования? Исследования во время разработки и проектирования программного обеспечения помогают повысить надежность продукта. Тестирование надежности, по сути, выполняется для устранения режима сбоя программного обеспечения. Тестирование срока службы продукта всегда должно проводиться после завершения проектной части или, по крайней мере, полного проектирования. Анализ отказов и улучшение конструкции достигается путем тестирования. Типы ошибок, обнаруживаемые при тестировании? Отсутствие связи Требуются повторяющиеся определения Рамки политики не существует Ошибки производительности Много переработки Основные принципы тестирования Принцип 1 — Тестирование демонстрирует наличие дефектов (Testing shows presence of defects) Принцип 2 — Исчерпывающее тестирование недостижимо (Exhaustive testing is impossible) Принцип 3 — Раннее тестирование (Early testing) Принцип 4 — Скопление дефектов (Defects clustering) Принцип 5 — Парадокс пестицида (Pesticide paradox) Принцип 6 — Тестирование зависит от контекста (Testing is concept depending) Принцип 7 — Заблуждение об отсутствии ошибок (Absence-of-errors fallacy) Практическая работа № 3 Как влияет на разработку программного продукта текучка кадров и низкая производительность кадров? Уходят старые, проверенные временем сотрудники. Особенно печально, если ушли они по вашей вине или из-за интриг и склок в коллективе. В результате организация теряет ценного работника, который приносил прибыль и знал все тонкости работы. Старые сотрудники уходят к конкурентам или сами становятся таковыми - если открывает свой бизнес в вашей же нише. Бывает, конечно, что работник кардинально меняет сферу деятельности - но чаще всего он остается работать в той же. На место старых приходят новые сотрудники. Их нужно обучать, вводить в курс дела - это трудозатрат но . Если новичок не имеет опыта работы - обучение может занять долгое время. А иногда и денег стоит - если новенького сотрудника нужно отправлять на курсы. Но даже если новичок всему научится и быстро вольется в коллектив, какое-то время он будет работать медленнее - пока навыки не автоматизируются. В этот период компания гарантированно теряет прибыль. Прибыль компании падает. Особенно если ушел менеджер по продажам, который уже имел базу клиентов и благополучно по ней работал. Клиенты привыкают к менеджерам и могут отказаться от сотрудничества в случае, если человек уйдет. Портится психологический климат в коллективе. Увольнение даже одного человека отражается на жизни всего коллектива - особенно если этого сотрудника все любили. А уж если уходит целая группа людей, да еще и не просто так, а после инцидента, это может выбить почву из-под ног серьезно. Снижается эффективность труда других сотрудников. Если текучка происходит не естественным путем, а “благодаря” начальнику или конфликту других сотрудников, люди начинают задумываться: а что, если нас здесь не ценят и если я уйду, никто и не вспомнит? Соответственно, падает мотивация к труду и рушится уважительное отношение к руководству. 2. Перечислите основные риски при разработке программного обеспечения. Риски плохого взаимодействия между заказчиком и исполнителем – это риски связанные с отсутствием коммуникации между исполнителем и заказчиком или их представителями. Недостаточное обсуждение задач или архитектуры может негативно сказаться на разрабатываемом ПО. Риски управления проектом – это риски, связанные с отсутствием навыков проектного менеджмента у менеджера проекта, а также с отсутствием интереса или мотивации у него. Сама по себе уже хорошо отлаженная система управления рисками может являться эффективным средством для того чтобы определить такого рода риски, так как позволяет идентифицировать проблему и выработать решение. Риски, связанные с недостаточной осведомлённостью управляющего проектом о точном состоянии проекта – это вид рисков, связанных с отсутствием обратной связи. Он возникает, когда проектный менеджер не выстроил рабочий процесс таким образом, чтобы контролировать ход выполнения проекта на всех его этапах. Риски планирования – это риски, которые могут быть связан с отсутствием навыков планирования по проекту как менеджером, так и исполнителями, если они готовят информацию о сроках выполнения работ. Риски отсутствия системы контроля – обусловлены большим количеством аспектов в области проектного менеджмента при разработке ПО, когда сложно учесть все возможные ситуации. Риск появления новых требований возникает в процессе разработки ПО, когда появляются всё новые и новые требования, которые отодвигают сроки и оценку конкретных задач. Риск противоречивости в требованиях (декомпозиция спецификации) – это риски связанные с выявлением противоречивости в требованиях заказчика на этапе программирования или интеграции проекта. Риски неправильно определённых системных требований – это риски, когда в самом начале проекта были некорректно сформулированы характеристики целевой системы, для которой разрабатывается программное обеспечение: программное окружение (операционная система, установленные компоненты, сервисы и т.п.) или требования к аппаратной части (частота процессора, объём жёсткого диска, объём оперативной памяти и т.п.). Риски использования нестабильных технологий – это риски, связанные с использованием новых технологий, которые ещё не прошли апробацию в производстве или других проектах. Риски, связанные с неспособностью справиться со сложностью проекта – иногда проект может быть настолько сложным, что команда попросту может с ним не справиться. Риск низкой продуктивности обусловлен длительностью реализации проекта. Это в самом начале проекта создаёт большую потерю времени, которую сложно будет наверстать. При этом приходится либо переносить сроки, либо работать в более динамичном режиме на более поздних этапах проекта. Риск смены сотрудников, когда проект покидают ключевые сотрудники, которые максимально владеют информацией. Риски хищения исходного кода возникают, когда разработчики, уходя из компании, забирают с собой разрабатываемый ими проект и немного модифицировав исходный код, могут продать его или использовать в других проектах, например, у конкурентов. Риски нарушение закона об авторском праве могут возникнуть при использовании разработчиками без ведома проектного менеджера чужого исходного кода, алгоритма или библиотеки, которые защищены законом об авторском праве, но не приобретены или их использование не согласовано с автором. Рассмотрим спекулятивные риски, присущие разработке ПО. Эти риски можно структурировать на риски финансовых ограничений, риски изменения конъюнктуры, риски изменения курсов валют. Риски финансовых ограничений - могут возникнуть как по вине менеджера, который планировал бюджет проекта, так и по иным причинам. Риски изменения конъюнктуры рынка обусловлены изменением экономической ситуации, которая складывалась на рынке при планировании. При этом могли закладываться факторы актуальные на момент планирования, а их изменение не было учтено. Валютные риски – это риски, связанные с возможным возникновением убытков или дополнительных доходов вследствие неблагоприятного или благоприятного изменения курсов иностранных валют. 3. Перечислите общие методы оценки рисков. Три главных метода оценки риска, к которым относятся: Статистический метод; Аналитический метод; Метод экспертных оценок. Практическая работа № 4 Приведите классификацию ошибок программного обеспечения В краткой классификации выделяются следующие ошибки. Ошибки пользовательского интерфейса. Функциональность. Взаимодействие программы с пользователем. Организация программы. Пропущенные команды. Производительность. Выходные данные. Обработка ошибок. Ошибки, связанные с обработкой граничных условий. Ошибки вычислений. Начальное и последующие состояния. Ошибки управления потоком. Ошибки передачи или интерпретации данных. Какие ошибки могут возникнуть при тестировании программного обеспечения? Приемочное тестирование, гарантирующее, что вся система работает должным образом. : Интеграционное тестирование, обеспечивающее совместную работу программных компонентов или функций. Модульное тестирование, чтобы убедиться, что каждый программный модуль работает должным образом. Модуль является тестируемым компонентом приложения. Функциональное тестирование, оценивающее действия путем имитации бизнес-условий на основе операционных требований. Проверка черного ящика - распространенный способ подтверждения задач. Тестирование производительности Проверка того, как программное обеспечение работает при различных рабочих нагрузках. Нагрузочное тестирование, например, используется для оценки производительности в реальных условиях нагрузки. Повторное тестирование, чтобы проверить, не повреждены ли или не ухудшены новые функции. Гигиенические проверки можно использовать для проверки меню, функций и команд на самом высоком уровне, когда нет времени для полного повторного тестировани 3. Перечислите основные пути борьбы с ошибками. Учитывая рассмотренные особенности действий человека при переводе можно указать следующие пути борьбы с ошибками: · сужение пространства перебора (упрощение создаваемых систем), · обеспечение требуемого уровня подготовки разработчика (это функции менеджеров коллектива разработчиков), · обеспечение однозначности интерпретации представления информации, · контроль правильности перевода (включая и контроль однозначности интерпретации). Практическая работа № 5 1. Для чего используется функция «Зеркала» в антивирусном программном обеспечении? Средство «Зеркало» необходимо для автономного обновления модулей обнаружения вирусов. Если у клиентских компьютеров нет подключения к Интернету и при этом им нужны обновления модулей обнаружения вирусов, вы можете использовать средство «Зеркало» для загрузки файлов обновления с серверов обновления ESET и их локального хранения 2. Перечислите типы обновлений антивирусного программного обеспечения и их характеристики. Программы-детекторы Программы-детекторы осуществляют поиск характерной для конкретного вируса сигнатуры в оперативной памяти и в файлах и при обнаружении выдают соответствующее сообщение. Недостатком таких антивирусных программ является то, что они могут находить только те вирусы, которые известны разработчикам таких программ. Программы-доктора Программы-доктора или фаги, а также программы-вакцины не только находят зараженные вирусами файлы, но и «лечат» их, то есть удаляют из файла тело программы-вируса, возвращая файлы в исходное состояние. В начале своей работы фаги ищут вирусы в оперативной памяти, уничтожая их, и только затем переходят к «лечению» файлов. Среди фагов выделяют полифаги, то есть программы-доктора, предназначенные для поиска и уничтожения большого количества вирусов. Программы-ревизоры (инспектора) Программы-ревизоры (инспектора) относятся к самым надежным средствам защиты от вирусов. Ревизоры (инспектора) проверяют данные на диске на предмет вирусов-невидимок, изучают, не забрался ли вирус в файлы, нет ли посторонних в загрузочном секторе жесткого диска, нет ли несанкционированных изменений реестра Windows. Причем инспектор может не пользоваться средствами операционной системы для обращения к дискам (а значит, активный вирус не сможет это обращение перехватить). Программы - фильтры (мониторы) Программы-фильтры (мониторы) или «сторожа» представляют собой небольшие резидентные программы, предназначенные для обнаружения подозрительных действий при работе компьютера, характерных для вирусов. Такими действиями могут являться: 1. попытки коррекции файлов с расширениями COM, EXE 2. изменение атрибутов файла 3. прямая запись на диск по абсолютному адресу 4. запись в загрузочные сектора диска 5. загрузка резидентной программы. Вакцины или иммунизаторы Вакцины или иммунизаторы - это резидентные программы, предотвращающие заражение файлов. Вакцины применяют, если отсутствуют программы-доктора, «лечащие» этот вирус. Вакцинация возможна только от известных вирусов. Вакцина модифицирует программу или диск таким образом, чтобы это не отражалось на их работе, а вирус будет воспринимать их зараженными и поэтому не внедрится. В настоящее время программы-вакцины имеют ограниченное применение. Сканер Принцип работы антивирусных сканеров основан на проверке файлов, секторов и системной памяти, а также поиске в них известных и новых (неизвестных сканеру) вирусов. Для поиска известных вирусов используются так называемые «маски». Маской вируса является некоторая постоянная последовательность кода, специфичная для конкретного вируса. Если вирус не содержит постоянной маски или длина этой маски недостаточно велика, то используются другие методы. 3. Опишите принцип работы сервера зеркало. Зеркальное отображение сервера - это процесс управления сетью, посредством которого точная копия сервера непрерывно создается во время выполнения. Зеркальное отображение серверов - это метод, используемый для обеспечения непрерывности бизнеса, аварийного восстановления и резервного копирования. Дублирование всего содержимого сервера на другом удаленном или внутреннем сервере позволяет восстанавливать данные в случае сбоя основного сервера. Практическая работа № 6 Что называют «вредоносным программным обеспечением»? Вредоносное ПО (портаменто для вредоносного программного обеспечения) - это любое программное обеспечение, намеренно предназначенное для нанесения ущерба компьютеру, серверу, клиенту или компьютерной сети (напротив, программное обеспечение, которое причиняет непреднамеренный вред из-за некоторого недостатка, обычно описывается как программная ошибка). Какое наказание предусмотрено в УК РФ за распространение вредоносного программного обеспечения? Уголовная ответственность за незаконное использование ПО предусмотрена ст.146, 272, 273 УК РФ. Данная норма предусматривает наказание в виде штрафа в размере до 200 000 рублей или в размере заработной платы или иного дохода осужденного за период до 18 мес., либо обязательными работами до 480 часов, либо исправительными работами на срок до двух лет, либо принудительными работами на срок до двух лет, либо лишением свободы на тот же срок. Перечислите законы аналогичные статье 273 УК РФ, действующие за пределами РФ. Статья 272. Неправомерный доступ к компьютерной информации Статья 273. Создание, использование и распространение вредоносных компьютерных программ Статья 274. Нарушение правил эксплуатации средств хранения, обработки или передачи компьютерной информации и информационно-телекоммуникационных сетей Статья 274.1. Неправомерное воздействие на критическую информационную инфраструктуру Российской Федерации Статья 274.2. Нарушение правил централизованного управления техническими средствами противодействия угрозам устойчивости, безопасности и целостности функционирования на территории Российской Федерации информационно-телекоммуникационной сети "Интернет" и сети связи общего пользования Практическая работа № 7 На какие группы делятся локальные политики? Локальные политики определяют правила безопасности локального компьютера. Они делятся на три группы: политики аудита, назначение прав пользователя и параметры безопасности. От каких технологий зависят политики настройки безопасности? Проверка подлинности пользователя в сети или на устройстве. Ресурсы, доступ к которым разрешен пользователям. Следует ли записывать действия пользователя или группы в журнал событий. Членство в группе. Практическая работа № 8 Что такое «Браузером»? Бра́узер, или веб-обозрева́тель) — прикладное программное обеспечение для просмотра страниц, содержания веб-документов, компьютерных файлов и их каталогов; управления веб-приложениями; а также для решения других задач. Перечислите современные браузеры? Самые популярные браузеры на сегодняшний день — это Google Chrome, Opera, Firefox, Safari, Яндекс, Internet Explorer. Как настроить безопасную работу браузера? Поддерживайте свои браузеры в актуальном состоянии Проверьте настройки безопасности ваших браузеров Не посещайте небезопасные веб-сайты Установите и используйте антивирусное программное обеспечение Испольуйте блокировщик рекламы в вашем браузер Практическая работа № 9 Что такое реестр в ОС Windows? Реестр Windows-это иерархическая база данных, в которой хранятся низкоуровневые параметры операционной системы Microsoft Windows и приложений, решивших использовать реестр. Ядро, драйверы устройств, службы, менеджер учетных записей безопасности и пользовательские интерфейсы могут использовать реестр. Из чего состоит структура реестра? Реестр — это иерархическая база данных, содержащая данные, критически важные для работы Windows и приложений и служб, работающих на Windows. Данные структурированы в виде дерева. Каждый узел в дереве называется ключом. Каждый ключ может содержать как подразделы, так и записи данных, называемые значениями. Иногда наличие ключа — это все данные, необходимые приложению; в других случаях приложение открывает ключ и использует значения, связанные с ключом. Ключ может иметь любое количество значений, а значения могут находиться в любой форме. Дополнительные сведения см. в разделе " Типы значений реестра " и "Ограничения размера элементов реестра". Каждый ключ имеет имя, состоящее из одного или нескольких печатных символов. Имена ключей не чувствительны к регистру. Имена ключей не могут содержать символ обратной косой черты (\), но можно использовать любой другой печатный символ. Имена значений и данные могут включать символ обратной косой черты. Имя каждого подраздела уникально в отношении ключа, который находится непосредственно над ним в иерархии. Имена ключей не локализуются на других языках, хотя могут быть значениями. Где хранятся файлы реестра? Файлы реестра хранятся на системном диске в папке Windows/System32/Config — файлы SAM, SECURITY, SYTEM и SOFTWARE содержат информацию из соответствующих разделов в HKEY_LOCAL_MACHINE. Данные из HKEY_CURRENT_USER хранятся в скрытом файле NTUSER.DAT в папке «Users/Имя_пользователя» на компьюте Практическая работа № 10 Что происходит при удалении файлов? в файловой системе для него меняется один атрибут, и таким образом он помечается как удаленный. При этом содержание файла по-прежнему остается на жестком диске, и его можно восстановить с помощью одной из множества платных и бесплатных программ (например, R-Studio). Почему удаленные файлы не стираются сразу? При удалении файлов на бытовых компьютерах для ускорения процесса сам файл не стирается. В таблице размещения файлов при удалении изменяются атрибуты и место которое занимали удаленные файлы помечается как пустое и свободное для записи. При этом сами файлы остаются там где были до той поры пока не будут перезаписаны. Как можно восстановить удаленный файл Восстановление удаленного файла или папки. Откройте "Компьютер", нажатием кнопки "Начните "Компьютер" и выберите Найдите папку, в которой хранился нужный файл или папка, щелкните ее правой кнопкой мыши, а затем щелкните "Восстановить прежнюю версию". Если папка была расположена на верхнем уровне диска, например по пути C:\, щелкните диск правой кнопкой мыши и выберите. |