39069

Тестированию программного обеспечения с использованием языка программирования C# и NUnit-тестов

Доклад

Информатика, кибернетика и программирование

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

Русский

2013-09-30

82.5 KB

18 чел.

Тестированию программного обеспечения с использованием языка программирования C# и NUnit-тестов (Доп 4

Тестирование программного обеспечения — это процесс анализа или эксплуатации программного обеспечения с целью выявления дефектов.

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

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

Тестирование программного обеспечения выполняет две базовых функции: верификацию и аттестацию:

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

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

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

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

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

2) В основу процесса тестирования должны быть положены устойчивые, фундаментальные принципы, а сам процесс тестирования должен быть тесно интегрирован с общим процессом разработки программного обеспечения.

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

4) Динамическое тестирование состоит из прогона программы и сравнения ее фактического поведения с ожидаемым. Если фактическое поведение отличается от ожидаемого, это значит, что обнаружен дефект. Динамическое тестирование является центральным звеном процесса тестирования программного обеспечения, и если планирование, проектирование, разработка и выполнение динамического тестирования выполнены недостаточно хорошо, то процесс тестирования не может быть эффективным. Тестовая группа должна быть частью коллектива разработчиков и совместно с ними принимать участие в проверке взаимодействия и функционирования компонентов системы.

Во время исследования каждой стадии разработки, с точки зрения тестировщика,  мы рассчитываем получить ответы на следующие вопросы:

• Может ли тестовая группа предпринять на данной стадии какое-либо действие, способное предотвратить утечку дефектов?

• Может ли тестовая группа предпринять на данной стадии какое-либо действие, позволяющее уменьшить риск нарушения временного графика разработок?

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

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

В 2001 году Пфлегером процесс определен как "последовательность шагов, в том числе действия, ограничения и ресурсы, которая приводит к желаемому результату определенного рода".

Когда процесс имеет отношение к созданию того или иного продукта, это часто называется жизненным циклом. По той же причине разработка программного продукта называется жизненным циклом программного продукта.

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

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

Далее будет дано краткое описание действий, входов и выходов для каждой стадии каскадного процесса тестирования.

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

2) Матрица прослеживаемости требований является полезным инструментальным средством на стадии планирования испытаний, поскольку она может использоваться при расчете объемов тестирования, необходимого для охвата важнейших требований. Действия, выполняемые на стадии планирования испытаний, представляют собой подготовительные этапы для этапов системных и приемочных испытаний.

3) Проектирование тестов состоит из двух компонентов: архитектуры тестов и подробных планов тестов. Архитектура тестов упорядочивает тесты по группам, таким как функциональные тесты, испытания для определения рабочих характеристик, проверка безопасности и т.д. Подробные планы тестов описывают назначение каждого теста, технические средства и данные, необходимые для выполнения теста, ожидаемые результаты каждого теста, а также указывают на требование, на подтверждение выполнения которого ориентируется данных тест.

4) Системное тестирование проводится для удостоверения того, что программное обеспечение делает именно то, что от него ожидает пользователь.

5) По завершении системного тестирования продукт может быть передан пользователю для проведения приемочных испытаний. Если пользователи принадлежат той же компании, что и разработчики, такое тестирование обычно называется альфа-тестированием. Если пользователями являются заказчики, готовые работать с программным продуктом еще до его официальной готовности, то такое тестирование называется бета-тестированием. Другой формой приемочных испытаний являются аттестационные испытания, когда заказчик выполняет заранее определенный набор тестовых случаев, имитирующих типовые условия, в которых система будет работать после ввода в эксплуатацию. Заключительным типом приемочных испытаний является установочная проверка, по условиям которой завершенная версия программного продукта устанавливается на площадках заказчика с целью получить от него подтверждение, что программный продукт соответствует всем требованиям и заказчик согласен на его поставку.

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

Для проведения примера тестирования понадобится среда разработки Visual Studio 2010 с версией .Net 4.0, а также установленной библиотекой для проведения тестов – NUnit Framework.

