2 may 2019

Pruebas

¿Que es una prueba de software?

Es un proceso en el que se revisa el sistema a probar (el SUT) bajo condiciones definidas explícitamente, y se le aplica (eventualmente con apoyo de software especializado de tipo CAST) un conjunto de estímulos (los casos de prueba) diseñados de manera sistemática utilizando técnicas apropiadas, con el objetivo de detectar niveles inadecuados de calidad. Este proceso debe llevarse a cabo disciplinadamente, y respaldarse en métricas bien definidas. Todas estas actividades y sus resultados son documentados, en especial las fallas detectadas [1].
Precisemos cada uno de los conceptos de esta definición. Intuitivamente, un proceso puede verse como una secuencia de actividades, cada una de las cuales genera productos, tiene insumos asociados, e involucra gente (roles) y otros recursos (v.gr. hardware y software).

¿Que diferencia existe entre un bug, un defecto, un fallo y un error en el ámbito de desarrollo de software?

Todas y cada una de estas definiciones tiene algo en común todas se centran en la detección de errores y aunque estos conceptos están relacionados debemos saber diferenciarlas. Bien ahora las diferencias entre:

Error: es provocado por una acción humana.

Defecto: este es provocado por un error de implementación.

Fallo: esto es obtenido por ejecutar un programa con defectos.

Bug La traducción literal es “bicho”, se utiliza para nombrar los errores que se producen en un programa de computadora.
Se genera en la programación del diseño del software y en algún momento se manifiesta al usuario. 


Cuadro comparativo


Tipo de prueba
Descripción
¿Qué se utiliza como base para la prueba?
¿será útil para tu aplicación móvil?
Pruebas unitarias
Es un método que puede invocar al código que queremos probar y determina si el resultado obtenido es el esperado. Si es igual entonces la prueba es exitosa, si no, falla.
Una unidad de programa en
este caso se considera como una función o método para la base de prueba
Si, será útil por el hecho de que al hacer pruebas unitarias podemos comprobar si nuestro software es exitoso
Pruebas de integración
Incremental ascendente(Bottom-up)
Es la prueba de integración ascendente la cual comienza con los componentes elementales del sistema que no requieren componentes adicionales. Se crean componentes conductores para simular a los componentes que los llaman
Planificación coordinada y cuidadosa.
Este tipo de enfoque permite un desarrollo más en paralelo que el enfoque de arriba  abajo, pero presenta mayores dificultades a la hora de planificar y de gestionar
Si porque el proceso requerido atreves de módulos en este caso de interfaces y en nuestra aplicación son muchas interfaces
Pruebas de integración
Incremental descendente(Top-Down)
Se desarrolla y prueba es el primero con el componente de más alto nivel del sistema que llama a otros componentes del nivel más bajo se sustituyen por componentes auxiliares para simular a los componentes invocados
En este caso no son necesarios componentes conductores. Una de las ventajas de aplicar esta estrategia es que las interfaces entre los distintos componentes se prueban en una fase temprana y con frecuencia
Estaría bien implementarlo ya que se empezaría por la lógica y seria empezando por el componente con mayor importancia y al final el de menor importancia
Pruebas de sistema
Tienen como objetivo ejercitar profundamente el sistema comprobando la integración del sistema de información globalmente, verificando el funcionamiento correcto de las interfaces entre los distintos subsistemas que lo componen y con el resto de sistemas de información con los que se comunica
Utilizar como bases de prueba entregables tales como: requerimientos, casos de uso, historias de usuario etc.
Las pruebas de sistema son importantes y útiles ya que permite probar el sistema así como también verificar que las especificaciones técnicas funcionen correctamente
Pruebas de aceptación
Se realizan para establecer el grado de confianza en un sistema y son preparadas por el equipo de desarrollo, aunque la ejecución y aprobación final corresponden al usuario
El aplicativo no podrá salir a producción, sin que se hayan ejecutado las respectivas pruebas
Es útil ya que esta prueba pretende comprobar que el sistema cumpla con los requerimientos de funcionalidad de la aplicación que se propusieron al principio
Pruebas de instalación
Su finalidad es verificar y validar que el sistema se instala apropiadamente en el hardware final
Diseñar scripts para validar las condiciones de la maquina e instalar
Si aplica ya que se usan de las partes fundamentales por las cuales todos los usuarios que hagan uso del software les sea factible, en este caso será la instalación en el sistema operativo



No hay comentarios:

Publicar un comentario

Importancia de la ingeniería de software

¿Qué importancia tiene la ingeniería de software en el proceso de desarrollo de aplicaciones móviles para un egresado del técnico superior u...