Test Driven Development

TDD Cycle
Ciclo del desarrollo guiado por pruebas (TDD).

Desarrollo guiado por pruebas, TDD por sus siglas en inglés (Test Driven Development), es una técnica usada en el desarrollo de software. Lo que esta técnica propone es que se escriban unit tests antes de escribir nuevo código para una clase, es decir, escribir tests para un código que aun no existe. Al no haber programado aun la lógica de los métodos que se quieren probar, como es de esperarse los tests no van a pasar. El objetivo será entonces escribir el código que hará que los tests pasen. La propuesta de TDD es realmente interesante, aunque en principio pueda sonar algo rara, por no ser la forma habitual como se ha desarrollado software históricamente.… seguir leyendo

Code coverage (cobertura de código)

Definición de code coverage

La cobertura de código, en inglés llamada “code coverage” o también “test coverage”, es una medida usada en el desarrollo de software para describir el grado al cual el código fuente de un software ha sido probado.

Los usos de la cobertura de software son por ejemplo:

  • Encontrar secciones de código fuente que no han sido ejecutadas por un conjunto de pruebas de software, y así escribir pruebas (test cases) adicionales para incrementar el porcentaje de cobertura
  • Identificación de pruebas redundantes, es decir, pruebas que ejercitan las mismas secciones de código fuente de un programa, con el objetivo de optimizar las pruebas que se le realizan al mismo
  • Determinar una medida cuantitativa de cobertura de código, la cual es indirectamente una medida de la calidad de un programa

Aun cuando podría resultar evidente, se debe enfatizar que:

  • El porcentaje de cobertura mide la cobertura de lo que ha sido escrito (programado), es decir, la cobertura de software no puede decir absolutamente nada acerca del código que aun no ha sido escrito
  • Una prueba de cobertura no puede ser usada para identificar si una función especificada del software no ha sido implementada o ha sido omitida.
seguir leyendo

Raspberry Pi

Logo de Raspberry Pi. Imagen de wikipedia.org.
Logo de Raspberry Pi. Imagen de wikipedia.org.

La Raspberry Pi es una computadora de placa única (single board computer). Es una computadora porque igual que una PC de escritorio o una laptop, la Raspberry Pi tiene hardware que le permite comunicarse con el exterior (por ejemplo con un teclado, raton, monitor, bocinas, etc.) y además se le puede instalar un sistema operativo. De placa única, porque todo el hardware está contenido en una sola placa de 85 mm x 56 mm en el caso de la Raspberry Pi 3 Model B+, que es el modelo más actual a la fecha de escritura de este artículo.… seguir leyendo

Usos de const en C++

Una de las cosas más complicadas de un lenguaje de programación es aprender los diferentes usos de una palabra reservada, dependiendo del caso donde se utilice. Como si no hubiera ya suficientes palabras reservadas de las cuales hay que aprender su significado y función.

En este post se resumirá el uso de la palabra reservada const en C++.

Usos de const en C++

const double pi = 3.14159;
//o preferentemente
double const pi = 3.14159;

En este caso se esta declarando una constante de tipo double de nombre pi con el valor 3.14159. A diferencia de una variable, el valor de esta constante no se puede cambiar durante el programa.

seguir leyendo