RSS Feed

Monthly Archives: May 2015

Review of a Cloud Based Software Test Management System

Posted on

Test Management Tools are very important for effectively managing your Requirements, Test case preparation & execution and Bug reporting.

There are many Test Management Tools available on the market, a few example of which include HP Quality Center and IBM Rational Quality Manager.

HP Quality Center is sold as a web based Tool, but in order to allow users to access it from the web browser, it needs to be installed in an in-house server. Quality Center also requires installing some ActiveX controls in the Client machines.

Setting up and using HP Quality Center requires some skill. I often get requests  asking for guidance to set up Quality Center. In fact there are a number of courses on offer aimed solely at teaching people how to use Quality Center.  Additionally, the price of Quality Center used to be high.

I used to ask myself why there is no efficient Test management Tool available at an affordable price so that small startups and companies can also use them?

Recently I got to know about a Cloud Based Software Test Management Tool  called “ReQtest“. ReQtest is be provided as a SaaS service (Software as a Service).

If you are not very familiar with Cloud computing or SaaS, you can read this post. In summary, using the Cloud you will avoid the burden of installing and setting up the software or Tool and it will make updates to the software very easy.

Though Cloud based systems have many advantages, there are few things that  need to be verified before you start using Cloud based system. The important thing is a low Downtime. The latest technologies help to have almost a full uptime. Anyway, we need to make sure that Cloud based systems are using those latest technologies to avoid any Downtime. Another important thing is taking Data Backups so that we can continue our business if something unexpected happens to the Server Data. Given that ReQtest is used by big companies such as Sony Ericsson and Thomas Cook, I believe they have an excellent Server Uptime and enough Data Backup facilities.

ReQtest is seamlessly integrated into three modules for writing the requirements, writing and sharing test cases and for bug reporting.

Requirements

ReQtest makes creating and managing requirements effortless. ReQtest supports both agile and traditional development methods and makes it easy to get an overview of all your requirements.

Using ReQtest, requirements, design documents and test documents are all stored in single place,  instead of  spreading  out over different servers, e-mail, document archives etc.  Since ReQtest is web-based, it allows various stakeholders to view the requirements.

Ranking and prioritizing requirements is  a simple task in ReQtest.  We  can prioritize requirements using any kind of scale: numeric, high/low/medium, or the MoSCoW scale (Must, Should, Could and Won’t).

Test Cases

ReQtest has a test case module in which test cases can be written and assigned to testers in a team. Test cases can be easily grouped so you can follow up on results,  for example to find test cases with status OK, failed or not run.

When you create a bug report from a test case, ReQtest automatically copies information from the test case to the bug report. This makes it easy to quickly create structured, high-quality bug reports.

You can Customize the contents of forms in ReQtest to make them fit your process even better. Some of the things you can change include the contents of lists as well as adding, reordering and removing fields.

The key features of the Test Case module of the ReQtest Tool –

  • Checklists are a powerful complement to test cases, allowing you to quickly create lists of short test instructions.
  • Traceability allows you to see which requirement a test case is based on, and which bug reports are linked to a particular test case.
  • It is easy to attach files, for example design documents, use cases or screenshots.
  • Test cases can easily be e-mailed to project members or other persons

Since ReQtest is web based, you can share test cases with both our customers and suppliers, with different access rights for each if required.

Bug Reporting

You can easily customize the contents of forms in ReQtest to make them fit your business. You can rename, add and remove fields as well as use your own scales to describe the priority and severity of bug, for example using numeric scales, letter scales, or descriptive texts. Bug reports can easily be e-mailed to project members or other persons

Starting to use ReQtest is NOT a difficult task. ReQtest is structured in a logical manner and can be easily understood by anyone who uses a computer regularly.

ReQtest has extensive statistical functions which are particularly useful when working with requirements and test cases, especially for decision-makers at various levels.

You can choose different chart types and export charts as an image or an Excel file. The traceability matrix gives a clear summary of all the links between requirements, test cases and bug reports.

ReQtest allows the users to save Frequently Used Searches so that they can be accessed easily later.

And, ReQtest give you Free support by phone, by e-mail and remote desktop.

ReQtest offers a 10 day free trial for the Tool with full access to all features. Starting your the Free Trial is easy.

You just fill this Simple Form for getting the Free Trial. Once you submit the form, you will receive the verification link to your email. The verification link will allow you to set a password for your account and you can start using the Free Trial right away.

It seems they are providing the User Interface in two languages (English and Swedish). You need to choose your preferred language when starting the Trial. I chose “English” and started exploring the various options available in ReQtest. So far it all looks good. You can share your experience of the ReQtest trial in the comments section.

Advertisements

Software Test Automation tool evaluation

Posted on

In this post I will explain about evaluating Automation test tool and selecting appropriate tool suitable for our requirements.

Before start evaluating tool we should analyze whether automating software testing will really give any benefit over manual testing for your needs.

Actually, Software Test Automation is a good way to cut down time and cost.

But, it will reduce the cost and time only when it is really necessary or it is used effectively.

