This blog is co-authored by Charles Wei, site manager, Raycom R&D, Beijing, Red Hat China
Quality assurance (QA) is a critical aspect of software development, and product delivery as a whole. This is the process that ensures what's being delivered is up to standard.
At Red Hat, QA is central to development efforts, with a team working across a number of areas to help deliver better products to customers.
This article will take a look at the Red Hat QA process, breaking down how the team works, the actual process itself and the best practices in QA.
The Red Hat QA team
QA is a substantial area of focus for Red Hat, with a team based out of Beijing in what's known as the Raycom office. That team works on Red Hat Enterprise Linux, KVM and OpenShift testing.
Each of the products that pass through the Raycom office are thoroughly tested to help identify any bugs.
It's important to understand the importance of QA, as any issues that slip through could have serious repercussions when the software is deployed in its intended environment. Let's take a look at the QA process itself.
The QA process
QA involves a number of work items, especially given the range of products that pass through the team. Commonly, these start with writing the plan, cases and the strategy for testing.
Then, the team moves on to function testing, bug verification, documentation and review. Having this clearly logged data is essential, providing valuable material for future reference.
It's also necessary to test the Errata, a process to enable a customer to receive a fix as soon as it becomes available.
The team carries out feature investigation, which is accomplished by actually learning the products passing through the QA process. The aforementioned test strategies, plans and cases are then created.
Testing is then performed against new builds, and attention is given to filing bugs and feature enhancements or requests.
These steps contribute to a strong QA process, one where there is a constant focus on the best possible product.
Driving best practices in QA
Red Hat is constantly focusing on driving best practice in QA, and has established many QA best practices:
Red Hat carries out discussions with vendors such as QLogic, Emuluex and Intel, helping to increase collaboration between each party.There is also frequent communication among peer QE teams to have overlap to reach an agreement in a gray area. In turn, this can help to ensure that the component level and layered product level are comprehensively tested.
- Focusing on the upstream
Working closely with upstream communities is critical, including tracking upstream updates and bug patches.
- Prioritizing test cases
By prioritizing test cases into different categories, for example tier one, two or three, it's easier to address more critical issues. In addition to this, prioritization can help when attempting to meet milestone criteria.
QA is a critical step in product development that companies can never afford to look over. It provides a period in which both minor and critical issues are identified and addressed, giving the customer the best possible product.
The Red Hat QA process and Raycom team are instrumental when it comes to driving out product issues.