Está en la página 1de 5

Pruebas de software

Ir a la navegaci�nIr a la b�squeda
Commons-emblem-question book yellow.svg
Este art�culo tiene referencias, pero necesita m�s para complementar su
verificabilidad.
Puedes colaborar agregando referencias a fuentes fiables como se indica aqu�. El
material sin fuentes fiables podr�a ser cuestionado y eliminado.
Este aviso fue puesto el 27 de noviembre de 2018.

Diagrama que en forma gr�fica, evoca la situaci�n en la cual las opiniones y/o
evaluaciones se concretan a trav�s de una multitud de evaluadores y aportantes
(crowdsourced testing), trabajando en forma abierta y participativa
(crowdsourcing).
Las pruebas de software (en ingl�s software testing) son las investigaciones
emp�ricas y t�cnicas cuyo objetivo es proporcionar informaci�n objetiva e
independiente sobre la calidad del producto a la parte interesada o stakeholder. Es
una actividad m�s en el proceso de control de calidad.

Las pruebas son b�sicamente un conjunto de actividades dentro del desarrollo de


software. Dependiendo del tipo de pruebas, estas actividades podr�n ser
implementadas en cualquier momento de dicho proceso de desarrollo. Existen
distintos modelos de desarrollo de software, as� como modelos de pruebas. A cada
uno corresponde un nivel distinto de involucramiento en las actividades de
desarrollo.

�ndice
1 Historia
2 Proceso de Desarrollo de Software
2.1 Pruebas est�ticas
2.2 Pruebas din�micas
3 Pruebas contra Especificaci�n (ESRE)
4 Tipos de pruebas por su ejecuci�n
5 Enfoques de pruebas
6 Clasificaci�n de las pruebas seg�n lo que verifican
6.1 Pruebas funcionales
6.1.1 Niveles de prueba
6.2 Pruebas no funcionales
7 Herramientas para realizar pruebas de software
7.1 Herramientas en c�digo abierto
7.2 Herramientas comerciales
7.2.1 Herramientas de gesti�n de pruebas
7.2.2 Herramientas para pruebas funcionales
7.2.3 Herramientas para pruebas de carga y rendimiento
8 V�ase tambi�n
9 Referencias
10 Enlaces externos
Historia
El objetivo de las pruebas es presentar informaci�n sobre la calidad del producto a
las personas responsables de este. Las pruebas de calidad presentan los siguientes
objetivos: encontrar defectos o bugs, aumentar la confianza en el nivel de calidad,
facilitar informaci�n para la toma de decisiones, evitar la aparici�n de defectos.

Teniendo esta afirmaci�n en mente, la informaci�n que puede ser requerida es de lo


m�s variada. Esto hace que el proceso de testing sea completamente dependiente del
contexto en el que se desarrolla.1?

El ambiente ideal de las pruebas es aquel que es independiente del desarrollo del
software, de esta manera se logra objetividad en las pruebas.
A pesar de lo que muchos promueven, no existen las "mejores pr�cticas" como tales.
Toda pr�ctica puede ser ideal para una situaci�n, pero completamente in�til o
incluso perjudicial en otra.

Por esto, las actividades t�cnicas, documentaci�n, enfoques y dem�s elementos que
condicionar�n las pruebas a realizar deben ser seleccionadas y utilizadas de la
manera m�s eficiente seg�n contexto del proyecto.

Proceso de Desarrollo de Software


Tenemos el proceso de desarrollo en cascada, se denomina de este modo, ya que a
cada salida de una etapa cae en la siguiente, es decir, las etapas se llevan a cabo
una a continuaci�n de la otra. Una de las peculiaridades de este proceso, es que no
est� previsto volver a una etapa anterior, es decir si se olvid� relevar alg�n
requerimiento al comienzo, no tiene una alternativa para considerar este caso. Este
proceso supone cada etapa independiente de las etapas anteriores.

Tambi�n tenemos el desarrollo iterativo y creciente, se tiene las mismas etapas que
en el Proceso de Desarrollo en Cascada, sin embargo, en este proceso, la etapa de
relevamiento se divide en distintos sub conjuntos,y cada uno de estos sub conjuntos
se construye de la misma forma que con el ciclo de vida en cascada. Se van
desarrollando por partes que luego se integran, una vez finalizadas las mismas.

Otro Proceso de Desarrollo que tenemos es el Iterativo, en este tenemos las mismas
etapas de desarrollo que los procesos anteriores, pero trabajamos sobre el todo, no
necesariamente conocemos el comienzo todos los detalles del producto que queremos
construir.

Y por �ltimo tenemos el desarrollo �gil de software, este es un proceso iterativo e


incremental, se caracteriza por contar con iteraciones cortas y por no tener fases
lineales, tipo cascada en cada iteraci�n. Existen distintas metodolog�as �giles,
que entre las m�s conocidas y utilizadas encontramos "Scrum" y "XP: Extreme
Programming".

Pruebas est�ticas
Son el tipo de pruebas que se realizan sin ejecutar el c�digo de la aplicaci�n.

Puede referirse a la revisi�n de documentos, ya que no se hace una ejecuci�n de


c�digo. Esto se debe a que se pueden realizar "pruebas de escritorio" con el
objetivo de seguir los flujos de la aplicaci�n.

Pruebas din�micas
Todas aquellas pruebas que para su ejecuci�n requieren la ejecuci�n de la
aplicaci�n.

Las pruebas din�micas permiten el uso de t�cnicas de caja negra y caja blanca con
mayor amplitud. Debido a la naturaleza din�mica de la ejecuci�n de pruebas es
posible medir con mayor precisi�n el comportamiento de la aplicaci�n desarrollada.

