Wednesday, June 15, 2011

How to track your tasks effectively

Are you a manager or a lead? Or even a person who deals with many tasks to track and complete with out failure? If you are facing difficulty in tracking the tasks here is a simple solution for you.

Many of us use Microsoft Outlook for accessing mails and it will be live on our desktop always. It’s a feature rich tool for tracking our tasks too. You can configure a pane for tracking the tasks as shown below. It’s a very user-friendly UI. Adding and editing of tasks can be done as inline. You can close the completed tasks and get them available from calendar history. You can also assign tasks to your team mates and track them. The features are easy to learn from UI only. Happy tracking tasks !

Wednesday, June 8, 2011

Some Metrics that testers should know

Some important derived metrics that you should know :
· Productivity – unit work completed in unit time
· In-process defect density – number of in-process defects per unit size
· Post-delivery defect density – post delivery defects per unit size
· Cost of quality – percentage of effort spent on activities for ensuring the quality other than development activities inside the project
COQ = (Appraisal Effort + Prevention Effort + Failure Effort) X 100 / (Appraisal Effort + Prevention Effort + Failure Effort + Development Effort)
· Review effectiveness - % of defects from review process out of total defects. Defects from the review of test cases and test application are not considered.
· Testing defect density – number of defects from testing per unit size
· Developer testing effectiveness - % of bugs from developer testing out of total number of bugs (Developer testing + Testing team testing + customer testing)
· Testing effectiveness of Independent Testing Team(ITT) - % of bugs from ITT testing out of bugs from ITT testing and customer.
· Test execution rate – number of test cases executed in unit time
· Schedule variation – deviation of actual schedule from planned schedule expressed as percentage
· Effort variation - deviation of actual effort from planned effort expressed as percentage
· Mean time to Repair (MTTR) – a measure of how fast a customer reported defect is repaired
· Mean Time Between Failure (MTBF) – mean time between two successive failures of the product
· Customer satisfaction index (CSI) – the level of satisfaction of customer

Measure of Customer Satisfaction

As a QA person you have an expectation of quality. You customer also have an expectation level for quality. How do you close the gap in expectation from you and your customer? Have you ever thought of it? The quality expectation from your customer is based on many parameters

· Meeting delivery schedules

· Quality of deliverables

· Responsiveness

· Requirements understanding and change management

· Documentation effectiveness

· Post delivery support

· Project tracking and management

· Estimation and pricing

You can collect the above metrics from your customers and derive in a customer satisfaction index with a suitable formula. Here is an example :

Saturday, June 4, 2011

Introduction to Selenium

Selenium is a powerful test automation tool for web based applications. The open source tool with rich set of features is widely used in the industry. Selenium supports multiple OS, browsers and scripting languages. We will be explaining the scripting in Java here since its the most used one for selenium.

Friday, June 3, 2011

How to setup Selenium?

Selenium is a big buzz in web test automation. Still there are so many chaos in setting and a good framework with selenium. Lets make the things simplified here. We will discuss on how to start from the very beginning.

Download the following :
1.Selenium RC (I recommend java version) from http://seleniumhq.org/download
2.Eclipse for Java developers from http://www.eclipse.org/downloads/

How to optimize testing cost for product developments?


Testers always keep their eyes peeled for finding bugs. For a product development scenario, frequency of regression testing is very high. Especially for agile development, where product is implemented incrementally, software product has to undergo periodic health checks. Continuous Integration is the nick name for the whole set of activities involved in incremental development. Enormous effort has to be spent for ensuring quality for such cases. Here we can discuss how to reduce the cost without compromising on quality by enforcing to innovative techniques.

Automated Continuous Integration(ACI) strategies

For product developments, controlling quality in a continuous integration scenario is very costly. There are many repeated tasks which are performed on daily basis and correctness of the work product has to be ensured frequently. Early detection of a failure will save tremendous effort of the entire team. For example a build error caused by a check-in by a developer may affect all others work. An automatic validation of continuous integration process will definitely save considerable amount of effort.

I shall narrate about a configurable framework which can be reused across organization for automatic continuous integration validation process. We are using an open source tool called Cruise Control (an open source tool which is easily configurable) for automating the continuous integration process. The ACI framework will address the automatic execution of the below mentioned tasks. So no manual effort is involved in the validation of continuous integration and a regular product health check report is generated on a daily basis.

i. Generation of Daily Builds

The framework will get latest source code from version management tool like Subversion, Concurrent Version Systems etc. It supports many leading version management tools. After getting the source code, it builds the code using some build tool like MSBuild.

ii. Unit Testing

Unit testing is a fire wall mechanism against quality deterioration by escalating the unfavorable code changes as early as possible. Unit testing is enforced in all the big projects in most of the organizations. Making scripts for unit testing is worth for considerably bigger projects. It ensures that each small units of code are functioning properly and any modification which affects the intention of units are caught immediately.

Unit testing scripts can be integrated to our automated continuous integration framework and executed nightly. Any unit level defect can be identified at the earliest.

iii. Generation and validation of installation setup

“First impression is the best impression.” A failure installation causes lot of negative energy in customers. Validation of installation at the time of delivery is not a good practice since we may not get time to fine tune the setup after rectifying all the errors.

Our framework prepares installation setup by invoking the scripts of installation tool used. After making installation setup, it is invoked and installation process validated. Any installation tools like Installshield and NSIS (Nullsoft Scriptable Install System) can be integrated with our framework.

iv. Regression Testing

Regression testing and UI validation is another area which takes a major chunk of effort. Automated test scripts with suitable tools can do automated tests. These scripts can be plugged in to CruiseControl framework so that the regression testing will be performed automatically after installation of the product. Any test automation tools like Selenium, QTP, AutoIt etc can be integrated with our framework.

For UI validations like boundary value analysis, illegal entries etc we parameterize data via excel sheet. All input values and corresponding error messages if any are entered in excel sheet. The script reads the values in excel sheet and enters in GUI. This helps the tests very structured and easily modifiable.

v. Publishing of Report

The result of all continuous integration tasks should be made as a neat report. We can customize the report formats as per the interest of management and the tools used. Daily report is published on a web site which is accessible by all the members. There is a snapshot which reflects the overall status of all tasks and detailed drilled down reports for each task is also available.

The report is also mailed to all stake holders of the project. This is an automatic mailing system which can be configured in the framework.

For the installation setup of cruise control : http://cruisecontrol.net