Разделы портала

Онлайн-тренинги

.
Автоматизация тестирования "по-китайски"
Автор: Баранцев Алексей   
08.11.2008 00:26

Наверняка многие слышали анекдоты про китайцев. Кто не слышал -- приведу пару типичных примеров:

Китайский противотанковый взвод численностью 3000 чел. состоит из 3 отделений по 1000 чел. Задача отделения - разобрать танк противника на части, пока он не выстрелил.

или вот такой:

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

Однако, сказка ложь, да в ней намёк. Некоторое время тому назад мне попались на глаза две интересные заметки:

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

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

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

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

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

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