Основные методы класса Assert для проведения динамического тестирования программного обеспечения:

Название метода

Описание

Пример

IsTrue

IsFalse

Проверка логического выражения на истину или ложь

Assert.IsTrue(true);

Assert.IsFalse(false);

IsNull

IsNotNull

Провекра выражения на пустую ссылку

IsNull(null);

IsNotNull(“string”)

Equals

Проверка на равенство двух объектов или структур

String a = “abc”;

String b = “abc”;

Assert.Equals(a, b)

IsInstanceOf

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

A1 = new A();

B1 = new A();

IsIstanceOf(A1, B1)


 

А также другие работы, которые могут Вас заинтересовать

81176. Управление творческим потенциалом организации 33.2 KB
  В настоящее время в результате глобальных перемен произошедших в результате развития нашей страны и перехода к рыночной экономике возникает необходимость разработки новой системы формирования и развития кадрового потенциала управления так как эффективное функционирование предприятия в решающей степени зависит от кадров руководителей. С целью укрепления позиций на рынке и повышения конкурентоспособности компании при прочих неизменных условиях современные управляющие стараются использовать творческий резерв компании а именно формируют новую...
81177. Методы управления творческим коллективом 43.59 KB
  Теперь это норма – активное устаревание оборудования и систем управления. Система управления персоналом это стержень организации труда для определенных профессий он может быть условным содержащим несколько инструкций и требующий формальный контроль. Чем более творческие задачи у специалистов чем более нестандартных решений вы ожидаете в результате тем более жесткий должен быть стерженьсистема управления.
81178. Внутренняя творческая среда 41.13 KB
  Для того чтобы ее создать необходимо поддерживать инициативные и творческие устремления сотрудников. Эффективное взаимодействие творцов особого внимания заслуживают особенности межличностного взаимодействия внутри творческой группы так как процессы общения и взаимодействия могут оказывать на сотрудников как мотивирующий результат так и демотивирующий. Эффективной чертой управления творческими потенциалами сотрудников является тесная увязка инновационных стратегий и политики управления человеческими ресурсами. Он может как стимулировать...
81179. Методы активизации творческого мышления 42.1 KB
  Разработка и генерация новых идей для решения стратегических целей и задач предприятия – это не просто. Часто, творческий специалист не знает с чего начать, как собраться и сфокусировать свое внимание на нужном объекте, активизировать свои творческие способности.
81180. Исследование творческого потенциала сотрудников 35.83 KB
  Направления исследований: наличие творческого потенциала; степень уровень его актуализации; факторы стимулирующие препятствующие развитию и актуализации; проявление творческого потенциала в условиях стабильности и в условиях инноваций. При проведении исследований изучается не столько наличие или отсутствие творческого потенциала и инициативы сколько желание и возможность реализовывать их в профессиональной деятельности а также факторы которые могут оказывать влияние на проявление креативности10. Таким образом при исследовании творческого...
81181. Оценка эффективности управления творческим потенциалом компании 39.05 KB
  Исходя из этого показатели эффективности системы управления развитием творческого потенциала постоянного состава компании рассматриваются через результат развития творческого потенциала сотрудников; реализацию всех возможных мотивов побуждающих персонал к творческой деятельности; показатели качества организационной структуры...
81183. Психолого-педагогические принципы организации деловой игры 35.65 KB
  Моделирование реальных условий профессиональной деятельности специалиста во всем многообразии служебных социальных и личностных связей является основой методов интерактивного обучения; принцип игрового моделирования содержания и форм профессиональной деятельности. Реализация этого принципа является необходимым условием учебной игры поскольку несет в себе обучающие функции; принцип совместной деятельности. В деловой игре этот принцип требует реализации посредством вовлечения в познавательную деятельность нескольких участников.
81184. Признаки деловой игры 33.44 KB
  Решение принимаемое участниками игры на первом этапе воздействует на модель и изменяет её исходное состояние. Изменение состояния поступает в игровой комплекс и на основе полученной информации участники игры вырабатывают решение на втором этапе игры и т. Распределение ролей между участниками игры.