:: ECONOMY :: ОСОБЛИВОСТІ ТЕСТУВАННЯ СИСТЕМ ШТУЧНОГО ІНТЕЛЕКТУ :: ECONOMY :: ОСОБЛИВОСТІ ТЕСТУВАННЯ СИСТЕМ ШТУЧНОГО ІНТЕЛЕКТУ
:: ECONOMY :: ОСОБЛИВОСТІ ТЕСТУВАННЯ СИСТЕМ ШТУЧНОГО ІНТЕЛЕКТУ
 
UA  RU  EN
         

Світ наукових досліджень. Випуск 36

Термін подання матеріалів

17 грудня 2024

До початку конференції залишилось днів 0



  Головна
Нові вимоги до публікацій результатів кандидатських та докторських дисертацій
Редакційна колегія. ГО «Наукова спільнота»
Договір про співробітництво з Wyzsza Szkola Zarzadzania i Administracji w Opolu
Календар конференцій
Архів
  Наукові конференції
 
 Лінки
 Форум
Наукові конференції
Наукова спільнота - інтернет конференції
Світ наукових досліджень www.economy-confer.com.ua

 Голосування 
З яких джерел Ви дізнались про нашу конференцію:

соціальні мережі;
інформування електронною поштою;
пошукові інтернет-системи (Google, Yahoo, Meta, Yandex);
інтернет-каталоги конференцій (science-community.org, konferencii.ru, vsenauki.ru, інші);
наукові підрозділи ВУЗів;
порекомендували знайомі.
з СМС повідомлення на мобільний телефон.


Результати голосувань Докладніше

 Наша кнопка
www.economy-confer.com.ua - Економічні наукові інтернет-конференції

 Лічильники
Українська рейтингова система

ОСОБЛИВОСТІ ТЕСТУВАННЯ СИСТЕМ ШТУЧНОГО ІНТЕЛЕКТУ

 
22.05.2023 14:43
Автор: Карпенко Вячеслав Васильович, кандидат технічних наук, Національний технічний університет «Харківський політехнічний інститут»; Ткачов Владислав Олексійович, студент, Національний технічний університет «Харківський політехнічний інститут»; Прищепа Ігор Вікторович, студент, Національний технічний університет «Харківський політехнічний інститут»
[2. Інформаційні системи і технології;]

ORCID: 0000-0002-8378-129X Viacheslav Karpenko

Тестування програмного забезпечення є однією із досить старих та добре розроблених областей програмної інженерії. Існує багато класичних праць з опису технологій і методів тестування, які широко використовуються для тестування звичайних програмних додатків [1]. Звичайно існуючі підходи до тестування дозволяють отримати програмні продукти з високим рівнем якості, що дозволяє використовувати їх у таких критичних сферах як медицина, транспорт, керування виробництвом, фінанси. Але останнім часом все більшого поширення набувають програмні системи з елементами штучного інтелекту, у яких він є головною частиною програмного додатку. Загальновідомими прикладами можна вважати ChatGPT  або машини з автопілотом (Self-driving car). Для таких систем проблема тестування постає у новому ракурсі – бо ціна помилки може бути дуже значною, а традиційні методи тестування не можуть забезпечити належної якості. Як приклад проблеми якості тестування  штучного інтелекту можна навести відомий випадок коли ChatGPT  видав посилання на неіснуючу публікацію у The Guardian, яку він сам і вигадав, хоча звичайно у цьому випадку не було критичних втрат від помилки у результатах роботи системи штучного інтелекту. Але дуже просто можна уявити абстрактну ситуацію з можливими критичними наслідками, наприклад якщо той же автопілот у дорожній ситуації повинен бути обирати між зіткненням з зображенням людини на плакаті чи з людиною-аніматором у костюмі роботу, і при цьому зробить помилку у виборі. Або простим прикладом важливості результатів роботи програми буде  медична експертна система, яка видає якісь рекомендації для лікування хворого. Очевидно, що у таких ситуаціях наслідки помилки системи штучного інтелекту будуть критичними. Таким чином зрозуміло що стрімке проникнення штучного інтелекту у різні сфері людської діяльності вимагає врахування його особливостей при тестуванні відповідних програмних додатків.

