True Shift Left on Quality

True Shift Left on Quality

Most organizations aim to shift left on quality to improve delivery velocity. However, the concept of shifting left on quality is often misunderstood. Many people equate it solely with increasing unit test coverage or integration tests. While this is partially true, there are many other aspects that need to be considered for a comprehensive shift left on quality.

In this article, I will discuss the true meaning of shifting left on quality and how it can be achieved throughout the SDLC process.


Shift Left on Quality Tradition vs New Approach


Current Approach

In the real world, the typical process involves getting the requirements, designing the system, building the system, and then maintaining the quality of the system.

To achieve a true shift left on quality, you should consider the following approach to ensure quality at each step.

1. Maintaining Quality During the Requirement Phase

Requirement gathering is one of the first phases of the SDLC. Many people do not prioritize quality at this step, but it’s essential to start maintaining the quality of software early. Here’s how:

a. Involve Developers and QA Engineers

  • Start designing test cases for the given requirements with input and output of the system.
  • Work with developers and product owners to ensure everything is covered in the test cases according to the requirements.
  • As an artifact, build a traceability matrix.

b. Develop Strategy Documents

  • Engineers should develop strategy documents for the complete release of the software, including security and performance considerations.

2. Maintaining Quality During the Design Phase

Most QA engineers or testers do not participate in the design phase, which is not ideal. QA engineers should be involved and review the design to ensure they understand it fully. As part of the design review, they should validate the following:

a. Architecture Diagram

  • Engineers should review the architecture diagram to ensure they fully understand it and that it meets the requirements.

b. Sequence Diagrams and Other Diagrams

  • Engineers should review all diagrams to ensure every feature and flow aligns with the requirements. Any changes in the requirements should be raised with the concerned members.

c. UX Design (Figma or Other Tools)

  • Engineers should validate the UX design to ensure it meets the requirements.
  • At this step, engineers can develop Selenium script templates or other UI validation scripts according to the Figma design.

d. API Specifications

  • Engineers should validate API specifications and develop scripts accordingly, ensuring that the schema, requests, and responses meet the requirements.

3. Maintaining Quality During the Build Phase

At this stage, the software development process begins. The following should be taken care of:

a. Code Coverage

  • Achieve >80% code coverage with unit tests.

b. Integration Tests

  • Ensure integration tests cover areas not addressed by unit tests.

c. Selenium and API Validation Scripts

  • Complete Selenium scripts or API validation scripts in parallel with development, as planned in the design phase.

d. Static and Dynamic Scans

  • Include all static and dynamic scans as part of every build. You can integrate XRAY or Veracode in you build pipeline.

e. Execution Time for UI Tests

  • Ensure UI tests do not take more than 10 minutes to execute.

f. Performance Tests

  • Run performance tests before the build is ready to deploy into production.
  • Use tools such as JMeter and Locust for performance testing.

4. Maintaining Quality During the Release Phase

At this final phase of the SDLC, the minimum necessary tests should be run and should not take more than 5 minutes to execute. Only end-to-end tests should be executed at this stage.

5. Maintaining Quality After the Release Phase

Quality remains important even after the software is in production. For more details on maintaining quality post-release, watch my previous article on this topic.

KYC and KYA for Better Product Quality | by aditya Singh | Jun, 2024 | Medium

By following these steps, you can achieve a true shift left on quality, ensuring that quality is maintained at every phase of the SDLC process.

True shift left on Quality | #testingtesting #softwareengineering (youtube.com)

Omotola U

Test Automation | SDET | QA Engineer | DevOps | SRE #OpenToWork

7 个月

You raise some valid points in your article. In the shift-left culture, where quality is a shared responsibility among all engineering team members, organizations that involve QA engineers in every phase of software development will achieve superior results. By working closely together and implementing the approaches you’ve mentioned, they can ensure the delivery of high-quality products. I’ve seen that first hand. ????

要查看或添加评论,请登录

Aditya Pratap Singh的更多文章

社区洞察

其他会员也浏览了