|
Нужны-ли быстрые аксептанс тесты написанные "человеческим" языком?
|
|||
---|---|---|---|
#18+
Привет, подскажите по такому вопросу, насколько вам (в вашей компании например) была-бы интересна (или наоборот не была) система тестирования веб продуктов которая позволяет делать следующие вещи. Я разделил их на две группы - в первой - сами тесты, во второй операционные вопросы. - Позволяет тестировать как HTML так и JavaScript приложения (использует Selenium и соответственно тестировать можно любым браузером) - Использует простой, почти "человеческий" язык для описания тестов (см. примеры ниже). - Не использует в тестах class & id (они иногда требуются, но их использование минимально, см. ниже). - Поддерживает формат Cucumber, можно также их писать на JavaScript или CoffeeScript - Помимо тестов может мониторить также живой сайт, и проверять что с ним все ок. - Запускает тесты в параллельном режиме на десятках машин. - Деплоит ваш продукт или нужную ветку из репозитария, запускает ее с нужным енвайронментом и тестирует. - Деплоит продукт на множество машин, чтобы в параллельном режиме протестировать его быстрее. - Деплоит множество выбранных вами версий продукта в разных енвайронментах и тестирует их в параллельном режиме. - Интеграция с гитхаб, уведомления, и т.п. * По поводу использования class & id: один из способов указать какой именно элемент нам нужен - используя его класс или ID - `click '#add-post-button'`, но, такие вещи делают текст теста похожими на абракадабру, мне больше нравится вариант с `click 'Add Post'` (но если вы предпочитаете использовать ID - это конечно-же тоже поддерживается, на ваше усмотрение). Интересно услышать ваше мнение, насколько такая вешь нужна / не нужна. * Примеры кода ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2014, 00:36 |
|
Нужны-ли быстрые аксептанс тесты написанные "человеческим" языком?
|
|||
---|---|---|---|
#18+
Вроде не интересно. Напишите пожалуйста почему если не сложно, например - "какая-то непонятная ерунда, вообще неясно что она делает и зачем это все нужно" или "вобщем понятно что делает, но нафиг не нужно" или что-то еще. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2014, 03:07 |
|
Нужны-ли быстрые аксептанс тесты написанные "человеческим" языком?
|
|||
---|---|---|---|
#18+
privateВроде не интересно. Напишите пожалуйста почему если не сложно, например - "какая-то непонятная ерунда, вообще неясно что она делает и зачем это все нужно" или "вобщем понятно что делает, но нафиг не нужно" или что-то еще. Лучше вы напишите, чем ваша система лучше уже имеющихся? Откровенно говоря, из ваше поста я не понял, что вы хотите предложить. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2014, 11:47 |
|
Нужны-ли быстрые аксептанс тесты написанные "человеческим" языком?
|
|||
---|---|---|---|
#18+
Тестирование веб приложений, обычных - где страницы создаются на сервере и одно страничных где все работает на javascript'е в браузере. Чтобы сравнить нужно что-то конкретное, например фрагмент существующего теста/спецификации для аксептанс теста веб приложения. Я тогда постараюсь повторить его, и можно будет увидеть отличия. Лучше для одно страничного приложения, их сложне трестировать, ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2014, 15:59 |
|
Нужны-ли быстрые аксептанс тесты написанные "человеческим" языком?
|
|||
---|---|---|---|
#18+
privateТестирование веб приложений, обычных - где страницы создаются на сервере и одно страничных где все работает на javascript'е в браузере. Чтобы сравнить нужно что-то конкретное, например фрагмент существующего теста/спецификации для аксептанс теста веб приложения. Я тогда постараюсь повторить его, и можно будет увидеть отличия. Лучше для одно страничного приложения, их сложне трестировать, Дык, я что ли должен вам пример искать? :) Приведите этот пример сами тут в сравнении с другими системами автоматизации и покажите плюсы вашей системы. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2014, 17:19 |
|
Нужны-ли быстрые аксептанс тесты написанные "человеческим" языком?
|
|||
---|---|---|---|
#18+
Я бы с удовольствием сделал сравнение с такими системами, если бы знал что именно сейчас используется и является популярным. И второе - для чего именно используется. Я лишь примерно знаю какие аналогичные инструменты используют другие. Я конечно могу привести свой рабочий фрагмент кода, но былобы гораздо интересней попытаться решить уже решенную задачу (другим инструментом) и сравнить оба подхода. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2014, 19:19 |
|
Нужны-ли быстрые аксептанс тесты написанные "человеческим" языком?
|
|||
---|---|---|---|
#18+
Возможно у вас есть кусочек кода тестов который не нарушает NDA и можно опубликовать? Мне в первую очередь интересно понять какие задачи решают и с какими проблемами сталкиваются. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2014, 19:21 |
|
Нужны-ли быстрые аксептанс тесты написанные "человеческим" языком?
|
|||
---|---|---|---|
#18+
Собственно у нас Fitnesse используется, то же самое только пишем не на языке, а таблички, а сам код можно писать вообще на "любом" языке. Вообще сама по себе система которую вы тут описываете не акептенс, а просто система. Акептенс тестирование, это часть методологии разработки. Система описанная и предлагаемая вами может выполнять функции системы акептенс тестирования, а может и просто быть фрэймворком интеграционного и/или любого другого вида тестировнаия, я так понимаю. Ну так и не делайте упор на акептансе. Интеграция того же селениума в Fitnesse это дело одного дня = фрэймворк для автотестирования полностью покрывающий необходимости на вёб тестированию. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2014, 20:08 |
|
Нужны-ли быстрые аксептанс тесты написанные "человеческим" языком?
|
|||
---|---|---|---|
#18+
Да, я понимаю что аксептанс это часть целого, просто юнит тесты или тестирование API - оно всегда специфично для проекта, там универсального ничего особо не придумать. Да и инструмкнты там всетаки проще чем с селениумом и имитацией действий пользователя. А аксептанс и имитация действий пользователя - она везде боль менее одинаковая, можно попробовать сделать универсально что-то. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.04.2014, 20:34 |
|
Нужны-ли быстрые аксептанс тесты написанные "человеческим" языком?
|
|||
---|---|---|---|
#18+
Держи немного инфы к размышлению от экспертов по тестированию :) http://software-testing.ru/forum/index.php?/topic/19221-pochemu-ja-ne-ljublju-ogurci-i-fitnes--pljusi-i-minus/ Я в чем-то солидарен с этим мнением, кстати ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2014, 02:01 |
|
Нужны-ли быстрые аксептанс тесты написанные "человеческим" языком?
|
|||
---|---|---|---|
#18+
privateЯ бы с удовольствием сделал сравнение с такими системами, если бы знал что именно сейчас используется и является популярным. И второе - для чего именно используется. Я лишь примерно знаю какие аналогичные инструменты используют другие. Я конечно могу привести свой рабочий фрагмент кода, но былобы гораздо интересней попытаться решить уже решенную задачу (другим инструментом) и сравнить оба подхода. А зачем тебе ПОПУЛЯРНОЕ решение? Решение должно быть в таком виде, в каком оно решает поставленные задачи. И гнаться за BDD или ATTD только потому, что "так щас модна" -- это, на мой взгляд, плохой путь Нужно выбирать тот путь, который даст наибольшую отдачу. Так будет лучше для проекта ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2014, 02:07 |
|
Нужны-ли быстрые аксептанс тесты написанные "человеческим" языком?
|
|||
---|---|---|---|
#18+
privateЯ лишь примерно знаю какие аналогичные инструменты используют другие. Я конечно могу привести свой рабочий фрагмент кода, но былобы гораздо интересней попытаться решить уже решенную задачу (другим инструментом) и сравнить оба подхода. Я бы начал вот с этого http://software-testing.ru/library/testing/functional-testing/1621-dzynya-confetqa-2011 И прикрутил бы к нему Yandex Web Elements. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2014, 02:12 |
|
Нужны-ли быстрые аксептанс тесты написанные "человеческим" языком?
|
|||
---|---|---|---|
#18+
О, спасибо, в яндекс элементах есть классный пример кода на две страницы текста, я покажу как его сделать в четыре строчки. Первый вариант - вообще без хелперов Код: javascript 1. 2. 3. 4.
Но, выглядит не очень, во первых селекторы смотрятся уродливо, во вторых после рефакторинга если разработчики назовут их по другому ваши тесты сломаются. Мне лично нравится такой вариант больше (тесты достаточно умные чтобы понять что от них хотят). Код: javascript 1. 2. 3. 4.
Это будет работать если поле ввода или кнопка на форме всего одна. В случае если будут неоднозначности - например в будущем в форму добавится дополнительное поле или еще одна кнопка - тесты завершатся ошибкой с сообщением что неясно на какую из двух кнопок нужно щелкнуть. Можем явно указать кнопку, но без уродливых закорючек-селекторов а назвав ее по человечески, тогда проблем с неоднозначностью не возникнет вообще (тесты поймут что от них хотят и найдут кнопку по ее человеческому названию). Код: javascript 1. 2. 3. 4.
И наконец последний вариант, если нужно сделать в точности также как у них, это делается вот так (возможность выделения блоков создания хелперов и т.п. - все это легко делается). Код: javascript 1. 2. 3. 4. 5. 6. 7.
Теперь, я скопирую сюда для сравнения тексты того как это делается в яндекс элементах - кода раз в десять больше. Или я упустил какие-то моменты? Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2014, 02:08 |
|
Нужны-ли быстрые аксептанс тесты написанные "человеческим" языком?
|
|||
---|---|---|---|
#18+
Я немного ошибся в версии с шелперами, она будет выглядеть вот так Код: javascript 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2014, 02:11 |
|
Нужны-ли быстрые аксептанс тесты написанные "человеческим" языком?
|
|||
---|---|---|---|
#18+
private, упустил. В яндекс-элементах есть возможность объединения элементов в блоки и кастомизации отдельных веб-элементов. И это все можно прикрутить к обычной PageFactory (на Java паттерн реализован, на C# нужно помучиться) Если Вам нужен код на 4 строчки, проще заюзать какой-нибудь RobotFramework -- там будете программировать описывать тесты на тузмном английском in plain English. Если Вы понимаете, что лежит в подложке Ваших тестов, то в качестве QuickStart для Вашего фреймворка подойдет предложенный мной материал. Если у Вас уже есть фреймворк, или Вы не понимаете, что лежит в подложке Ваших тестов -- игнорируйте непонятные буквы не парьтесь, все будет хорошо ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2014, 02:19 |
|
Нужны-ли быстрые аксептанс тесты написанные "человеческим" языком?
|
|||
---|---|---|---|
#18+
И еще вариант если делать не с кодом а с человеческим языком, если без хелперов Код: plaintext 1. 2. 3.
Или если с хелперами Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2014, 02:19 |
|
Нужны-ли быстрые аксептанс тесты написанные "человеческим" языком?
|
|||
---|---|---|---|
#18+
Насчет тестов на понятном английском -- я высказал свое мнение, привел соответствующий материал. УДАЧИ!!!! ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2014, 02:21 |
|
Нужны-ли быстрые аксептанс тесты написанные "человеческим" языком?
|
|||
---|---|---|---|
#18+
авторВ яндекс-элементах есть возможность объединения элементов в блоки и кастомизации отдельных веб-элементов.Да, в этом фреймворке тоже все это есть. Можно обьединять группы элементов, анонимные или именованные и добавлять методы к отдельным элементам или группе. Если не трудно - приведите пожалуйста сложный пример, я попробую повторить, может действительно что-то упускаю, но пока что из тех примеров что я видел для яндекс элементов - все повторяется, и блоки и кастомизация. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2014, 02:26 |
|
Нужны-ли быстрые аксептанс тесты написанные "человеческим" языком?
|
|||
---|---|---|---|
#18+
С тестами "на английском" я отчасти согласен с приведенным вами мнением. Они не всегда оправданы, не настаиваю на их полезности во всех случаях. Но в случае обычного кода, мне кажется что получается проще, по крайней мере для тех примерах что на странице андекс элементов. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2014, 02:27 |
|
Нужны-ли быстрые аксептанс тесты написанные "человеческим" языком?
|
|||
---|---|---|---|
#18+
авторВас уже есть фреймворк, или Вы не понимаете, что лежит в подложке Ваших тестов -- игнорируйте непонятные буквы не парьтесь, все будет хорошоЯ понимаю как все это работает. Непонятные буквы - имеете ввиду мою нелюбовь к CSS селекторам в коде тестов? :) Я их не люблю не потому-что не понимаю что они значат и как работают, моя основная работа это веб девелопмент и я каждый день провожу с этими селекторами. Но все дело в том что важно в данный момент - во время девелопмента для меня важны селекторы. Но во время тестов мне нужен мощный и компактный язык для описания бизнес-логики. Мне неважно какой именно там селектор нужно нажать - а важно само действие. И селекторы там - совершенно не к месту - они из совершенно другого уровня абстракции. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2014, 02:33 |
|
|
start [/forum/topic.php?fid=36&msg=38627893&tid=1554656]: |
0ms |
get settings: |
15ms |
get forum list: |
6ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
28ms |
get topic data: |
3ms |
get forum data: |
1ms |
get page messages: |
350ms |
get tp. blocked users: |
0ms |
others: | 299ms |
total: | 704ms |
0 / 0 |