Опубликован: 05.03.2005 | Уровень: специалист | Доступ: платный
Лекция 1:

Введение: тестирование - способ обеспечения качества программного продукта

Лекция 1: 12 || Лекция 2 >
Аннотация: Рассмотрена проблематика, цели и требования к курсу. Обсуждены основные темы курса и практикума.

Тестирование - способ обеспечения качества

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

С технической точки зрения тестирование заключается в выполнении приложения на некотором множестве исходных данных и сверке получаемых результатов с заранее известными (эталонными) с целью установить соответствие различных свойств и характеристик приложения заказанным свойствам. Как одна из основных фаз процесса разработки программного продукта (Дизайн приложения - Разработка кода - Тестирование ), тестирование характеризуется достаточно большим вкладом в суммарную трудоемкость разработки продукта. Широко известна оценка распределения трудоемкости между фазами создания программного продукта: 40%-20%-40% (Рис. 1 1), из чего следует, что наибольший эффект в снижении трудоемкости может быть получен прежде всего на фазах Design и Testing. Поэтому основные вложения в автоматизацию или генерацию кода следует осуществлять, прежде всего, на этих фазах. Хотя в современном индустриальном программировании автоматизация тестирования является широко распространенной практикой, в то же время технология верификации требований и спецификаций пока делает только свои первые шаги. Задачей ближайшего будущего является движение в сторону такого распределения трудоемкости (60%-20%-20% (Рис. 1 2)), чтобы суммарная цена обнаружения большинства дефектов стремилась к минимуму за счет обнаружения преимущественного числа на наиболее ранних фазах разработки программного продукта.

Оценка трудоемкости обнаружения и исправления ошибок при создании программного продукта

Рис. 1.1. Оценка трудоемкости обнаружения и исправления ошибок при создании программного продукта
Аналогичная оценка при автоматизации тестирования

Рис. 1.2. Аналогичная оценка при автоматизации тестирования

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

Предлагаемый вниманию читателей курс обобщает опыт многолетней работы учебного центра "Политехник - Моторола" в Санкт-Петербургском государственном политехническом университете. Естественно, наш учебник не единственный.

Среди учебников, посвященных подготовке тестировщиков, мы рекомендуем обратить внимание на книги [ 1 ] , [ 2 ] , [ 3 ] , [ 4 ] , [ 5 ] , [ 6 ] , также посвященные передаче опыта промышленного тестирования студентам и аспирантам, выбравшим своей специальностью профессиональное программирование.

Требования к курсу

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

Разделы курса соответствуют следующим разделам Computing Curricula 2001: Computer Science [ 7 ] :

  • Раздел SE4 Процессы разработки ПО
  • Раздел SE5 Спецификации и требования к ПО
  • Раздел SE6 Проверка соответствия ПО
Лекция 1: 12 || Лекция 2 >
Федор Антонов
Федор Антонов

Здравствуйте!

Записался на ваш курс, но не понимаю как произвести оплату.

Надо ли писать заявление и, если да, то куда отправлять?

как я получу диплом о профессиональной переподготовке?

Сергей Чурбанов
Сергей Чурбанов
Юрий Коробков
Юрий Коробков
Россия, Москва, МЭИ, 1998