DESARROLLO y testing EXPERIENCIA, CONOCIMIENTO Y SERVICIO
Las Herramientas dan Potencia a su empresa
DESARROLLO DE APLICACIONES
El diseño y desarrollo de aplicaciones web consiste en implementar sus necesidades, objetivos o ideas en Internet utilizando las tecnologías más idóneas según su proyecto.
Las aplicaciones web ofrecen servicios a los usuarios de Internet que acceden utilizando un navegador web como Crome, I.Explorer, Firefox o Safari entre otros, dirigiéndose a una dirección de Internet donde obtendrán los servicios que buscan.
Las aplicaciones web pueden ser de acceso público como tiendas virtuales, diarios digitales, educación a distancia,... o de acceso restringido como son las intranets para mejorar las gestiones internas de su empresa como el reporte de horas de su personal, gestión de entradas y salidas,gestión de proyectos y tareas, control de presencia, gestores documentales, Inventarios, Costos… o el uso de extranets para aumentar y mejorar el servicio con sus distribuidores, clientes, proveedores, comerciales y colaboradores externos.
EXPERIENCIA - CMMI
IS-HOSTING es una empresa con más de 8 años de experiencia con desarrollos y ambientes de uso desde aplicaciones simples (de 1 a 200 usuarios) hasta aplicaciones de alta demanda (200 usuarios en adelante).Debido a nuestra experiencia, aplicamos Integración de modelos de madurez de capacidades o Capability maturity model integration (CMMI) esto es, un modelo para la mejora y evaluación de procesos para el desarrollo, mantenimiento y operación de sistemas de software. Con ello garantizamos el seguimiento a los procesos de un desarrollo desde su concepción hasta su liberación.
SOFTWARE-TESTING
El diseño y desarrollo de aplicaciones web consiste en implementar sus necesidades, objetivos o ideas en Internet utilizando las tecnologías más idóneas según su proyecto.
Las aplicaciones web ofrecen servicios a los usuarios de Internet que acceden utilizando un navegador web como Crome, I.Explorer, Firefox o Safari entre otros, dirigiéndose a una dirección de Internet donde obtendrán los servicios que buscan.
Las aplicaciones web pueden ser de acceso público como tiendas virtuales, diarios digitales, educación a distancia,... o de acceso restringido como son las intranets para mejorar las gestiones internas de su empresa como el reporte de horas de su personal, gestión de entradas y salidas,gestión de proyectos y tareas, control de presencia, gestores documentales, Inventarios, Costos… o el uso de extranets para aumentar y mejorar el servicio con sus distribuidores, clientes, proveedores, comerciales y colaboradores externos.
Las pruebas de software, en inglés software testing es una investigación empírica y técnica cuyo objetivo es proporcionar información sobre la calidad del producto bajo pruebas a la parte interesada o Stakeholder.
Son los procesos que permiten verificar y revelar la calidad de un producto software. Son utilizadas para identificar posibles fallos de implementación, calidad, o usabilidad de un programa de ordenador o videojuego. Básicamente es una fase en el desarrollo de software consistente en probar las aplicaciones construidas.
Las pruebas de software se integran dentro de las diferentes fases del ciclo del software dentro de la Ingeniería de software. Así se ejecuta un programa y mediante técnicas experimentales se trata de descubrir que errores tiene.
Para determinar el nivel de calidad se deben efectuar unas medidas o pruebas que permitan comprobar el grado de cumplimiento respecto de las especificaciones iniciales del sistema.
"El testing puede probar la presencia de errores pero no la ausencia de ellos"
Edsger Dijkstra
Hay muchos planteamientos a la hora de abordar el proceso de pruebas de software, pero para verificar productos complejos de forma efectiva requiere de un proceso de investigación más que seguir un procedimiento al pie de la letra. Una definición de "testing" es: proceso de evaluación de un producto desde un punto de vista crítico, donde el "tester" (persona que realiza las pruebas) somete el producto a una serie de acciones inquisitivas, y el producto responde con su comportamiento como reacción. Por supuesto, nunca se debe testear el software en un entorno de producción. Es necesario testear los nuevos programas en un entorno de pruebas separado físicamente del de producción. Para crear un entorno de pruebas en una máquina independiente de la máquina de producción es necesario crear las mismas condiciones que en la máquina de producción. Existen a tal efecto varias herramientas vendidas por los mismos fabricantes de hardware (IBM, Sun, HP etc.). Esas utilidades reproducen automáticamente las bases de datos para simular un entorno de producción.
Una práctica común es que el proceso de pruebas de un programa sea realizado por un grupo independiente de "testers" al finalizar su desarrollo y antes de sacarlo al mercado. Una práctica que viene siendo muy popular es distribuir de forma gratuita una versión no final del producto para que sean los propios consumidores los que la prueben. En ambos casos, a la versión del producto en pruebas y que es anterior a la versión final (o "master") se denomina beta, y a dicha fase de pruebas, beta testing.
Puede además existir una versión anterior en el proceso de desarrollo llamada alpha, en la que el programa, aunque incompleto, dispone de funcionalidad básica y puede ser testeado.
Finalmente y antes de salir al mercado, es cada vez más habitual que se realice una fase de RTM testing (Release To Market), dónde se comprueba cada funcionalidad del programa completo en entornos de producción.
Otra práctica es que el proceso de pruebas se realice desde el mismo momento en que empieza el desarrollo y continúe hasta que finaliza.
La importancia de la detección oportuna
En la cadena de valor del desarrollo de un software específico, el proceso de prueba es clave a la hora de detectar errores o fallas. Conceptos como estabilidad, escalabilidad, eficiencia y seguridad se relacionan a la calidad de un producto bien desarrollado. Las aplicaciones de software han crecido en complejidad y tamaño, y por consiguiente también en costos. Hoy en día es crucial verificar y evaluar la calidad de lo construido de modo de minimizar el costo de su reparación. Mientras antes se detecte una falla, más barata es su corrección.
El proceso de prueba es un proceso técnico especializado de investigación que requiere de profesionales altamente capacitados en lenguajes de desarrollo, métodos y técnicas de pruebas y herramientas especializadas. El conocimiento que debe manejar un ingeniero de prueba es muchas veces superior al del desarrollador de software.
Enfoques de pruebas o "approaches"
Scripted Testing
Exploratory Testing
Caja blanca
Caja negra (sistemas)
Niveles de pruebas que manejamos
Pruebas unitarias
Pruebas de Integración
Pruebas de sistema
Pruebas de aceptación
Pruebas de regresión
Tipos de pruebas que efectuamos
Pruebas funcionales
Pruebas No funcionales
Pruebas de carga
Pruebas de prestaciones
Pruebas de recorrido
Pruebas de mutación
Pruebas concurrentes
Pruebas de validación