№ 40 (727) 10 - 16 октября 2011 года
Тестирование программного обеспечения - процесс исследования программного обеспечения (ПО) с целью получения информации о качестве продукта. Программное обеспечение - (ПО) - совокупность программ системы обработки информации и программных документов, необходимых для эксплуатации этих программ . Также - совокупность программ, процедур и правил, а также документации, относящихся к функционированию системы обработки данных. Программное обеспечение является одним из видов обеспечения вычислительной системы, наряду с техническим (аппаратным), математическим, информационным, лингвистическим, организационным и методическим обеспечением. В компьютерном сленге часто используется слово "софт" от английского слова " software", которое в этом смысле впервые применил в статье в " American Mathematical Monthly" математик из Принстонского университета Джон Тьюки (англ. John W. Tukey) в 1958 году. Классификация ПО
Программное обеспечение принято по назначению подразделять на системное, прикладное и инструментальное, а по способу распространения и использования на несвободное/закрытое, открытое и свободное. Свободное программное обеспечение может распространяться, устанавливаться и использоваться на любых компьютерах дома, в офисах, школах, вузах, а также коммерческих и государственных учреждениях без ограничений. Существующие на сегодняшний день методы тестирования ПО не позволяют однозначно и полностью выявить все дефекты и установить корректность функционирования анализируемой программы, поэтому все существующие методы тестирования действуют в рамках формального процесса проверки исследуемого или разрабатываемого ПО. Такой процесс формальной проверки или верификации может доказать, что д ефекты отсутствуют с точки зрения используемого метода. (То есть нет никакой возможности точно установить или гарантировать отсутствие дефектов в программном продукте с учётом человеческого фактора, присутствующего на всех этапах жизненного цикла ПО). Эффективное тестирование сложных программных продуктов - это процесс в высшей степени творческий, не сводящийся к следованию строгим и чётким процедурам или созданию таковых. Качество (программных средств) можно определить как совокупную характеристику исследуемого ПО с учётом следующих составляющих: надёжность, сопровождаемость практичность, эффективность, мобильность, функциональность. История развития тестирования программного обеспечения
Первые программные системы разрабатывались в рамках программ научных исследований или программ для нужд министерств обороны. Тестирование таких продуктов проводилось строго формализовано с записью всех тестовых процедур, тестовых данных, полученных результатов. Тестирование выделялось в отдельный процесс, который начинался после завершения кодирования, но при этом, как правило, выполнялось тем же персоналом. В 1960-х много внимания уделялось "исчерпывающему" тестированию, которое должно проводиться с использованием всех путей в коде или всех возможных входных данных. Было отмечено, что в этих условиях п олное тестирование ПО невозможно, потому что, во-первых, количество возможных входных данных очень велико, во-вторых, существует множество путей, в-третьих, сложно найти проблемы в архитектуре и спецификациях. По этим причинам "исчерпывающее" тестирование было отклонено и признано теоретически невозможным. В начале 1970-х тестирование ПО обозначалось как "процесс, направленный на демонстрацию корректности продукта" или как "деятельность по подтверждению правильности работы ПО". В зарождавшейся программной инженерии верификация ПО значилась как "доказательство правильности". Хотя концепция была теоретически перспективной, на практике она требовала много времени и была недостаточно всеобъемлющей. Было решено, что д оказательство правильности - неэффективный метод тестирования ПО. Однако, в некоторых случаях д емонстрация правильной работы используется и в наши дни, например, приемо-сдаточные испытания. Во второй половине 1970-х тестирование представлялось как выполнение программы с намерением найти ошибки, а не доказать, что она работает. Успешный тест - это тест, который обнаруживает ранее неизвестные проблемы. Данный подход прямо противоположен предыдущему. Указанные два определения представляют собой " парадокс тестирования", в основе которого лежат два противоположных утверждения: с одной стороны, тестирование позволяет убедиться, что продукт работает хорошо, а с другой - выявляет ошибки в ПО, показывая, что продукт не работает. Вторая цель тестирования является более продуктивной с точки зрения улучшения качества, так как не позволяет игнорировать недостатки ПО. В 1980-х тестирование расширилось таким понятием, как предупреждение дефектов. Проектирование тестов - наиболее эффективный из известных методов предупреждения ошибок. В это же время стали высказываться мысли, что необходима методология тестирования, в частности, что тестирование должно включать проверки на всем протяжении цикла разработки, и это должен быть управляемый процесс. В ходе тестирования надо проверить не только собранную программу, но и требования, код, архитектуру, сами тесты. "Традиционное" тестирование, существовавшее до начала 1980-х, относилось только к скомпилированной, готовой системе (сейчас это обычно называется системное тестирование), но в дальнейшем тестировщики стали вовлекаться во все аспекты жизненного цикла разработки. Это позволяло раньше находить проблемы в требованиях и архитектуре и тем самым сокращать сроки и бюджет разработки. В середине 1980-х появились первые инструменты для автоматизированного тестирования. Предполагалось, что компьютер сможет выполнить больше тестов, чем человек, и сделает это более надежно. Поначалу эти инструменты были крайне простыми и не имели возможности написания сценариев на скриптовых языках. В начале 1990-х в понятие "тестирование" стали включать планирование, проектирование, создание, поддержку и выполнение тестов и тестовых окружений, и это означало переход от тестирования к обеспечению качества, охватывающего весь цикл разработки ПО. В это время начинают появляться различные программные инструменты для поддержки процесса тестирования: более продвинутые среды для автоматизации с возможностью создания скриптов и генерации отчетов, системы управления тестами, ПО для проведения нагрузочного тестирования. В середине 1990-х с развитием Интернета и разработкой большого количества веб-приложений особую популярность стало получать "гибкое тестирование" (по аналогии с гибкими методологиями программирования). В 2000-х появилось еще более широкое определение тестирования, когда в него было добавлено понятие "оптимизация бизнес-технологий" (en:business technology optimization, BTO). BTO направляет развитие информационных технологий в соответствии с целями бизнеса. Основной подход заключается в оценке и максимизации значимости всех этапов жизненного цикла разработки ПО для достижения необходимого уровня качества, производительности, доступности. Что в разработке ПО самое главное для успеха проекта?
Процессы с методологиями, мощные инструменты разработки и вспомогательные информационные системы? Нет, отнюдь. Люди - вот что важное! Команда специалистов, которые строят отношения с заказчиком или представителями бизнеса, управляют требованиями, проектируют архитектуру, пишут код, управляют качеством, ставят процессы, пишут документацию. Что нужно для создания эффективной команды? Тщательный отбор. Талант менеджера. Понимание общих целей. Масса других взаимодополняющих друг друга условий. Но одно из них является необходимым - это профессиональная компетентность каждого члена команды. Для повышения профессионального уровня проектных команд по разработке ПО для Вас, наши дорогие клиенты, был создан в УЦ "КОНТАКТ" новый курс "Тестирование ПО" это: Знания о передовых практиках разработки ПО, управления проектами, программной инженерии и системотехники. Опыт профессионалов самого высокого класса в различных бизнес областях применения программной инженерии. Самый быстрый и эффективный способ обучения - очное обучение - это ведущие специалисты которые постоянно находятся в процессе производства и знают не только теорию. Они читают тренинги в свободное от проектной загрузки время. Наши преподаватели могут ответить на многие вопросы, ссылаясь на собственный опыт. Мы - практики! Этим мы и отличаемся от других учебных центров. Удобные хорошо оборудованные классы. Заботливые и предусмотрительные администраторы, которые помогут сориентироваться в нашем каталоге услуг и организуют комфортные условия для Вашего обучения. Все это теперь доступно для Вас в нашем учебном центре "КОНТАКТ". Вы хотите получить знания в области тестирования? Вы хотите перенять опыт высококлассных профессионалов за короткий период времени? Вы хотите повысить личную эффективность и эффективность Ваших команд? Вы хотите, чтобы ваши команды соответствовали мировому стандарту? Вы хотите быть всегда в курсе последних технологий и практик? Хотите присоединиться к авангарду современного бизнеса? Приходите в УЦ "КОНТАКТ", направляйте к нам Ваших сотрудников! В нашем учебном центре проходят обучение только самые успешные, становясь еще более успешными. Будем рады, если наш новый курс "Тестирование ПО" принесет пользу Вам и Вашей команде и наш учебный центр станет для Вас надежным партнером по обучению. См. программу курса "Тестирование ПО" на нашем сайте: http://contact.com.ua/softtesting Ждем Вас! Учебный Центр "КОНТАКТ" 15 лет с Вами! 03056, г. Киев, пер. Ковальский, 13, 1-й этаж, офис № 2 , студ. городок НТУУ "КПИ" (ст. м. "Политехнический ин-т" и ст. м. "Шулявская") Время работы: пн-пт с 10.00 до 19.00 http://wwwcontact.com.ua,
Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
Тел.: 277-42-05, 277-40-42
С уважением, Светлана Крылова, директор УЦ "КОНТАКТ"
|