Тестирование программного обеспечения

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

виды тестирования и История развития ПО. Инсталляционное, регрессионное, конфигурационное, интеграционное, локализационное, модульное тестирование. Способы сокращения трудоемкости модульного тестирования разрабатываемого приложения.

курсовая работа [309,5 K], добавлен 16.12.2015

Неразрешимость неприятности тестирования ПО. уровни и Виды тестирования. Стратегии восходящего и нисходящего тестирования. Способы белого и тёмного коробки. Автоматизированное и ручное тестирование.

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

курсовая работа [112,2 K], добавлен 22.03.2015

Изучение разных видов тестирования ПО. Обнаружение в программной совокупности скрытых недостатков перед тем, как она будет сдана клиенту. Тестирование способом тёмного коробки.

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

курсовая работа [3,0 M], добавлен 19.11.2009

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

курсовая работа [1,6 M], добавлен 20.12.2012

Выбор инструментальной среды разработки ПО совокупности. Метод ввода и создания теста его данных. Анализ экономической эффективности применения ПО Тестирования знаний обучающихся программированию.

дипломная работа [3,2 M], добавлен 11.09.2014

Комплексное функциональное и структурное тестирование программного продукта — граф-программа ответа квадратного уравнения. Постановка задачи структурного тестирования маршрутов. Заключение о причине и типе неточности, предложение по ее исправлению.

курсовая работа [2,8 M], добавлен 05.01.2013

Проектирование базы данных, информационной системы PLC-Tester, модуля тестирования и web-приложения. Разработка логической структуры программного продукта и неспециализированные требования к техобеспечению. описание и Запуск программы тестовых прогонов.

дипломная работа [3,2 M], добавлен 30.06.2011

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

Форма отображения результатов тестирования.

курсовая работа [2,8 M], добавлен 09.07.2013

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

Управление пользователя, структура программы.

дипломная работа [7,1 M], добавлен 20.05.2013

Развитие аппаратных компьютерных средств — задача первых трех десятилетий компьютерной эры. Процесс тестирования как составляющая процесса обеспечения качества разработки ПО. критерии и Принципы, предъявляемые к тестированию ПО.

курсовая работа [319,5 K], добавлен 25.05.2009

Минобразования РЕСПУБЛИКИ БЕЛАРУСЬ Витебский национальный университет им. П.М. Машерова

Кафедра прикладной механики и математики

Курсовая работа

Тестирование ПО

Студент гр. П41

А.М. Бомко

Содержание

1. Базы тестирования ПО

  • 1.1 История развития тестирования ПО
  • 1.2 Главные определения в области тестирования ПО. задачи и Цели тестирования
  • 1.3 Классификация тестирования
  • 1.4 Классификация неточностей
  • 1.5 Перечень вопросов для обнаружения неточностей в начале процесса тестирования
  • 2. Использование на практике
  • 2.1 C чего начать?
  • 2.2 Тестирование приложения «Определение типа треугольника»
  • 2.3 Тестирование приложения «Библиотека»
  • 3. Тестирование при разработке ПО
  • 3.1 Модульное тестирование
  • 3.2 Цели создания тестов
  • 3.3 JUNIT
  • Заключение
  • Перечень использованных источников
  • Приложение

Введение

Многие организации, занимающиеся созданием ПО, до 50% средств, выделенных на разработку программ, тратят на тестирование, что образовывает миллиарды долларов в мире в целом. И все же, не обращая внимания на громадные капиталовложения, знаний о сути тестирования очевидно не достаточно и большая часть программных продуктов неприемлемо ненадежно кроме того по окончании «основательного тестирования». [1]

О состоянии дел оптимальнее свидетельствует тот факт, что большая часть людей, трудящихся в области обработки данных, кроме того не имеет возможности верно выяснить слово «тестирование», и это в действительности основная обстоятельство неудач. [1]

«Тестирование — процесс, подтверждающий правильность программы и демонстрирующий, что неточностей в программе нет». Это определение обрисовывает что-то противоположное тому, что направляться осознавать под тестированием, исходя из этого оно неверно.

Программа тестируется не чтобы продемонстрировать, что она трудится, а скорее напротив — тестирование начинается с предположения, что в ней имеется неточности (это предположение справедливо фактически для любой программы), а после этого уже обнаруживается их предельное количество. Так, сформулируем самоё приемлемое и простое определение: тестирование — процесс исполнения программы с целью обнаружения неточностей.

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

Одновременно с этим, в случае если отечественной задачей станет обнаружение неточностей, то создаваемый нами тест будет владеть большей возможностью обнаружения неточности. Сформулируем основополагающий вывод: в случае если ваша цель — продемонстрировать отсутствие неточностей, вы их отыщете не через чур много. В случае если же ваша цель — продемонстрировать наличие неточностей, вы отыщете большую их часть.[2]

Тестирование — процесс деструктивный (т. е. обратный созидательному, конструктивному). Как раз этим и разъясняется, из-за чего многие программисты и тестировщики вычисляют его тяжёлым. Большая часть людей склонны к конструктивному процессу созидания объектов и в меньшей степени — к деструктивному процессу разделения на части. Так как цель тестировщика — вынудить программу сбиться.

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

Еще одна обстоятельство, по которой тяжело сказать о тестировании — это тот факт, что о нем известно весьма немногое. В случае если сейчас общество располагает около 5% тех знании о проектировании и фактически программировании (кодировании), то о тестировании известно менее 1%.

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

Целью курсовой работы есть изучение баз тестирования ПО. Задачи: изучить предложенную литературу по тестированию

ПО, выделить главные этапы тестирования, составить методические материалы по теме «Тестированию ПО», совершить тестирование двух приложений, применяя полученные знания, изучить оcновы модульного тестирования на базе оболочки JUnit.

1. Базы тестирования ПО

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

В 1960-х большое количество внимания уделялось «исчерпывающему» тестированию, которое должно проводиться с применением всех дорог в коде либо всех вероятных входных данных. Было отмечено, что в этих условиях полное тестирование ПО нереально, по причине того, что, во-первых, количество вероятных входных данных весьма громадно, во-вторых, существует множество дорог, в-третьих, сложно отыскать неприятности в спецификациях и архитектуре.

По этим обстоятельствам «исчерпывающее» тестирование было отклонено и признано теоретически неосуществимым. В начале 1970-х тестирование ПО обозначалось как «процесс, направленный на митинг корректности продукта» либо как «деятельность по подтверждению правильности работы ПО». В зарождавшейся программной инженерии верификация ПО значилась как «подтверждение правильности».

Не смотря на то, что концепция была теоретически перспективной, на практике она потребовала большое количество времени и была не хватает всеобъемлющей. Было решено, что подтверждение правильности — неэффективный способ тестирования ПО. Но, в некоторых случаях демонстрация верной работы употребляется и Сейчас, к примеру, приемо-сдаточные опробования.

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

Указанные два определения являются парадоксом « тестирования», в базе которого лежат два противоположных утверждения: с одной стороны, тестирование разрешает убедиться, что продукт трудится прекрасно, а с другой — выявляет неточности в программном обеспечении, показывая, что продукт не работает. Вторая цель тестирования есть более продуктивной с позиций улучшения качества, поскольку не разрешает проигнорировать недочёты ПО.

В 1980-х тестирование расширилось таким понятием, как предупреждение недостатков. Проектирование тестов — самый эффективный из известных способов предупреждения неточностей. Одвременно с этим стали высказываться мысли, что нужна методика тестирования, например, что тестирование должно включать проверки на всем протяжении цикла разработки, и это должен быть управляемый процесс.

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

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

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

В середине 1990-х с разработкой и развитием Интернета громадного количества веб-приложений особенную популярность начало получать «эластичное тестирование» (по аналогии с эластичными методиками программирования). В 2000-х показалось еще более широкое определение тестирования, в то время, когда в него было добавлено понятие «оптимизация бизнес-разработок» (BTO). BTO направляет развитие IT в соответствии с целями бизнеса.

Главный подход содержится в максимизации и оценке значимости всех этапов жизненного цикла разработки ПО с целью достижения нужного уровня качества, производительности, доступности. [7] 1.2 Главные определения в области тестирования ПО. задачи и Цели тестирования Тестирование ПО (software testing) — это процесс анализа либо эксплуатации ПО с целью обнаружения недостатков.

Не обращая внимания на всю простоту этого определения, в нем находятся пункты, каковые требуют предстоящих пояснений. Слово процесс (process) употребляется чтобы выделить, что тестирование сущность плановая, упорядоченная деятельность.[2] В соответствии с этому определению, тестирование предусматривает анализ либо эксплуатацию программного продукта.

Тестовая деятельность, которая связана с анализом результатов разработки ПО, именуется статическим тестированием (static testing). Статическое тестирование предусматривает диагностику программных кодов, сквозной контроль и диагностику программы без запуска на машине, т.е. диагностику за столом (desk checks). В отличие от этого, тестовая деятельность, предусматривающая эксплуатацию программного продукта, носит название динамического тестирования (dynamic testing).

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

Недостаток (неточность) — это расхождение между вычисленным, замечаемым и подлинным, заданным либо теоретически верным значением. [2] Говоря несложными словами, программная неточность — не что иное, как недостаток в разработке программного продукта, что приводит к несоответствию ожидаемых результатов исполнения программного продукта и практически взятых результатов. Недостаток может появиться на стадии кодирования, на стадии формулирования требований либо на стадии проектирования, или же его обстоятельство может крыться в некорректной конфигурации либо данных.[3] Задача тестирования — определение условий, при которых проявляются протоколирование и дефекты системы этих условий.

В задачи тестирования в большинстве случаев не входит обнаружение конкретных дефектных участков кода программы и ни при каких обстоятельствах не входит исправление недостатков — это задача отладки, которая выполняется по итогам тестирования совокупности. Цель применения процедуры тестирования кода программы — минимизация количества недостатков, в особенности значительных, в конечном продукте. Тестирование само по себе не имеет возможности обеспечивать полного отсутствия недостатков в программном коде совокупности.[4] 1.3 Классификация тестирования

Источник: otherreferats.allbest.ru

Тестирование программного обеспечения

Интересные записи

Похожие статьи, которые вам, наверника будут интересны: