Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Автоматизированное тестирование и
СМС
Илья Евлампиев
CMC
•Web + SMS
•Получение кодов, ключей, ссылок
•Уникальность пользователя
•Роботозащищенность
•Обмен устройствами информа...
Web + SMS: SMS gate
•SMS-гейты:
•HTTP GET
•HTTP POST
•SMPP
•На что обратить внимание:
•HTTP ограничения
•Длина http запрос...
Web + SMS: SMS gate
•Как проверить SMS-гейт:
•Посылать HTTP запросы (curl, etc)
•Принять соответствующие смс
•Текст: с нул...
Web + SMS: GSM
•Встраиваемый компонент:
•Отправка http-запроса на авторизацию
•Приходит SMS на реальный номер
•Присланный ...
Шлем SMS с PC
•Подключаем
устройство
к
PC
через
USB
(устанавливаем драйвера если надо)
•Устройство подключается через вирт...
Шлем SMS с PC
Шлем SMS с PC: PDU

•Непосредственно через отправку текста сообщений в
той же кодировке, что и AT-команды можно выполнить
...
Шлем SMS с PC: TP-UD
•TP-UD
•UDHL – длина
•UDH – хедер с информационными элементами
•IEI – тип информационного элемента
•I...
Шлем SMS с PC: API
•Кодирование PDU трудоемкий процесс, т.к. учесть все
особенности спецификации сложно.
•По возможности и...
Шлем SMS с PC: API
PDU: что тестируем
•Любая система, воспринимающая SMS получает TP-UD без
изменений
•Мобильное приложение
•Embedded устройс...
PDU: генерируем
Приложение, позволяющее сформировать или декодировать PDU:
http://www.nobbi.com/pduspy.html

l

