Sonal Kulkami, Validation engineer at Odyssey VC, sheds some light onto Application Life Cycle Management.



What is HP ALM?

HP ALM (Application Life Cycle Management) is a web-based tool that helps organizations to manage the application lifecycle right from project planning, requirements gathering, until Testing & deployment, which otherwise is a time-consuming task.

Why use HP ALM?

The various stakeholders involved in a typical project are –

Developer

Tester

Business Analysts

Project Managers

Product Owners

These stakeholders perform a diverse set of activities that need to be communicated to all team members concerned. If we do not maintain centralized repository to record, maintain and track all the artefacts related to the product, the project will unquestionably fail. We also need a mechanism to document and collaborate on all testing and development activities.

ALM Workflow

HP ALM Workflow

Features of ALM-QC

ALM is a Single, scalable platform that enables a consistent, repeatable process for below mentioned tasks:

Real time reporting of progress and status from Dashboard Tab

Create releases & cycles from Management Tab

Create requirements from Requirement Tab

Test plan, Test Lab & Test Runs from Testing Tab

Create and manage defects from Defect Tab

A. Management Module

This module helps us to create and manage releases and cycles which is the first step before proceeding to create any work item such as requirements/tests/defects. It also helps us work with project planning and tracking. Following functionalities are vital in this tab:

Creating Releases

Creating Cycles

Why do we need Management of Release and Cycles in ALM?

Each release is broken down into several cycles.

Each Release has also a predefined scope and milestone associated with it.

For each cycle there is a specific number of requirements.

Each requirement has several test cases associated with it.

Upon executing tests, the defects are logged and mapped to the corresponding tests after which we can trace requirements and defects.

B. Requirements Module

This module in ALM enables users to define, manage and track requirements. User, Functional and Business Process requirements can be added in the requirements module.

Why do we need to define requirements in ALM?

A requirement is a specification of a need or want. Sets of requirements are used to capture the information needed to design, build and test a process, service, product or system.

Defining the Requirements is one of the preliminary phases for software development lifecycle.

Defining Requirements refers to what must be delivered to the clients at the end of that specific release.

Establishing requirements with clarity upfront would result in minimal rework after development is completed.

Requirement Traceability

Definition of Requirement Traceability:

Requirement Traceability is mapping of requirements to test cases.

Why is this needed?

Ensures that requirements are not lost during the validation project, and for auditors, to review the validation documentation.

C. Testing Module

After defining requirements, development team kick starts their design and development process while Testing team start designing tests that can be executed once the build is deployed.

Success of any product depends on the testing processes and the quality of testing that is being carried out. A Good Test Plan results in a bug free product.

ALM supports maintenance and execution of manual and automation tests

Testing tab includes: Test Plan Test Lab Test Runs



Test Plan:

Definition of a Test Case:

A test case is a specification of the inputs, execution conditions, testing procedure, and expected results that define a single test to be executed to achieve a software testing objective. Test cases can be created in ALM under Test Plan using two methods:

Design steps in ALM Import the steps from excel to ALM

Test Lab:

Once the test design is completed, test execution is done with the help of Test Lab module

Changes done to test cases in the Test Lab module do not affect the parent test cases in Test Plan Module. It is free for experiments. Hence the name Test Lab!

This module also helps user to track the progress of the cycle as the tests are executed

The Test Lab module consists of the following functionalities: Create a Test Set Add test cases to test set Execute Tests Analyse Test Result

After designing tests in the Test Plan module, test execution is organized by creating test sets in the Test Lab module.

A test set contains a subset of the tests in your project designed to achieve specific test goals

A test sets tree enables user to organize application management process by grouping test sets in folders and organizing them in different hierarchical levels

Once the test execution is done, testers can view the results in the “Test Runs” module. It contains the results of test instance runs and test set runs

D. Defect Management Module

What is a “Defect”? A defect is a variation or deviation from the original business requirements

A Defect is logged during the test execution, when expected result and actual result don’t match with each other.

Defect module in HP ALM not only helps users to post the defects but also enables them to track and gives the overall quality of the release at any stage of the development process.