Узагальнення шаблону проєктування MTaaS для будь-яких кінцевих представлень
Метаморфічний зв'язок – це відношення, яке описує, яким чином повинні змінитись вихідні дані при деякій зміні вхідних. Гостро постає питання розроблення програмних інструментів для написання та виконання метаморфічних тестів, архітектур цих інструментів.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | украинский |
Дата добавления | 30.09.2024 |
Размер файла | 216,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Узагальнення шаблону проєктування MTaaS для будь-яких кінцевих представлень
Юсин Яків Олексійович
аспірант факультету прикладної математики
Національний технічний університет України "КПІ ім. Ігоря Сікорського", Україна
Науковий керівник: Заболотня Тетяна Миколаївна
канд. техн. наук, доцент, доцент кафедри ПЗКС
Національний технічний університет України "КПІ ім. Ігоря Сікорського", Україна
Анотація
Забезпечення якості програмних систем досі залишається актуальною задачею в галузі ІТ, адже помилки в програмному забезпеченні можуть призводити до фінансових та/чи репутаційних втрат, створювати проблеми з безпекою, а в найгіршому випадку - і призводити до людських жертв.
На сьогодні розроблено велику кількість методів автоматизованого тестування, одним з таких методів є метаморфічне тестування, в основі якого лежить ідея використання метаморфічних зв'язків - певних відношень між вхідними та вихідними даними, характерних для заданої предметної галузі [1]. Метаморфічний зв'язок - це відношення, яке описує, яким чином повинні змінитись вихідні дані при деякій зміні вхідних. Наприклад, в якості метаморфічного зв'язку для функції множення може виступати таке відношення: якщо один із множників збільшити в 2 рази (зміна вхідних даних), то результат також збільшиться в 2 рази (зміна вихідних даних). Відповідно, метаморфічні зв'язки і складають основу метаморфічних тестів, які перевіряють, чи виконуються задані зв'язки для даного програмного артефакту, чи ні. програмний метаморфічний текст
При цьому гостро постає питання розроблення програмних інструментів для написання та виконання метаморфічних тестів, архітектур цих інструментів, шаблонів проєктування. Одним із таких шаблонів проєктування є шаблон Metamorphic Testing-as-a-Service, запропонований в роботі [2].
Цей шаблон проєктування розроблено для побудови безсерверних застосунків для метаморфічного тестування (адже розподілене виконання метаморфічних тестів значно пришвидшує отримання кінцевого результату [3]) і в його основу покладено ідеї декомпозиції метаморфічного зв'язку на окремі складові та кодогенерації тіл метаморфічних зв'язків та безсерверних функцій (які при ручній реалізації містять багато дубльованого коду). Структурну діаграму шаблону проєктування MTaaS наведено на (рис. 1), де сірим кольором виділені учасники шаблону, які генеруються автоматично.
Рис. 1. Структурна діаграма шаблону проектування MTaaS
Незважаючи на те, що цей шаблон проектування початково розроблено лише для проектування безсерверних застосунків, його можливо узагальнити для проектування застосунків з будь-яким типом запуску та будь-яким зовнішнім контрактом (далі будемо називати це кінцевим представленням). Оскільки проблеми, які вирішує шаблон проектування MTaaS, виникають і при розробленні інших видів застосунків для метаморфічного тестування, це дозволить їх ефективно проєктувати та розробляти.
В узагальненому шаблоні проєктування MTaaS більшість учасників шаблону та порядок їх взаємодії між собою залишається без змін. Замінюються наступні учасники:
- MetamorphicFunction1...MetamorphicFunctionN - ці учасники шаблону MTaaS відповідають безсерверним функціям, які генерують дані для тестування, викликають метаморфічний зв'язок та повертають результат. Відповідно, ці учасники шаблону замінюються на EndViewI.EndViewN - певні кінцеві представлення, які виконують такі самі функції.
- CloudSDK - SDK хмарного провайдера, що використовувався безсерверними функціями, за необхідності змінюються на SDK відповідного кінцевого представлення (якщо такий SDK є).
Відповідно, кодогенератор Codgen генерує кінцеве представлення для кожного наявного метаморфічного зв'язку.
Наведемо орієнтовний перелік (не вичерпний) різноманітних кінцевих представлень, які можливо реалізувати за допомогою узагальненого шаблону проєктування MTaaS:
- Модульний тест - таке кінцеве представлення може знадобитись для локального запуску метаморфічних тестів разом з їх інтеграцією в існуючі інструменти для запуску модульних тестів.
- Консольний застосунок - таке кінцеве представлення може знадобитись для локального запуску метаморфічних тестів у вигляді консольного застосунку.
- Вебзастосунок - у такому випадку для кожного метаморфічного зв'язку генерується код для їх запуску та розгортання всіх тестів у вигляді вебзастосунку.
Висновки
В даній роботі показано, що шаблон MTaaS, розроблений для проєктування безсерверних застосунків, можливо ефективно узагальнити для будь-яких застосунків з різними кінцевими представленнями. Такий узагальнений шаблон MTaaS зберігає свої характерні риси та вирішує ті самі проблеми: необхідність ефективної декомпозиції коду метаморфічного зв'язку на окремі складові та дублювання коду кінцевих представлень. Узагальнений шаблон відрізняється від оригінального тим, що учасники MetamorphicFunction та CloudSDK (специфічні для безсерверного кінцевого представлення) замінені на абстрактні, які представляють будь-яке кінцеве представлення.
Список використаних джерел
1. Chen, T. Y., & Tse, T. H. (2021). New visions on metamorphic testing after a quarter of a century of inception. Proc. of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, (pp. 1487-1490). https://doi.org/10.1145/3468264.3473136.
2. Yusyn, Y. O., & Zabolotnia, T. M. (2022). Metamorphic Testing-as-a-Service: A new design pattern of cloud serverless systems for metamorphic testing. Herald of Khmelnytskyi national university: Technical sciences, 305(1), 107-115. https://doi.org/10.31891/2307- 5732-2022-305-1-107-115.
3. Chen, T., Kuo, F.-C., Liu, H., Poon, P.-L., Towey, D., Tse, T., & Zhou, Z. (2018). Metamorphic testing: A review of challenges and opportunities. ACM Computing Surveys, 51 (1), 1 -27. https://doi.org/10.1145/3143561.
Размещено на Allbest.ru
...Подобные документы
Медична інформаційно-аналітична система "Емсімед". Аналіз програмних, апаратних засобів. Архітектурне проектування автоматизованої системи обліку медичних інструментів. Опис структурної та логічної схеми. Вибір мови програмування, керівництво користувача.
дипломная работа [2,9 M], добавлен 26.07.2013Багатоплановість проблеми тестування, види тестів, схема взаємодії тестуючого з тестувальником. Огляд і можливості деяких сучасних програмних засобів для створення тестів. Технологія створення тестів на прикладі програмного забезпечення MyTestX.
дипломная работа [1,8 M], добавлен 15.06.2014Функціональне моделювання діяльності студії та виявлення задач до автоматизації. Технічне завдання на розроблення автоматизованої системи. Обґрунтування вибору програмних засобів для розроблення системи. Алгоритми рішення, забезпечення виконання функцій.
дипломная работа [2,7 M], добавлен 19.11.2010Розроблення програми управління файловою системою комп’ютера, здатної виконувати стандартні функції над файлами і каталогами, її переваги. Проектування програмних додатків в середовищі Borland Delphi 7. Тестування та налагодження програмних застосувань.
дипломная работа [3,7 M], добавлен 30.09.2013Дослідження середовища проектування та інструментів LabView: створення, редагування і відладка віртуальних інструментів, панелей, надписів. Логіко-функціональна схема роботи користувача, опис інтерфейсу програми. Економічна доцільність розробки продукту.
дипломная работа [1,6 M], добавлен 26.10.2012Обстеження і аналіз фільмотеки. Постановка задачі. Розроблення проекту бази даних фільмотеки. Розробка концептуальної моделі, специфікації програмних модулів, алгоритмів і графічних інтерфейсів програми. Кодування і тестування.
курсовая работа [2,9 M], добавлен 12.07.2007Практичне використання і вживання інструментів мови C для роботи із складними агрегатами даних. Загальний підхід до різних програмних об'єктів: масив і рядок. Використання вказівок при роботі з масивами і рядками. Розробка завдання і алгоритму програми.
лабораторная работа [16,6 K], добавлен 15.02.2011Створення нової бази даних та таблиць MS Access. Пов’язування таблиць та індексування їх за тими полями, по яким створюється зв’язок. Створення запиту на вибірку в режимі конструктора. Створення екранних форм для роботи з даними за допомогою майстра форм.
контрольная работа [26,6 K], добавлен 04.02.2013Програма PageMaker як складова частина лінійки програмних продуктів фірми Adobe. Розгляд діалогового вікна параметрів нового документа. Аналіз інструментів PageMaker. Фрейми як спеціальний тип об'єктів, особливості використання. Етапи створення фреймів.
реферат [1,9 M], добавлен 22.09.2012Встановлення та запуск Exel, вікно Exel та його елементи, екранні форми та елементи управління. Типи форм, що допомагають уводити дані в списки. Обмеження елементів управління панелі інструментів "Форми", їх використання, заповнення екранної форми.
контрольная работа [29,0 K], добавлен 29.10.2009Проблеми процесу тестування програмного забезпечення. Розробка алгоритму автоматичної генерації тестів і тестового набору для ручного виконання. Побудова тестів для системи "Банкомат" і для баг-трекінгової системи, представленої графом із циклами.
дипломная работа [1,2 M], добавлен 26.02.2014Аналіз відомих підходів до проектування баз даних. Ієрархічна, мережева та реляційна моделі представлення даних, їх особливості. Концептуальне проектування: приклад документів, побудова ER-діаграми, модель "сутність-зв'язок". Побудова фізичної моделі.
курсовая работа [541,5 K], добавлен 29.01.2013Змінні головної функції. Універсальна формула для знаходження дня тижня по даті. Зміст вхідних файлів. Ініціалізація графічного драйверу. Знаходження середнього арифметичного елементів отриманого масиву. Набір тестів для налагодження програми.
курсовая работа [28,6 K], добавлен 18.11.2011Математичний опис задачі виконання символьних операцій з многочленами, розробка алгоритмів її реалізації і сама реалізація на одній з версій алгоритмічної мови Pascal, контрольна перевірка правильності. Тестування програми на екстремальних вхідних даних.
контрольная работа [24,1 K], добавлен 20.09.2010Технологія проектування та розробка об'єктно-орієнтованих програм. Використання автоматного підходу при реалізації прикладних програм. Програмні продукти для графічного моделювання кінцевих автоматів. Виконуваний UML та SWITCH-технологія, їх принципи.
курсовая работа [27,1 K], добавлен 23.12.2011Підхід Фліна до класифікації архітектур комп’ютерних систем. Доповнення Ванга та Бріггса до класифікації Фліна. Класифікація MIMD-архітектур Джонсона. Особливості способів компонування комп’ютерних систем Хендлера, Фенга, Шора, Базу та Шнайдера.
реферат [233,7 K], добавлен 08.09.2011Інформаційне забезпечення, вхідні та вихідні дані. Організаційно-інформаційна сутність задачі, програмне та технічне забезпечення. Керівництво користувача, системного програміста. Додаткові значення "userAccountControl". Загальний вид коду реєстрації.
курсовая работа [800,1 K], добавлен 03.01.2014Апаратні особливості та порівняльна характеристика мобільних пристроїв. Огляд програм-аналогів. Інструментальні засоби для реалізації, вхідні та вихідні дані, специфікація вимог, проектування моделі і архітектури програмного забезпечення для Android.
дипломная работа [3,2 M], добавлен 10.06.2014Методика та основні етапи розробки та впровадження бази даних медичних препаратів, правила користування. Властивості та характеристики лікарських препаратів, які повинні бути в базі даних. Головні сутності та типи зв'язків між ними, визначення атрибутів.
курсовая работа [22,3 K], добавлен 22.04.2010Створення програми, яка здатна перетворювати двовимірні зображення у об’ємні. Проект для побудови ландшафтів, отримання фотографій об’єктів під іншим кутом огляду, досліджень поверхонь зрізів матеріалів. Опис алгоритму програми. Вхідні та вихідні дані.
курсовая работа [548,3 K], добавлен 09.06.2010