TEST CASES IN SOFTWARE TEST
SaraMontiel16 de Octubre de 2012
3.584 Palabras (15 Páginas)479 Visitas
~ 27 ~
TEST CASES IN SOFTWARE TEST
LOS CASOS DE PRUEBA EN LA PRUEBA DEL SOFTWARE
José Luis Aristegui O.
Grupo IngeSoft, Chile.
Ingesoft@techie.com
(Artículo de REFLEXIÓN) (Recibido el 5 de enero de 2010. Aprobado el 12 de abril de 2010)
Abstract ― In the place of traditional principle
of project management a strategic management
philosophy is emerging fast in which writing
better test cases also receive the widespread
attention of all those interested in software
project management and software testing. In the
current scenario managing software is an
important task in an IT industry. Not only
managing IT project, but also it is need to
develop quality software product for the
customer. It includes the number of tasks and
phases of the software project development.
Testing is one of the phases, which is most
important in project management. In software
testing writing test cases is very important. So it
is necessary to study how to write better test
cases.
Keywords: quality test cases, software testing,
test cases.
Resumen ― En el campo de la gestión tradicional
de proyectos de software, surgió hace poco una
filosofía estratégica que se centra en mejorar el
diseño de los casos de prueba, y que llamó la
atención generalizada de los interesados en la
gestión de proyectos y en la prueba del software.
Actualmente, la gestión de proyectos de software
es una de las tareas más importantes en la
industria de las tecnologías de la información, y
más aún si el objetivo es desarrollar productos de
calidad. En esa gestión, la prueba es una de las
fases más importantes, y en ésta, lo que requiere
más cuidado y dedicación es el diseño de los casos
de prueba, por lo que es necesario estudiar cómo
diseñarlos y escribirlos mejor.
Palabras clave: calidad de los casos de prueba,
casos de prueba, prueba del software.
INTRODUCCIÓN
La gestión de proyectos es un complejo
sistema de procedimientos de gestión,
prácticas, tecnologías y conocimientos, en el
que es necesaria la experiencia para
gestionarlos con éxito. La gestión de
proyectos de software es una actividad lineal
en la Ingeniería de Software. Se inicia antes
que cualquier actividad técnica comience y
continúa durante todas las etapas de
desarrollo hasta el mantenimiento.
Figura 1. La administración de proyectos
(Jalote, 2002)
Gestionar el desarrollo de software como un
proyecto es muy importante; se trata de
integrar personas ―desarrolladores,
clientes―, problemas ―requisitos del
cliente―, y procesos ―metodología para
encontrar los requisitos―; es decir, integrar
las tres P: Personas, Procesos y Problemas,
como se observa en la Figura 1 (Jalote,
2002).
Para desarrollar productos software de
calidad, la prueba es una de las tareas más
importantes y, cuando se aplica linealmente
en el ciclo de vida del producto, desempeña
un papel crucial en la gestión de proyectos.
Las pruebas evalúan el producto para
determinar que cumple con el objetivo
previsto, por lo que es necesario diseñar un
plan de pruebas que se adapte y sea
coherente con la metodología de desarrollo,
que proporcione un enfoque de fácil acceso a
la estructura para verificar los requisitos y
cuantificar su rendimiento, y que identifique
las diferencias entre los resultados previstos
y los reales ―errores o fallas―; es el proceso
por medio del cual se evalúa la correcta
interpretación y aplicación de los requisitos
especificados. Un buen plan de pruebas es el
conocido como PDCA (Yongkui and Guofeng,
2009), que contempla las siguientes
actividades:
Aristegui, O. J. L. (2010). Los casos de prueba en la prueba de software. Revista Digital Lámpsakos, No. 3, pp. 27-34.
~ 28 ~
Figura 2. Ciclo de la prueba del software (Yongkui and Guofeng, 2009)
Este artículo detalla cómo evitar los
contratiempos que se originan cuando los
casos de prueba se diseñan pobremente, y
describe cómo mejorar ese diseño para
incrementar la productividad, la facilidad de
uso, la fiabilidad de la programación y la
gestión de valor. Además, se busca explicar
qué son y para qué sirven los casos de
prueba, así como la lista de estándares que
se utilizan para identificar áreas de riesgo y
mejorarlos para aplicaciones futuras. Se
desarrolla un caso de estudio que demuestra
cómo utilizar los casos de prueba para
mejorar la capacidad de la prueba y la
productividad, resolver los problemas más
comunes en calidad y cómo aprovechar las
ventajas de los casos de prueba, que se
pueden poner en práctica en la industria del
software.
ESTADO ACTUAL DE LA PRÁCTICA DEL
DESARROLLO DE SOFTWARE
Toda persona, alguna vez, ha sufrido algún
error del software, sea en una factura
liquidada indebidamente o la pérdida de todo
un día de trabajo; estos problemas se deben
a la complejidad misma del software, que
dificulta el desarrollo de sistemas e
incrementa la probabilidad de que existan
errores aun luego de finalizado y entregado
al cliente.
Actualmente, la capacidad de los ingenieros
de software para medir la fiabilidad de sus
productos es inferior a la necesaria en el
enfoque de la calidad (Gibbs, 1994), por lo
que es deseable que estos ingenieros puedan
demostrar matemáticamente la correctitud
de sus programas, de la misma forma que
otras ramas de la ingeniería lo pueden hacer.
Otros ingenieros pueden recurrir al análisis
matemático para conocer de antemano el
comportamiento de sus productos en el
mundo real, para descubrir sus errores antes
que estén operativos. No obstante, las
matemáticas tradicionales utilizadas para
describir sistemas físicos no tienen
aplicabilidad en el universo de los
computadores, en el que se debe recurrir a la
matemática discreta, un área reciente, poco
investigada, y que gobierna el campo de los
sistemas software (Roventa and Spircu,
2008).
Es debido a esas imposibilidades que los
ingenieros de software no pueden aplicar los
métodos matemáticos rigurosos a sus
productos, y deben recurrir a métodos de
verificación empírica en los que hacen
funcionar los programas y observan su
comportamiento directamente, para luego
depurarlos cada vez que aparece un error; de
esta forma la fiabilidad de los productos se
va incrementando a lo largo del proceso.
Estos métodos no garantizan la ausencia de
errores, y pueden existir errores en otros
componentes del programa que no se
ejecutan en ese momento. Por lo tanto, la
recomendación es que el producto software
se evalúe de forma paralela a su desarrollo,
en un proceso de evaluación/comprobación
de los diferentes productos en cada fase del
ciclo de vida, y en el que participen
desarrolladores y clientes.
Se concluye entonces que el logro de
programas perfectos es por el momento una
meta inalcanzable. “Existe, actualmente, la
imposibilidad práctica de conseguir software
totalmente libre de defectos” (Littlewood
and Strigini, 1993), por lo que se debe
aceptar que, debido a las actuales
limitaciones en lo relacionado con el
desarrollo de sistemas software, esta
práctica debe investigarse más y más cada
día; de hecho, existen autores que sugieren
~ 29 ~
que “[…] debido a la entidad no física del
software, los errores en los programas son
inherentes a su naturaleza” (Huang et al.,
1994), y de hecho, hasta el software de más
alto factor crítico contiene errores
remanentes. En su investigación, Edward
Adams analizó el número de errores en una
base de datos, que se suponía de cobertura
mundial, en un equivalente a miles de años
de uso sobre un sistema de cómputo.
Descubrió que uno de cada tres errores del
programa llegan a producir un fallo tan sólo
una vez cada 5.000 años. Claro está que
emplear tiempo para detectar los errores que
se producirán más allá de 75 años es
inaceptable (Adams, 1984).
LOS CASOS DE PRUEBA EN LA INGENIERÍA DE
SOFTWARE
Para desarrollar software de calidad y libre
de errores, el plan de pruebas y los casos de
prueba son muy importantes. El Software
Test Plan ―STP― se diseña para determinar
el ambiente de aplicación de los recursos y el
calendario de las actividades de las pruebas,
se debe identificar el dominio y sus
características a probar, lo mismo que el tipo
de pruebas a realizar. Un caso de prueba
...