Sunday, May 24, 2015

about Resilient testing

With the wide spread adoption for Agile development methodologies and continuous integration features a recondite form of testing called a Resilience testing in coming into focus. If you have not heard of Resilient testing, then its better late than never to learn about it.

Resilience is a non-functional form of testing which evaluates as to how well a product can deliver when one of many of its components fail. Irrespective of the type of coupling (Cohesion) between modules of a product or between interdependent services, the resilience testing is always relevant because, for example, continuous integration of modules can bring about failure in the system if the necessary scenarios are not covered during testing.

Resilience testing can also be understood as how well a system/product can bounce back or continue to perform in face of some failure. It is also refereed to as Recoverability testing and this would extend its meaning as to how well the system/product/service can recover from a failure. For example, assuming a we-server went down, Resilience would also test how best it would bounce back with out loss of data or functionality.

Please do share your view about Resilient and Recoverability testing.

Wednesday, May 13, 2015

Data formatting stupidity can make you waste a lot of productive time.

Last night I kept getting JSON related errors, I looked at my java code that was using JSONObject to extract data. Below is what happened and what was learned from it to avoid wasting time (esp when you are burning the midnight oil)

Mistake: Instead of looking at how the data was being handled, once read it from the file, I kept looking at the JSON in the file.

I had JSON data in a text file and I was trying to parse through it. So during the initial code write up, I read the data and stored it all in a String and to be able to confirm that all the data is being read I reinserted the formatting to make it look like how it looked in the text file. I printed it and once satisfied that data was being read correctly, I moved on to implement further functionality .....without.... deleting the debug code.......and reusing the same string object to extract the needed data. Brilliant!!! ain't it.

lesson learned: comment or delete the debug code once its purpose is completed. Always look at how the data is being handled.