Робоча програма навчальної дисципліни якість програмного забезпечення та тестування (шифр І назва навчальної дисципліни) підготовки бакалавра на базі окр «Молодший спеціаліст»



Скачати 305.85 Kb.
Дата конвертації23.10.2018
Розмір305.85 Kb.
ТипРобоча програма



Вінницький національний технічний університет

(повне найменування вищого навчального закладу)


Кафедра програмного забезпечення

«ЗАТВЕРДЖУЮ»

Перший проректор з науково-педагогічної роботи по організації навчального процесу та його науково-методичного забезпечення

__________Романюк О. Н.

“___”_______________2016 року

РОБОЧА ПРОГРАМА НАВЧАЛЬНОЇ ДИСЦИПЛІНИ


Якість програмного забезпечення та тестування

(шифр і назва навчальної дисципліни)


підготовки бакалавра на базі ОКР «Молодший спеціаліст»

(за скороченим терміном навчання)
(назва рівня вищої освіти)

Галузь знань_________12 – Інформаційні технології______________

(шифр і назва напряму підготовки)



Спеціальність _______121 – Інженерія програмного забезпечення__________

(шифр і назва спеціальності)



Освітня програма «Інженерія програмного забезпечення»

Факультет інформаційних технологій і комп’ютерної інженерії

2016 рік

Робоча програма навчальної дисципліни «Якість програмного забезпечення та тестування» для здобувачів освітнього ступеня бакалавра на основі ОКР «Молодший спеціаліст» (за скороченим терміном навчання) з галузі знань 12 – Інформаційні технології, спеціальності 121 – Інженерія програмного забезпечення, освітньої програми «Інженерія програмного забезпечення», 2016. — 13 с.

Розробники:

Романюк О.В., старший викладач кафедри програмного забезпечення, к.т.н.

Робоча програма затверджена на засіданні кафедри програмного забезпечення

Протокол від «07» червня 2016 року № 21

Завідувач кафедри ___________________(проф. Пєтух А. М.)

(підпис) (прізвище та ініціали)

Схвалено Методичною комісією ФІТКІ

Протокол від « 14» червня 2016 року № 10

Голова Методичної комісії ФІТКІ_________________(Проф. Азаров О. Д.)

(підпис) (прізвище та ініціали)


Схвалено Методичною радою ВНТУ

Протокол від «16» червня 2016 року № 10

Голова____________________________ (проф. Романюк О. Н.)

(підпис) (прізвище та ініціали)

 О.В. Романюк, 2016 р.

 ВНТУ, 2016 рік



  1. Опис навчальної дисципліни

Найменування показників

Галузь знань, напрям підготовки, освітньо-кваліфікаційний рівень

Характеристика навчальної дисципліни

денна форма навчання

заочна форма навчання

Кількість кредитів – 5

Галузь знань

12 – Інформаційні технології

(шифр і назва)



Нормативна

Модулів – 2

Спеціальність

121 – Інженерія програмного забезпечення

(шифр і назва)



Рік підготовки:

Змістових модулів – 2

1

1

Індивідуальне науково-дослідне завдання (реферати, розрахункові, графічні, розрахунково-графічні роботи, контрольні роботи, що виконуються під час СРС (домашні контрольні роботи), курсові, дипломні проекти (роботи) та ін. визначаються робочим навчальним планом чи рішенням кафедри)

Триместр

Загальна кількість годин - 180

1

1,2

Лекції

Тижневих годин для денної форми навчання:

аудиторних – 6

самостійної роботи студента – 5,25


Освітньо-кваліфікаційний рівень: бакалавр


48 год.

7 год.

7 год.

Практичні, семінарські

Не передбачені

Не передбачені

Лабораторні

48 год.

7 год.

7 год.

Самостійна робота

84 год.

76 год.

76 год.

Вид контролю: іспит

Примітка.

Співвідношення кількості годин аудиторних занять до самостійної і індивідуальної роботи становить:

для денної форми навчання – 53% - 47%,

для заочної форми навчання – 16% — 84%.



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

Головними завданням вивчення дисципліни є :



  • оволодіння студентами методами тестування, верифікації і валідації;

  • вивчення студентами підходів до створення звітності по проблемах при розробці програмного забезпечення;

  • ознайомлення студентів з сучасними статистичними методами та інструментальними засобами контролю якості.

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

Згідно з вимогами освітньо-професійної програми у результаті вивчення курсу "Якість програмного забезпечення та тестування" студенти повинні знати:



  • поняття якості;

  • основні принципи культури якості;

  • стандарти якості;

  • методи верифікації й валідації;

  • статистичні підходи до контролю якості;

  • процеси інспекції і рецензування.

Студенти повинні вміти:

    • аналізувати процес розробки програмного забезпечення з метою оцінки якості;

    • здійснювати ефективні і кваліфіковані інспекції;

    • використовувати статистичні методи для оцінювання щільності дефектів та імовірності відмови;

    • проектувати і реалізовувати плани з комплексного тестування;

    • застосовувати різноманітні методи тестування ефективно і кваліфіковано;

    • розраховувати покриття і результативність тестування на основі багатьох критеріїв;

    • використовувати засоби для автоматизованого тестування;

    • створювати звіти на основі результатів випробувань.

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

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

Мета проведення лекційних занять полягає у:



  • викладенні студентам у відповідності з програмою та робочим планом ключових понять, методів і засобів оцінки якості та тестування програмного забезпечення;

  • сформувати у студентів цілісну систему теоретичних знань з курсу «Якість програмного забезпечення та тестування».

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

На позааудиторну роботу виноситься вивчення окремих проблем курсу, написання рефератів та контрольних робіт (для студентів заочної форми навчання), підготовка до лабораторних занять, колоквіумів, тестування, іспиту, виконання індивідуальних науково-дослідних завдань (підготовка доповідей на щорічну науково-теоретичну конференцію викладачів, співробітників та студентів ВНТУ).


3 Програма дисципліни “Якість програмного забезпечення

та тестування”
Змістовий модуль 1. Забезпечення якості при розробці програмного забезпечення

Тема 1. Основи якості програмного забезпечення.

Область знань «якість програмного забезпечення». Аспекти визначення якості та її атрибути. Концепції і культура якості. Кодекс етики програмної інженерії. Парадигма «вбудови» якості в інженерії програмного забезпечення. Базові ідеї моделі «розгортання» якості . Компоненти моделі. Матриця «дім якості». Методологія «розгортання» якості для програмних систем. Сертифікація програмного забезпечення. Забезпечення гарантії якості в життєвому циклі. Значення і вартість якості. Діяльність групи якості по моніторингу процесів на кожній стадії життєвого циклу. Профілі процесів контролю якості. Елементи профілю процесу. Форми документів процесу контролю якості. Процеси підвищення якості. План якості. Стандарти в інженерії якості. Інструменти аналізу якості.



Тема 2.  Характеристики і моделі якості.

Метрика як основа вимірювання. Класифікація мір якості. Класифікація метрик якості. Ключові метрики для контролю розробки програмного забезпечення. Узагальнена модель якості. Метрики в узагальненій моделі якості. Ієрархічні та не ієрархічні моделі якості програмних систем. Графічні моделі якості. Методи оцінки значень показників якості. Основні поняття в проблематиці надійності програмних систем. Класифікація моделей оцінки надійності. Побудова і застосування метрик і моделей якості. Специфікація вимог до якості.



Тема 3.  Процеси управління якістю програмного забезпечення.

Перевірка тексту програм за столом і наскрізь. Оцінка управління. Технічні оцінки. Прогонки. Аудити. Елементи процесу інспекції. Етап планування процесу інспекції. Етап огляду. Етап підготовки. Інспекційна нарада. Етап додаткового обговорення. Етап переробки робочого продукту. Перевірка внесених змін або повторна інспекція. Підвищення ефективності процесу інспекції. Вимоги до робочих продуктів, що проходять процес інспектування. Процеси перевірки в життєвому циклі та їх призначення. Мета і задачі верифікації та валідації. Управління верифікацією та валідацією. Класифікація методів перевірки програмних систем. Огляд аналітичних методів. Огляд методів колективної перевірки.


Змістовий модуль 2. Засоби та технології тестування
Тема 4. Основи тестування програмного забезпечення. Види і рівні тестування.

Термінологія тестування. Збій і відмова. Класифікація дефектів, знайдених при тестуванні. Типи дефектів. Критерії відбору і адекватності тестів. Метрики підрахунку дефектів. Метрики покриття. Метрики динаміки знаходження дефектів. Критерії завершення тестування. Модель процесу тестування. Структура процесу тестування. Створення групи з тестування. Аналіз ризиків. Визначення об’єктів тестування. Розробка плану тестування. Розробка тестів. Розподіл обов’язків по виконанню процесу тестування. Ефективність тестування. Проблема оракула. Теоретичні і практичні обмеження. Зв’язок тестування з іншими видами діяльності. Автономне та інтеграційне тестування. Тестування програмного забезпечення системи. Системне тестування. Модульне тестування. Тестування методами «білого ящику», «сірого ящику» і «чорного ящику». Інтеграційне тестування. Системне тестування. Кваліфікаційні випробування. Тестування інсталяцій. Альфа- і бета-тестування. Регресійне і повторне тестування. Функціональне тестування. Тестування безпеки. Тестування ергономічності. Тестування технічних характеристик. Тестування на надійність. Тестування швидкодії. Тестування конфігурації. Порівняльне тестування. Тестування для перевірки системи після відновлення. Розробка, що управляється тестуванням.



Тема 5. Техніки тестування.

Класифікація технік тестування. Техніки, що базуються на досвіді й інтуїції. Спеціалізоване тестування. Дослідне тестування. Техніки, що базуються на специфікації. Еквівалентне розділення. Аналіз граничних значень. Таблиці прийняття рішень. Техніки, що базуються на аналізі коду. Тести на основі скінченого автомату. Тестування на основі формальної специфікації. Випадкове тестування. Техніки, орієнтовані на код. Тести, що базуються на блок-схемі. Тести на основі потоках даних. Тестування, орієнтоване на дефекти. Тестування мутацій. Техніки, що базуються на аналізі подальшого використання. Статистичне тестування. Операційний профіль. Функціональне і структурне тестування. Тестування об’єктно-орієнтованих програм. Тестування веб-застосувань. Тестування графічного інтерфейсу користувача. Тестування систем реального часу. Тестування критичних систем. Класифікація інструментів тестування. Вибір інструментів тестування. Методи аналізу показників функціональності. Методи вимірювання, що базуються на концепції функціонального розміру. Визначення розміру веб-застосувань. Стандартизація методів вимірювання розміру. Огляд основних методів оцінки затрат.



Тема 6. Аналіз результатів тестування. Методології покращення якості в сучасній парадигмі.

Вимірювання результатів тестування. Аналіз причин і наслідків відмови. Підготовка рішень і рекомендацій по результатах тестування. Підготовка звіту про результати тестування. Перевірка рішень і звіту групою з тестування, розробниками і замовниками. Цикл управління якістю. Статистичне управління процесами. Філософія тотального управління якістю. Методи покращення якості. Процеси розробки та методології підготовки програмних рішень. Процеси розробки в Agile-методологіях. Екстремальне програмування. Методологія SCRUM. Підхід «чистої кімнати» до забезпечення якості. Порівняння методологій покращення процесу розробки.



4 Структура навчальної дисципліни

Назви змістових модулів і тем

Кількість годин

денна форма

Заочна форма

усього

у тому числі

усього

у тому числі

л

п

лаб

інд

с.р.

л

п

лаб

інд

с.р.

1

2

3

4

5

6

7

8

9

10

11

12

13

Модуль 1

Змістовий модуль 1. Забезпечення якості при розробці програмного забезпечення

Тема 1. Основи якості програмного забезпечення

30

8

-

8

-

14

29

2

-

2

-

25

Тема 2. Характеристики і моделі якості

30

8

-

8

-

14

29

2

-


2

-

25


Тема 3. Процеси управління якістю програмного забезпечення

30

8

-

8

-

14

32

3

-


3

-

26


Разом за змістовим модулем 1

90

24

-

24

-

42

90

7

-

7

-

76

Модуль 2

Змістовий модуль 2. Засоби та технології тестування

Тема 4. Основи тестування програмного забезпечення. Види і рівні тестування

30

8

-

8

-

14

22

2

-

2

-

18

Тема 5. Техніки тестування

34

8

-

12

-

14

26

3

-


5

-


18


Тема 6. Аналіз результатів тестування. Методології покращення якості в сучасній парадигмі

26

8

-

4

-

14

20

2

-


-

-


18

Разом за змістовим модулем 2


90

24

-

24

-

42

68

7

-

7

-

54

Контрольна робота для студентів заочної форми навчання



















22










К/р

22 год




Усього годин


180

48

-

48




84

180

14

-

14

22

130

5. Теми семінарських занять – не передбачені
6. Теми практичних занять – не передбачені

7. Теми лабораторних занять

з/п


Назва теми

Кількість годин

1

Дослідження процесів інспектування специфікації програмного продукту

4

2

Дослідження процесів формального інспектування програмного коду

4

3

Дослідження процесів розробки тестових випадків

4

4

Дослідження процесів тестування графічного інтерфейсу

4

5

Дослідження процесів тестування зручності використання програмної системи

4

6

Дослідження процесів тестування функціональності програмної системи

4

7

Дослідження процесів тестування web-застосувань

4

8

Складання звітів про дефекти програмної системи

4

9

Тестування крос-браузерності

4

10

Тестування продуктивності та навантажувальне тестування

4

11

Розробка юніт-тестів

4

12

Складання звітів про тестування

4

8. Самостійна робота

з/п


Назва теми

Кількість

годин


1

Концепції і культура якості. Кодекс етики програмної інженерії. Парадигма «вбудови» якості в програмній інженерії.

14

2

Ієрархічні та не ієрархічні моделі якості програмних систем. Основні поняття в проблематиці надійності програмних систем. Класифікація моделей оцінки надійності.

14

3

Класифікація методів перевірки програмних систем. Огляд аналітичних методів. Огляд методів колективної перевірки.

14

4

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

14

5

Класифікація інструментів тестування. Вибір інструментів тестування. Визначення розміру веб-застосувань. Стандартизація методів вимірювання розміру. Основниі методи оцінки затрат.

14

6

Процеси розробки та методології підготовки програмних рішень. Процеси розробки в Agile-методологіях. Екстремальне програмування. Методологія SCRUM. Підхід «чистої кімнати» до забезпечення якості

14

9. Індивідуальні завдання

Робочим навчальним планом передбачені 1 контрольна робота для студентів заочної форми навчання. Крім того, за рішенням кафедри студенти готують реферати з окремих тем курсу та доповіді на щорічну науково-теоретичну конференцію викладачів, співробітників та студентів ВНТУ.


10. Методи навчання

Лекція, проблемна лекція, демонстрація, зокрема, з використанням мультимедійних засобів навчання, практичні роботи, підготовка рефератів, доповідей науково-дослідного характеру, зокрема, на щорічну науково-технічну конференцію викладачів, співробітників та студентів ВНТУ.


11. Методи контролю

Поточний контроль, який здійснюється у формі фронтального, індивідуального чи комбінованого контролю знань студентів під час лабораторного заняття, тестування, колоквіум, 1 контрольна робота (для студентів заочної форми навчання), іспит.


12. Розподіл балів, які отримують студенти


Поточне тестування та самостійна робота

Підсумковий тест

(іспит)


Сума

Змістовий модуль 1

Змістовий модуль 2

26 балів

100 балів

Т1

Т2

Т3

Т4

Т5

Т6

37 балів

37 балів

Т1, Т2 ... Т6 – теми змістових модулів.

Шкала оцінювання: національна та ECTS

Сума балів за всі види навчальної діяльності

Оцінка ECTS

Оцінка за національною шкалою

для екзамену, курсового проекту (роботи), практики

для заліку

90 – 100

А

відмінно

зараховано



82-89

В

добре

75-81

С

64-74

D

задовільно

60-63

Е

35-59

FX

незадовільно з можливістю повторного складання

не зараховано з можливістю повторного складання

0-34

F

незадовільно з обов’язковим повторним вивченням дисципліни

не зараховано з обов’язковим повторним вивченням дисципліни

Кількість і зміст модулів

Модуль


Кредити

Лекції

(год.)


Лаб.

роботи.


Кількість (роб./год)

Практичні

заняття


(семінари)

(год.)


Конт-рольна робота

Колок-віуми

І

2,5

24

6/4

-

-

1

ІІ

2,5

24

6/4

-

-

1

Оцінювання знань, умінь та навичок студентів з окремих видів роботи та в цілому по модулях (в балах)

Вид роботи

Модуль

1

2

1. Виконання лабораторних робіт / 1 робота – 4 бали/

24

24

  1. Індивідуальне завдання

-

-

3. Колоквіуми / 1 колоквіум – 13 балів/

13

13

Всього

37

37


13. Методичне забезпечення
Навчально-методичний комплекс дисципліни, до складу якого входять:

  1. Навчальна програма дисципліни «Якість ПЗ та тестування».

  2. Робоча навчальна програма дисципліни «Якість ПЗ та тестування».

  3. Робочий план дисципліни на поточний триместр.

  4. Методичні вказівки по виконанню лабораторних робіт.

  5. Завдання на самостійну роботу студентам (СРС).

  6. Комплект екзаменаційних білетів.

  7. Комплект комплексних контрольних робіт (ККР), тестових завдань.

  8. Методичні рекомендації по виконанню ККР, тестових завдань.


14. Критерії оцінювання знань, умінь та навичок студентів

Рівень

компетент-

ності

За нац. шкалою

За шка-лою ЕКТС

Критерії оцінювання

IV

Високий (творчий)

«5»

відмінно

А

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

III

Достатній

(конструк-

тивний)

«4»

добре

«4+»

В

Повні знання з питань і задач, що стоять перед студентом. Уміння викладати основні ідеї. Вміння професійно відстоювати свою точку зору. Припускаються несуттєві неточності у викладенні матеріалу та у відповідях.

добре

«4»

С

Достатньо повні знання з поставлених питань і задач. Вміння викладати основні ідеї. Здатність самостійно застосовувати вивчений матеріал на рівні стандартних ситуацій, наводити окремі власні приклади на підтвердження власних тверджень. Вміння доводити правильність своїх рішень. Несуттєві неточності у відповідях та деякі нераціональності при програмуванні задач.

II

Середній

(репро-

дуктив-

ний)

«3»

задовільно

«3+»

D

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

задовільно

«3»

E

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

І

Низький

«2»

«незадо-вільно з можливістю повторного складання»

«2»

FX

Теорією володіє на рівні фрагментів, викладає матеріал уривчасто. Утруднюється в обгрунтуванні рішень, на запитання викладача дає неправильні відповіді (40-60%), пояснення не до ладу. Самостійно, без допомоги викладача, не може сформувати алгоритм рішення задачі. Програми не раціональні та неефективні, при програмуванні використовуються лише прості конструкції.

«незадо-вільно з обов’язко-вим повторним вивченням дисципліни»

«2»

F

Теорією володіє на рівні фрагментів, викладає матеріал уривчасто. Утруднюється в обгрунтуванні рішень, на запитання викладача дає неправильні відповіді (60-100%). Самостійно, без допомоги викладача, не може сформувати алгоритм рішення задачі.



15. Рекомендована література


  1. Андон Ф.И., Коваль Г.И., Коротун Т.М., Лаврищева Е.М., Суслов В.Ю Основы инженерии качества программных систем. – 2-е изд., перераб. и доп. – К.: Академпериодика, 2007. – 672 с.

  2. Блэк Р. Ключевые процессы тестирования. Планирование, подготовка, проведение, совершенствование.: Пер.с англ. - М.: Изд.: Лори, 2006. – 544 с.

  3. Брауде Э. Дж. Технология разработки программного обеспечения . – СПб.: Питер, 2004. – 655 с.:ил.

  4. Гагарина Л.Г., Кокорева Е.В., Виснадул Б.Д. Технология разработки программного обеспечения: учебное пособие / под ред. Л.Г. Гагариной. – ИД «Форум»: ИНФРА-М, 2008. – 400 с.:ил.

  5. Дастин Э., Рэшка Дж., Пол Дж. Автоматизированное тестирование программного обеспечения.: Пер.с англ.-М.: Изд-во: Лори, 2003. – 592 с.

  6. Канер С., Фолк Дж., Нгуен Е.К. Тестирование программного обеспечения. Фундаментальные концепции менеджмента бизнес-приложений: Пер. с англ. – К.: Издательство «Диасофт», 2001. – 544 с.

  7. Лаврищева Е.М., Петрухин В.А. Методы и средства инженерии программного обеспечения: Учебник. – М.: МФТИ(ГУ), 2006. – 304 с.

  8. Соммервилл И. Инженерия программного обеспечения, 6-е изд.: Пер. с англ. – М.: Вильямс, 2002. – 624 с.: ил.

  9. Тамре Л. Введение в тестирование программного обеспечения.: Пер. с англ. – М.: Издательский дом «Вильямс», 2003. - 368 с.

  10. Шафер Д., Фарелл Р., Шафер А. Управление программными проектами: достижение оптимального качества при минимуме затрат.: Пер. с англ. – М.: Издательский дом «Вильямс», 2003. - 1136 с.

  11. Буч Г. Объектно-ориентированное проектирование с примерами применения. Пер. с англ. – М.: Конкорд, 1992, - 406 с.

  12. ДСТУ 2850-94. Програмні засоби ЕОМ. Показники і методи оцінювання якості.

  13. ДСТУ 2462-94. Сертифікація. Основні поняття, терміни та визначення.

  14. Калбертсон Р., Браун К., Кобб Г. Быстрое тестирование.: Пер. с англ. – М.: Издательство: Вильямс, 2002. - 384 с.

  15. Липаев В.В. Обеспечение качества программных средств. Методы и стандарты. Серия «Информационные технологии». – М.: СИНТЕГ, 2001.- 380 с.

  16. Макгрегор Дж., Сайкс Д. Тестирование объектно-ориентированного программного обеспечения. Практическое пособие. - K.: DiaSoft, 2002. – 432 с.




Поділіться з Вашими друзьями:


База даних захищена авторським правом ©wishenko.org 2017
звернутися до адміністрації

    Головна сторінка