Розглянемо проблеми застосування звичайних методів тестування до додатків зі штучним інтелектом докладніше. Однією з самих відомих і досить простих технік  тестування є еквівалентне розділення (equivalence class testing), але для систем штучного інтелекту виникає нетривіальна ситуація коли наприклад у випадку неправильного розпізнавання системою образів об’єкт буде помилкового віднесений до не свого класу еквівалентності. Тоді подальші відповідні дії з ним не повинні привести до негативних наслідків – як у прикладі вище з керуванням автомобілем. Очевидно, що тестувальнику потрібно створювати додаткові тести до перевірки таких, хоча й малоймовірних, але все ж можливих ситуацій. 

Іншою добре відомою і простою технікою тестування є аналіз граничних значень (boundary value analysis). Розглянемо випадок коли цю техніку потрібно застосовувати для перевірки вихідних значень якоїсь величини, котра у програмі обчислюється нейронною мережею. Але є очевидним що навчена нейронна мережа може моделювати якусь нелінійну функцію з заздалегідь невідомими екстремумами. Відповідно може існувати комбінація вхідних даних, що зумовить отримання вихідного результату за межами тестування, отже виникає питання безпечності застосування отриманих від такого додатку даних.

Ще однією проблемною технікою стає попарне тестування (pairwise testing). Дуже часто системи штучного інтелекту аналізують десятки факторів, у таких випадках тестування повного перебору факторів є досить складною задачею, але замінити його попарним тестуванням є ризикованим спрощенням, бо можна не виявити всі варіанти поведінки додатку.

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

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

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

Перспективним напрямком у тестуванні є застосування інструментів штучного інтелекту для виконання задач тестування [2]. Але у цьому випадку одночасно зі значним підвищенням ефективності тестування виникає цікава проблема як одна система штучного інтелекту взаємодіє з іншою, та на скільки тестувальник може покладатись на отримані таким чином результати.

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

Список використаних джерел:

1. Cem Kaner, Rebecca L. Fiedler Foundations of Software Testing Context -Driven Press, 2013. – 242 p.

2. Adam Leon Smith, Rex Black, James Davenport, Joanna Olszewska, Jeremias Rößler, Jonathon Wright Artificial Intelligence and Software Testing Publisher(s): BCS, The Chartered Institute for IT, 2022. – 150 p.

Creative Commons Attribution Ця робота ліцензується відповідно до Creative Commons Attribution 4.0 International License

допомогаЗнайшли помилку? Виділіть помилковий текст мишкою і натисніть Ctrl + Enter


 Інші наукові праці даної секції
ІНТЕЛЕКТУАЛЬНА СИСТЕМА РЕГУЛЮВАННЯ ТРАФІКУ (АДАПТИВНЕ ПЕРЕМИКАННЯ СВІТЛОФОРІВ)
23.05.2023 21:41
ДИСТАНЦІЙНЕ НАВЧАННЯ, ЯК ЄДИНИЙ ІНСТРУМЕНТ ЗДОБУВАННЯ ВИЩОЇ ОСВІТИ В УМОВАХ ВОЄННОГО СТАНУ В УКРАЇНІ
23.05.2023 11:56
ІНФОРМАЦІЙНА СИСТЕМА ПРОВЕДЕННЯ ПРОЦЕСУ LIVENESS DETECTION ЗА ДОПОМОГОЮ AWS
18.05.2023 00:22




© 2010-2024 Всі права застережені При використанні матеріалів сайту посилання на www.economy-confer.com.ua обов’язкове!
Час: 0.169 сек. / Mysql: 1599 (0.13 сек.)