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

Автор: Козак Ілона Михайлівна
Кваліфікаційний рівень: магістр
Спеціальність: Управління ІТ проектами
Інститут: Інститут комп'ютерних наук та інформаційних технологій
Форма навчання: заочна
Навчальний рік: 2021-2022 н.р.
Мова захисту: українська
Анотація: Автоматизоване тестування програмного забезпечення — частина процесу тестування на етапі контролю якості в процесі розробки програмного забезпечення. Воно використовує програмні засоби для виконання тестів і перевірки результатів виконання, що допомагає скоротити час тестування і спростити його процес. Автоматизовані тести є частиною тестового фреймворку. Фреймворк — це набір інструментів для прискореного розроблення продукту, орієнтований на вирішення певних завдань. Перші спроби «автоматизації» з’явилися в епоху операційних систем DOS і CP/M. Тоді вона полягала у видачі додатком команд через командний рядок і аналізі результатів. Трохи пізніше додалися віддалені виклики через API для роботи з мережі. Вперше про автоматизоване тестування згадується в книзі Фредеріка Брукса «Міфічний людино-місяць», де йдеться про перспективи використання модульного тестування. Але по-справжньому автоматизація тестування стала розвиватися тільки в 1980-х роках. Існує багато підходів до автоматизації тестування, однак існують загальні підходи, які широко використовуються. Один з них — це тестування графічного інтерфейсу користувача. Платформа тестування, яка генерує події інтерфейсу користувача, такі як натискання клавіш і клацання миші, і спостерігає за змінами, які призводять до інтерфейсу користувача, щоб підтвердити правильність спостережуваної поведінки програми. Другий — тестування на основі API. Це може бути тестування загальнодоступних інтерфейсів до класів, модулів або бібліотек, які перевіряються за допомогою різноманітних вхідних аргументів, щоб перевірити правильність результатів, які повертаються. Автоматизація тестування дає багато переваг у життєвому циклі програмного забезпечення, таких як: підвищення якості тестування, оскільки під час використання засобів автоматизації людський чинник не впливає на якість тестування; можливість виконання таких видів тестування, які або не можуть бути виконані вручну або вимагають значних витрат (додаткове обладнання, персонал); прискорення процесу тестування без втрати якості, бо проведення того ж обсягу робіт ручним способом займає більше часу; використання засобів автоматизації для тестування дозволяє запускати вже написані скрипти без подальших доопрацювань. Об’єкт дослідження — процес побудови автоматизованого тестового фреймворку. Предмет дослідження — засоби та методи проєктування та розроблення автоматизованого тестового фреймворку. Мета дослідження — забезпечення якості програмного забезпечення шляхом побудови автоматизованого тестового фреймворку, який за допомогою певних інструментів служитиме сховищем core layer (базовий шар) для розширення і використовуватиметься як бібліотека для тестового фреймворку. Для реалізації мети даний артефакт буде розгорнуто у віддаленому репозиторію. Визначено та специфіковано основний процес функціонування системи, що розробляється в інноваційному проєкті, побудовано UML-діаграму діяльності основних підпроцесів та дій, описано вимоги до системи та побудовано UML-діаграму варіантів використання. Визначено та специфіковано класи об’єктів, визначено атрибути класів, методи, що описують поведінку об’єктів класу, побудовано таблицю опису класів, визначено відношення між класами, побудовано таблицю відношень між класами та побудовано UML-діаграму класів об’єктів, які реалізують основні процеси функціонування системи. Розроблено діючий прототип, версію з обмеженим функціоналом. Обрано методологію для проведення системного аналізу, виділено основні сутності системи, описано плюси та мінуси системи, показано об’єкт та предмет дослідження, побудовано діаграми потоків даних, діаграми сутність-зв’язок, діаграми переходів станів. АВТОМАТИЗОВАНИЙ ТЕСТОВИЙ ФРЕЙМВОРК, ТЕСТОВІ ПІДХОДИ, ІНСТРУМЕНТИ ТЕСТУВАННЯ, ВІДДАЛЕНЕ СХОВИЩЕ.