Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Разработка через тестирование.⇐ ПредыдущаяСтр 15 из 15
} Не писать код, пока не будет написан автономный тест, который не проходит. } Не писать автономный тест большего объема, чем необходимо для неудачного завершения или неудачной компиляции. } Не писать больше кода, чем необходимо для того, чтобы ранее не проходивший тест завершился успешно. } Написание теста до кода способствует проектированию кода, который было бы удобно вызывать. } Предварительное написание тестов заставляет писать слабо связанные программы! } Тесты могут выступать как чрезвычайно полезная документация. Она всегда актуальна. Она не лжет.
Коллективное владение кодом Коллективное владение кодом стимулирует разработчиков подавать идеи для всех частей проекта, а не только для своих модулей. Любой разработчик может изменять любой код для расширения функциональности и исправления ошибок. С первого взгляда это выглядит как хаос. Однако, принимая во внимание, что как минимум любой код создан парой разработчиков, что тесты позволяют проверить корректность внесенных изменений и что в реальной жизни все равно так или иначе приходится разбираться в чужом коде, становится ясно, что коллективное владение кодом значительно упрощает внесение изменений и снижает риск, связанный с высокой специализацией того или иного члена команды.
Непрерывная интеграция Разработчики, по-возможности, должны интегрировать и выпускать свой код каждые несколько часов. В любом случае никогда нельзя держать изменения дольше одного дня. Частая интеграция позволяет избежать отчуждения и фрагментирования в разработке, когда разработчики не могут общаться в смысле обмена идеями или повторного использования кода. Каждый должен работать с самой последней версией. Каждая пара разработчиков должна отдавать свой код, как только для этого появляется разумная возможность. Это может быть, когда все UnitTest-ы проходят на 100%. Отдавая изменения несколько раз в день, Вы сводите проблемы интеграции практически к нулю. Интеграция — это деятельность вида «заплати сейчас или заплати больше позднее». Поэтому, интегрируя изменения ежедневно маленькими порциями, вы не окажетесь перед необходимостью тратить неделю, чтобы связать систему в одно целое непосредственно перед сдачей проекта. Всегда работайте над последней версией системы.
31. Раскрыть понятие тестирование и испытание ПО. Перечислить классы ошибок, этапы тестирования ПО. Дать понятие к ачество и критерии качества программного средства. Тестирование программного обеспечения — процесс, позволяющий определить корректность, полноту и качество разработанного программного обеспечения (ПО).
Испытание - техническая операция, заключающаяся в определении одной или нескольких характеристик данной продукции, процесса или услуги в соответствии с установленной процедурой.
Классы ошибок: - логические и функциональные ошибки - являются причиной нарушения логики алгоритма, внутренней несогласованности переменных и операторов, а также пра-вил программирования; - ошибки вычислений и времени выполнения - возникают по причине неточности исходных данных и реализованных формул, погрешностей методов, неправильного применения операций вычислений или операндов; - ошибки ввода–вывода и манипулирования данными - являются следствием некачественной подготовки данных для выполнения программы, сбоев при занесении их в базах данных или при выборке из нее; - ошибки интерфейсов - относятся к ошибкам взаимосвязи отдельных элементов друг с другом, что проявляется при передаче данных между ними, а также при взаимодействии со средой функционирования; - ошибки объема данных и др. - относятся к данным и являются следствием того, что реализованные методы доступа и размеры баз данных не удовлетворяют объемам информации системы или интенсивности ее обработки
Процесс тестирования состоит из следующих этапов: - Планирование тестирования - Мониторинг и контроль тестирования - Анализ тестирования - Проектирование тестов - Реализация тестов - Выполнение тестов - Завершение тестирования
Качество ПО – это совокупность характеристик программного обеспечения, относящихся к его способности удовлетворять установленные и предполагаемые потребности.
Критерии качества ПО: - Надежность - Сопровождаемость - Удобство использования - Эффективность
- Универсальность - Функциональность
32. Раскрыть понятие тестирование и испытание ПО. Описать методы тестирования (метод классов, стратегии «белого и черного ящика»). Тестирование программного обеспечения — процесс, позволяющий определить корректность, полноту и качество разработанного программного обеспечения (ПО).
Испытание - техническая операция, заключающаяся в определении одной или нескольких характеристик данной продукции, процесса или услуги в соответствии с установленной процедурой.
Метод «Черного ящика» - это стратегия или метод тестирования, базируется только лишь на тестировании по функциональной спецификации и требованиям, при этом не смотря во внутреннюю структуру кода и без доступа к базе данных. - Фактически мы знаем какой должен быть результат при определенном наборе данных, которые подаются на вход. Результат проверяем с юзер интерфейса на уровне простого пользователя. - Суть заключается в том, что для тестирования черным ящиком чтобы протестировать программу, не заглядывая «внутрь» как же там все работает. Нам достаточно знать, что должно быть при таком-то поведении пользователя и при таких-то наборах данных (зависит от специфики проекта).
Метод «Белого ящика»: - метод тестирования программного обеспечения, который предполагает, что внутренняя структура/устройство/реализация системы известны тестировщику. - Мы выбираем входные значения, основываясь на знании кода, который будет их обрабатывать. Точно так же мы знаем, каким должен быть результат этой обработки. Знание всех особенностей тестируемой программы и ее реализации – обязательны для этой техники. Тестирование белого ящика – углубление во внутренне устройство системы, за пределы ее внешних интерфейсов. - тестирование белого ящика – это: - тестирование, основанное на анализе внутренней структуры компонента или системы. - тест-дизайн, основанный на технике белого ящика – процедура написания или выбора тест-кейсов на основе анализа внутреннего устройства системы или компонента.
Преимущества: - тестирование может производиться на ранних этапах: нет необходимости ждать создания пользовательского интерфейса; - можно провести более тщательное тестирование, с покрытием большого количества путей выполнения программы. Недостатки: - для выполнения тестирования белого ящика необходимо большое количество специальных знаний - при использовании автоматизации тестирования на этом уровне, поддержка тестовых скриптов может оказаться достаточно накладной, если программа часто изменяется.
Модульное тестирование: - Компонентное (модульное) тестирование проверяет функциональность и ищет дефекты в частях приложения, которые доступны и могут быть протестированы по-отдельности (модули программ, объекты, классы, функции и т.д.). - Идея состоит в том, чтобы писать тесты для каждой нетривиальной функции или метода. Это позволяет достаточно быстро проверить, не привело ли очередное изменение кода к регрессии, то есть к появлению ошибок в уже оттестированных местах программы, а также облегчает обнаружение и устранение таких ошибок.
|
||||||
Последнее изменение этой страницы: 2021-12-07; просмотров: 51; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.224.149.242 (0.008 с.) |