Доброго дня суток!
Студент. Близятся дедлайны к выбору темы магистерской работы. Работа магистра предполагает какое-то исследование или научную новинку. Очень хотелось бы сделать это иследование в области автоматизации тестирования. Голову уже себе сломал, но ничего толкового не придумал Вынужден обратится к вам.
Можете что-то подсказать по теме?
Всё зависит от вашего учебного заведения и преподавателей. Когда я на дипломную принес код на 200 страниц кода на ассемблероподобном языке (STEP7) по автоматизации конвеерной линии на производстве уменьшающей колличество необходимого персонала для поддержки конвеера в 15 раз, мне сказали что это не работа программиста (затрачено 1 год работы в отделе из 3-х человек), нету математических формул в дипломе. Когда я принес свою библиотеку трехмерных преобразований для использования в 3Д играх, мне сказали, что это тоже не работа программистаЮ не решена какая-то конкретная математическая задача (потрачено 2 года, код на С++ с ускорениями на АСМ). Тогда я плюнул и без кода вообще написал мыльную оперу на 100 страниц безсмысленного текста о том, как смоделировать работу телефона используя UML. Мне апплодировали, поздравляли и говорили что теперь я выполнил всё отлично. А я серьезно говорю, я полную ересь написал, меня просто разозлили, и мне уже было плевать.
Так что, если вы захотите писать какую-то работу, вы можете принести какую-то практическую программу для авто тестирования какого-то онлайн проекта… Либо написать свой тест фреймворк на основе селениума, в который к каждой проверке добавите экстра параметр на выходе и в результат выполнения тестирования будете строить график производительности и ресурсоемкости (ну и в дальнейшем такие наработки пригодятся)… Либо сравнить скорость работы селениума или вебдрайвера на нескольких языках и выдать нам интересный факт о том, в каком же языке получается наиболее быстрый, стабильный код теста, стоит ли отдавать предпочтение какому-то определенному языку программирования или после сравнения разница между ними будет настолько мала, что собственно говоря ответ на вопрос “Так на каком же языке стоит программировать тестировщику” будет прост как “По барабану”.
Вопрос только в том - как ваши преподаватели видят “настоящих специалистов” в своей области. В моем университете, как оказалось, важно было помудозвонить научными фразами, а решение насущных проблем никого не волновало… (окромя пары преподавателей, с которыми я до сих пор общаюсь и поддерживаю хорошие отношения)
Думаю, что для уровня магистерской работы, необходимо выбрать что-то связанное с серверной инфраструктурой для автоматизированного тестирования.
Например, план может быть таковым.
Задача 1. Установка и настройка сервера с пулом виртуальных машин для запуска тестов в веб-браузерах на ПК и на эмуляторах мобильных устройств. Реализовать интересные фичи, например, такие как: генерация отчета, запись видео с экрана и т.д.
Задача 2. Установка и настройка Jenkins для управления автотестами.
Задача 3. Создание простого фреймворка, для демонстрации примеров.
Уточню… это все - в рамках одной магистерской работы.
Главная идея и новшество в п.1. Но его нужно дополнить. Остальные пункты - вспомогательные, для демонстрации результатов работы.