Automated testing of emails

Testing emails is a challenging task and automated testing of emails is even more challenging. A while back I wrote about one of the way to automate email testing using GMail and IMAP. This solution works, but has a huge dependency on the network and Gmail. If there is any problem in the network or if GMail is down because of any reason - test would fail.

Also, this end-to-end flow is important to test, but as far as functional testing of application is concern - it is not application's responsibility to deliver emails to the client. Application will send emails to the SMTP server and it’s the responsibility of SMTP server to ensure that emails are delivered. As long as application can send appropriate emails / messages to the SMTP server, it’s fine and that’s all we need to test.

If application is configured to use real SMTP ...

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 ...

Software Testing - User Stories

User story is one of the primary development artifact for the XP project teams. A user story contains just enough information so that development team can reasonably give estimate about completing, tester can discuss how it will validated and customer can see its value.

One of the common question that we hear most of the time is, how user stories are different from use cases. User stories are much simpler than use cases. User stories are very easy to create, discuss and develop. They also do not contain any technical details.

Typically good user stories are defined in the following format

As a I would like to do so that

While discussing User Stories, you should make sure that they are not very big. A big user story leaves the chances of ambiguity and absence of clarity in the mind of development team. Ideally, you should be able to break ...

Scripting Guidelines for Test Automation

This article will give you information on the guidelines we have followed in one of the automation projects. These guidelines were developed by our team. Benefits of any guidelines can only be realized if whole team agrees to follow them and work towards developing or improving them further. Hope you will find these helpful.

Structure Of Script

A script in general should have following structure

  • Header
  • Include Section - All include files are mentioned here.
  • Declaration Section - Declare all the variables and functions here.
  • Main Section - Section containing starting point for this script
  • Supplementary functions - All the declared functions are implemented here.

Header Structure

Any script that you create for automation, should have header section in it. This section will have general information about the script, it's usage, author, revision history etc. You can follow template similar to this for header section -


File Name : Test_Case_001

Date : 02 Jul 2007

Author ...

Web Application - Interface and Compatibility Checklist

Testing web application is certainly different than testing desktop or any other application. With in web applications, there are certain standards which are followed in almost all the applications. Having these standards makes life easier for use, because these standards can be converted into checklist and application can be tested easily against the checklist.

INTERFACE AND ERROR HANDLING

SERVER INTERFACE

  • Verify that communication is done correctly, web server-application server, application server-database server and vice versa.
  • Compatibility of server software, hardware, network connections

EXTERNAL INTERFACE

  • Have all supported browsers been tested?
  • Have all error conditions related to external interfaces been tested when external application is unavailable or server inaccessible?

INTERNAL INTERFACE

  • If the site uses plug-ins, can the site still be used without them?
  • Can all linked documents be supported/opened on all platforms (i.e. can Microsoft Word be opened on Solaris)?
  • Are failures handled if there are errors in ...

Defect Report Template

Defect reports are probably primary work product for most of the software testers. Good bug report, which is informative and understandable earns you a good reputation. Weak report generate extra work for everyone. Most of the time, a weak bug report is returned with comments saying not clear, need more information etc. That makes you work again on the same defect and thus reduces efficiency of testers and developers both. Defect reports are not only used by programmers, but also by managers, executives, documentation team and support executives for various reasons.

Purpose of a defect report is multifold in any organization. Defect reports are used to

  • Alert software programmers about the defect and gives them sufficient information to find root cause and fix the problem.
  • Provide information to technical writers who are writing troubleshooting, known limitation etc.
  • Provide starting point for the next release
  • Add test cases in the regression ...

Web Application - Functional Testing Checklist

Testing web application is certainly different than testing desktop or any other application. With in web applications, there are certain standards which are followed in almost all the applications. Having these standards makes life easier for use, because these standards can be converted into checklist and application can be tested easily against the checklist.

LINKS

  • Check that the link takes you to the page it said it would.
  • Ensure to have no orphan pages (a page that has no links to it)
  • Check all of your links to other websites
  • Are all referenced web sites or email addresses hyperlinked?
  • If we have removed some of the pages from our own site, set up a custom 404 page that redirects your visitors to your home page (or a search page) when the user try to access a page that no longer exists.
  • Check all mailto links and whether it reaches properly ...

Web Application UI Checklist

Testing user interface for web application is slightly different from testing user interface of traditional applications. Irrespective of the web application there are certain things which should be tested for every web application. Following checklist will give some information on items that should be tested to ensure quality of the user interface of your web application.

COLORS

  • Are hyperlink colors standard?
  • Are the field backgrounds the correct color?
  • Are the field prompts the correct color?
  • Are the screen and field colors adjusted correctly for non-editable mode?
  • Does the site use (approximately) standard link colors?
  • Are all the buttons are in standard format and size?
  • Is the general screen background the correct color?
  • Is the page background (color) distraction free?

CONTENT

  • All fonts to be the same
  • Are all the screen prompts specified in the correct screen font?
  • Does content remain if you need to go back to a previous page ...