Testing Restful Webservices or API Testing - Remember PAPAS BE SFO, DEED HELP GC and DVLA PC

I have been working on API testing for sometime now. To be specific, I have been testing RESTful web services. I like the idea of REST and from what I have seen, many projects will move in this direction. In few projects I have been working on, RESTful web services are becoming backbone for mobile apps and web clients. If RESTful web services is a new concept for you, you can either dive deep down in the original thesis by Roy Fielding or get a quick overview here.

I like testing applications with RESTful interfaces as their backbone. Often these applications are more testable than tightly integrated applications because interfaces (web services or APIs) used by clients (Web, mobile apps, support or public) are available to testers as well.

In this post, I will explain the model / checklist I follow to test RESTful Web Services.

I usually test APIs for ...

Why Software Testing for mobile applications is different? Top 10 reasons.

We have witnessed transition from desktop to web and are witnessing another transition from web to mobile. I have been thinking about a blog series around testing mobile applications for a while and this is the first blog post in the series. In the coming few weeks, I will try to cover various topics / products / approaches related to testing mobile applications. I will focus on Android to start with and will move on to other platforms.

Before I dwell deeper into the subject - it is important to understand how testing mobile applications is different from testing browser / desktop applications. If we understand the distinction and challenges of testing mobile apps, it will be a bit more easier to tackle them.

1. Supported platforms & devices - you have more combinations to test

Desktop apps were usually targeted for specific platforms and it was relatively easy to access those platforms. Web based applications ...

Continuous Performance Monitoring

Continuous performance Monitoring

Performance testing is an important and integral part of most testing projects. This type of testing corresponds to Q4 of the Agile testing quadrant. You can find interesting insights on the agile testing quadrants in this post by Lisa Crispin.

Usually performance testing teams are different from functional testing teams and their reports / data etc are not easily available to to the entire team. I wanted to have more visibility, integration and feedback about the performance of application - essentially I was looking for Continuous Performance Monitoring.

In this post I will discuss what is continuous performance monitoring and how useful it is to report performance trends for every build.

In my current project, I am using TeamCity as the build server. TeamCity supports custom charts for any data. I thought, It should be possible to have performance data from all the teams in a particular format and ...

Analytic code - is it such an interesting thing?

Web applications are everywhere and most of us test them to earn our bread and butter. Broadly speaking, there are two types of web applications or websites - One which provide service and another which provide content. Web applications such as emails, facebook, bank or blogging platform provide a specific service and BBC, Times and many such sites provide content.

Irrespective of the type of web application, all of them need to understand user behaviour on the site and gather key usage pattern. One common way of doing this is with the help of analytic code. As a tester, it is important for us to understand how it works and how it can be tested. In this entry, I will discuss this in more detail and show you how iCheckWebsite can be used to test analytic code.

So what is Analytic code? Analytic code is usually a java script snippet which ...

Analytic code - is it such an interesting thing?

Web applications are everywhere and most of us test them to earn our bread and butter. Broadly speaking, there are two types of web applications or websites - One which provide service and another which provide content. Web applications such as emails, facebook, bank or blogging platform provide a specific service and BBC, Times and many such sites provide content.

Irrespective of the type of web application, all of them need to understand user behaviour on the site and gather key usage pattern. One common way of doing this is with the help of analytic code. As a tester, it is important for us to understand how it works and how it can be tested. In this entry, I will discuss this in more detail and show you how iCheckWebsite can be used to test analytic code.

So what is Analytic code? Analytic code is usually a java script snippet which ...

QUnit, Selenium and Continuous Integration

Most of the organizations these days understand the importance of unit testing and use it heavily in their project. Unit testing frameworks are available for most of the high-level languages like JUnit for Java, NUnit for .NET, pyunit for Python and so on. These unit testing tools have now reached a level of maturity and most of us have probably used them in some capacity. Unit testing Java Script is unfortunately, still a bit tricky and its integration with other tools is also not well known. In this article, I will try to explore how QUnit framework for testing Java Script can be integrated with Selenium and continuous Integration.

QUnit is a unit testing framework for JavaScript. It is capable of testing the JQuery code and server side code as well. QUnit tests require loading of the javascripts in the browser so even though they are unit tests their integration ...

Patterns in software testing and a claim - iCheckWebsite

I am a big fan of patterns and feel that ability to identify pattern is extremely useful for us testers. Patterns can be used in manual testing and automation both. In the following presentation, I will try to explain what are patterns, why patterns should be used in software testing and a nice tool we build utilizing the power of patterns.

Most of the patterns will have two main characteristics – they are repeatable and predictable. This repeatability and predictability is not limited to just development (as in design patterns), but can be used equally well in software testing. You can find a patterns in how testing is perceived by a specific manager and brace yourself to work (or argue) in a certain manner. You can find pattern in your own observation and figure out what sort of things you miss mostly. Probably there is a pattern in most of the ...

Testing Types

Have you ever thought why do you need to categorize software testing into different types? What is the benefits of dividing software testing in different types? One of the main purpose of software testing is to identify defects in the software. Defects in software testing can be defined as variance from requirement or user expectation. Based on this simple definition, it is very easy to categorize defects. For example:

  • If system is not functioning properly, its a functional defect.
  • If system is not performing well, its a performance defect.
  • If system is not usable, its a usability defect
  • If system is not secure, its a security defect
  • and so on..

Identify these different defects require different skill set, different techniques and different type of test cases. Testing is divided into different types to reflect, what kind of defects can be uncovered by those activities. This division also helps management in ...