Speaker Background
M.S.Krishna Rao
Quality Engineering: Approaches to Handle Test Tool Dependencies in an Open Source Environment
M.S.Krishna Rao — Member Technical Staff — Sun Microsystems

Krishna Rao has more than 8 years software industry experience. He is currently working for Java SE SQE organization as a lead for internal test automation tools. He has direct experience in building tools that are being used by SQE engineers to automate tests and test result analysis. He has exposure to quality assurance of various products like Application Server, Java Enterprise System, Databases, ETL tools and Installers. Prior to joining sun he worked for companies like Aztecsoft, Dharma Systems.

Introduction

In today's era of free and open development with boundaries fast disappearing, software development is now a joint collaboration with developers across the globe. Testing products in such an open environment requires a different mind-set and game plan. Contributors in most of the existing open source products supply a set of unit tests that help qualify the bug fixes or enhancements. Facilitating easier test development and execution helps to build a better community around the product. However, every venture is faced with its own challenges. Most product companies may have built their own automated test frameworks and test suites using proprietary test tools or a commercial test development and automation tool. The issue of not being able to provide an intuitive or user-friendly test development and execution environment due to the dependencies on the test tools leads to an important question:

How to handle test tool dependencies in an open source project?

Audience

Quality professionals or teams, who are involved in testing products that are being open sourced. The approaches would also be helpful to project or program managers to chart out detailed plans around open sourcing test tools.

Approaches

Test tool dependencies in an open source project, can be handled in various ways. Some of the approaches are listed below.

  1. Open source the test tool in use
  2. Convert the test suites so that they are compatible with existing open sourced test tools
  3. Customize an already existing open sourced test tool to your requirements
  4. Product under development? Plan test development with an already existing open sourced test tool

Selecting an appropriate approach leads, to successful open source endeavor, along with test development and execution environment. Having an intuitive or user-friendly test development and execution environment positively impacts the growth of community around the product. Also, deciding an approach ahead of time in the product life cycle could save a lot of over-head costs to the organization.

Important areas or issues for consideration

  • Tool Evaluation
  • Licensing
  • Quality criteria for the test tool
  • Community readiness
  • Tool usage by community
  • Support