Thursday, November 20, 2014

Wish list for Software Systems integration in every country

Recently I visited RMV in Watertown, MA for getting my driving license updated. They all did their job as best as possible. Being an Integration Consultant, every time I visit any government agency like this, I keep thinking about this.

They all have every bit of information already about me in their (at least one of their) systems. WHY DO THEY ASK ME TO FILL THESE SAME QUESTIONS IN EVERY FORM?
They waste
  • My time in finding the information, filling, correcting, printing, taking time out of my office hours 
  • Govt agency's time in validating every details of hand written (with human errors) applications, providing facilities for.
  • National resources - Infrastructure for buildings etc.
My wish list for future (you would think that this is right out of a sci-fi movie) is
  1. When you walk in to airports, No visa, passport, ticket or any other document to be presented instead scan my iris, palm or an embedded device. Do not ask me the purpose of visit, you must already be knowing it with verified documents (air ticket, valid visa and passport)
  2. Our medical records
    1. They should be shared by all physicians/clinics.
    2. I should not be filling all those forms again with detailed clinical history at every clinic.
  3. If I need to transfer my driving license/car registration etc, System should already know that i moved from Texas to Massachusetts and should present me a confirm button with every update its going to do namely,
    1. Insurance update
    2. New driving license issued by the state
    3. Car and other vehicles registration transferred 

There are numerous use cases like these where we can automate
Although these might sound like next to impossible task given the different agencies involved that govern the data, but we already have most of the information stored in multiple systems and its not an impossible task to integrate these. 

Thursday, March 20, 2014

SoapUI - A powerful web services testing tool

Recently I happened to Review/Test a few web services implemented for one of my client. 
SoapUI Pro

SoapUI is the defacto standard for validating webservices. Apart from technical deliverables, I also got to evaluate the product and compare it with free version. I downloaded free version and Pro (14 days evaluation) and was pleasantly surprised at the advancements and ease of use. I developed webservices a few years ago and hardly any useful tool was there to test it. 

SoapUI Pro interface 

Some of the notable features I liked and used are

  • Dynamic Duo/The Editors - You can visually enter data rather than searching though XML and entering the data. I used this extensively and is a very neat feature. 
  • Point and Click Testing - Almost ready to test the webservices just with few clicks. You can click on the web service response xml contents and right click and few more clicks and SoapUI writes the xpath qeury and associated test case. Its that simple. 
  • Test Debugging - Helps creating test flows, other testing related constructs like conditional execution, looping etc. I mostly utilized connecting to DB (data source) and groovy script.
  • Data Sources - Provides options to connect to most popular data sources. You can write queries/get the data from these sources and then use use the data as part of inputs to your webservice calls or compare the data to validate the webservice response.
  • Multi-Environment Support - If you have multiple environments on which you need to do same webservice testing, this is a major timesaver. I created my own config file and imported those settings as project's properties. Client code, end points. connection string, user name and such commonly used strings were stored and the imported properties could be used in test cases as variables with a few clicks(Again I did not type any of these).
  • Reporting - Provides nice reporting of all test suites/cases executed with their status. You can also customize the template of reporting. I mostly created HTML reports as they were very easy to use and store but PDF, CSV and other formats are also available. 
  • The SQL builder - Sql builder allows you to visually choose the tables and build query, our huge database with few thousand schemas was too much for SoapUI . I preferred using my ready to use queries and it worked flawlessly.
  • Stop the Hackers - XML Bomb, sql injection, malformed XML and plenty of other ready to use test cases are available under security category  - Just few clicks away.  

SoapUI had plenty of other features but these were the features that I ended up using and was pleased with the self explanatory and user friendly interface.
You can take a look at their SoapUI : 12 reasons to go pro page for more details.

SoapUI also has a free version. Free version is very limited but lets you create your test cases with basic features.