Разработка через тестирование. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Разработка через тестирование.



} Не писать код, пока не будет написан автономный тест, который не проходит.

} Не писать автономный тест большего объема, чем необходимо для неудачного завершения или неудачной компиляции.

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

} Написание теста до кода способствует проектированию кода, который было бы удобно вызывать.

} Предварительное написание тестов заставляет писать слабо связанные программы!

} Тесты могут выступать как чрезвычайно полезная документация. Она всегда актуальна. Она не лжет.

 

Коллективное владение кодом

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

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

 

Непрерывная интеграция

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

Каждая пара разработчиков должна отдавать свой код, как только для этого появляется разумная возможность. Это может быть, когда все UnitTest-ы проходят на 100%. Отдавая изменения несколько раз в день, Вы сводите проблемы интеграции практически к нулю. Интеграция — это деятельность вида «заплати сейчас или заплати больше позднее». Поэтому, интегрируя изменения ежедневно маленькими порциями, вы не окажетесь перед необходимостью тратить неделю, чтобы связать систему в одно целое непосредственно перед сдачей проекта. Всегда работайте над последней версией системы.

 

31. Раскрыть понятие тестирование и испытание ПО. Перечислить классы ошибок, этапы тестирования ПО. Дать понятие к ачество и критерии качества программного средства.

Тестирование программного обеспечения — процесс, позволяющий определить корректность, полноту и качество разработанного программного обеспечения (ПО).

 

Испытание - техническая операция, заключающаяся в определении одной или нескольких характеристик данной продукции, процесса или услуги в соответствии с установленной процедурой.

 

Классы ошибок:

- логические и функциональные ошибки - являются причиной нарушения логики алгоритма, внутренней несогласованности переменных и операторов, а также пра-вил программирования;

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

- ошибки ввода–вывода и манипулирования данными - являются следствием некачественной подготовки данных для выполнения программы, сбоев при занесении их в базах данных или при выборке из нее;

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

- ошибки объема данных и др. - относятся к данным и являются следствием того, что реализованные методы доступа и размеры баз данных не удовлетворяют объемам информации системы или интенсивности ее обработки

 

Процесс тестирования состоит из следующих этапов:

- Планирование тестирования

- Мониторинг и контроль тестирования

- Анализ тестирования

- Проектирование тестов

- Реализация тестов

- Выполнение тестов

- Завершение тестирования

 

Качество ПО – это совокупность характеристик программного обеспечения, относящихся к его способности удовлетворять установленные и предполагаемые потребности.

 

Критерии качества ПО:

- Надежность

- Сопровождаемость

- Удобство использования

- Эффективность

- Универсальность

- Функциональность

 

32. Раскрыть понятие тестирование и испытание ПО. Описать методы тестирования (метод классов, стратегии «белого и черного ящика»).

Тестирование программного обеспечения — процесс, позволяющий определить корректность, полноту и качество разработанного программного обеспечения (ПО).

 

Испытание - техническая операция, заключающаяся в определении одной или нескольких характеристик данной продукции, процесса или услуги в соответствии с установленной процедурой.

 

Метод «Черного ящика»

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

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

- Суть заключается в том, что для тестирования черным ящиком чтобы протестировать программу, не заглядывая «внутрь» как же там все работает. Нам достаточно знать, что должно быть при таком-то поведении пользователя и при таких-то наборах данных (зависит от специфики проекта).

 

Метод «Белого ящика»:

- метод тестирования программного обеспечения, который предполагает, что внутренняя структура/устройство/реализация системы известны тестировщику.

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

- тестирование белого ящика – это:

- тестирование, основанное на анализе внутренней структуры компонента или системы.

- тест-дизайн, основанный на технике белого ящика – процедура написания или выбора тест-кейсов на основе анализа внутреннего устройства системы или компонента.

 

Преимущества:

- тестирование может производиться на ранних этапах: нет необходимости ждать создания пользовательского интерфейса;

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

Недостатки:

- для выполнения тестирования белого ящика необходимо большое количество специальных знаний

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

 

Модульное тестирование:

- Компонентное (модульное) тестирование проверяет функциональность и ищет дефекты в частях приложения, которые доступны и могут быть протестированы по-отдельности (модули программ, объекты, классы, функции и т.д.).

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



Поделиться:


Последнее изменение этой страницы: 2021-12-07; просмотров: 51; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.224.149.242 (0.008 с.)