Тестирование ПО — процесс изучения, опробования ПО (ПО) с целью получения информации о качестве продукта.
Существующие на сегодня способы тестирования ПО не разрешают конкретно и всецело распознать все недостатки и установить корректность функционирования разбираемой программы, исходя из этого все существующие способы тестирования действуют в рамках формального процесса проверки исследуемого либо разрабатываемого ПО.
Таковой процесс формальной проверки, либо верификации, может доказать, что недостатки отсутствуют с позиций применяемого способа. Другими словами нет никакой возможности совершенно верно установить либо обеспечивать отсутствие недостатков в программном продукте с учётом антропогенного фактора, присутствующего на всех этапах жизненного цикла ПО.
Существует множество подходов к верификации задачи и решению тестирования ПО, но действенное тестирование сложных программных продуктов — это процесс в высшей степени творческий, не сводящийся к следованию строгим и чётким процедурам либо созданию таковых.
С позиций ISO 9126, уровень качества ПО возможно выяснить как совокупную чёрта исследуемого ПО с учётом следующих составляющих:
- Надёжность
- Сопровождаемость
- Практичность
- Эффективность
- Мобильность
- Функциональность
История развития тестирования ПО
Первые программные совокупности разрабатывались в рамках программ научных изучений либо программ для потребностей министерств обороны. Тестирование таких продуктов проводилось строго формализовано с записью всех тестовых процедур, тестовых данных, взятых результатов. Тестирование выделялось в отдельный процесс, что начинался по окончании завершения кодирования, но наряду с этим, в большинстве случаев, выполнялось тем же персоналом.
В 1960-х большое количество внимания уделялось «исчерпывающему» тестированию, которое должно проводиться с применением всех дорог в коде либо всех вероятных входных данных. Было отмечено, что в этих условиях полное тестирование ПО нереально, по причине того, что, во-первых, количество вероятных входных данных весьма громадно, во-вторых, существует множество дорог, в-третьих, сложно отыскать неприятности в спецификациях и архитектуре. По этим обстоятельствам «исчерпывающее» тестирование было отклонено и признано теоретически неосуществимым.
В начале 1970-х тестирование ПО обозначалось как «процесс, направленный на митинг корректности продукта» либо как «деятельность по подтверждению правильности работы ПО». В зарождавшейся программной инженерии верификация ПО значилась как «подтверждение правильности». Не смотря на то, что концепция была теоретически перспективной, на практике она потребовала большое количество времени и была не хватает всеобъемлющей.
Было решено, что подтверждение правильности — неэффективный способ тестирования ПО. Но, в некоторых случаях демонстрация верной работы употребляется и Сейчас, к примеру, приемо-сдаточные опробования. Во второй половине 1970-х тестирование представлялось как исполнение программы с целью
отыскать неточности, а не доказать, что она трудится. Успешный тест — это тест, что обнаруживает ранее малоизвестные неприятности. Этот подход прямо противоположен прошлому. Указанные два определения являются парадоксом « тестирования», в базе которого лежат два противоположных утверждения: с одной стороны, тестирование разрешает убедиться, что продукт трудится прекрасно, а с другой — выявляет неточности в ПО, показывая, что продукт не работает.
Вторая цель тестирования есть более продуктивной с позиций улучшения качества, поскольку не разрешает проигнорировать недочёты ПО.
В 1980-х тестирование расширилось таким понятием, как предупреждение недостатков. Проектирование тестов — самый эффективный из известных способов предупреждения неточностей. Одвременно с этим стали высказываться мысли, что нужна методика тестирования, например, что тестирование должно включать проверки на всем протяжении цикла разработки, и это должен быть управляемый процесс.
На протяжении тестирования нужно проверить не только собранную программу, но и требования, код, архитектуру, сами тесты. «Классическое» тестирование, существовавшее до начала 1980-х, относилось лишь к скомпилированной, готовой совокупности (на данный момент это в большинстве случаев именуется системное тестирование), но в будущем тестировщики стали вовлекаться во все нюансы жизненного цикла разработки. Это разрешало раньше обнаружить неприятности в архитектуре и требованиях и тем самым уменьшать бюджет и сроки разработки.
В середине 1980-х показались первые инструменты для автоматизированного тестирования. Предполагалось, что компьютер сможет выполнить больше тестов, чем человек, и сделает это более надежно. Сначала эти инструменты были очень несложными и не могли написания сценариев на скриптовых языках.
В начале 1990-х в понятие «тестирование» стали включать планирование, проектирование, создание, выполнение и поддержку тестовых окружений и тестов, и это означало переход от тестирования к обеспечению качества, охватывающего целый цикл разработки ПО. Сейчас начинают оказаться разные программные инструменты для помощи процесса тестирования: более продвинутые среды для автоматизации с возможностью генерации отчётов и создания скриптов, совокупности управления тестами, ПО с целью проведения нагрузочного тестирования. В середине 1990-х с разработкой и развитием Интернета громадного количества веб-приложений особенную популярность начало получать «эластичное тестирование» (по аналогии с эластичными методиками программирования).
В 2000-х показалось еще более широкое определение тестирования, в то время, когда в него было добавлено понятие «оптимизация бизнес-разработок» (business technology optimization, BTO). BTO направляет развитие IT в соответствии с целями бизнеса. Главный подход содержится в максимизации и оценке значимости всех этапов жизненного цикла разработки ПО с целью достижения нужного уровня качества, производительности, доступности.
Источник: www.it-courses.by
Тестирование программного обеспечения или кто такой QA Engineer [Intro]
Интересные записи
Похожие статьи, которые вам, наверника будут интересны:
-
Тестирование программного обеспечения
Послать собственную хорошую работу в базу знаний легко. Применяйте форму, расположенную ниже. Подобные документы виды тестирования и История развития ПО….
-
Что делает тестировщик программного обеспечения
Разработка ПО Способы тестирования ПО Существует пара способов тестирования: Тестирование программ способом тёмного коробки (Black box testing)…
-
Как обновить программное обеспечение планшета
Как в ручную обновить версию Android на планшете Samsung В современном компьютерном мире, все течет и изменяется с быстротой щелчка мыши. производители и…
-
Какие бывают программные обеспечения
Виды ПО. Информация в компьютере хранится в файлах. Для удобства поиска размещения информации и нужного файла, относящейся к какой-либо задаче (теме,…
-
Какое программное обеспечение лучше для навигатора
Устройство: Samsung GT-i9100 Galaxy S II Какая программа навигации лучше (для России)? Новый опрос по программам навигации для поездок по России. Пишите…
-
/ Этапы разработки программного обеспечения
Этапы разработки ПО Процесс разработки ПО возможно разбить на этапы (фазы): – содержательная постановка задачи; – выбор метода и разработка модели…