Powered By Blogger

16 nov 2011

Sistema Comercial

SISTEMA COMERCIAL






SISTEMA DE CREDITOS


3 dic 2010

Testing de IU Web basada en script

La forma más simple de probar una aplicación web es la prueba manual a travez de la UI; sin embargo, porque la prueba manual es a menudo lenta, ineficaz, y aburrida, una buena estrategia es complementar la prueba manual con la automatización del Testing de la UI de la aplicación web.

Usted puede hacer esto de varias maneras.

La más vieja técnica utiliza Javascript para manipular los controles de una aplicación web a
través del Internet Explorer Document Object Model (IE DOM). La mejor manera de demostrar este tipo de prueba es visualmente, así que el cuadro muestra una simple ejecucion de una prueba Iu Web basada en script.


Si usted examina el cuadro , usted verá que la prueba es un pagina Web con dos frames.

El frame de la derecha recibe el Web AUT; su título exhibido es MiniCalc. En este ejemplo, la aplicacion es un programa de calculadora simple. El frame de la izquierda recibe las funciones Javascript que manipulan el AUT web, examina el estado resultante de la aplicacion, y registra los resultados de la prueba en un archivo externo. Este capítulo presenta las varias técnicas que usted necesita realizar para la automatización del Testing de la UI de la aplicación web.

La mayor parte de las secciones en este capítulo se refieren a la aplicación web mostrada en el frame derecho del cuadro . El aplicacion se llama WebApp.aspx. El código entero para la aplicacion es:



Para la simplicidad, todo el código de la aplicación web se contiene en un solo archivo fuente
antes que el metodo de separar código y C# en dos archivos separados.

Si usted examina este código, verá que el UI contiene dos campos de texto donde el usuario incorpora dos números enteros, cuatro controles radio button que el usuario seleccione para indicar cuál de las cuatro operaciones aritméticas realizara (adición, substracción, multiplicación, división), un boton para acceder a la respuesta del calculo, y de un tercer campo del texto que exhibe un resultado con cuatro decimales.

17 sept 2010

Diseñando Reportes con Reporting Services 2005 - PARTE 1

Generación de informes con visual estudio



La manera fácil de conseguir una descripción del estudio visual es utilizarlo para desarrollar un reporte simple. Los pasos siguientes son los pasos necesarios para iniciar estudio visual y crear un proyecto de reporte.

1. Clickear start, Clickear a todos los programas, Clickear al servidor 2005 de Microsoft SQL, y después Clickear SQL Server Business Intelligence Developer Studio.

2. Clickear el menú - archivo, Clickear nuevo, y después Clickear el proyecto. La caja de diálogo new proyecto se abre.

3. En sección tipos proyecto a la izquierda, Clickear proyecto la inteligencia empresarial.

4. En la sección de las plantillas a la derecha, click Report Server Project, según las indicaciones del cuadro 1.1







La sección de las plantillas debe contener un número de opciones. Usted puede ser que note que el nombre (nombre del proyecto) y el nombre de la solución que cambia con cada opción.
(Estos campos están situados en la parte inferior de la caja de diálogo.)
Usted debe también anotar la localización, como aquí es donde se almacenan los archivos del proyecto y de la solución. Para ahora, mecanografiar simplemente AdventureWorksReports en la caja de texto Nombre enlazando a la base de datos AdventureWorks. Su nueva caja de diálogo del proyecto debe parecer similar para figura 1.1.


5. Click OK para aceptar tus cambios y cerrar la ventana de dialogo Nuevo Proyecto.


A este punto, deberas tener un espueleto vacio de un proyecto listo para aceptar nuevos reportes

y fuentes de datos. El proyecto debera ser contenido en una solucion llamada AdventureWorksReports. Esto servira como base para avanzar. La pantalla sera igual a :


11 sept 2010

Repasando T-SQL

Subconsultas