Test Automation is not required if you are going to use your application one time only or for short period only. For example, assume that you are having a website developed in ASP, and you are making some changes in this website. And, assume you are having solid plan for converting/migrating this ASP site into either ASP.NET or PHP in near future.

In this situation, it is not advisable to automate the testing of the new changes done in the ASP site.
In this case, simply you can complete the testing manually and then you can start your automation testing preparation once after the migration is done.

So, basically we need to automate our testing procedure when we have lot of regression work.

Once after taking decision to do the test automation, the next step is selecting appropriate automation tool.

There are hundreds of tools available for automating the software testing and some of them are Free.
Test complete, SilkTest, SilkPerformer, QARun, QALoad, TestPartner, WinRunner, LoadRunner, QTP, Rational Robot,Selenium,WATIR and openSTA are some of them.

Some of these Tools (e.g Selenium) are open-sourced.

We need to select appropriate tool based on below factors.

Budget allocated for the Testing process – Price for each automation tool will vary. Some of them are costly, and some of them are even free.
License pattern will be varying for each tool. License cost of some tools will vary according to geography location also. And, some tool vendors will fix different price for seat license and floating license.

So, first we need to decide about our licensing needs. i-e Ask below questions,
– In case the tool price changes according to geographic location, whether it will be cost effective for your location.

– How many Automation Test engineers will simultaneously work in your automation project?

– Whether you need separate set up for developing the scripts and for executing the scripts?

– Whether you are having plan to automate your any other testing activities? Whether the selected tool can be used for other projects also?

Support available for the Automation Tool. We need to evaluate whether the Tool provider will provide enough support and bug fix releases. And, we need to think about the support provided by the Forum community also.

Analyze whether the execution speed of the automation tool matches with your requirements.

Check the installation requirements (both Software and Hardware) for installing the automation tool in your test script development environment.

List down current skill set of your testers and check whether the tool can be effectively used by your testers. For example QTP will support vbscript, if your testers know vbscript they can easily learn using QTP.

Feasibility study is very important before finalizing the Tool. Most of Tools will provide evaluation or Trail offer. For example QTP can be downloaded from HP site and we can use it for 14 days. During this trial period try to automate different portions of your application to make sure that the Tool can be used for automating your Testing needs.

Analyze the Market Share and financial Stability of the vendor of the tool. It will get significance if you are going to use the Automation tool for long term regression testing purpose.

Check whether the Tool can be easily integrated with bug tracking tools. For example, QTP will be closely integrated with Quality Center (Test Director) which is a Test Management Tool.

The best approach is, we can prepare a list with all these factors and add remarks for each tool. And, we can select the tool by analyzing this list.

And, you can share you experience with Automation tool selection.

Importance of Software Testing in the Tech World

Posted on

We have reached a stage in human evolution where we can safely say that it is the various software used by service providers corporations that rule the world. Software companies spend a lot of money and manpower in creating software that satisfies the requirements that were specified by their clients which include individuals or enterprises. Along with the development of software, these companies are also required to ensure that the software performs as desired by the client. Like any other product that is manufactured, software can also have defects in the form of bugs in the program and they need to be tested rigorously before deploying. If the software does not perform as promised the company will face loss of its reputation in the market. Software testing can include general testing, load testing, functional testing, and regression testing.

General testing is a test that is carried out to ensure the functionality of the new software. The usual parameters that are tested include web performance and usability testing. The performance of an application online is the factor that is tested in general testing. The usability of the software in a given set of circumstances is also tested in order to help the engineers understand the areas where there is a scope of improvement. The general testing is a very important step that not only helps in testing the software and assessing the ability of the development team but also ensures that the end product that reaches the client is according to the specifications set by him.

Load testing is also a software testing process that checks the impact on the software during periods of higher than normal load. This is done by simulating operating conditions that exceed the normal load than what is prescribed for the software. This is different from stress testing in the fact that it checks the operational capabilities in normal and high load capacities while the stress testing checks the capabilities in events where errors are induced in normal operations. Load testing helps the developer gauge the multi-user support capabilities of the software. Load testing is very useful because it can find out the reasons for low performance.

Functional testing is done by identifying the functions of the software and creating input data that matches the identified function. The output is also determined and it is compared with the expected output. The obtained output and expected output are compared. Regression testing is performed to identify the bugs that are present in the functional and non functional areas of a system. It is done to ensure that using a patch or upgrade will not lead to the introduction of a new bug into the system. Repeated regression testing needs to be done to ensure that the software is glitch free during operation. Each of these testing methods has been designed to ensure that the software that reaches the client is as perfect as possible and satisfies the client to the maximum. They are an unavoidable part of quality assurance of software products in today’s world.

Tips for doing effective QTP script Development

Posted on

Creating automation scripts using QTP (Quick Test Professional) is mostly same as developing an application.

We need to follow the standard procedures to develop the scripts.

Find below some the automation script development tips based on my experience.

If you want to learn QTP from me, you can refer this previous blog post.

Read the Requirements completely and repeatedly till understanding it clearly without any ambiguity. It is better to create own automation testcases/requirements based on the manual test cases or business requirement document.

