Monthly Archives: April 2016

Free Testlink Account for Practice

Dear Readers,

This gives me immense pleasure in announcing that we have hosted testlink test management tool on our website for learning purpose. This will help you to see & understand how testlink works. Also, you can practice by creating requirements, test cases etc absolutely free 🙂

Also, I will write basic tutorial on how to use testlink effectively. So go on register yourself & start experimenting.

http://testlink.qatesters.in/testlink/login.php

TestLink

TestLink

Note: For security reason, if any IP address or user account is detected to perform illegal activity, necessary action will be taken including account suspension and/or blocking IP address & if required Legal Action.

Understanding JSON web service with example

In my previous post, I was talking about web service. Now I will take you to details of RESTful service (JSON). Before getting into details of web service, you need to understand about http request types like GET, POST etc. If you don’t understand these request don’t proceed further until you are clear with the concept as these are the building blocks.

GET method: This http request is used to get the data using http protocol.  The basic example would be when you try to open www.google.com than a GET request is sent to google server. Google server in response will be sending html document of Home page to the browser.

POST method: This http request is used to submitting data over Internet. When a user submits user registration details than web browser sends POST method to the server with all the details.

You might want to see how it looks like GET method being fired in your browser. I am using firebug to display the request in below Image.

GET HTTP method

GET HTTP method

Now let us understand JSON. JSON stands for Javascript Object Notification. This is used for  data interchange over the web. It is very easy to implement, easy to read & Interpret as human readable and also it’s machine friendly. Whenever any GET request is sent than server sends data in response in JSON format. JSON format consist of key-value pair. A typical JSON response looks like:

{“Student”:[
{“firstName”:“John”, “lastName”:“Doe”},
{“firstName”:“Jane”, “lastName”:“Doe”},
{“firstName”:“Sam”, “lastName”:“Doe”}
]}

Here firstName, lastName are key  & John, Doe are it’s values. So, Developers will be writing JSON parser within the application which can Interpret JSON response and display the content as and where required.

Introduction to Web Services

Those of you who are new to application development might be confused what does web service means & why it’s important in today’s time. When I started working, I too use to ponder what is it. Name appears to be cool & yes web service technology is really cool. Let’s understand it.

Web service Introduction, SOAP, REST

Web service Introduction

When we develop application aka software than one of the important characteristic which it should posses is robustness. We cannot store all the data in the application itself. You might say why not connect the application with database directly but this reduces robustness & have security risk. Web service becomes a layer between the applications. It becomes a mechanism to transfer data over Internet easily between the systems/devices. For example, lets take an example of flipkart (e-commerce website). It has website, mobile app as channel to sell the products. So, their development team is going to write API which can be re-used on both website as well as on mobile device. This reduces efforts, increases robustness. API will fetch the data for product name, details, price, Inventory etc so if in future they want to try different channel say B2B than existing API’s can be used to build B2B system easily.

There are 2 types of web services commonly used:

  1. RESTFul
  2. SOAP

RESTful aka JSON (Java script object notification) is used majorly as it’s light-weight & easier to implement as compared to  SOAP. SOAP (simple object access protocol) is used in legacy systems, applications which require lot of security etc. I hope this small article was able to convene the concept of web services because if you understand the concept  that it becomes easier to understand further in detail.

Basics of Continuous Integration (CI)

In earlier days of Software development, Code was not compiled very frequently so this use to create lot of problems like

  1. QA folks got large chunk of features to test at a go which needs to be tested in short span.
  2. Time to market was very high.
  3. QA Team, Business personnel were not having Good confidence on the application being deployed.

So, a new technique called Continuous Integration was created. It is also referred as CI in short. This helped us to test application under development much faster & efficiently. Whenever a developer’s code is committed than CI server will get the notification that new code has been checked-in so CI server starts builds process automatically. This will immediately check if new code is OK & is able to compile with existing code or not. Also, since new feature is immediately available to QA team so they can also test & verify if new functionality is working properly.

There are some distinct advantages of CI as mentioned below:

  1. Build Process became automatic & faster. Reduces chances of human error.
  2. Automatic Notification of Build successful or Error is sent to all stakeholder(s).
  3. Regression test suite can be run immediately which can inform if new change has introduced any regression or not.
  4. Helps clear the distinction of which version of code was checked-in
  5. Saves tester’s effort if build doesn’t meet entry criteria, testing team will not be wasting time to test wrong code.

This same approach with production level configuration can be used for Deploying the code in Production. This helps us to reduce time to deploy code & decreases time to market. There are many CI tools available which you can use in your Organization. I am mentioning them. Try, experiment & see the result which one best suites your need.

  1. Jenkins (Most Popular)
  2. Travis
  3. Buildbot

I will be writing series on Jenkins to walk you through all the steps to setup , configure & manage your CI server independently.

Linkedin.com has adopted this approach & profited a lot. Many organizations are now moving in this direction & adopting CI in their development Cycle. I have provided story of linkedin success with CI to feel the impact of this approach.

http://www.wired.com/2013/04/linkedin-software-revolution/