Виды тестирования мобильных приложенийTYPES OF MOBILE APPS TESTING
Предпосылки мобильного тестирования
Reasons for mobile testing
Наше время – время мобильных устройств. Их количество в мире перевалило отметку в 5 млрд.i в 2017г., при населении земли, примерно в 7,5 млрд. человек. Мобильные устройства используются уже не только для того, чтобы обеспечивать людей мобильной связью, они выполняют все более и более разнообразные функции, начиная от предоставления доступа к сервисам коммуникаций, таким как, мессенджеры, электронная почта, социальные сети и заканчивая платежными функциями, например, Apple или Samsung pay. С развитием интернета вещей и, особенно, мобильной телематики, на мобильные устройства возлагаются функции по управлению различными устройствами и механизмами, автомобилями, дверями, и т.п. Вы можете отслеживать местоположение вашего ребенка, дистанционно запустить двигатель автомобиля или посмотреть через мобильный телефон, кто звонит вам в дверь. На мобильные устройства возлагаются все более критические функции, например, эквайринг или сигнал SOS (e-call) при автомобильной аварии. При таком использовании мобильных устройств повышаются требования к безотказной, корректной работе самого устройства, связи и приложений, которые на нем установлены. Для обеспечения качества работы последних проводится мобильное тестирование.
We live in the era of mobile devices. The number of them exceeded 5 bln i in 2017, while the world population is approximately 7.5 bln people. Mobile devices are already used not only to provide cellular connection to people but they also offer more and more diverse functions from providing access to messengers, email, and social networks to payment functions like Apple and Samsung pay. The development of the Internet-of-Things and, especially, of mobile telematics equipped mobile devices with the control over various devices and mechanisms, such as vehicles, doors etc.You can follow your child's location, remotely start the engine of your car or see who is knocking your door on the screen of your cell phone. Mobile devices are entrusted even more important functions, for example, acquiring or SOS signal (e-call) in the event of a car accident. These ways of using mobile devices set higher requirements to reliable and faultless work of the device, connection and installed applications. Mobile testing is run to ensure the proper operation of the latter.
Тестированию мобильных приложений уже много лет. Как и любое программное обеспечение, даже первые мобильные приложения проходили тестирование в том или ином виде. За время развития мобильных устройств, требования к тестированию мобильных приложений также изменялись, эволюционировали. Связано это с путем развития и усложнения мобильных систем. Если посмотреть на рынок смартфонов и планшетов, то видно огромное разнообразие размеров экранов, процессоров, объемов памяти, версий операционных систем (особенно, это касается Android), устройств ввода. Добавьте, помимо вышеперечисленных факторов различную скорость передачи данных (2G, 3G, LTE, WiFi) и наличие разнообразных технологий, таких как, GPS, акселерометров, гироскопов, которые присущи современным смартфонам и работа с которыми должна быть протестирована. Пример фрагментации устройств можно посмотреть в статистике, публикуемой Google по Android устройствам. Становится очевидным, насколько сложным и разнообразным становится мобильная разработка и мобильное тестирование. Именно поэтому при тестировании мобильных приложений используются сразу несколько отдельных видов тестирования, позволяющих разносторонне протестировать мобильное приложение.
Mobile apps have been tested for many years. As any software even the very first mobile applications were somehow tested. Over the years of development of mobile deices the requirements towards testing of mobile applications were also changing and evolving. The reason for it was the development and complexification of mobile systems. Consider the market for smartphones and tablets. One can find a huge variety of screens, processors, memory volumes, OS versions (this is especially true for Android), and input devices. Add various data rates (2G, 3G, LTE, WiFi) and the availability of different technologies such as GPS, acceleration gages, gyroscopes in all modern smartphones, working with which should be tested. An example of device fragmentation is shown in the statistics published by Google for Android devices. It becomes obvious how complicated and varied the mobile development and testing is becoming. This is why several separate types of testing that allow testing mobile apps thoroughly are used.
Виды мобильного тестирования
Функциональное тестирование
Types of mobile testing
Functional Testing
Как и при тестировании любого программного обеспечения, в тестировании мобильных приложений используется функциональное тестирование, т.е. проверка, что функционал, заложенный в приложение работает и работает в соответствии с предъявляемыми функциональными требованиями. Функциональное тестирование мобильных приложений позволяет убедиться, что вся заявленная в требованиях функциональность работает и никакой дополнительной функциональности не реализовано. При современном функциональном тестировании мобильных приложений зачастую проверяется работа сложных, но интересных модулей, таких как, дополненной реальности или работа акселерометра и гироскопа. Зачастую применяются специфические инструменты для отслеживания передаваемых данных, такие как fiddler или charles.
Similar to testing any software, functional testing is used for mobile devices. In other words, it means checking that the functions of the app work according to the functional requirements. Functional testing of mobile applications ensures that all demanded functionality is present and no additional functionality is introduced. Modern functional testing of mobile apps often involves checking of the operation of complex but interesting modules, for example, of augmented reality or of acceleration gage and gyroscope. Oftentimes specific tools to track the data, such as fiddler or charles are used.
Внешние события
External events
Мобильные устройства имеют одну особенность по сравнению с десктопными и веб системами, они умеют звонить, отправлять смс и ммс т.е. выполнять функции, для которых создавались изначально. При этом, выполнение данных функций не должно мешать работе приложения и наоборот. В ходе тестирования проверяется работа приложения в условиях звонков, приема смс, отсутствия сети или появлении оповещений. При тестировании прерываний важно понимать внутреннюю работу приложения, например, activity life cycle для Android приложений. В тестировании прерываний необходимо предусматривать и проверять максимальное количество различных вариаций.
Compared to desktop and web systems, mobile devices can call, send SMS and MMS, i.e. actually execute the functions they were initially developed for. However, the execution of these functions should not interfere with the work of the application, while the opposite is also true. Testing involves checking the operation of the app with calls, incoming SMS, no network or pop-up notifications. When testing the interruptions, it is important to understand the internal operation of the app, for example, activity life cycle for Android applications. Testing the interruptions demands understanding and checking the maximum number of possible variations.
Тестирование безопасности
Security testing
Данный вид тестирования очень важен для критических приложений, таких как, мобильный банк, страховых приложений или мессенджеров. В ходе тестирования безопасности приложение проверяется на наличие уязвимостей, устойчивости к взлому, возможностям перехвата траффика с целью получения несанкционированного доступа к передаваемой приложением информации. В настоящее время, данный вид тестирования стоит особняком, в ряду прочих видов тестирования. Сотрудники, занимающиеся тестированием безопасности должны иметь специфические знания и навыки, которые отличаются от навыков, которыми обладают специалисты по другим видам тестирования. Этот вид тестирования очень с каждым годом становится все более критичным в связи с все большим распространением интернета вещей (IoT) и повышением доверия к нему со стороны потребителя.
This type of testing is crucial for critical applications such as the mobile bank, insurance apps or messengers. Security testing of the app involves checking for vulnerabilities, crack resistance, possibility pf traffic interception to gain unauthorized access to the information transferred by the app. Nowadays this type of testing is set apart from other types of testing. The employees working with security testing should have special knowledge and skills that differ from the skills of other testing experts. This type of testing becomes more and more important every year as the Internet-of-things (IoT) becomes more and more widespread and the consumers trust it more and more.
Тестирование установки
Installation testing
Тестирование установки мобильного приложения является важной частью комплексного тестирования приложения. Необходимо тестировать чистую установку с нуля, установку поверх предыдущей версии, прерывания и отмену установки приложения. Вполне вероятна ситуация, на начальных стадиях тестирования, когда мобильное приложение, устанавливаемое поверх предыдущей версии будет работать некорректно.
Testing of mobile app installation is an important part of the complex application testing. It is important to test installation from scratch, version upgrade, interruption and cancellation of the app installation. It is highly probable that at the initial testing stages the upgrade of the mobile app will be failing.
Тестирование производительности
Efficiency testing
Для мобильных устройств актуально тестирование производительности. Пользователи мобильного приложения установив его, удалят в большинстве случаев, заметив проблемы производительности, подвисания, медленную работу. При тестировании производительности, в первую очередь, проверяют серверную часть, т.е. бэк, хотя проблемы производительности, бывают вызваны и фронт разработкой, особенно, при использовании специфических SDK.
Efficiency testing is important for mobile devices. The users of a mobile application will most likely delete it if they notice efficiency issues, hanging or slow operation after the installation. Efficiency testing mainly involves testing the server, i.e. the back, although the issues with efficiency may also be caused by the front development, especially, if specific SDKs are used.
Тестирование локализации
Localization testing
Данный вид тестирования аналогичен тестированию локализации на веб или десктопных системах. В ходе тестирования локализации проверяется работа приложения в выбранной стране, переводы текстов, интерфейсов, использование мер, присущих стране локализации. Зачастую, мобильные приложения в определенной стране имеют не просто переводную версию, а версию со значительными отличиями функционала, что может быть связано с культурными или законодательными особенностями страны, а также с наличием в стране собственных технологий и систем (например, системы навигации).
This type of testing is similar to localization testing of web and desktop systems. Localization testing involves checking how the app works in the selected country, the translation of the app, the interfaces, the use of measures specific to the country of localization. Mobile apps in the particular country often differ not only in terms of the translation but also in terms of the functional, which may be caused by cultural or legislative specifics of the country as well as by the availability of domestic technologies and systems (for example, the navigation system).
Тестирование юзабилити
Usability testing
Приложение на мобильном устройстве должно быть удобным для использования, ровно, как и веб или десктоп приложение. Однако, имеет некоторые особенности, связанные с размером экрана, фрагментацией устройств и с ограничениями при работе одной рукой. При тестировании юзабилити на мобильных устройствах используются те же средства и методы, что и при тестировании десктопных систем. Например, подключение средств аналитики и фокус группы. Для тестирования юзабилити неплохо подходит краудтестинг.
The mobile app should be as easy to use as a web or desktop application. However, there are some specifics due to the screen dimensions, fragmentation of the devices and limitations caused by one-hand mode. The methods and tools used for testing desktop systems are employed when testing usability for mobile devices. For example, the use of analytics and focus groups. Crowdtesting is useful for usability testing.
Комплексное тестирование мобильных приложений востребовано при тестировании комплексных приложений, таких как банковские мобильные приложения, приложения телеком операторов, приложения страховых компаний и т.п. В нашей компании мы тестируем как развлекательные приложения, например, мобильные игры, так и приложения, критически чувствительные к ошибкам, например, страховых компаний или мобильной телематики. При мобильном тестировании используются как реальные устройства, в офисе компании, так и арендованные фермы устройств, а также эмуляторы. Помимо функционального тестирования, мы проводим и другие виды тестирования, перечисленные выше.
Complex testing of mobile applications is highly demanded when testing complex apps, foe example, mobile bank applications or applications of insurance companies. We offer testing of both, the entertainment apps, for example, mobile games, and of the applications especially sensitive to errors, for instance the apps of insurance companies or mobile telematics. Mobile testing involves the use of real devices in the office of the company, rented devices, as well as emulators. In addition to the functional testing we offer all other aforementioned types of testing.
Дополнительная информация: Алексей Ким, aleksey[dot]kim@itqc[dot]ru
Additional information: Alexey Kim, aleksey[dot]kim@itqc[dot]ru
2018-04-28
Напишите намSend us an E-mail
Оставьте свои контактные данные, чтобы наши специалисты связались с ВамиPlease leave your contact details and our experts will contact you
Обратная связьCONTACT US
Позвоните нам:Call us: +7 (961) 252 42 22 Или просто задайте интересующий Вас вопрос и оставьте свои контакты, чтобы мы связались с Вами.You can also ask a question and enter your contact details in the form below and we will contact you.
Ваше письмо отправлено!Your letter has been sent!
Мы свяжемся с Вами в ближайшее времяWe will contact you shortly