Highlight or make note of key requirements in the requirement document. And, highlight the points that are difficult to understand.

Don’t hesitate to approach the developer/customer/client if you need any clarification in the requirement and also don’t hesitate to inform if any of the requirements is unrealistic. Prepare a list of requirements or test cases which can not be automated.

QTP Script development Team also should participate in the requirement analysis before starting any application development activity. QTP Automation team can give suggestions (e.g giving unique name/id for each window so that object identification problem can be avoided when creating QTP scripts) for the application development Team for improving effectiveness of the QTP script development.

Start working on coding/scripting part only after getting clear understanding of the overall Design of the system. i-e First you should concentrate more on gathering enough details for preparing your QTP automation framework.

Enforce Review and Walk Through Activities. It should be done during every phase of the automation script development. i-e Automation frame work should be reviewed by each member of the Automation Team. And, everyone should review the Object Repository once after adding all the required objects with required properties and with meaningful logical name.

Try to setup Development Environment similar to production environment. Otherwise you will face lot of difficulties while running the QTP script against the production application once after completing your script development using development/testing application. You should use AOM (Automation Object Modeol)to move the script settings from development environment to production (i-e Test execution) environment

Do unit testing immediately after developing each small functionality. For example once after adding the object repository, use the Highlight feature in the Object Repository to make sure that the added Object can be identified.

Give updates of the progress to the client/customer frequently. If you are facing any difficulty/issue remember to specify in the updates.

Make list of things that will vary from Development Environment and Production environment. For example path of config file and Recovery Scenario file.

Prepare a user guide document and deliver it along with code. It should clearly specify the steps required for running the scripts and for analysing script. And, it should contain enough details to run the scripts partially, if the script execution fails in between the execution.

How to write Test Cases?

Posted on

In Manual Testing, Testers will test the Application  by executing the Test cases manually  without requiring  any automation tools.  Manual testing will take significant time to cover all the requirements. So, it is very important to write test cases effectively to cover all the requirements while keeping number of test cases at  minimum level.  Let us  see how to write test cases  for testing an application.

What is  Test Case ?

Test case is “Documentation specifying inputs, predicted results, and a set of execution conditions for a test item.” The  purpose of Test Case  is to divide the software function into small units of function that is testable with input, and producing result that is measurable.

i-e  A test case is a feature/function description that should be executed with a range of input, given certain preconditions, and the outcome measured against expected result.

These are the  fields commonly present in the Test Cases :

  • Test case id
  • Test Case Description
  • Procedure / Test Steps
  • Test data
  • Expected result
  • Actual result
  • Status ( Pass/ Fail)
  • Comments

Test cases should be simple and easy to understand for Developers.

Test Case ID :

This ID should be Unique throughout the Testing Application and not to change at any moment.

Test Case Description:

Explain the function under test. Clearly state exactly what attribute is under test and under what condition.

Prerequisites– Every test needs to follow a sequence of actions, which lead to the function under test. It could be a certain page that a user needs to be on, or certain data that should be in the system . For example  registration step should be completed before start testing login.

Procedure/Steps:

Sequence of steps to execute the specific function.

Test data:

Specify the data used for a particular test or if it is a lot of data, mention the path of a file where this data is stored.

Expected Result:

Clearly specify the expected outcome in terms of the page/ screen that should appear after the test, changes that should happen to other pages, and if possible, changes that should happen to the database..

Actual Result :

State the actual result of the function execution. Especially in case the test case fails, the information under ‘actual result’ will be very useful to the developer to analyse the cause of the defect.

Comments:

In this section you can add your reviews, suggestions and ideas to developers for the bug how we fix that.  Especially this section made to communicate with developers.

Test case writing procedure

  • Get as much information about the application as possible through available documentation (requirement specs, use cases, user guides) , tutorials, or by exercising the software itself (when available)
  • Determine a list of features and different user roles.

Say for example, if you are writing Test Cases for testing  this Timesheet Application.

First you should understand the features available in this timesheet application by reading the help files and other available documents about this timesheet application.

You should know about different user roles (e.g user, admin) involved in this application.

Once you gather all the details about this application, you can start writing test cases. Find below one sample, and you can show/test your test case writing skills by adding more test cases thro’ the comments section.

  • Test case id – LG01 (LG refer as Log In)
  • Test Case Description -Check Case sensitivity in  Log In Functionality
  • Procedure
  1. Load login screen by visiting http://qualitypointtech.net/timesheetdemo/index.php
  2. Enter valid username and password in Upper case.
  3. Click “Login button”
  • Test data – Username as user || Password as USER
  • Expected result – Alert box like CAPS LOCK on to warn the user
  • Actual result – But its not visible and accessing with uppercase letters.
  • Status ( Pass/ Fail) – Fail
  • Comments –  Password is an user’s choice so we can’t restrict so we have to give the warn or alert box or format that password should be like this.
Like wise, for each and every action we have to write test cases.

At the time crunch of any project, the testers simply go with the Adhoc Testing and Exploratory testing.

%d bloggers like this: