Інформаційна система тестування програмного забезпечення

Автор: Лужний Роман Ігорович
Кваліфікаційний рівень: магістр
Спеціальність: Інформаційні системи та технології
Інститут: Інститут комп'ютерних наук та інформаційних технологій
Форма навчання: денна
Навчальний рік: 2024-2025 н.р.
Мова захисту: українська
Анотація: Як відомо, головним завданням перших десятиліть комп’ютерної ери було вдосконалення апаратних засобів обчислювальної техніки. Це зумовлювалося високими витратами на вирішення задач, пов’язаних з обробкою та збереженням інформації. Сьогодні досягнення в галузі мікроелектроніки призвели до значного підвищення продуктивності комп’ютерів, а також до суттєвого зниження їхньої вартості. Головним завданням останнього десятиліття XX століття та початку XXI століття стало покращення якості комп’ютерних сервісів, функціональність яких повністю залежить від програмного забезпечення (ПЗ). Розробка програмного забезпечення триває вже понад п’ятдесят років, і за цей час коло задач, які воно здатне вирішувати, а також рівень їхньої складності та способи подання отриманих результатів зазнали істотних змін. Сьогодні розробка програмного забезпечення розглядається через призму технології «S+S» (Software plus Services), ініційованої корпорацією Microsoft у липні 2007 року. Ця концепція передбачає інтеграцію програмного забезпечення та сервісів у єдиний, персоналізований інструмент, доступний з будь-якого місця. Проте, незважаючи на це, створення якісних програмних продуктів досі не стало загальноприйнятою нормою, а універсальних технологій, що дозволяють розробникам створювати надійне ПЗ у рамках заданих витрат та термінів, все ще немає. Причини несправностей сучасного програмного забезпечення надзвичайно різноманітні, що лише ускладнює цю проблему. Окрім того, масштаб проблеми значно зріс: якщо раніше наслідки помилок у неякісному ПЗ обмежувалися одним користувачем або невеликою групою, то тепер ці межі істотно розширилися. Проблеми, які раніше зводилися до повторного виконання певних дій, наприклад, ручного проходження звіту, тепер можуть мати наслідки, що загрожують життю чи смерті цілій організації. Отже, значущість створення високоякісного програмного забезпечення, перш за все, виправдовується економічними причинами. Згідно з різними галузевими стандартами, що регламентують характеристики "якісного" комерційного програмного забезпечення, середня кількість дефектів становить приблизно 6 помилок на 1000 рядків коду, а загальний показник може досягати близько 30 помилок. Як свідчать дані звіту Національного інституту стандартів і технологій США, витрати, пов’язані з неякісним програмним забезпеченням, у Сполучених Штатах налічують мільярди доларів щороку, і, за деякими оцінками, це становить приблизно 1% від національного валового внутрішнього продукту. Оскільки питання якості програмного забезпечення є надзвичайно актуальним, це вимагає змін і вдосконалення в процесі його тестування. Враховуючи, що тестування досі в значній мірі залишається неавтоматизованим, в цій галузі існує потреба в системі, яка, якщо не зможе виконувати тести самостійно, принаймні допоможе тестувальнику в розробці тестових стратегій та дозволить зменшити трудомісткість і час виконання робіт. Для такої системи корисно створити онтологічну модель процесу, яка забезпечить формалізацію знань та понять, а також дозволить повторно використовувати експертні знання. Це, у свою чергу, значно спростить роботу та підвищить ефективність тестування. Отже, розробка системи для онтологічного моделювання процесу тестування програмного забезпечення є важливим кроком у підвищенні ефективності цього процесу. Це дозволить не лише формалізувати знання та поняття в даній сфері, а й сприятиме покращенню стратегії тестування, що, в свою чергу, призведе до зменшення витрат часу і зусиль. Такі системи можуть стати потужним інструментом для тестувальників, забезпечуючи їм необхідні ресурси для оптимізації їхньої роботи. Актуальність теми: Оскільки, як зазначалося раніше, якість програмного забезпечення є надзвичайно важливим аспектом, це свідчить про те, що галузь тестування програмного забезпечення потребує модернізації. Впровадження такої системи внесе новизну в процес тестування, забезпечуючи можливість повторного використання накопичених знань. Це не лише підвищить ефективність тестування, а й дозволить тестувальникам зосередитися на більш складних завданнях, що вимагають творчого підходу, замість рутинних і повторюваних процесів. Об’єкт дослідження: Процес тестування програмного забезпечення. Предмет дослідження: Онтологічні моделі що описують процеси тестування програмного забезпечення. Мета і завдання дослідження: проведення аналізу процесу тестування ПЗ. Тестування програмного забезпечення складається з кількох ключових етапів і підпроцесів. У наступному розділі будуть представлені основні етапи тестування, специфічні терміни, а також рекомендації для розробки онтології в межах відповідної предметної області. Завдання: Розробка системи, що базується на онтології предметної області для тестування програмного забезпечення. Практичне значення отриманих результатів: Розроблена в рамках цієї дипломної роботи система надасть користувачеві можливість глибше усвідомити суть етапів життєвого циклу програмного забезпечення, а також завдання, які постають перед ними на кожному з цих етапів. Завдяки цій системі користувачі зможуть краще орієнтуватися у стандартах, які необхідно враховувати під час тестування. Це не лише підвищить якість тестування, але й сприятиме загальному успіху проекту, оскільки розуміння специфіки кожного етапу життєвого циклу дозволить більш ефективно планувати та виконувати відповідні завдання.