Archive

Posts Tagged ‘QMetry’

Requirements – building the foundation strong.

June 22nd, 2010

Requirements – the foundation of any (every) software application/ product. For years software organizations are constantly suffering from various issues related to requirements and hence trying to find better solutions and techniques to manage requirements. But, there is nothing concrete and reliable solutions or techniques/ methodologies yet that can be used as a cent percent solution for managing and maintaining requirements in better way. Ideally, it seems very little is done to mitigate this long-living problem and the scope is still limited but highly demanding. Well defined and clear to understand requirements is always one key player that can lead to fewer mistakes and other uncertain or certain errors in the later stages and ensure successful project completion.

What are requirement(s)?

Basically, requirement is a condition or capability needed by a user to solve a problem or achieve an objective that must be met or possessed by a system or system component to satisfy a contract, standard, specification, or other formally imposed document. The IEEE Standard 1233-1998 focuses on 3 important parts (points) that a requirement must contain:

i) Capability

ii) Condition(s)

iii) Constraint(s)

Where, capability means ability of doing something e.g. Computer has data processing capabilities. Condition, state of something (e.g. weather conditions) or in other context existence/ appearance of any entity for something to happen (e.g. Account access can be availed on certain conditions.) and Constraint means either limitation or restrictions e.g. dropping testing activities due to time constraints.

Not just the above three points are equally vital to define and design any requirements for a target application/ product but I would like to add 2 more points and these are Clarity - means free from obscurity and easy to understand and the second one is Complete, which means perfect and up to the mark in every respect. The more clear and complete the requirements, lesser are the chances for errors and mistakes and then the derived hassles.

In other context requirements are the base which finally results in the form of application or a product. Requirements are the documented needs of a project that are gathered to identify the specific constraints (scope) of each project component and act as the foundation for everything else that occurs in a project.

Requirements - The Foundation

“Requirements” is the foundation on which any application or product is built upon and also are the pillars on which the product stands on and holds to. Hence, stronger, clearer and constant the requirements better and reliable the product is built and higher the quality achieved.

In any field if observed closely, if the requirements/ objectives are not clear and properly (precisely) defined the results are always a worry and headache in all the later stages and finally a complete failure; lets take a simple example “One cup of sugar free tea” now here, the tea to be prepared for a diabetic patient (or sugar free) or a normal person is not clearly specified (because too many meanings can be derived like i) tea using Sugar free Sugar for diabetic patient or normal person, ii) tea for a diabetic patient with normal sugar, iii) tea for normal person with normal but less sugar, and so on.); thus, it is natural that the prepared tea will contain sugar (either sugar free or normal as it is no t clear enough) which means that the final product is not as expected and this may lead to completely scrap the final product i.e., “Failure” and the reason is poor, unclear or incomplete requirements.

The above requirement may be easy and much clear to understand in the re-phrased structure as “One cup sugarless tea for diabetic patient”.

Similar simple scenario in different context, tea for 5 people, 2 cups for diabetic patients. The requirement seems too simple and may be understandable enough but still lacks clarity and completeness thus, can be re-phrased as “5 cups of tea, 2 cups sugar free for diabetic patient and 3 cups for non-diabetic people”.

Even though elaborated, above examples still may be incomplete and confusing if they do not have other relevant data specified like the type of tea i.e., Black tea/ dark (strong) tea/ Light tea or if the ingredients-wise classification is not clear like Ginger tea/ Lemon tea, etc.

The above example may not seem much technical but it explains the context either way. As stated earlier there is little done and exists that can be a vital workout for these classic chaos, the woes are also due unavailability of standard and universal tools/ systems that can be used to mitigate and overcome the requirements management concerns. There are few traditional ways that industry knows and a few select tools that can be quite helpful to the software companies but depending on the availability and the requirements of the requirements management.

What’s the current story?

Presently, till I know, excel and or word doc based requirements management is one of the widely used (accepted) and a classic way of organizing, managing and maintaining the requirements. It still takes the major share in the industry because of its simplicity and easy availability. But this is really a cumbersome job when it comes to the part of gathering these requirements to define the specifications and the higher level designing.

Now, as the software development process is gradually changing and the development techniques have been faster and more time-bound it is crucial that the requirements needs to be properly formatted and well organized and conveyed thus, managed and maintained. This may not be true enough in case of traditional excel/ word doc based methods.

Any Tool supports?

This is a critical and more or less complex question to answer with justification that is there any tool that helps in managing the requirements management but, up to greater extent the answer is yes and there are few valuable and useful tools that would really help managing these tasks, some of the software’s that are available are JAMA’s requirements managements tools and Rational’s DOORS, RaQuest and few others which are very less known or either used.

Is it wise investing in tool?

This is very crucial question that needs to be very well justified that whether the investment on a tool for just a single task is enough and worth? Will it give the intended ROI? And what if the expectations fail? Because investing in any tool is a big cost and software companies usually do not make up themselves for investing on tools. Ideally, it is a wise decision that investing in a tool will definitely be helpful and guarantee better process approach and organizing of requirements managements activities. But, the decision is of management; as cost factor that matters!

How about Test management tools?

Thinking in different way is considering the Test Management as an alternative and this is really value driven approach in order to get more from the investment made as many of them provide or possess the requirements management capabilities as well. Today, there are many test management tools available in market and many of them have their own advantages and disadvantages like QC, ClearQuest, SilkCenter, QMERTY, etc all with their unique features and functions. While, QMERTY is one of the tools that is used usually for Test management activities in many organizations with one of its extreme valuable feature of “Requirements management”.

QMETRY (http://www.qmetry.com) provides extensive capability to manage requirements and link them to testcases as well as defects for traceability analysis. By defining Requirements, you can plan and manage tests that are more focused on your specific business needs. Not only this but as requirements are also associated to tests and defects to provide complete traceability and to aid the decision-making process. QMETRY with its advanced search feature allows you to locate any requirement within seconds and see all versions. In addition, QMetry has a highly demanding and well formatted reporting mechanism which provides basic reports and allows you to generate advanced reports based off your requirements. Just select your requirements and plug away, simple yet efficient. Just as if you invest and then earn the interest with periodic bonus because QMETRY is just not a requirements management tool but a complete test management tool so the ROI is assured and highly appreciated!

Hence, managing requirements is not just easier task but needs sufficient time and proper organizing capabilities in order to manage and coordinate them. As if the foundation is laid it must be strong enough and always one grade ahead than the target so as to withstand the structure strongly and unmoved, thus building the foundation strong!

References:

· Effective Requirements Definitions and Management, White Paper. Source – Borland.

· Introduction to Requirements – The Details That Make or Break a Project. Source –Global Knowledge.

· 7 Essential Tips to Ensure Success with Requirements Management. Source - Jama Software.

· The Secret to Designing Products Customers Love – Manage Requirements Effectively. Source – Aberdeen Group.

· Requirements planning: overlooked and undervalued. Source – IBM.

· www.wikipedia.com

· www.qmetry.com

Uncategorized , , , , , , , ,

Test Automation & it’s Benefits

July 23rd, 2009

What is Test Automation?

 Test automation is the use of software to control the execution of tests, the comparison of actual outcomes to predicted outcomes, the setting up of test preconditions, and other test control and test reporting functions. Commonly, test automation involves automating a manual process already in place that uses a formalized testing process.

 Testing tools can help automate tasks such as product installation, test data creation, GUI interaction, problem detection, defect logging, etc.

 Test Automation requires appropriate planning i.e. which tests we have to automate and which we have to perform manually. Also, test automation is implemented where the functionality is stable in the application over volatile ones.

 Benefits of Test Automation: 

  1. Fast: Time duration of the testing process will reduce drastically since testing is a repetitive activity throughout the development cycle.
  2. Reliable: Accuracy of the testing will be high in automation testing than manual testing.
  3. Repeatable: can test how the software reacts under repeated execution of the same operations.
  4. Comprehensive: Effectiveness of the application will be improved and can rerun the scripts across multiple platforms simultaneously.
  5. Reusable: creates scripts for reusable tests that can be run each time the site or application changes
  6. Cost Effective: Total cost of performing manual testing is exorbitant in comparison to automated testing. By executing automation scripts the rate of error will be less than manual testing and it can execute the tests much faster.
  7. Improves Quality: By repeatedly executing the automated scripts, more defects can be found and further improvement of the quality of end product can be done .With Automation we can run more tests in less time with fewer resources. 

Type of Test Automation Approach:

There are two general approaches to test automation:

  • Graphical user interface testing: A testing framework generates user interface events and observes the changes that result in the user interface, to validate that the observable behavior of the program is correct.
    Many test automation tools provide record and playback features that allow users to record interactively user actions and replay it back any number of times, comparing actual results to those expected. The advantage of this approach is that it requires little or no software development..
  • Code-driven testing: The public (usually) interface to classes, modules, or libraries are tested with a variety of input arguments to validate that the results that are returned are correct. Code-driven testing allows the code to conduct unit tests to determine whether various sections of the code are acting as expected under various circumstances. Test cases describe tests that need to be run on the program to verify that the program runs as expected.

 Integration of Test Automation Tool and Test Management Tool:

 In the test management tool, we have an entry of automated Testcases so we can integrate it with the test automation tool. Automated Testcases will be automatically executed and their result will be compared with the expected result in the test management tool.

Also, the actual result and status will get updated automatically in the test management tool. By using Test Automation tool, we can send the acknowledgment mail with the automated Testcases status to the QA persons.

 References:

http://www.wikipedia.org/

Uncategorized , , , , ,

Why Test Management?

July 13th, 2009

Creating an organized test plan has become extremely important for software companies because of the hyper competitive software industry. The time, capabilities, bandwidth and other resources are limited, so it is critical to make sure that testing professionals are extremely comprehensive while executing their test scripts. However, in tough economic times like today, having a solid test plan is not enough; a more dynamic approach is required to cut costs by eliminating unwanted tests without compromising on a comprehensive risk and security testing. To ensure this “Just Enough” approach to testing, test management becomes critical. Test Management involves leveraging a collection of processes and tools that enables testers to take a more strategic approach to testing, prioritizing key test functions, accounting for risk, planning for coverage, and controlling test execution. By employing effective test management, software development companies will ensure that they run the right tests, and avoid releasing an application that is not ready for prime time. There are several test management tools available, each with their own set of capabilities, limitations and complexities. Also, most tools available today are costly in terms of license fee and the hardware and software resources required. It becomes paramount to find the best tool that meets all your needs.

Why QMetry?

QMetry is the most comprehensive, flexible and affordable test management tool available in the market. It caters to QA teams of all sizes. It has brought test management to masses by offering a SaaS based delivery model. It draws all advantages of the SaaS features, and enhances the overall test management experience. QMetry drives a more effective and efficient global application testing process and supports high levels of communication and collaboration among geographically distributed testing teams. QMetry seamlessly integrates with your existing defect tracking systems like Bugzilla, JIRA and Mantis and test automation tools like Silktest and Quicktest, further enhancing their usability of yourexisting tool investments. It helps in involving analysts more directly in overall quality efforts, along with a shift in focus from finding defects to validation; to ensuring business objectives are being met. QMetry provides a user friendly interface, with powerful capabilities that help QA teams to integrate, communicate and co-ordinate the entire testing process in the most effective manner. QMetry provides a greater visibility of the entire testing process to geographically distributed teams and clients.

Uncategorized , , , ,

Seven reasons to Say yes to SaaS

July 13th, 2009
  • Affordable Total Cost of Ownership: Low upfront cost for acquisition and deployment, elimination of non-licensing costs and a metered-usage-based payment model with monthly expenses spread out over time reduces the overall cost of ownership. The Subscription based pricing enables economies of scale and makes the expenses more manageable as the teams grows. More importantly, for the SaaS based applications, the provider is responsible for the resources required to run the application & maintenance, which helps to optimize customer’s resources for other tasks. The user gets access to the application by paying for the usage and not owning it.

 

  • Faster deployment and high acceptance: The deployment time for a SaaS based application is faster since it is devoid of the complex implementation tasks associated with the licensed software as it is already up and running on the vendor’s resources. Since these applications are hosted over the internet, no training is required and the adoption levels are high.

 

  • Effortless real time upgrades and updates: A SaaS provider takes care of all the updates and upgrades, which are automatic, seamless and offered at no additional cost, there are consistent smaller changes instead of monster patches that cost time and money to implement. This aids the users to benefit from innovations on an on-going basis with painless upgrades.

 

  • Greater Customization and Scalability: The multitenancy feature of SaaS applications enables the vendors to scale indefinitely and provide exhaustive customization capability.

 

  • Seamless Integration: Integration support was aimed at collaborating with the complementary service providers & business partners of SaaS solutions. This was then extended to imbibe adaptability to the current processes and applications at the customer’s premise. Seamless integration is provided through different web services APIs and Service Oriented Architectures.

 

  • Anytime Anywhere: Today, the teams are geographically distributed and hence real-time collaboration between the team members is the need of the hour. Centralized repository provides a transparent & continuous view of the modifications/updates to the entire team. The mere inherent feature of being hosted over the internet enables the users to use the service from any location.

 

  • Focus to core competencies:  Due to higher accountability on part of the SaaS solution providers in terms of maintaining reliable data centers and secure processes, the customer can divert the resources utilized for the same towards competency building and hence, bringing higher productivity to the business.

 

Economic factors favor SaaS as during these tough times, capital expenditures are bound to be slashed and force organizations to move to more economical options. The subscription based pricing model of pay-as-you-go, will make SaaS more attractive and affordable. The lower overall TCO and enhanced productivity due to increased focus on core competency makes SaaS favorable.

Uncategorized , , , ,

Top 7 parameters for evaluating a test management tool

July 9th, 2009

Top 7 parameters for evaluating a test management tool

1. Real-Time updates that can be accessed from a centralized repository

Your QA team should not be spending countless hours in the morning trying to gather and compile the data from multiple sources and send you a report. Every member of your should be able to access all relevant test case information from anywhere in the world and be sure that it is current and updated, allowing your QA Team to be on the same page.

Test execution progress, test cases, requirements, and defect tracking charts should be all at the tips of your fingers. Testers should spend less time answering questions such as what percentage of tests are completed, where are we in the testing cycle, and how many critical bugs are there and more time on doing what they do best, that is ‘testing’!

2. Manage your Requirements

Managing requirements and respective changes is at the core of successful testing effort. A test management tool should provide an extensive capability to manage requirements and link them to test cases as well as defects for traceability analysis. By defining requirements, you can plan and manage tests that are more focused on your specific business needs.

Requirements should be associated to tests and defects to provide complete traceability and to aid the decision-making process.

3. Manage your Test Plans

A test management tool should provide an interface to create a test plan template that uses a step-by-step wizard format to make it simple and user friendly. The pre-defined stages of a test plan allow simple input giving you a comprehensive and complete test plan in a matter of minutes. The Test Plans will help you capture important test planning related information about testing your project. You should be able to import test plan into any word processor of your choice and should be version controlled allowing you to track changes globally.

4. Manage your test cases

Testcases are the fundamental building blocks for a seamless and predictable testing effort. An effective test management tool should provide a very simple yet intuitive interface to write the details of testcases and link them to the requirements and associated defects. Also, it should be able to adopt a customizable workflow to enable various compliance criteria.

5. Manage your Defects

The time effectiveness of testing team is measured by the number of defects that it discovered during testing process. An effective test management tool should provide a flexible defect management module that can be customized to meet the QA team’s and management’s needs. It should also provide a Web services based API to integrate external Defect and/or Issue Management systems in the testing process. Defect tracking should be simple & efficient while reporting on quality metrics. The metrics should be live so the bugs can be tracked and charted the moment they are submitted. This saves your team the time by not having to create a report and send you defects status every day.

6. Criteria based Search and Filter

To react effectively against business risks it is important to quickly find the details and changes associated with the test assets. An effective test management tool should provide a keyword based and field-value based extensive search as well as filter capability to mitigate risks effectively. The search and filter feature is extremely efficient as it allows you to identify what you need and hone in on it based off of parameters that you can set.

7. Role Based Security

The modern day software development lifecycle demands different roles and access control to effectively manage the testing process. An effective test management tool should provide a granular access control to mimic real-world team composition as well as role/user classification. Role management helps you to manage authorization, which enables you to specify the resources that users in your application are allowed to access. Role management lets you treat groups of users as a unit by assigning users to roles such as testers, QA Manager, Business Analyst and so on. Roles give you flexibility to change permissions and add and remove users without having to make changes throughout the site. As you define more access rules for your application, roles become a more convenient way to apply the changes to groups of users.

Uncategorized , , , , ,

Welcome to QMetry

June 23rd, 2009

The “Future” of test management is here!

Uncategorized , ,