Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
7
Добавлен:
30.05.2020
Размер:
50.18 Кб
Скачать

Лекція 1

Тема: Тестування - спосіб забезпечення якості

Мета: ознайомити студентів з призначенням даного курсу та розглянути призначення тестування як такого. Визначити місце, яке займає тестування програмного продукту на даний момент та дати наближення щодо очікуваного місця даного етапу в розробці якісного програмного забезпечення

ПЛАН

Кожен програмний продукт, не залежно від масштабності та сфери використання має певних набір характеристик. І не лише функціональних. Найпершою з них можна вважати якість додатку.

Якість програмного продукту характеризується набором властивостей, що визначають, наскільки продукт є "гарним" з погляду зацікавлених сторін, таких як замовник продукту, спонсор, кінцевий користувач, розробники й тестувальники продукту, інженери підтримки, співробітники відділів маркетингу, навчання й продажів.

Кожний з учасників може мати різне уявлення про продукт і про те, наскільки він гарний або поганий, тобто про те, наскільки висока якість продукту. Таким чином, постановка завдання забезпечення якості продукту виливається в завдання визначення зацікавлених осіб, їхніх критеріїв якості й потім знаходження оптимального рішення, що задовольняє цим критеріям.

Тестування є одним з найбільш устояних способів забезпечення якості розробки програмного забезпечення й входить у набір ефективних засобів сучасної системи забезпечення якості програмного продукту.

З технічної точки зору тестування полягає у виконанні додатка на деякій безлічі вихідних даних і звірці одержуваних результатів із заздалегідь відомими (еталонними) з метою встановити відповідність різних властивостей і характеристик додатка замовленим властивостям. Як одна з основних фаз процесу розробки програмного продукту (Дизайн додатка - Розробка коду - Тестування ), тестування характеризується досить великим внеском у сумарну трудомісткість розробки продукту.

Широко відома оцінка розподілу трудомісткості між фазами створення програмного продукту: 40%-20%-40% (Рис. 1.1), із чого можна зробити висновок, що найбільший ефект у зниженні трудомісткості може бути отриманий насамперед на фазах Design й Testing. Тому основні вкладення в автоматизацію або генерацію коду варто здійснювати, насамперед, на цих фазах. Хоча в сучасному індустріальному програмуванні автоматизація тестування є широко розповсюдженою практикою, у той же час технологія верифікації вимог і специфікацій поки робить тільки свої перші кроки. Завданням найближчого майбутнього є рух убік такого розподілу трудомісткості (60%-20%-20% (Рис. 1.2)), щоб сумарна ціна виявлення більшості дефектів прямувала до мінімуму за рахунок виявлення переважного числа на найбільш ранніх фазах розробки програмного продукту.

Рис. 1.1. Оцінка трудомісткості виявлення й виправлення помилок при створенні програмного продукту

Рис. 1.2. Аналогічна оцінка при автоматизації дизайну

Даний курс присвячений обговоренню способів рішення завдання контролю якості розробки програмного забезпечення з позицій тестування. У цій області поряд з рішенням наукових і технічних проблем немаловажна роль належить проблемі підготовки кадрів, здатних вирішувати завдання тестування й автоматизації тестування в умовах виробництва програмного продукту. Завданням курсу, що реалізується через лекційний матеріал і практикум, є підготовка тестувальників програмного проекту. Це тим більше важливо, що в існуючих вузівських програмах підготовки професійних програмістів не передбачений достатній для рішення даного завдання обсяг лекційного матеріалу й практикумів. Тому пропонований посібник варто розглядати як додатковий підручник для майбутніх тестувальників програмних проектів.

Контрольні питання

  1. Що визначає якість програмного продукту?

  2. Хто саме визначає, чи є дана розробка якісною?

  3. До чого можна звести тестування з технічної точки зору?

  4. На які етапи можна розділити розробку програмного продукту?

  5. Як розподіляється час розробки додатку?

  6. Яким чином можна перерозподілити час? За рахунок чого можливий такий перерозподіл?

2

Соседние файлы в папке Тестування