Insights

Ian Curtis


How is buying shoes like building an SAP system?

02 Dec 2010

Last weekend I needed some new shoes for the daily commute into the London office. I found a lovely range of black work shoes for £10-£15.

Sounded like a bargain, but can I ensure they are fit for purpose? If I was building an SAP system I would want to test many aspects of the solution, otherwise how do I know it works.

So do I...

  1. Grab a pair of size 9’s straight off the shelf and walk smugly to the checkout thinking I have saved myself 5 minutes of trying them and different ones on
  2. Slip one size 9 onto my left foot and just check it quickly
  3. Try a style on I like, try both feet and do some walking up and down the aisle to check comfort and size. Road test my purchase!

Of course I will go for 3) and this rings true for any SAP project. Testing is paramount in ensuring any delivery is fit for purpose and there are 5 key testing phases to consider.

1) Does the left shoe fit the left foot

In my case I need to check each shoe for size and fit if I don’t then I have no confidence that they will function correctly together. This will be my unit testing. The unit test validates the business and technical functions of an individual piece of the overall solution.  All components should be fully tested independently to ensure that the component meets each of the detailed functional and technical specifications according to design prior to integration with other components.

Unit testing is conducted as part of the build phase and as such, unit  testing should be able to commence for completed components while the build of other solution components continues

2) Do they look good together

I now have both shoes on they fit comfortably and I can walk a few steps without them feeling uncomfortable. They work well together. Therefore my shoes have passed through Integration testing

The integration test checks that data integration functions according to design when individually developed components are brought together.  Integration testing is organised by technical integration points and transactions, rather than by business events.  Upon successful completion of the integration test, the integrated system should be technically sound and information flow throughout the system should be correct.

3) Will they last

How do I ensure my shoes will perform day in day out for the next 6 months. I can check the build of them, and I can walk a few metres up and down the aisle but it is all a bit hit and miss. Would you want your SAP system performance to be hit or miss ?

To ensure the system can cope with the day to day rigours it will be subjected to, it is imperative that there is adequate testing of, for example, data volumes, number of transaction calls, and user concurrency.

The performance criteria will need to be determined prior to the project starting to ensure the design will accommodate the expectations.

4) Are they shiny and comfortable

Are the shoes I chose fit for the purpose I defined. Have I chosen work shoes, do they match my suit, will they last, are they in my price bracket. As a user of the shoes I need to make sure they meet my requirements.

Acceptance testing is concerned with checking whether the system is suitable for delivery to the user.  This will take the form of testing by the end-user, business system owner, or their representative - who has a primary responsibility in acceptance testing for specifying or agreeing to the tests to be performed, and deciding whether the results are acceptable.

It should never be just a look and feel exercise.

5) There’s a hole in my shoe

So my shoes are 3 weeks old and the sole on the right one comes a bit unstuck, I get the cobbler to stick it back down for me. Of course I try it on and check it still gives me the same comfort, but I don’t need to test the left one, nothing has changed on this shoe.

Regression testing is concerned with the re-examination of system components previously found to be error-free to ensure they function properly with repaired or enhanced components.  Regression testing establishes a benchmark of success for all of the systems functions and upon repetition and comparison to previous results, insures that these functions or components are still functioning properly.

So as you can see however big or small a project , whatever value it is, there are checks and balances that need to be in place to test that the solution provides the business with the desired requirement. Different types of testing provide different results but at various stages of a project lifecycle or as part of BAU they are all valid and should all be considered.

At the end of the day I could have just grabbed the pair that caught my eye and taken them home but doing that would have meant I had added a whole lot of risk to my feet on the daily commute.



Comments

There are no comments about this entry.

Add a comment