l
SMS: безопасность
•Мобильные устройства
•Silent sms (0x40 (TP-PID) )
•Актуализирует запись о вас в HLR регистре
(уточняет ...
SMS: outsource тестирование
•outsource
разработка/тестирование
заграничного
функционала
•Ограничение на регистрацию иностр...
Спасибо за внимание!
Вопросы?
eljah@mail.ru
Upcoming SlideShare
Loading in …5
×

Автоматизированное тестирование и СМС

Презентация доклада Ильи Евлампиева на конференции SQADays-14, Львов 8-9 ноября 2013

  • Be the first to comment

  • Be the first to like this

Автоматизированное тестирование и СМС

  1. 1. Автоматизированное тестирование и СМС Илья Евлампиев
  2. 2. CMC •Web + SMS •Получение кодов, ключей, ссылок •Уникальность пользователя •Роботозащищенность •Обмен устройствами информацией через SMS •Телеметрия •Команды •VAS •Всевозможные приложения с SMS интерфейсом (геолокация, обмен сообщениями с внешними системами)
  3. 3. Web + SMS: SMS gate •SMS-гейты: •HTTP GET •HTTP POST •SMPP •На что обратить внимание: •HTTP ограничения •Длина http запроса •GSM ограничения •Максимальный размер принимаемого гейтом SMS текста
  4. 4. Web + SMS: SMS gate •Как проверить SMS-гейт: •Посылать HTTP запросы (curl, etc) •Принять соответствующие смс •Текст: с нулевым байтом, с переносами строки, со всеми служебными символами •Текст: длина текста на несколько мультиСМС, учесть разные кодировки •Как проверить приложение: •“Замокать” http ответы на контролируемом http сервере •Вернуть все возможные и невозможные http ответы
  5. 5. Web + SMS: GSM •Встраиваемый компонент: •Отправка http-запроса на авторизацию •Приходит SMS на реальный номер •Присланный код доступа вводится отправляется по http и Альтернативных способов получения кода доступа нет. Но надо автоматизировать процесс получения кода и отправки запроса. Как быть?
  6. 6. Шлем SMS с PC •Подключаем устройство к PC через USB (устанавливаем драйвера если надо) •Устройство подключается через виртуальный COM порт, начинает общаться с ним •Можно подключиться к порту через любую терминальную программу, посылать запросы к модему и получать ответы •Команды имеют определенный формат, AT+..., поэтому называются AT-команды •Пример специфичен для конкретного устройства. Нет единого стандарта, который производитель обязан имплементировать, но большинство функций общие: https://www.sparkfun.com/datasheets/Cellular%20Modules/AT_Commands_Reference_Guide_r0.pdf •Можно написать свое приложение, которое будет слать запросы (SMS, USSD). Примеры на различных языках и средах: •http://habrahabr.ru/post/133085/ •http://habrahabr.ru/post/58348/ •http://habrahabr.ru/post/98837/
  7. 7. Шлем SMS с PC
  8. 8. Шлем SMS с PC: PDU •Непосредственно через отправку текста сообщений в той же кодировке, что и AT-команды можно выполнить не в любой среде •Более универсально передать модему сообщение в уже кодированном формате, он передаст его далее (собственно в этом формате данные и передаются в центр SMS и далее получателю) •Основные части SMS_DELIVER PDU согласно спецификации http://www.etsi.org/deliver/etsi_ts/123000_123099/123040/11.05.00_60/ts_123040v110500p.pdf : •SCA – номер SMSC, центра СМС, куда будет отправлена СМС •TPDU – основное сообщение (служебные блоки и само сообщение) •PDU-Type – тип сообщения; определяет структуру данных •TP-MR – номер текущей СМС •TP-DA – номер получателя •TP-PID – индикатора протокола •TP-DSC – схема кодирования данных (7-bit, 8-bit, USC) •TP-VP – время действия сообщения (в течении которого будет доставка) •TP-UDH – длина сообщения •TP-UD – само сообщение
  9. 9. Шлем SMS с PC: TP-UD •TP-UD •UDHL – длина •UDH – хедер с информационными элементами •IEI – тип информационного элемента •IEDL - длина •IED - содержание •Заполнение до октетов •SM – кодированный текст сообщения •Типы информационных элементов: музыка, изображение, порт сообщения. •Особый случай: мультиСМС http://hardisoft.ru/soft/otpravka-dlinnyx-smssoobshhenij-v-formate-pdu/
  10. 10. Шлем SMS с PC: API •Кодирование PDU трудоемкий процесс, т.к. учесть все особенности спецификации сложно. •По возможности используйте существующие API. •SMSLib для Java/.NET http://smslib.org/ •Данное API позволяет кодировать валидные SMS имея на входе текст смс любой длины •API само делит большие тексты на раздельные SMS, само задает SMSC. •API не позволяет посылать невалидные SMS, для внесения неверного формата необходимо редактировать исходный код API •API легко интегрируется в браузерную автоматизацию (Selenium)
  11. 11. Шлем SMS с PC: API
  12. 12. PDU: что тестируем •Любая система, воспринимающая SMS получает TP-UD без изменений •Мобильное приложение •Embedded устройство с GSM-чипом •VAS-системы •Умение склеивать мультиСМС (IEI 00), воспринимать как единое сообщение •“3 поросенка № 1,2 и 4”: никогда не приходящая часть •Общее число частей меньше текущего номера •Умение правильно понимать и правильно игнорировать прочие информационные элементы (музыку, картинки, порты) •Умение обработать СМС спец.типов (флэш, смс-пинг) •Умение обработать СМС с кодировкой SM не соответствующей заявленной •Текст содержит управляющие символы (r, n, t, u0000, u001A)
  13. 13. PDU: генерируем Приложение, позволяющее сформировать или декодировать PDU: http://www.nobbi.com/pduspy.html l l
  14. 14. SMS: безопасность •Мобильные устройства •Silent sms (0x40 (TP-PID) ) •Актуализирует запись о вас в HLR регистре (уточняет местоположение) •Может разрядить вам телефон, т.к. не заметно •Должен подменяться оператором •SMS-spoofing •SMS-гейт подменяет имя отправителя на любое •Оператор подменяет если имя отправителя из его сети •Embedded •VAS и другие системы, передающие тест SMS в web •XSS
  15. 15. SMS: outsource тестирование •outsource разработка/тестирование заграничного функционала •Ограничение на регистрацию иностранных номеров •Невозможность получать СМС на местные номера •Необходим виртуальный номер СМС для получения (ручное и автоматизированное тестирование) •Google Voice: регистрируем (для пользователей из России необходимо авторизоваться через прокси, хотя бы украинское) •Получаем американский номер •На этот номер получаем сообщения; текст сообщения дублируется как почтовое сообщение на gmail •Автоматизация: неофициальное API https://code.google.com/p/google-voice-java/ , любое почтовое API
  16. 16. Спасибо за внимание! Вопросы? eljah@mail.ru

×