Alert.png The wiki is deprecated and due to be decommissioned by the end of September 2022.
The content is being migrated to other supports, new updates will be ignored and lost.
If needed you can get in touch with EGI SDIS team using operations @ egi.eu.

EGI Quality Assurance

From EGIWiki
Revision as of 13:59, 23 March 2016 by Spinoso (talk | contribs)
Jump to navigation Jump to search
Technology Software Component Delivery Software Provisioning UMD Middleware Cloud Middleware Distribution Containers Distribution Technology Glossary
Software Provisioning menu: Software Provisioning Process UMD Release Process Quality Assurance UMD Staged Rollout




Everything that concerns Quality Assurance should go here, e.g.:

  • QC Definition processes
  • QC Verification processes
  • Reference material

Criteria definition

The Quality Criteria (QC) Definition Task is responsible of generating the Quality Criteria Documents that drive the Quality Criteria Verification.

Quality Criteria definition is a continuous process driven by the requirements of users and operations communities, however the verification of new software releases is done against fixed date releases of the QC documents, due every 6 months. Between major these releases, two draft versions are made available for lightweight review.

The QC releases are done in coordination with the EGI Roadmap and Technology releases.

There are 3 different possible states for the Quality Criteria documents:

  • FINAL, meaning that the documents are actively used for verification of software products
  • DRAFT, for documents that are in preparation and will be used in the future for verification.
  • DEPRECATED, for documents that are no longer used in verification.

Please check the dissemination information in order to ensure that you are using the correct version of the QC documents.

Quality Criteria and UMD Releases

The QC documents collect criteria for capabilities of a specific UMD Major Release. Only one FINAL version of QC documents is active for any given UMD Release. In the case of having more than one major UMD release active, i.e. new products are verified and made available in different UMD repositories, the verification will use the FINAL version of QC documents for each UMD release. Check the dissemination information for determining which QC version should be used for the verification.

Quality Criteria Change Management

Changes in the criteria documents are triggered by one of the following sources of changes:

Any change to criteria is tracked in the Related Information field that includes any links to direct source of change for the criterion (e.g. RT ticket with user requirement) and the Revision Log field, that records the historic information about the changes in the criterion.

Moreover, the Quality Criteria Release Notes include an overview of the most relevant changes produced in the whole set of criteria documents.

Quality Criteria Metrics

Number of UMD Roadmap Capabilities defined through validation criteria: This metric tracks the coverage of UMD Capabilities with Quality Criteria. The goal is that for each UMD Capability a number of Quality Criteria are recorded that together define the quality of software contributed against that UMD Capability. It is recorded as a percentage of covered capabilities Number of software incidents found in production that result in changes to quality criteria: This metric tracks the quality of the defined criteria. Any incidents (bugs) found in EGI Infrastructure should result result in a change of the Quality Criteria. The metric considers also security incidents found by the SVG.

Number of "change triggers" that result into an update of the Quality Criteria (Internal): Similar to the previous one (and includes it), this internal metric tracks the quality of the defined criteria by counting the number of change triggers (as defined previously in change management section) produce changes in the Quality Criteria.

Criteria Verification

The main objective of the TSA2.3 is to verify the quality of the software provided by the TP before entering the SR phase and going to production. By doing so we prevent that software that might work enters into the SR and even goes into production but that doesn´t follow the quality criteria defined in TSA2.2. Some of the reasons for doing the verification before the software enters the stage rollout are:

- Check that the bugs reported in the previous release of the software have been corrected (work in collaboration with DMSU) by the TP.

- Software can work well in the SR but might not have all the functionalities required

- Software might not be safe, well documented, or have the necessary installation rules or licenses

The Verification Process

When a new product is available, the TP has to follow the NSRW. Once the software is correctly uploaded to the repository, the release enters into the verification phase. The requirements are that the TP has to provide all the necessary information to the verifier (QCV) so that the QCV can assess that the TP has tested in advance the quality of the software. Depending on the type of release, different actions will be taken by the QCV, Verification process is described in detail in the EGI Verifier Guideline.

QC Verification Reports

RT workflow and Verification Templates links are available in this page. First of all verifiers must check QC service mapping to know which test must be verified for each product. This service mapping is available here QC Verification service mapping and Verification/Executive Summary templates are available here: QC Verification Templates.

Verifiers must fill all required fields for each product and write a Verification process summary into Executive Summary, this summary should include:

  • A short summary of the installation and configuration process: Installation and configuration were successful?, If not explain any issue or bug found. If the product was rejected explain why.
  • If its necessary Verifiers should include a comment for StageRollout: Configuration changes or minor issues found verifying the product.
  • If a new QC is necessary and is not included, Verifiers must write a comment to SA2.2 to change current QC.


UMD Release Candidate Testing

Before each UMD release the verification team checks the new RC. To perform this task SA2.3 VMs have included the RC_testing script. This script is available after each SA2 VM instantiation (into /root/configuration_templates/tools directory). This script is able to detect any package inconsistency after UMD RC repo configuration. The RC testing process is as follows:

  • Verifier should instantiate different Linux flavours VM. For UMD case SL5, SL6 and debian.
  • Install UMD RC repo files from UMDx RC page.
  • Check RC_tester "PRODUCTS" array. This array must be updated to include all UMD products!
  • It is recommended to use screen program before RC_tester execution. RC tests take about 2h/3h to finish (depends on OS used and the number of products).
  • Run RC_tester and follows its instructions.
  • RC_tester generates several logs into log directory, after its execution SA2 verifier should check:
    • installator_OK.log: List of metapackages installed correctly.
    • installator_ERROR.log: List of metapackages which contain any issue.
    • <PRODUCT_NAME>_OUTPUT.log: Complete Product installation log.
    • <PRODUCT_NAME>_postupdate.log: Info about product update execution. It detects any issue updating current UMD products.


Current Quality Criteria

The current FINAL version of Quality Criteria is available at http://egi-qc.github.io/. Testing procedures for generic criteria are available at EGI_QC_Testing, Specific criteria are available at EGI_QC_Specific