End-to-End Testing

   


The concept of end-to-end testing is that the business function is tested , not merely the application that has been developed. An example of this is a complete sales order transaction. In this case, the end-to-end test would involve the following steps:

  1. Creating the sales record

  2. Processing the order, from producing the invoice to dispatching the order

  3. Adding the customer to a mailing list for future promotions

  4. Archiving the transaction after payment has been received

This process could potentially involve several different systems and applications, as well as a significant time delay, as shown in Figure 4.2. It is not uncommon for some end-to-end tests to run for many hoursfor example, with the sales record discussed, the archive process might run only once a day overnight. The value of the test is that it runs exactly as it would in the operational environment.

Figure 4.2. The end-to-end test provides the customer with confidence that the new system or application will work alongside existing systems.

graphics\04fig02.gif

End-to-end testing is a significant area of testing that is sometimes omitted. One reason for this is the practicality of replicating the entire environment: It can prove expensive, although it should be noted that the testing environment can often use smaller, less powerful systems to test functionality.

Sometimes, of course, it is impossible to fully replicate the environment in which an application will run, but the part that is frequently left out involves the interfaces with other systems or applications. In this instance, the new product may receive data from an existing application, then process and forward it to another application, and archive it on yet another system. The testing of the system might involve test data being created to simulate the input being delivered. This is fine for testing the system itself, but not for the interfaces. The new system or application is adding a risk to all the other systems that it interfaces with and could potentially corrupt data on those systems if this aspect is not thoroughly tested.

Consider an application that runs on a PCsay, a Microsoft Access database. Data is input and processed locally and then is sent to a remote database on a Solaris platform to be used by other sections. The local application generates the necessary SQL code to query or update the records in a table on the remote system. This is known as a pass-through query or a pass-through update. If the code generated is not absolutely correct, the remote database is in danger of being corrupted, despite the local application passing all of its testing.

In this example, the test environment must include a clone of the remote database, as well as the local application and all the associated hardware and software. The significance of the end-to-end test in this instance is that testing encompasses the remote databasewhich might not even be part of the system under testto ensure that the data has been inserted or updated correctly.


   
Top


Solaris System Management
Solaris System Management (New Riders Professional Library)
ISBN: 073571018X
EAN: 2147483647
Year: 2001
Pages: 101
Authors: John Philcox

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net