Posts Tagged ‘Agile Testing’

What do we use for Testing Rest APIs, Advanced Rest Client, Jmeter? Sometimes it becomes so boring to do things in conventional way. Let’s try something different and walk away from the Mainstream Testers.

This post is all about breaking your limits and do some real coding. So let’s get started.

So what is CURL? It’s a command-line tool for transferring data using various protocols.Basically you can hit any URL and get it’s response.

Similarly we can execute an API and check for the HTTP response to find out whether the API is working as expected or not.

You need a Linux Machine to use CURL otherwise you can download in for your Windows and Mac OS from here: http://curl.haxx.se/download.html

CURL SCRIPT:

curl –write-out “%{http_code}\n” –silent –output /dev/null “http://www.igyaan.in

The above code will print HTTP Status code in the terminal

Description of the option used (–write-out)

write-out – write-out is extremely useful. This option allows you to specify extra information that you want curl to print, using special variables. For example, to print the HTTP response code of your request, you use the “http_code” variable. You must enclose the variables in %{}.

silent – It allows one to suppress the progress output that curl prints when the command is run

output – It writes HTTP Status code in /dev/null file temporarily

What is Bash Script? Bash is a command processor, typically run in a text window, allowing the user to type commands which cause actions. Like all Unix shells, it supports filename wildcarding, piping, here documents, command substitution, variables and control structures for condition-testing and iteration.

And yes, you need a Linux Machine.

I will use the same CURL command from above and will create the bash script. Have a look at the simplest if else program to check the HTTP Status Code.

BASH SCRIPT:

#!/bin/bash

STATUS=$(curl –write-out “%{http_code}\n” –silent –output /dev/null “http://www.igyaan.in “)

if [[ STATUS -eq 200 ]]; then
echo “Success”
else
echo “Failed”
fi

Save the file with a file name ending with .sh e.g. TestAPI.sh

Finally run this script with the following command:

bash TestAPI.sh

It’s a very simple program so I am not going to explain this. But please post comments for any queries

Hope you liked it and will eager to explore CURL and BASH scripts 🙂

Advertisements

The Challenges in Agile Testing

Agile Testers face lot of challenges when they are working with Agile development team. A tester should be able to apply Root-Cause Analysis when finding severe bugs so that they unlikely to reoccur. While Agile has different flavors, Scrum is one process for implementing Agile. Some of the challenging scrum rules to be followed by every individual are

  •  Obtain Number of Hours Commitment Up Front
  •  Gather Requirements / Estimates Up Front
  •  Entering the actual hours and estimated hours daily.
  •  Daily Builds
  •  Keep the Daily Scrum meetings short
  •  Code Inspections are Paramount

So, in order to meet the above challenges, an agile tester needs to be innovative with the tools that they have. A great idea happens when what you have (tangible and intangible) meets the world’s deepest hunger

How Testers Can be More Innovative in the Age of Agile Testing?

Here are Important Keys to Innovation:

1. Creative

A good Agile Tester needs to be extremely creative when trying to cope up with speed of development/release.  For a tester, being creative is more important than being critical.

2. Talented

He must be highly talented and strives for more learning and innovating new ideas. Talented Testers are never satisfied with what they have achieved and always strives to find unimaginable bugs of high value and priority.

3. Fearless

An Agile Tester should not be afraid to look at a developer’s code and if need be, hopefully in extreme cases, go in and correct it.

4. Visionary

He must have a comprehensive vision, which includes client’s expectations and delivery of the good product.

5. Empowered

He must be empowered to work in Pairs.  He will be involving in Pair Programming to bring shorter scripts, better designs and finding more bugs.

6. Passionate

Passionate Testers always have something unique to contribute that may be in terms of their innovative ideas, the way they carry day-to-day work, their outputs and improve things around them tirelessly.

7. Multiple Disciplines

Agile Tester must have multiple skills like, Manual, Functional, Performance testing skills and soft skills like Leadership skills, Communication skills, EI, etc. so that agile testing will become a cake walk.

“Innovation is the process of turning ideas into manufacturable and marketable form”        –  Watts Humpry