Las subconsultas pueden ser distinguidas de dos formas. Una es por el numero esperado de valores (escalar o multivalores), y otra es por la dependencia en otra consulta. Ambas subconsultas escalar y multivalor pueden ser contenidas asi misma.


Subconsultas auto contenidas

Una subconsulta autocontenida es una subconsulta que puede ser ejecutada independientemente
de otra consulta. Las subconsultas autocontenidas son muy convenientes para depurar a subconsultas correlacionadas.

Scalar subqueries can appear anywhere in the query where an expression resulting in a scalar value is expected, while multivalued subqueries can appear anywhere in the query where a collection of multiple values is expected.

A scalar subquery is valid when it returns a single value, and also when it returns no valuesin which case, the value of the subquery is NULL. However, if a scalar subquery returns more than one value, a run-time error will occur.

Por ejemplo, ejecuta la siguiente consulta 3 veces: una como se muestra, segundo con LIKE N'Kollar' en lugar de LIKE N'Davolio', y la terceracon LIKE N'D%:

SET NOCOUNT ON; USE Northwind;

SELECT OrderID FROM dbo.Orders WHERE EmployeeID =
(SELECT EmployeeID FROM dbo.Employees
-- also try with N'Kollar' and N'D%' in place of N'Davolio'
WHERE LastName LIKE N'Davolio');

Con N'Davolio', la subconsulta retorna un simple valor (1) y la otra consulta retorna todas las
ordenes con la EmployeeID 1.

With N'Kollar', the subquery returns no values, and is therefore NULL. The outer query obviously doesn't find any orders for which EmployeeID = NULL and therefore returns an empty set. Note that the query doesn't break (fail), as it's a valid query.

With N'D%', the subquery returns two values (1, 9), and because the outer query expects a scalar, it breaks at run time and generates the following error:

Msg 512, Level 16, State 1, Line 1 Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression.

3 jul 2010

¿Cuales son las caracteristicas de una buena Prueba Unitaria?

El tema del testing es de los menos cubiertos por las universidades e institutos en el Peru, por lo que lo
iremos tocando poco a poco hasta cubrir todas sus aristas.

¿Cuales son las caracteristicas de una buena Prueba Unitaria?


1- Debe ser automatizada y repetible.
2- Debe ser fácil ejecutar.
3- Una vez que ha escrito, debe permanecer para el uso futuro.
4- Cualquier persona debe poder ejecutarlo.
5- Debe ejecutarse con el click de un botón.
6- Debe ejecutarse rápidamente.


Mucha gente confunde el acto de probar su software con el concepto de una prueba unitaria

Ejemplo de una simple test unitario:


Es posible escribir una prueba unitaria automatizada sin usar un Framework de prueba (Nunit).

Asumimos que tenemos una clase SimpleParser (mostrada ).
Tiene un método llamado "ParseAndSum" de el cual admita una cadena
de 0 o más números separados por comas. Si no hay números, vuelve 0. Si hay un solo número,
retorna ese número como int. Si hay números múltiples, los agrega todos para arriba y
retorna la suma (aunque, ahora, el código puede manejar solamente 0 o 1 número).


public class SimpleParser
{
public int ParseAndSum(string numbers)
{
if(numbers.Length==0)
{
return 0;
}
if(!numbers.Contains(","))
{
return int.Parse(numbers);
}
else
{
throw new InvalidOperationException(
"I can only handle 0 or 1 numbers for now!");
}
}
}


Podemos crear un proyecto de aplicación simple de consola que tenga una referencia al assembly que contiene esta clase,y podemos escribir un método " SimpleParserTests" según se muestra.
El método de la prueba invoca la clase de la producción (la clase que se probará) y después controla el valor devuelto. Si no es la que se espera, se escribe a la consola.

También coge cualquier anomalía y la escribe a la consola.


class SimpleParserTests
{
public static void TestReturnsZeroWhenEmptyString()
{
try
{
SimpleParser p = new SimpleParser();
int result = p.ParseAndSum(string.Empty);
if(result!=0)
{

Console.WriteLine(
@"***SimpleParserTests.TestReturnsZeroWhenEmptyString:
-------
Parse and sum should have returned 0 on an empty string");
}
}
catch (Exception e)
{
Console.WriteLine(e);
}
}
}

Después, podemos invocar los test que hemos escrito usando un método Main simple dentro de una aplicación de la consola. El método Main se utiliza aquí como ejecutor de la prueba simple,
que invoca las pruebas uno por uno, dejándolas poner a la consola.

Porque es una ejecutable, esto se puede ejecutar sin la intervención humana.

public static void Main(string[] args)
{
try
{
SimpleParserTests.TestReturnsZeroWhenEmptyString();
}
catch (Exception e)
{
Console.WriteLine(e);
}
}

Es responsabilidad del método de prueba coger cualquier anomalía que ocurra y escribierla a la consola, de modo que ella no interfiera con ningun funcionamiento de métodos subsecuentes.
Podemos entonces agregar más llamadas al método en el método Main como agregamos cada vez más pruebas al proyecto. Cada prueba es responsable de escribir el problema (si hay un problema) en la pantalla de la consola.

23 ene 2010

Virtualizando las aplicaciones .NET, Java, etc

Recientemente estaba desplegando unas aplicaciones .NET pero no queria instalar el Framework, asi que como se ejecutaran?, pues utilice el XENOCODE VIRTUAL APPLICATION STUDIO , que permite hacer portable a cualquier aplicacion o instalador, solo especificando todos los .exe, dll, base de datos, y demas files que necesita tu aplicativo (si eres desarrollador) o sino capturar el estado antes y despues del SO previo a utilizar cualquier instalador.

Tiene un comodo Wizard que guia la configuracion del nuevo executable portable, especificando files, framework's, ETC; ademas de especificar si se ejecutara desde un USB, host, etc.




descargalo aqui:
http://rapidshare.com/files/149488878/Xenocode_Virtual_Application_Studio_2008.6.1.261.rar





3 ene 2010

Como reproducir un archivo Wav con .Net 3.5


EL Problema


Se necesita reproducir un fichero de WAV.


La Solución


Crear una nueva instancia de la clase System.Media.SoundPlayer, pasar la localización o stream del fichero WAV, e invocar al método Play.


Cómo Hacerlo


El namespace System.Media, fue introducido en el Framwork 2.0 de .NET, contiene una clase SoundPlayer.

SoundPlayer contiene constructores que le dejan especificar la localización de un fichero de WAV o su stream. Una vez que se ha creado una instancia, solo se necesita invocar al método Play para reproducir el archivo. El método Play crea un nuevo thread para reproducir el sonido y es de esta manera asíncrona (a menos que utilice un stream).

Para reproducir el sonido de manera síncrona, utilizar el método de PlaySync. Notar que SoundPlayer utiliza solamente el formato de WAV.

Antes de que se reproduzca un fichero, se carga en memoria. Usted puede cargar un archivo por adelantado invocando el método Load o LoadSync, dependiendo de si usted quisiera que la operación fuera asíncrona o síncrono.



El Codigo


El siguiente codigo muestra un simple form que permite a usuario abrir un archivo WAV y reproducirlo:


Imports System

Imports System.Windows.Forms

Imports System.Media

Partial Public Class Ejemplo

Private Sub cmdOpen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdOpen.Click

' Allow the user to choose a file.

Dim openDialog As New OpenFileDialog

openDialog.Filter = "WAV Files|*.wav|All Files|*.*"

If openDialog.ShowDialog = Windows.Forms.DialogResult.OK Then

Dim player As New SoundPlayer(openDialog.FileName)

Try

player.Play()

Catch ex As Exception

MessageBox.Show("An error occurred while playing media.")

Finally

player.Dispose()

End Try

End If

End Sub

End Class