Перейти к содержимому

Фотография

Тестовое задание по автоматизации, или постановка мозгов


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 8

#1 TryLala

TryLala

    Новый участник

  • Members
  • Pip
  • 6 сообщений
  • ФИО:Таня

Отправлено 28 мая 2016 - 09:46

Всем привет!

Было получено тестовое задание, звучало таким образом. 

Открыть информационный портал, вручную зарегистрировать аккаунт (привязки к почте не было), собственно навигэйт на почту и проверка входящих писем. Можно было использовать селениум/жабу/тэстнг и мавэн для сборки. Задание пришлось делать в рабочее время, сами понимаете, что не совсем удобно при нагрузке. Потратила час, ответ пришёл за 15 минут. Хотелось бы разобрать варианты, потому что ответ пришёл отрицательный без объяснений.

 

Вот мой вариант:

1 основной метод (собственно, сама проверка), 2 страницы с объектами - для логина и входа на сайт под свои юзером, а также страница под сам почтовый ящик. Проверка также подхватывала исключение, на случай, если ящик пуст/недоступен. Что забыто/упущено? 

 


  • 0

#2 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 28 мая 2016 - 11:57

М.б. код скинешь ?
  • 0

#3 TryLala

TryLala

    Новый участник

  • Members
  • Pip
  • 6 сообщений
  • ФИО:Таня

Отправлено 28 мая 2016 - 15:54

М.б. код скинешь ?

https://www.dropbox....oject.zip?dl=0 
вот сюда залит весь проект архивом) ожидаю разбор полётов


  • 0

#4 aid

aid

    Опытный участник

  • Members
  • PipPipPipPip
  • 448 сообщений
  • ФИО:Николай


Отправлено 28 мая 2016 - 21:05

А что делает ваш тест и как он соотносится с тестовым заданием именно как тест? Да и код без комментариев, вроде написано немного, но он не чистый. Честно признаюсь - я может джаву уже подзабыл, но разве есть условие, при котором выполнится ексепшен? 


  • 0

#5 TryLala

TryLala

    Новый участник

  • Members
  • Pip
  • 6 сообщений
  • ФИО:Таня

Отправлено 28 мая 2016 - 21:13

А что делает ваш тест и как он соотносится с тестовым заданием именно как тест? Да и код без комментариев, вроде написано немного, но он не чистый. Честно признаюсь - я может джаву уже подзабыл, но разве есть условие, при котором выполнится ексепшен? 

Доброй ночи! Задача стояла проверить, сколько в ящике входящих писем, как я понимаю, на само наличие.. В том ящике, по сайту что был указан, было 2 варианта: все входящие и входящие непрочитанные, то есть если они есть, по икспас (удобнее было ими) локатору находим элемент, указывающий количество писем. Но в жабе если по локатору ничего не найдено, летит ошибка, которую нужно обработать эксепшеном)


  • 0

#6 Saga

Saga

    Новый участник

  • Members
  • Pip
  • 37 сообщений
  • ФИО:Maryna Kolesnik
  • Город:Киев


Отправлено 28 мая 2016 - 21:13

Задание предусматривало реализацию теста через ui? Проверка почты через навигейт в браузере - дело неблагодарное, если, конечно, не тестируется веб-версия самой почты.

 

В задании есть две типичные для начинающих ошибки:

1) вердикт по тесту выносится при помощи try-catch, а нужно использовать assertions. 

2) принт в консоль вместо логирования.

Вот что будет, если тест запустят на каком-нибудь CI, как узнать о причинах падения теста?

 

На  SeleniumCamp доступна запись замечательного доклада "Типичные ошибки начинающих писать тесты на WebDriver". Люто рекомендую к ознакомлению.   

 

Дополнение к п.1) Если по локатору может быть ничего не найдено, то делают хинт - ищут коллекцию элементов и проверяют количество элементов в ней. Тогда вместо ексепшена вернется пустая коллекция.


Сообщение отредактировал Saga: 28 мая 2016 - 21:19

  • 0

#7 TryLala

TryLala

    Новый участник

  • Members
  • Pip
  • 6 сообщений
  • ФИО:Таня

Отправлено 28 мая 2016 - 21:18

Задание предусматривало реализацию теста через ui? Проверка почты через навигейт в браузере - дело неблагодарное, если, конечно, не тестируется веб-версия самой почты.

 

В задании есть две типичные для начинающих ошибки:

1) вердикт по тесту выносится при помощи try-catch, а нужно использовать assertions. 

2) принт в консоль вместо логирования.

Вот что будет, если тест запустят на каком-нибудь CI, как узнать о причинах падения теста?

 

На  SeleniumCamp доступна запись замечательного доклада "Типичные ошибки начинающих писать тесты на WebDriver". Люто рекомендую к ознакомлению.   

Уточнения не было и нельзя было задавать вопросы :) Тестируется именно веб, то есть вариантов не было. 

Логирование! Точно. Слабый код, в общем, это основная причина? Претендовала на мида с уклоном в автоматизацию (на текущем месте нет проектов для моего уровня для практики :( ), но я так понимаю, слабовато? 


  • 0

#8 fiatlux

fiatlux

    Новый участник

  • Members
  • Pip
  • 47 сообщений

Отправлено 29 мая 2016 - 09:21

Такие фреймфорки как Selenide сделают код лаконичнее. Ну и как уже было сказано - ассерты и логирование вместо print


  • 0

#9 user12

user12

    Специалист

  • Members
  • PipPipPipPipPip
  • 894 сообщений
  • ФИО:Виктор
  • Город:Минск


Отправлено 30 мая 2016 - 07:27

Saga, это тестовое задание. Поэтому здесь просто тестируется веб - версия самой почты и никто, конечно, ни на каких CI запускать не будет, здесь смотрят код. Только код и ничего больше :)

Логирование - да, но она делает println

 

fiatlux, когда дают тестовые задания, хотят увидеть, как ты умеешь программировать. Если ты сделаешь с помощью селенида, то не совсем понятно, какой твой уровень, м.б. ты просто посмотрел видео "Как начать писать UI тесты за 10 минут"

 

По сабжу:

Сразу бросается в глаза, что чтобы заполнить одно поле, ты используешь сложные конструкции:

WebElement userLogin = driver.findElement(loginField);
userLogin.sendKeys("test_mail2705");

Старайся всегда урлы/логины/пароли(про пароли спорно :)  ) хранить в пропертях

Используй паттерн Page Object, чтобы код в тесте был читабельным в духе DSL

Не делай статитиков

static By inboxUnread

Не называй никогда тестовые методы со слова test "testMailInbox01"

 

Ну и еще очень много чего

 

 

 

Задание пришлось делать в рабочее время, сами понимаете, что не совсем удобно при нагрузке.

 

 

 

Оставайся после работы, лучше потратить 1.5-2 часа, но сделать намного более качественней


  • 1


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных