Проект інформаційної системи автоматизації веб додатків
Автор: Сало Олена Василівна
Кваліфікаційний рівень: магістр
Спеціальність: Управління ІТ проектами
Інститут: Інститут комп'ютерних наук та інформаційних технологій
Форма навчання: заочна
Навчальний рік: 2020-2021 н.р.
Мова захисту: українська
Анотація: Сало О.В., Василюк А.С. (керівник). Проект інформаційної системи автоматизації веб додатків. Магістерська кваліфікаційна робота. – Національний університет «Львівська політехніка», Львів, 2020. Розширена анотація. Графічний інтерфейс користувача (GUI) став найбільш звичним способом взаємодії з програмним забезпеченням. Графічний інтерфейс реагує на різні дії користувача, такі як клацання миші та натискання клавіш. Це дозволяє користувачеві спілкуватися з веб додатком. Дослідження показало, що до 60% загального програмного коду було використано для реалізації графічного інтерфейсу. Однак останніми роками підхід до тестування графічного інтерфейсу на перевірку функціональної коректності програмного забезпечення значним чином нехтується. Правильне тестування графічного інтерфейсу може суттєво внести свій внесок у рівень безпеки, надійність та зручність використання всієї програми. Зростаючий попит на автоматизацію тестування інтерфейсу користувача спричинив розробку багатьох інструментів. Дослідники та розробники постійно працюють над подальшою імпровізацією існуючих підходів. Якщо подивитися на еволюцію тестування графічного інтерфейсу, можна спостерігати чіткий прогрес від ручного тестування до повної автоматизації. Було застосовано численні підходи до автоматизації процесу тестування графічного інтерфейсу. Інструменти запису та відтворення, методології, що керуються ключовими словами, стратегії ії дослідження потоку подій, підходи, засновані на моделях, постійно розвиваються з вищим рівнем автоматизації. Так само з’являються нові ідеї та стратегії для підвищення ефективності цих тестів. Оптимізація цієї ресурсоємної діяльності є ще одним дуже важливим аспектом у цій галузі. Залежності між різними тестами можуть створювати тупикові сценарії під час запуску більших наборів тестів. Для боротьби з такими залежностями можна використовувати концепцію впорядкованого тестового набору. Слідом за ініціативою Model Driven Architecture від Object Management Group, нова глобальна тенденція Model Driven Engineering створює великий фурор у галузі розробки програмного забезпечення на основі моделей. Використовуючи той самий принцип, також були проведені дослідження для автоматичного генерування тестів з моделей. Поведінкові моделі можна створювати, використовуючи підходи, керовані моделями, і ці моделі можна аналізувати для автоматичного формування тестів. У цій магістерській роботі розглядаються різні підходи до автоматизації тестування графічного інтерфейсу користувача, деякі питання оптимізації та рішення, тематичне дослідження, проведене в компанії-розробнику програм для автоматизації тестування інтерфейсу користувача, та модельний підхід для автоматичного формування тестових кейсів. Найголовніша причина, по якій команди розробників прагнуть до автоматизації, складається в тому, що ручне тестування забирає дуже багато часу. У міру зростання web-додатки час на його повне тестування також зростає, в залежності від складності тестової програми. Крім того, існує велика кількість різних версій браузерів, які активно розвиваються і стають на заваді для підтримки перехресності браузерів web-додатків. На практиці засоби тестування графічного інтерфейсу використовують два основних підходи. Першим і найпопулярнішим підходом є використання мови на основі сценаріїв, таких як JFCUnit, 1 Selenium Web Driver, 2 Robotium, 3 Abbot, 4 або SOAtest5 для ручного створення модульних тестових кейсів для графічних інтерфейсів. У цій роботі стверджено, що складний характер та поширене використання сучасних графічних інтерфейсів вимагає гнучкої підтримки інструменту для тестування. Гнучкий інструмент тестування графічного інтерфейсу дозволить тестер для адаптації можливостей інструменту до потреб конкретних програм. Тестер, знаючи тонкощі графічного інтерфейсу, зміг би налаштувати алгоритми інструменту, маючи можливість використовувати інструмент як частину більшого тестого нобору. Отже, на сьогоднішній день актуальною завданням є пошук методів автоматизації тестування web-додатків з метою спрощення ручних перевірок і зменшення матеріальних витрат на розробку програмного забезпечення. Об’єкт дослідження. Процес розробки проєкту інформаційної системи автоматизації веб додатків. Предмет дослідження. Методи та засоби для розробки проекту інформаційної системи автоматизації веб додатків. Мета і задачі дослідження. Мета дослідження полягає в розробці проєкту інформаційної системи автоматизації веб додатків, що буде забезпечувати ефективний алгоритм проєктування і впровадження автоматичних тестів на етапі активної розробки, а так само в застосуванні отриманих результатів на практиці. Для досягнення поставленої мети в магістерській роботі необхідно вирішити наступні завдання: • вивчити додатки для тестування; • визначити мету тестування і вивести критерії ефективності автоматизації; • ознайомитися з існуючими засобами та методиками автоматизації; • вивести алгоритм розробки ефективних автоматичних тестів з найменшими витратами; • реалізувати отриманий алгоритм на прикладі. Результат дослідження. Розроблена система може використовуватися для тестування графічних інтерфейсів. Це простий програмний путівник, призначений для почакового рівня інженерів автоматизованого тестування. Він допоможе початківцю на ранніх етапах проекту запровадити автоматизацію, а для більш досвідчених інженерів розвинути цей путівник і покращити процеси тестування. Ключові слова: автоматизоване тестування, графічний інтерфейс користувача, web-додатки, ручне тестування, сценарії, тести, моделі тестування. Перелік використаних літературних джерел. 1. Avasarala S. Selenium WebDriver Practical Guide / Avasarala S. – Birmingham: Packt Publishing, 2014 – 264 c. – ISBN 978-1-78216-885-0 2. Barbara Liskov with John Guttag (2000). Program Development in Java - Abstraction, Specification, and Object-Oriented Design. USA, Addison Wesley. ISBN 9780201657685. 3. Binstock, Andrew (May 20, 2015). "Java’s 20 Years of Innovation". Forbes. Archived from the original on March 14, 2016. Retrieved March 18, 2016. 4. Burns D. Selenium 2 Testing Tools: Beginner’s Guide / Burns D. – Birmingham: Packt Publishing, 2012. – 437 c. – ISBN 978-1849518307. 5. Graham D. Experiences of Test Atomation. Case Studies of Software Test Automation / D. Graham, M. Fewster – Boston: Addison-Wesley, 2012. – 114 c. – ISBN 0-321- 75406-9. 6. IEEE Standard Glossary of Software Engineering Terminology IEEE Std 610.12-1990 7. Java 5.0 added several new language features (the enhanced for loop, autoboxing, varargs and annotations), after they were introduced in the similar (and competing) C# language. [1]Archived March 19, 2011, at the Wayback Machine [2]Archived January 7, 2006, at the Wayback Machine 8. Osherove R. The Art of Unit Testing / Osherove R. – Connecticut: Manning, 2014. – 296 c.– ISBN 978-1617290893. 9. Salunke S. S. Selenium Webdriver in Java: Learn with Examples / Salunke S. S. – CreateSpace Independent Publishing Platform, 2014. – 98 c. – ISBN 978-1495494222. 10. Selenium WebDriver [Електроннии? ресурс]: – Режим доступу: http://www.aosabook.org/en/selenium.html – Назва з екрану.