Согласно анализу, проведенному компанией iKS-Consulting, по итогам 2018 года российский рынок облачных услуг вырос на 25% по сравнению с 2017 годом и достиг 68,4 млрд руб. Основной объем рынка — до 70% — приходился на сегмент “Software as а 8еплсе”-платформы. По предположительным данным в ближайшие годы этот рынок будет расти в среднем на 23% в год и по итогам 2022 года может достичь 155 млрд руб. В связи с ростом востребованности облачных сервисов и увеличения бюджета, выделяемого на данную область, можно сказать, что сфера облачных IT-технологий будет стремительно развиваться в ближайшие 3 года [1].
По данным компании IDC самой распространенной облачной моделью является SaaS-платформа [2]. В данной среде предоставляется возможность для хранения персональных данных, офисный пакет документов для работы (Google Doc, Office 365 и др.), удаленное управление, безопасное разделение данных для корпоративной разработки.
Однако данные платформы имеют ряд недостатков:
• данные, которые были перемещены в мусорную корзину, удаляются по истечении определенного количества дней без возможности восстановления (Office 365 хранит данные 30 дней, SharePoint и OneDrive от 30 до 90 дней [3]);
• нет резервного восстановления данных от случайного удаления данных пользователем или злоумышленником, которые были в мусорной корзине.
Для устранения данных недостатков используются облачные сервисы, которые предоставляют возможность для резервного копирования данных из SaaS-платформ. Данные сервисы обладают следующими функциональными особенностями:
1. Backup (резервное копирование данных);
2. Restore (восстановление данных);
3. Export (экспортирование данных);
4. Item level restore/export (выборочное выполнение restore/export).
Все вышеперечисленные функции взаимодействуют с
пользовательскими данными, следовательно, облачные сервисы должны придерживаться принципа сохранения целостности данных, который является одним из основных принципов стандарта об информационной безопасности ISO 27001 [4]. Для того, чтобы обеспечить точность и полноту пользовательских данных необходимо проводить тестирование. Для поддержания целостности данных важно, чтобы в основных операциях, использующих информацию пользователей, не происходил регресс. В основном это происходит при добавлении нового функционала системы. Поэтому принято проводить регрессионное тестирование.
Регрессионное тестирование — это набор тестов, направленных на обнаружение дефектов в уже протестированных участках приложения [5]. Однако стоит вопрос в применении методов автоматизации для данного типа тестирования, так как из ежегодного отчета World Quality Report (2018-19) следует, что необходимо максимально автоматизировать регрессионное тестирование [6]. Так, например, компания, занимающаяся тестированием ПО “alqa”, смогла на 40% уменьшить трудозатраты, внедрив автоматизацию в регрессионное тестирование [7]. Однако в сфере тестирования облачных сервисов автоматизация регрессионного тестирования остается открытой задачей.
Таким образом, целью данной дипломной работы является создание инструмента для автоматизации регрессионного тестирования облачных сервисов, позволяющих хранить данные SaaS-платформ для восстановления информации в случае её утраты.
В результате выполнения данной дипломной работы был разработан инструмент автоматизации регрессионного тестирования облачных сервисов для организации тестирования следующих функциональных возможностей:
• резервное копирование данных;
• восстановление данных;
• экспортирование данных.
Для достижения поставленной цели были выполнены следующие задачи:
1. проанализированы программные решения, которые поддерживают основные функции SaaS-платформ для определения требований к программному решению;
2. разработаны тестовые сценарии, проверяющие базовые функции облачных сервисов;
3. реализованы программные модули для автоматизации тестирования;
4. разработана библиотека для регрессионного тестирования облачных сервисов.
Данный инструмент был применен для автоматизации регрессионного тестирования в компании CloudAlly и в ходе тестирования были обнаружены две ошибки в тестируемом программном продукте.
Результаты выполнения данной выпускной квалификационной работы опубликованы в открытом доступе в репозитории GitLab и доступны по ссылке: http ://gititis.kpfu.ru/NRSaitgareev/SaaSAutoTest.git.