Six Fundamental Principles In Quality Engineering Practice

2022-07-19 15:30:42
Test Ninja
Source
Translated 901
Summary : This article summarizes six fundamental principles that should be followed in quality engineering practices.


Agile development models and DevOps practices have facilitated collaboration and communication among development, operations, and quality teams while blurring the boundaries between these teams and emphasizing that everyone is responsible for quality. Agile practices have enabled development teams to deliver faster, but the quality has unwittingly suffered. This article summarizes six fundamental principles that should be followed in quality engineering practices.

Principle 1


Teams should consider quality from the first day and integrate quality engineering into the whole process of software development

Quality engineering requires the support of management and the involvement of all teams within the organization. The construction of quality engineering will transform established workflows, the R&D tools, and the team's organization will need to be adjusted accordingly, or team members will need to be retrained. This requires management to remove barriers to transform through constant communication, emphasize the new model's importance, and provide assistance to others during the transition.


A transition period is required for the transformation, during which management should convey a positive attitude and promptly answer questions from the team, helping them adapt to the new work processes and tools, and then address quality issues with the right mindset.


In addition, development teams are required to carry out testing activities. With agile development and digital transformation, testing and QA have been developed from support teams to key roles.


A survey in 2018 showed that "68% of agile development teams contain testers. 51% of teams are responsible for a single project/product on a full-time basis, and 27% of teams adopt test-driven development (TDD)."


This requires software teams to be able to "deliver quality products at a faster pace".Teams need to make greater use of test automation to achieve continuous testing. In general, testing plays a key role in the speed of delivery.

Principle 2


Automate as many tests as possible to provide a safety net when new software changes are made and shorten time-to-market, most importantly, reduce the pain of repeated tests

Having developed the right mindset for quality, organizations need to build a continuous testing framework to prepare them for quality engineering. Continuous testing requires support in three areas: personnel, process, and technology. Establishing a 'quality first' strategy requires the involvement and contribution of all team members. For example, the product owner can help make team members aware of the importance of quality, and developers review code and conduct unit tests among themselves.

Principle 3


Accept cross-functional teams

The future requires cross-functional teams where developers can work on testing and testers are proficient in development. The team is given the flexibility to deploy resources. They focus on the important work and can better coordinate the work of development and testing, which improves quality, increases development efficiency, and promotes development's effectiveness.

Principle 4


Enterprises need to invest in the right tools and frameworks to reduce workloads for automation

In many enterprises, automation has become part of the engineering process. Many small processes have been automated in each organization, but the automation of small and short processes has not brought about a noticeable change in the overall engineering process. This requires collaborative process automation across the entire R&D activity, and organizations must choose their tools and technologies carefully. The right approach is for companies to select tools aligned with their corporate strategy and technology roadmap.

Principle 5


Enterprises should promote a higher degree of automation throughout the R&D process

It is an essential part of an organization's unified scheduling of entire systems, middleware, services, tools, and personnel and the automation of workflows. Agile practices, such as continuous integration and delivery, are the cornerstone of unified scheduling for software engineering. More intelligent feedback is the next focus for teams.

Principle 6


Enterprises integrate artificial intelligence and machine learning tools to collect, analyze and predict failure points as a feedback mechanism for the engineering process

In the future, more intelligent feedback systems can be used to study telemetry data, which comes from logs, events, and metrics. In traditional practice, metrics are investigated once a day or weekly, but as the technology and operational environment change, we need more data. The changing technology and operational environment. It becomes very important to keep an eye on real-time data. Any metric that uses stale data can be misleading, so it is important to attain systems that can capture real-time data and make well-informed decisions.

Write a Comment
Comment will be posted after it is reviewed.