202
Bogot - Colombia
NIT: 900618750-4
CONTENIDO
1. Desarrollo de software en dispositivos mviles
1.1. Buenas prcticas para el desarrollo de software
1.2. A la hora de elegir una plataforma de desarrollo de aplicaciones mviles, la
solucin debe:
1.3. Limitaciones a tener en cuenta
1.3.1. Batera limitada
1.3.2. Capacidad de procesamiento
1.3.3. Capacidad de almacenamiento
1.3.4. Dimensiones variables
1.4. Enfoque para el desarrollo de aplicaciones mviles
1.4.1. Clientes nativos
1.4.2. Clientes JME (JAVA PLATAFORM MCROEDITION)
1.4.3. Clientes basados en WEB
1.4.4. Clientes basados en Middleware
1.5. Plataformas ms usadas en el desarrollo de aplicaciones.
1.5.1. Android
1.5.2. Windows Fhone
1.5.3. IOS Apple
1.6. Frameworks de aplicaciones
2. Herramientas de verificacin de calidad de cdigo
2.1. Sonar
2.1.1. Sonar para Windows Fhone
2.1.2. Sonar para Android
2.1.3. Sonar para IOS Apple
2.2. Robotium
2.3. Windows Phone Developer Power
2.4. IOS Apple
2.5. Framework para moviles
2.5.1. Phone Gap
2.5.2. Titanium
2.5.3. Sencha Touch
2.5.4. Apache Crdova
3. Herramientas de Testing para Software
3.1 Porque hacer pruebas
3.2 Herramientas para la automatizacin mvil
3.2.1 Plataforma nativa
3.2.2 Multi-plataforma
3.3 Herramientas para pruebas de Software
3.3.1 Selenium
3.3.2 Jmeter
3.3.3 Eggplantmobile
3.3.4 Ranorex
3.3.5 Keynote
www.ticxar.com Bogot Colombia
Este Documento es propiedad de TICXAR S.A.S y se prohbe su reproduccin total o parcial.
3.3.6 Testsize
3.3.7 Mobile.me
3.3.8 Cloudmonkeymobile
3.3.9 Sikuli
3.3.10 Applium
3.3.11 Selendroid
3.4 Framework generador de codigo nativo
3.4.1 Codename
3.5 Referencias
Pruebas
Integracin
Seguridad
Control de calidad
Gestin continua
BATERIA LIMITADA
CAPASIDAD DE PROCESAMIENTO
1.4.3
CAPASIDAD DE ALMACENAMIENTO
Aunque algunos dispositivos cuentan con buena capacidad de almacenamiento, que van
desde los 32 GB, se debe pensar que no todos los dispositivos tienen esta capacidad, y el
dispositivo no trabajara en funcin de una sola aplicacin, es por esa que se debe tratar
de hacer un uso mnimo del uso del disco y tratar de ofrecer el contenido por medio de
internet, o utilizar mecanismos de compresin cuando sea necesario.
1.4.4
DIMENCIONES VARIABLES
Los dispositivos mviles estn comprendidos por celulares y tablets, cada uno en su tipo
tiene diferentes tamaos y resoluciones. Por esta razn es que ninguna aplicacin debe
estar amarrada a un tamao en especial. Cuando se disea un aplicacin mvil se debe
pensar en Responsive desing as pues la aplicacin debe estar en capacidad de
adaptarse a cualquier tamao de pantalla por medio de una aplicacin de tcnicas a la
hora de crear los layouts que se aseguren se flexibilidad.
1.5 ENFOQUE PARA EL DESARROLLO DE APLICACIONES MOVILES
1.5.1
CLIENTES NATIVOS
1.5.2
Las aplicaciones se escriben en java y se compilan para ejecutarse contra una mquina
virtual java (JVM), diseada especficamente para computadoras de mano o clientes de
mviles, este enfoque proporciona dos beneficios principales: tiempo de desarrollo
rpido y la disponibilidad de utilizar el cdigo base en una gran cantidad de
dispositivos. La cantidad de cdigo necesario escrito en java es por lo general menor as
se escribe un lenguaje de bajo nivel como C.
esto se debe a que la mquina virtual se encarga de anejar automticamente muchas de
las operaciones tediosas, entre ellas el manejo de la memoria, esto significa que para
anejar la misma operacin se necesita pocas lneas de cdigo esto implica menos
errores. Adems JVM est disponible en varios dispositivos, por lo que la aplicacin
cliente trabajara en diferentes dispositivos sin necesidad de mantener mltiples
versiones.
1.5.3
Un cliente basado en web se ejecuta dentro del navegador web del dispositivo, desde el
cual accede a la pgina del servidor web enva utilizando las mismas facilidades que un
cliente web de sobremesa. El principal beneficio de este enfoque es que simplifica el
mantenimiento del cliente independientemente de que las caractersticas de las
Versiones cambien. Sin embargo las aplicaciones deben desarrollarse para que sean
compatibles con el navegador del dispositivo, de otra parte, con la proliferacin de las
caractersticas de la web 2.0, es ms sencillo crear clientes ms ricos y dinmicos. Los
principales inconvenientes para el cliente basado en web son las caractersticas, el
desempeo y el modelo de conexin. Con un cliente web, el dispositivo requiere una
conexin a un servidor web para que la aplicacin del mvil se pueda ejecutar. Esto
significa que si la aplicacin cliente necesita hacer un trabajo fuera de lnea, que se
pueda procesar por lotes y enviar a los servidores centrales solo unas cuantas veces al
dio, el enfoque del cliente basado en web no es el ms indicado. Adems si la aplicacin
requiere una interface de usuario dinmica o acceso a hardware I/O (entrada /salida)
especial, es necesario implementar una configuracin alternativa. En resumen, el
cliente basado en web es una opcin si el cliente tiene una interfaz de usuario simple.
1.5.4
ANDROID
(II) dar libertad al usuario del dispositivo para instalar el software que crea oportuno sin
imponer que sea software del propietario. (III) los desarrolladores tienen cualquier
libertar para poder desarrollar cualquier software y ofrecerlo al usuario. (IV) no es tan
limitado a determinados proveedores, operadoras o fabricantes, etc.
1.6.2
WINDOWS PHONE
Este sistema operativo fue lanzado a finales del ao 2010 tras dos aos de desarrollo.
Entre las novedades se encuentra la denominada interfaz de usuario metro basada en
la utilizacin de mosaicos dinmicos que muestran informacin til al usuario. Adems
se introduce el concepto de HUB, en donde se centralizan las acciones y se agrupan las
aplicaciones por el tipo de actividad que representan. Por lo tanto encontraremos
diferentes HUB, por ejemplo, Office, Xbox live, imgenes o Zune desde los cuales
tenemos acceso a tareas especficas, tambin incluye el motor de internet Explorer 9,
con soporte para HTML5, multitarea en aplicaciones de terceros.
Este sistema ha evolucionado en copo tiempo, desde la versin 7 (estable desde 2010),
hasta la 7.5 y ya se habla de una versin 8. (1)3. Analicemos la estructura de Windows
Phone desde el punto de vista de su modelo de hardware y software. N modelo de
hardware: para ejecutar Windows Phone y asegurar la consistencia de todos los
usuarios del sistema, es necesario que el telfono cuente con una serie de caractersticas
mnimas, a lo que se conoce como chasis 1, que constituyen en las especificaciones que
debe tener todo fabricante que quiera crear terminales con soporte para este SO.
Las especificaciones se irn adaptando a las nuevas especificaciones de telfonos
mviles, manteniendo la experiencia del usuario independientemente del dispositivo que
utilice.
1.6.3
IOS APPLE
A mediados de 2007 la tecnologa Apple nos ofreci IOS (inicialmente llamado IPhone
OS), desarrollado inicialmente para IPhone y con l una nueva definicin del telfono
mvil. Ms tarde fue introducido el IPod Touch y actualmente el IPad. La versin 1.0
incorporaba aplicaciones como Mail, Fotos, IPod, Calculadora, entre otras, presentes en
las versiones actuales y que no han sido modificadas prcticamente ni en sus interfaces
ni en sus funcionabilidades. Un ao despus en el 2008, se lanz el OS 2.0 cuyas
actualizaciones llegaron hasta el 2.2, comenz entonces la revolucin de las
aplicaciones mviles y uno de los modelos de negocios ms productivos hoy en da. En
el ao 2009 se lanz el IPhone 3.0 que evoluciono hasta llegar a la 3.1.3. La cual inclua
(Spotlight) tambin ofreca la posibilidad de incluir la API de google Maps, las
operaciones de copiar/cortar/pegar, interconexin por BloeTooth o P2P y libreras GPS.
Esta versin fue soportada por todos IPhone e IPads de primera generacin. En el 2010
empez a llamarse IOS y se realiz el lanzamiento de la versin 4.0 del S.O la versin.
La versin 4.1.2 fue la ltima de IPhone 3G y los IPod Touch de segunda generacin.
A finales del 2011 se lanz la versin IOS 5, con una interfaz mejorada u y
funcionabilidades como la presencia de asistente personal Siri, facilidades para la
sincronizacin sin cables, un centro de notificaciones mejorado, el servicio Imessenge,
la navegacin web por pestaas entre otras. La navegacin IOS 5 solo se poda instalar
en los Apple TV (segunda generacin); y el los dos modelos de IPad actuales.
La arquitectura IOS se basa en capas, donde las capas ms altas contienen los servicios
ms indispensables para el desarrollo de aplicaciones y las capas ms bajas son las
encargadas de controlar los servicios ms bsicos. Ncocoa Touch: posee tres
Frameworks: (I) ULKit, contiene todas las clases necesarias para el desarrollo de una
interfaz de usuario. (II) Fundation Frameworks, define las clases bsicas de acceso,
manejo de objetos y (III) servicio de S.O. estas Frameworks proporcionan la API de
cocoa para desarrollar aplicaciones.
En los ltimos aos se han disparado las opciones para automatizar el control de calidad
de software, hemos pasado de los maravillosos aos en los que se haca inspeccin de
cdigo a mano y por muestreo, a multitud de herramientas de calidad de software.
Para ayudarnos a realizar una primera seleccin, dentro del amplio mundo de las
herramientas de calidad de software, hay que tener en cuenta que las siguientes son
herramientas de calidad de software que realizan un control desde el punto de vista del
estudio esttico y de caja blanca (es decir, analizan sin ejecutar el software y viendo los
fuentes).
2.1 SONAR
Una herramienta de software libre que permite gestionar la calidad de cdigo fuente. Al
instalarla podemos recopilar, analizar, y visualizar mtricas de cdigo fuente. Sonar
cuenta con los plugins de Sheckstyle y PDM incorporados que me permiten hacer un
anlisis ms completo.
2.1.1
Cabe resaltar que las aplicaciones de Windows Fhone se desarrollan bajo C Y Visual
Basic y Sonar perite evaluar calidad cdigo de estos dos lenguajes de programacin.
VENTAJAS:
2.1.2
Sonar cuenta con un Plugin denominado sonar plugin, este se beneficia del poder de
cdigo abierto mediante la reutilizacin de todos los servicios bsicos disponibles en la
plataforma sonar.
2.1.3
Xcode 6 tiene un profundo apoyo a Swift en todo. Es fcil crear una nueva aplicacin
marca usando 100% cdigo Swift, agregar nuevo cdigo Swift o marcos a aplicaciones
existentes, y ver la documentacin en cualquiera de Swift, Objective-C, o ambas
cosas.Todos los affordances populares como "Ir a definicin" o trabajo "Abrir
Rpidamente" igual de bien con Swift, e incluso las definiciones de cabecera de
Objective-C se pueden mostrar en la sintaxis de Swift.
El plug-in de Objective-C agrega un Objective-C lexer estado-of-the-art, preprocesador
y analizador de productos SonarSource. Permite a los usuarios realizar las revisiones de
Cdigo de Objective-C objetivos y automatizados con las mejores prcticas predefinidas
codificacin. Como el plugin incluye lexer incorporado y preprocesador, el cdigo
fuente Objective-C no necesita ser preprocesado antes de ser analizadas. Este plugin se
beneficia del poder de cdigo abierto mediante la reutilizacin de todos los servicios
bsicos disponibles en la plataforma de Sonar, incluyendo cuestiones desgloses, puntos
de acceso, visor de cdigo con resaltado de sintaxis, Time Machine, nubes, y la
codificacin de la gestin de perfiles regla.
2.2 ROBOTIUM
Este es un Frameworks creado para desarrollar test automticos de aplicaciones
Android, con esta herramienta se puede testear cualquier tipo de aplicaciones visual
como activities o dialogs.
La dinmica de trabajo con este Frameworks es la programacin de acciones que
simulen al usuario por ejemplo se puede realizar la accin de hacer clic en un texto
especifico, introducir un texto en una caja de entrada concreta o la bsqueda de un texto
en el formulario. Realizando varias de estas acciones se puede comprobar si hay un
Se integra sin problemas con Maven, Gradle o Ant para ejecutar pruebas como
parte de la integracin continua.
solo.sendKey(Solo.menu);
solo.clickOnText(Archivo);
solo.clickOnText(Nuevo);
Assert.assertTrue(solo.searchText(solo.searchText(Crearnueva ficha));
Puede iniciar las Herramientas Elctricas en el men de Visual Studio Tools o desde la
pantalla de inicio de Windows. Las herramientas elctricas de gestin independiente de
Visual Studio - usted no tiene que tener su proyecto abierto Visual Studio o.
Las tres herramientas incluidas en Power Tools comparten las siguientes caractersticas.
CONEXIN Y DESCONEXION
Para poder empezar a usar Power Tools, selecciona un emulador o dispositivo en la lista
de despegables select device a continuacin clic en conectar (connect).
APLICATION VERIFIER
www.ticxar.com Bogot Colombia
Este Documento es propiedad de TICXAR S.A.S y se prohbe su reproduccin total o parcial.
5. Para finalizar las pruebas, desactiva las casillas activadas y luego haz clic en
aplicar precaucin cuando aplicas AppVerifier se aplica a todas las aplicaciones
de Silverlingt en el dispositivo. Esto puede tener un impacto imprevisto en el
dispositivo.
PERFORMANCE MONITOR
Ejecuta el monitor de rendimiento para capturar mtricas de rendimiento en tiempo real
y visualizarlas de manera grfica. Performance Monitor es especialmente til para
www.ticxar.com Bogot Colombia
Este Documento es propiedad de TICXAR S.A.S y se prohbe su reproduccin total o parcial.
3. De manera opcional, haz clic en Record (Grabar) para capturar los datos de
rendimiento en un archivo. Ms adelante, puedes analizar este archivo en la
versin de escritorio de Performance Monitor. All veras contadores adicionales
que no se muestran en la ventana Performance Monitor de Power Tools.
4. De manera opcional puedes mostrar un contador distinto en uno de los grficos
si haces clic en el contador den la zona situada a la derecha del grfico.
5. Haz clic en Stop (detener) para detener la supervisin y la grabacin. Si la
grabacin est habilitada, la herramienta te pedir que guardes el archivo de
registro de rendimiento en el equipo como archivo CSV para realizar para
realizar anlisis en la versin de Performance Monitor.
www.ticxar.com Bogot Colombia
Este Documento es propiedad de TICXAR S.A.S y se prohbe su reproduccin total o parcial.
PERFORMANCE RECORDER
Ejecuta Performance Recoder para capturar los registros de rendimiento de todo el
sistema. Performance Recorder resulta especialmente til para el anlisis avanzado del
rendimiento y el consumo de recursos de tu aplicacin.
Visual Studio puede crear un perfil de un solo proceso, pero Windows Performance
Recorder recopila registros de todo el sistema para realizar anlisis ms completos. La
herramienta Performance Recorder contiene las funciones de Windows Performance
Recorder. Con esta herramienta puedes detectar sutiles problemas de rendimiento,
memoria y energa que son difciles de analizar con solo un proceso. Por ejemplo
puedes capturar el impacto de las tareas en segundo plano y la actividad del sistema
mientras se ejecuta la aplicacin. Performance Recoder de Windows Fhone Developer
Power Tools proporciona un conjunto de funcionabilidad de la herramienta de Windows
Performance Recoder completa. Para obtener ms informacin sobre la herramienta
Windows Performance Recoder completa, consulta Windows Performance Recoder.
Despus de que Performace Recoder capture los registros en un archivo .ETL, puedes
abrir el archivo para realizar un anlisis en Windows Performance Analyzer. Para
obtener ms informacin, consulta Windows Performance Analzer.
Red: crea un test que presenta una especificacin, a sabiendas que va a fallar y
tal vez ni siquiera compilar.
Green: Haz cualquier cosa para que el test pase
Refactor: elimina redundancias del cdigo y el test generaliza el mismo. De esta
forma el desarrollo es dictado por los test que representan las especificaciones
del programa. Logrando as crear software 100% correcto y en tiempo record.
PHONE GAP
2.5.2
CARACTERSTICAS PRINCIPALES.
2.5.3
Desventajas
Licencia dual
Entorno desarrollado poco productivo
Sencha a bien con aplicaciones pequeas con pocas funcionabilidades, pero a
medida que crece es como manejable en cuanto al mantenimiento.
Se comporta de manera distinta para los diferentes S.O mviles cuestiones de
lentitud en el proceso.
2.5.4
APACHE CORDOVA
PLATAFORMA NATIVA
General mente las proporciona el proveedor de la plataforma mvil, como parte del kit
de desarrollo de software. Suelen interactuar con la aplicacin a nivel del objeto de
interfaz de usuario, permite una interaccin ms sofisticada basada en objetos. Y tienen
un alto grado de madurez y de apoyo para los objetos de interfaz de usuarios nativos,
porque estn respaldados por el proveedor de la plataforma. Como se trata de objetos de
aplicacin a nivel de sistema operativo se puede obtener informacin de ella sutilizando
una pequea librera compilada con la aplicacin bajo prueba, tambin llamado
instrumentacin.
3.2.2 MULTI-PLATAFFORMA
Esta herramienta puede interactuar directamente con los objetos de interfaz de usuario
de la aplicacin, de la misma manera como las herramientas de prueba tradicionales,
mediante la identificacin, intercepcin y envi de mensajes a los objetos dentro de la
misma. Los puntos fuertes de esta herramienta son que soporta mltiples plataformas y
que pueden ejecutar pruebas de las mismas. La integracin a nivel de objeto tambin es
ms tolerante a los cambios en la aplicacin y por lo tanto reduce los costos de
mantenimiento asociados a las pruebas automatizadas.
3.3 HERRAMIENTAS PARA PRUEBAS DE SOFTWARE
3.3.1
SELENIUM
3.3.4 RANOREX
El marco Ranorex compatible con las ltimas versiones de todos los sistemas operativos
mviles. Iniciar la automatizacin de su Android , iOS y Windows 8 pruebas de
aplicacin - encontrar errores antes y con menos esfuerzo.
Con las pruebas de mvil Ranorex puedes grabar directamente sus pruebas en su
dispositivo. Al editar los pasos grabados, no hay necesidad de escribir una sola lnea de
cdigo.
Utilizando el marco Ranorex, con su galardonado mecanismo de reconocimiento de
objetos es fcil agregar pasos de validacin y verificacin de las pruebas de aplicaciones
mviles. El mtodo de reconocimiento de objetos avanzada le permite comprobar un
gran nmero de atributos de control.
3.3.5 KEYNOTE
Asegurar la calidad de sus aplicaciones mviles y sitios web en dispositivos reales y las
redes de transporte. Keynote Testing Mobile, impulsado por la nube de
DeviceAnywhere, agiliza el proceso de prueba y ayuda a entregar grandes experiencias
mviles a los usuarios.
La nube DeviceAnywhere contiene la mayor biblioteca de dispositivos mviles
disponibles - incluyendo los telfonos inteligentes y las tabletas ms actuales y
populares. Pon a prueba tu aplicacin mvil o sitio web en iOS, Android, BlackBerry y
Windows Phones. Tambin podemos integrar cualquier dispositivo mvil personalizada
incluyendo telfonos inteligentes, tabletas, pueden llevar puestos, e incluso dispositivos
nicos como rudo, set-top, y los dispositivos a bordo de vehculos.
3.3.6
TESTSIZE
Cuando diseas una pgina web tienes que tener en cuenta que todos los visitantes no
tendrn la misma resolucin de pantalla. Para ello existe una web, Testsize, que muestra
el diseo en varios tamaos de pantalla: 1024x600px, 12801024, etc. Una herramienta
til para tener un control sobre la pgina que estamos creando y as evitar futuros
quebraderos de cabeza.
3.3.7
MOBILETEST.ME
Es una pgina web diseada para poder probar sitios web en telfonos inteligentes,
cuenta con Windows Fhone, Andriod y IOS Apple.
3.3.8
CLOUDMONKEYMOBILE
SIKULI
3.5 REFERENCIAS
http://androcode.es/2013/06/introduccion-al-api-de-testing-en-android/
http://www.emobc.com/framework.php
http://translate.google.com.co/translate?
hl=es419&sl=en&u=http://code.google.com/p/robotium/&prev=search
https://espanol.answers.yahoo.com/question/index?qid=2011033021230AAIWadF
http://translate.google.com.co/translate?
hl=es419&sl=en&u=http://www.snarsource.com/products/plugins/languages/objectivec/&prev=search
http://translate.google.com.co/translate?
hl=es419&sl=en&u=https://developer.apple.com/xcode/&prev=search
http://translate.google.com.co/translate?
hl=es419&sl=en&u=https://developer.apple.com/xcode/&prev=search
http://jmaw.blogspot.com/2012/12/introduccion-al-frameworkappcelerator.html
http://www.todoexpertos.com/preguntas/5fqrknvfglqg9bbp/conocesalguna-appimportante-desarrollada-con-apache-cordova
http://translate.google.com.co/translate?
hl=es419&sl=en&u=http://www.snarsource.com/products/plugins/languages/objectivec/&prev=search
http://xamarin.com
https://www.testcloud.io
http://www.testingtools.com
http://www.testingtools.com/mobile-testing/
http://www.recreacomunicacion.com/blog/testsize-prueba-el-diseno-de-tu-web-encualquier-resolucion-de-pantalla/
https://www.cloudmonkeymobile.com/monkeytalk
http://www.sikuli.org/
http://appium.io/
http://selendroid.io/