Pull to refresh

Автоматизация тестирования «по-китайски»

Reading time2 min
Views2.2K
Наверняка многие слышали анекдоты про китайцев. Кто не слышал — приведу пару типичных примеров:
Китайский противотанковый взвод численностью 3000 чел. состоит из 3 отделений по 1000 чел. Задача отделения — разобрать танк противника на части, пока он не выстрелил.

или вот такой:
Сегодня в провинции Шаньдунь сдана в эксплуатацию новая мощная электростанция. Принцип действия: три миллиона китайцев бегают по эбонитовому полу в шерстяных носках.

Однако, сказка ложь, да в ней намёк. Некоторое время тому назад мне попались на глаза две интересные заметки:
  • Китайская поисковая система Baidu запустила сервис голосового поиска. Конечно же китайцы не стали заморачиваться разработкой технологии распознавания речи. Всё проще — на том конце сидят специально обученные операторы, которые принимают запрос, «распознают» его, выполняют поиск и сообщают результаты заказчику либо по SMS, либо голосом.
  • Распознавание каптчей. Распознавание текста конечно задача не настолько сложная, как распознавание речи. Однако на каптчах текст специально деформирован и замусорен, чтобы усложнить распознавание. При этом способы замусоривания придумывать и реализовывать проще, чем способы распознавания. Однако каптчи всё таки делаются для того, чтобы человек мог распознать текст, а робот не мог. Следовательно, надо просто нанять много низкооплачиваемых китайцев (ну или индусов), которые будут сидеть и целый день заниматься распознаванием.

Такой способ организации работы получил название краудсорсинга, и спектр применения его становится всё шире. Наш мир превращается в огромный распределённый супербиокомпьютер, в котором роль процессоров выполняют люди. Это очень хорошие процессоры, они могут решать такие задачи, которые обычным компьютерам пока не под силу, а роль традиционных информационных систем сводится к тому, чтобы обеспечить связь между этими человеко-процессорами.

И вот с того времени меня неотступно стала терзать мысль, что автоматизация некоторых видов тестирования — это вполне подходящая задача для такого супербиокомпьютера. Функциональное тестирование, конечно, не получится так автоматизировать, потому что хорошего распараллеливания сложной задачи на много «процессоров» добиться непросто. Но есть же нагрузочное и конфигурационное тестирование, там распараллеливание происходит естественным образом.

Да, есть такие сервисы!

uTest предлагает услуги по функциональному и нагрузочному тестированию приложений. А появившийся чуть позже Litmus нацелен на конфигурационное тестирование веб-сайтов.

Я не знаю, как в действительности работает Litmus, но вот как мне это представляется. Поступает на тестирование сайт, он отправляется на первый, ведущий, человеко-процессор, который в каком-то одном браузере, скажем, IE 7, проходит по сайту, строит и записывает цепочки, сохраняет эталоонные скриншоты. После этого сайт раздаётся одновременно на много других процессоров, каждый из которых проходит те же самые цепочки и сравнивает наблюдаемый результат с эталонными скриншотами. При этом в полной мере задействуется способность человека к нечёткому сравнению картинок, ведь абсолютно точного попиксельного соответствия отображения страниц в разных браузерах добиться не удастся, да это и не нужно. Ну и в конце результаты собираются со всех процессоров и клиент получает общий отчёт. Вуаля! Супербиокомпьютер в действии.

P.S. Кросспост
Tags:
Hubs:
+6
Comments8

Articles