Pruebas de Software

“El testing puede probar la presencia de errores pero no la ausencia de ellos”
Edsger Dijkstra
___________________________________________________________

Las pruebas de software  es el conjunto de procesos técnicos-empíricos[i] de una persona o grupos de personas, que permiten determinar la calidad del producto respecto al contexto del cual se piensa liberar.

Esta definición de pruebas es muy clara pero es muy extensa para fines de este trabajo. Analicemos un poco dicha definición.

Empecemos con la frase “es un conjunto de procesos técnicos-empíricos”. Dependiendo del tamaño del producto a desarrollar se requiere de por lo menos una persona, y si el producto es grande, se requerirá de un grupo personas encargadas de realizar las pruebas. Dicha persona o grupo de personas  requieren de un conocimiento técnico ya que necesita saber, además de informática, de la regla de negocio que se trata de sistematizar. También se requiere que el área encargada de realizar las pruebas tenga la experiencia y de percepción ante la posibilidad de que pueda existir algún tipo de anomalía en la aplicación (conocimiento empírico).

La siguiente frase que analizaremos es “que permitan – se refieren a los procesos – determinar la calidad del producto”. Esta frase es muy ambigua y muy poco practica para una empresa que quiera desarrollar un software para computadora.  Efectivamente, si se desea garantizar “calidad del producto” se tendría que garantizar que los requerimientos, la interfaz y los tiempos de entrega sean adecuados. Se podrían hacer pruebas sobre esos puntos (y no dudaría que existe algún tipo de pruebas). Pero realizar esa labor realmente sería titánica y muy poco redituable para la empresa encargada del desarrollo. Para que una empresa pueda garantizar la calidad en el desarrollo, al menos en esos puntos, y hacerlo lo más redituable posible, es necesario implementar alguna metodología de desarrollo aunado de una gran expertis  adquirida del constante involucramiento en el proceso de desarrollo de diversos sistemas. Por ejemplo, desde mi punto de vista el cliente que desea la sistematización de alguno de los procesos, uno de los puntos que tendría que tomar en cuenta es que la empresa encargada de realizar dicho proceso por lo menos haya tenido la experiencia de desarrollar un sistema semejante o que tenga el personal con el conocimiento suficiente para entender la terminología relacionada.


[i] El conocimiento empírico es el conocimiento basado en la experiencia  y, en último término, en la percepción, pues nos dice qué es lo que existe y cuáles son sus características, pero no nos dice que algo deba ser necesariamente así y no de otra forma; tampoco nos da verdadera universalidad.

Twiter @QBit_Mike

Analista/Desarrollador y cofundador de QBit Mexhico. Tecnologías utilizadas Android, Java (EJB, Servlets, Faces, Groovy & Grails, Maven, Swing), .Net (C#, VB, ASP, MVC), Delphi, Spring, Hibernate, DTSx, Oracle, T-SQL, Firebird, MySQL, MongoDB, NodeJs, ReactJs (Flux). Sistemas Operativos Mac, Ubuntu y Windows.

Twitter LinkedIn 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *