Цифровой журнал «Компьютерра» № 164 - Коллектив Авторов
Шрифт:
Интервал:
Закладка:
Не все издатели продуктов для Google Play могут позволить себе большой парк тестовых гаджетов для проверки корректной работы своих приложений. Также практика показывает, что разработчикам сложно объективно оценивать свой проект, смотреть на него со стороны пользователя. По этой причине издатели привлекают сторонние команды тестировщиков для сопровождения проекта на протяжении всего его жизненного цикла.
Ошибки допускают все — и начинающие программисты, и опытные команды известных компаний. Например, недавно в сообществе «Хабрахабр» была опубликована статья с целым списком багов и недоработок в приложении «Яндекс.Метро» для смартфонов на ОС Android.
Конечно, никто не может гарантировать корректной работы приложения в ста процентах случаев, это просто нереально. Однако специалисты в области тестирования и юзабилити могут свести количество ошибок к минимуму. Результатом станет высокое качество программного продукта, которое существенно влияет на его рейтинг и ТОП-позиции в магазине Google Play.
Разработчики программных продуктов для ОС Android могут выполнять комплексную проверку качества или концентрироваться на отдельных задачах: функциональном, автоматизированном, нагрузочном, стрессовом или на юзабилити-тестировании. Остановимся на этом вопросе подробнее.
Функциональное тестирование позволяет проверить приложение на соответствие требованиям в спецификации. В рамках этой задачи можно проводить полное тестирование или проверить только базовые функции. Один из самых распространённых способов функционального тестирования — это метод чёрного ящика. В этом случае приложение исследуется с точки зрения внешнего мира, то есть специалист не использует информацию о внутреннем устройстве программы.
После исправления ошибок в продукте или реализации новых функциональных возможностей в продукте может проводиться регрессионное тестирование. Оно позволяет обнаружить ошибки в уже протестированных участках исходного кода, это так называемые регрессионные баги (они появляются в тех функциях приложения, которые стабильно работали до внесения изменений).
Ещё один интересный тип тестирования — интеграционное. Именно оно гарантирует корректную работу программы на устройствах с различными параметрами. Команда тестировщиков использует различные модели планшетов и смартфонов под управлением ОС Android. Важно понимать, что программные эмуляторы не могут полностью заменить работу настоящих устройств, поэтому без своего парка тестовых гаджетов реализовать такой проект будет довольно сложно.
Все виды тестирования приложений, которые выполняются при помощи специальных программно-аппаратных инструментов, относят к автоматизированному тестированию. Очевидное достоинство этого метода — сравнительно низкие затраты. Например, проверку очередной сборки программы можно запустить на ночь на всех доступных устройствах, а утром проанализировать результаты и исправить ошибки.
Автоматизированные тесты позволяют проверить многие параметры приложения: инсталляцию и удаление приложения, реакцию на команды пользователя и системные события, элементы интерфейса и вид приложения в зависимости от положения датчиков. Для проверки всей этой функциональности используются следующие популярные инструменты автоматизированного тестирования:
Monkey для стресс-тестирования;
Adb для быстрого управления;
Monkeyrunner для тестирования с реализацией скриптов на Jython (Python на языке Java);
тестовые проекты на языке java.
Также весьма полезными могут оказаться нагрузочное и стрессовое тестирование. Первое позволяет исследовать запас производительности системы, а второе тестирует работу приложения в режиме перегрузки и сбоев, то есть определяет производительность при заведомо ограниченных ресурсах.
И последний распространённый тип проверки Android-приложений — юзабилити-тестирование. Это анализ интерфейса и выявление узких мест в дизайне с точки зрения конечного пользователя и целей, которые были поставлены при разработке. По результатам составляется список рекомендаций по улучшению интерфейса, а после внесения изменений проводится новый этап тестирования.
В некоторых случаях команды разработчиков пытаются сокращать бюджет всего проекта по разработке программного продукта за счёт тестирования. Насколько это обоснованно? На этот вопрос помогает ответить исследовательское тестирование — первичное изучение функциональности и качества Android-приложений. Бюджет такой задачи может составлять от 200 до 400 долларов. По её результатам можно будет понять, нужно ли проводить более углублённое тестирование.
В любом случае, разработчики и владельцы Android-приложений должны быть уверены в том, что их программа будет корректно работать на любых типах смартфонов и планшетов под управлением этой ОС. Это одна из составляющих успеха на рынке Google Play.
Об авторе: Дмитрий Куриленко — руководитель отдела тестирования и обеспечения качества инновационной компании Promwad.
К оглавлению
Восемь угроз вашему мобильному банку. Советы, как не потерять деньги
Максим Букин
Опубликовано 13 марта 2013
Управлять своими деньгами с помощью компьютера и смартфона достаточно просто — из экзотической новинки такие сервисы превратились в стандартный сервис большинства крупных финансово-кредитных учреждений РФ. Все проблемы пользователей таких систем, связанные с потерей денег, возникают в результате целенаправленных атак весьма просвещённых компьютерных бандитов. Полностью от них защититься нельзя, но снизить угрозу «вскрытия» своего банковского счёта — реально.
Несмотря на то что смартфонов и «мобильных» пользователей интернет-банками больше, чем тех, кто осуществляет доступ с компьютера, чаще всего атакам подвергаются именно версии систем дистанционного банковского обслуживания, которые установлены на обычных компьютерах. Дело в том, что эти системы базируются на распространённых операционных системах, для которых существует огромное число специально «заточенных» компьютерных вирусов. Со смартфонами ситуация другая. Несмотря на то что смартфон всё-таки можно потерять, приложение «мобильного банка» ничего особенно не скажет злоумышленнику — пара логин/пароль там не хранится, никаких логов активности не ведётся, а шифрования передаваемых данных в целом достаточно для того, чтобы клонировать такие системы с пользовательскими данными было нереально. Так что «карта угроз» здесь совсем другая. Корпоративных счетов здесь обычно нет, чаще всего таким доступом пользуются только частники, и уровень общей безопасности (как, впрочем, и величина среднего остатка по счёту) не особенно велик.
Кейлоггеры
Если нельзя взломать, то можно подсмотреть — именно такой принцип используют компьютерные взломщики достаточно часто. Самое ценное в любом смартфоне — это информация, введённая пользователем. В отличие от компьютера, много текстовых данных со смартфона утащить не получится — достаточно сложно что-то набивать пальцем даже на большом сенсорном экране. Поэтому кейлоггеры — специальные программы, которые записывают в память устройства все нажатия клавиш для последующей передачи злоумышленникам, здесь используются часто. Поступают они на устройства чаще всего как «добавка» к какому-либо вполне респектабельному приложению, которое было взято из сомнительного источника. А данные отправляют по беспроводной сети, к которой пользователь и так подключён круглые сутки. Достаточно определить запуск программы-клиента для мобильного банка, и можно начинать сканирование и передачу данных. Из-за их небольшого объёма отправку таких пакетов на удалённый веб-сервер злоумышленников никто и не заметит.
Подмена SIM-карты
Конечно, только логин-пароль для большинства банков не подходит: нужны дополнительные коды подтверждения операций. Особенной любовью у злоумышленников пользуются те системы, где одноразовые коды для подтверждения операций приходят вам прямо на SMS. Получить копию вашей SIM-карты вполне реально — достаточно сдать «левую» нотариальную доверенность для смены идентификационного модуля (оператор связи обычно нотариусу для проверки не звонит) или нарисовать нужный паспорт (но это будет дорого). А чаще — просто подкупить сотрудника фирменной розничной сети оператора связи. И вуаля, можно работать — логин-пароль известны, SIM-карта есть. Обычно все подобные операции проводятся стремительно — получили дубликат симки и сразу начинаем «потрошить» интернет-банк конкретного пользователя с выводом средств на другие счета. И ведь ему даже SMS-уведомления не будут приходить: некуда. В таком случае может спасти, конечно, автоматическое уведомление по электронной почте и привычка регулярно звонить по своему мобильнику. Если «сеть не найдена», то впору поменять SIM-карту самому как можно скорее или хотя бы заблокировать её до вашего персонального обращения в офис оператора связи.