Pruebas contra Especificaci�n (ESRE)


Antes de entender para que les sirve a los probadores beta trabajar con el
documento de especificaci�n de requerimientos, debemos saber qu� son las
especificaciones de requerimientos (ESRE).

Las Especificaciones de Requerimientos son un documento clave en el desarrollo de


Software. Cuando consideramos los ciclos de vida cl�sicos, tiene la descripci�n
completa de lo que va a hacer el sistema sin describir c�mo lo va a hacer. Estos
documentos tienen una estructura en forma de reporte bastante definida, poseen
car�tula, historial de cambios, introducci�n, definiciones, acr�nimos y
abreviaturas, especificaci�n de requerimientos funcionales, especificaci�n de
requerimientos no funcionales y casos de uso.

Los probadores beta se gu�an en este documento para validar si el sistema se


comporta de la manera que indican las ESRE. Contiene informaci�n detallada sobre
los requisitos funcionales y no funcionales que el Cliente desea en el sistema.
Tambi�n se pueden ejecutar casos de pruebas a partir de las especificaciones de
requerimientos ya que estos resultan muy �tiles porque son sencillos de seguir y se
conocen de antemano los posibles resultados.

Tipos de pruebas por su ejecuci�n


Pruebas manuales
Pruebas autom�ticas
Enfoques de pruebas
Pruebas de Caja blanca
Pruebas de Caja negra
Testing aleatorio2?
Clasificaci�n de las pruebas seg�n lo que verifican
Pruebas funcionales
Art�culo principal: Pruebas funcionales
Una prueba funcional es una prueba basada en la ejecuci�n, revisi�n y
retroalimentaci�n de las funcionalidades previamente dise�adas para el software
(requisitos funcionales). Hay distintos tipos como por ejemplo:

Pruebas unitarias
Pruebas de componentes
Pruebas de integraci�n
Pruebas de sistema
Pruebas de humo
Pruebas alpha
Pruebas beta
Pruebas de aceptaci�n
Pruebas de regresi�n
Niveles de prueba
Podemos considerar el proceso de pruebas funcionales como un proceso donde se va
probando inicialmente lo de m�s bajo nivel y se van integrando y probando
paulatinamente componentes hasta lograr un sistema completo totalmente probado. Por
eso se dice que hay distintos niveles de prueba. Se empieza por las pruebas
unitarias, luego las pruebas de Integraci�n, luego las de pruebas de sistema, las
de humo, las alpha, las beta y finalmente las de pruebas de aceptaci�n.

Las pruebas de regresi�n se puede considerar como la ejecuci�n (normalmente


autom�tica) de las pruebas ya realizadas hasta el momento.

Pruebas no funcionales
Una prueba no funcional es una prueba cuyo objetivo es la verificaci�n de un
requisito que especifica criterios que pueden usarse para juzgar la operaci�n de un
sistema (requisitos no funcionales) como por ejemplo la disponibilidad,
accesibilidad, usabilidad, mantenibilidad, seguridad, rendimiento. Podemos
clasificar las pruebas no funcionales seg�n el tipo de requisito no funcional que
abarcan:

Pruebas de compatibilidad
Pruebas de seguridad
Pruebas de Stress
Pruebas de usabilidad
Pruebas de rendimiento
Pruebas de internacionalizaci�n y localizaci�n
Pruebas de escalabilidad
Pruebas de mantenibilidad
Pruebas de instalabilidad
Pruebas de portabilidad
Herramientas para realizar pruebas de software
El control de la calidad de software lleva consigo aplicativos que permiten
realizar pruebas aut�nomas y masivas permitiendo as� la verificaci�n desde el punto
de vista est�tico y de caja blanca, es decir pruebas donde se analiza el software
sin ejecutar el software mediante el c�digo fuente del mismo. Podemos encontrar
herramientas escritas en software libre, c�digo abierto o software privativo.3?
Estas herramientas podr�n ser utilizadas para diferentes tipos de pruebas como:

Herramientas de gesti�n de pruebas


Herramientas para pruebas funcionales
Herramientas para pruebas de carga y rendimiento
Herramientas en c�digo abierto
Herramientas de gesti�n de pruebas
Bugzilla Testopia
FitNesse
qaManager
qaBook
RTH.4?
Salome-tmf
Squash TM
Test Environment Toolkit
TestLink
Testitool
XQual Studio
Radi-testdir
Data Generator
Herramientas para pruebas funcionales
Selenium
Soapui
Watir
WatiN (Pruebas de aplicaciones web en .Net)
Capedit
Canoo WebTest
Solex
Imprimatur
SAMIE
ITP
WET
WebInject
Herramientas para pruebas de carga y rendimiento
JMeter
Gatling
FunkLoad
FWPTT load testing
loadUI
Herramientas comerciales
Herramientas de gesti�n de pruebas
ApTest Manager
HP Quality Center/ALM
PractiTest
QA Complete
QAS.Test Case Studio
qaBook
SMARTS
Silk Central
SpiraTest
T-Plan Professional
TestLog
Zephyr
Herramientas para pruebas funcionales
BASSP testConfig/testExecutor
Internet Macros
QA Wizard
QuickTest Pro
Ranorex
Rational Robot
Sahi
Silk Test
SoapTest
Squish
Test Complete
vTest
Herramientas para pruebas de carga y rendimiento
ANTS � Advanced .NET Testing System
Forecast
HP LoadRunner
IBM Rational Performance Test (RPT)
Load Impact
LoadStorm
NeoLoad
Silk Performer
WebLOAD Professional
Webserver Stress Tool