Что такое тестирование программного обеспечения?

Что такое тестирование программного обеспечения?

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

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

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

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

С позиций ISO 9126, уровень качества ПО возможно выяснить как совокупную чёрта исследуемого ПО с учётом следующих составляющих:

  • Надёжность
  • Сопровождаемость
  • Практичность
  • Эффективность
  • Мобильность
  • Функциональность

История развития тестирования ПО

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

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

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

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

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

Вторая цель тестирования есть более продуктивной с позиций улучшения качества, поскольку не разрешает проигнорировать недочёты ПО.

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

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

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

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

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

Источник: www.it-courses.by

Тестирование программного обеспечения или кто такой QA Engineer [Intro]

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

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