39069

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

Доклад

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

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

Русский

2013-09-30

82.5 KB

20 чел.

Тестированию программного обеспечения с использованием языка программирования 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)


 

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

13961. Наскільки ти честолюбний. Outline for the lesson of English for 11th-graders 63.5 KB
  Outline for the lesson of English for 11thgraders. Lesson 14 Планконспект уроку з англійської мови для учнів 11х класів. Урок 14 Тема: НАУКА І КУЛЬТУРА Підтема: Наскільки ти честолюбний Мета: Сформувати вміння робити логічно вірно оформлені лексикограматичні висловлювання про професії....
13962. «Первінка» М. Вінграновський 40 KB
  УРОК № 14 Тема.М. Вінграновський. Первінка. Мета: ознайомити учнів із позапрограмними творами письменника викликати до них інтерес прагнення до самостійного читання; розвивати навички вибору художньої літератури для читання переказу прочитаного та висловлення вл
13963. Использование языка SVG 1.02 MB
  Графические объекты могут быть сгруппированы, стилизованны, преобразованы и встроены в предварительно предоставленные объекты. Набор характеристик включает вложенные преобразования, отсечение контуров, альфа-маски, эффекты фильтра и объекты шаблона.
13964. Тематичне оцінювання М. Вінграновський 28.5 KB
  УРОК № 15 Тема.Тематичне оцінювання. Мета:виявити рівень знань умінь та навичок учнів з метою корекції; розвивати зв’язне мовлення пам’ять логічне та образне мислення вміння висловлювати свої судження; виховувати кращі людські якості. Обладнання:тестові завдан
13965. Создание Web-служб с использованием технологии AJAX 589 KB
  В традиционной Web-технологии запрос на обработку данных создается в Web-браузере с помощью управляющих элементов формы Web-страницы, а затем, после нажатия кнопки типа submit или вызова метода submit() в сценарии JavaScript, созданный запрос с помощью метода GET или POST передается на Web-сервер.
13966. «Вовк і кіт», «Щука» Л. Глібов 41.5 KB
  УРОК № 16 Тема.Л. Глібов. Вовк і кіт Щука. Мета: ознайомити учнів із життям і творчістю Л. Глібова його байками; розвивати навички виразного читання байок коментування їхнього змісту та побудови визначення головної думки; виховувати кращі моральні якості людини ...
13967. Тематична атестація. Outline for the lesson of English for 11th-graders 72 KB
  Outline for the lesson of English for 11thgraders. Lesson 17 Планконспект уроку з англійської мови для учнів 11х класів. УРОК 17 Підтема: Тематична атестація Мета: Виявити степінь засвоєння вивченого матеріалу. Обладнання: Контрольні картки. Варіант І І. Translate into Ukrainian. schoolleaving exami...
13968. Виразне читання байок Л. Глібова напам’ять 24.5 KB
  УРОК № 17 Тема.Виразне читання байок Л. Глібова напам’ять. Мета:розвивати навички виразного читання пам’ять артистичні здібності учнів; виховувати почуття справедливості почуття гумору естетичні смаки. Обладнання:портрет письменника збірки його творів; збірки...
13969. Акровірші «Хто вона?», «Що за птиця?» Л. Глібов 30.5 KB
  УРОК № 18 Тема.Л. Глібов. Акровірші Хто вона Що за птиця. Мета:ознайомити учнів із поняттям акровірш творами цього виду Л. Глібова; розвивати навички виразного читання аналізу акровіршів кмітливість спостережливість творчі здібності учнів; виховувати кращі ...