QAustral

Un Blog de QAustral SA – Calidad de Software y Negocios

Home » Posts tagged "Calidad de Software" (Page 9)

Why Quality Assurance Software Testing?

There are two major industry trends adding to the pressure. The first is accelerated release cycles. Second, while releases are more frequent and cycles shorter, the cost of failure has increased dramatically. Just a few years ago, when client server products were at the cutting edge, releases were, perhaps, annual and the expected number of users was known well in advance, because all the users were employees.
An organisation could mitigate a system failure with a manual backup. But as huge portions of the business were overhauled, and these systems addressed larger user populations, releases became more frequent, and system failures commonly meant that no orders could be taken at all. Today with E-commerce applications, releases can occur two or three times per month. Now, the user base is a large but unknown number of customers, not employees. System failures are highly visible and can cause customers to run to the competition.
These trends have several serious implications for project managers. The high cost of failure means that deploying untested software is simply not an option. Additionally, every aspect of quality needs validation, not just one or two. Accelerated release cycles drive the need for automated testing in which tests are easy to create, maintain and reuse. There is just too much to do in too little time to rely on manual methods.
A continuous approach to quality, initiated early in the software lifecycle, can lower the cost of completing and maintaining the software significantly. This greatly reduces the risk associated with deploying poor quality software.

by Spintrum

¿Por qué Testing de Software & Quality Assurance?

Hay dos grandes tendencias de la industria que suman presión al desarrollo de software. La primera es acelerar los ciclos de liberación. En segundo lugar, mientras que las fallas son más frecuentes y los ciclos más cortos, el costo del fracaso ha aumentado drásticamente. Años atrás, cuando productos al servicio del cliente se encontraban en la vanguardia, el número previsto de usuarios se conocía con bastante antelación, ya que todos los usuarios eran empleados.
Una organización puede atenuar un fallo del sistema con una copia de seguridad manual. Sin embargo, como el desarrollo y el acceso a tecnología ha evolucionado, estos sistemas se dirigen ahora a poblaciones de usuarios mucho mas grandes. Las fallas se hicieron más frecuentes, y los fallos en el sistema común no significa que las indicaciones para resolverlo pueden ser adoptadas a todos. Hoy en día con aplicaciones de comercio electrónico, las fallas o avisos pueden ocurrir dos o tres veces por mes. Actualmetne, la base de usuarios es un número grande pero desconocido de clientes, no empleados. Los fallos de los sistemas son muy visibles y puede motivar a los clientes correr a la competencia.
Estas tendencias tienen graves consecuencias para los gestores de proyectos. El alto costo del fracaso significa que el despliegue de Testing de software no es simplemente una opción. Además, deben cubrirse todos los aspectos de necesidades de calidad de validación, y no sólo uno o dos. En la aceleración de los ciclos de liberación existe la necesidad de conducir pruebas automatizadas en las que las simulaciones son fáciles de crear, mantener y reutilizar. Hay mucho que hacer en muy poco tiempo para contar con métodos manuales.
Un enfoque continuo de la calidad que se inició a principios del ciclo de vida del software, puede reducir los gastos de elaboración y mantenimiento del software de manera significativa. Esto reduce considerablemente los riesgos asociados con el despliegue de software de mala calidad.

by Spintrum

Cual es el orden sugerido de ejecucion de tests?

Testing no es solamente ejercitar el software para detectar defectos o fallas, Testing se aplica a cada una de las etapas conocidas del desarrollo de Software

Por lo general pensamos que ejecutar pruebas es todo el testing cuando en realidad eso solo representa el 40% del testing. Porque se da tanta importancia a una sola actividad cuando los errores se pueden encontrar antes y con menor costo. Yo creo que es una cuestion de cultura el no ver mas alla de lo que creemos importante.
Testing no es solamente ejercitar el software para detectar defectos o fallas, Testing se aplica a cada una de las etapas conocidas del desarrollo de Software. Cada etapa, documento involucrado, porcion de software, planeamiento es testeable y debe ser testeado antes de ejecutar los System Tests.
Ademas involucrar los testers en etapas tempranas del desarrollo trae muchos beneficios, como ahorro del tiempo de ejecucion de tests, familiarizacion con el futuro sistema.
El ciclo elemental de Testing cuenta con las siguientes etapas:

> Planeamiento y Control
> Analisis y Disenio.
> Ejecucion e implementacion
> Evaluacion y reportes
> Actividades de cierre

Cada una de estas actividades internas al area de testing estan relacionadas con las etapas del desarrollo del software para “testearlas” y encontrar fallas antes de tener el codigo listo.
Solo dento de la etapa de ejecucion se realizan los test de:
* Component Testing (Mas conocidos como UniTests)
* Integration Testing (Mediante distintas metodologias, Bigban, Funcional, etc…)
* System Testing (Functional y No Funciona)
* User Acceptance Testing

by Sergio