Опубликован: 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 >
Федор Антонов
Федор Антонов
Оплата и обучение
Сергей Чурбанов
Сергей Чурбанов
Какие подходы используются для обоснования истинности программ?
Танат Женисбекулы
Танат Женисбекулы
Россия, Москва
Кирилл Лавренович
Кирилл Лавренович
Россия, Россия, Тверская область, Нелидовский район, деревня Горки Дом-2