Lại nói về chất lượng phần mềm

GS John Vu07/05/2026 13:00
Lại nói về chất lượng phần mềm

Một số trong các bạn hỏi tôi về khác biệt giữa Đảm bảo chất lượng phần mềm (SQA), Kiểm soát chất lượng phần mềm (SQC) và Kiểm thử phần mềm. Về cơ bản, SQA hội tụ vào các vấn đề có liên quan tới qui trình tạo ra sản phẩm phần mềm. SQC hội tụ vào vấn đề có liên quan tới sản phẩm phần mềm. Kiểm thử là phương pháp của SQC để chắc rằng sản phẩm làm việc như mong đợi.

Thỉnh thoảng, mọi người lẫn lộn SQA với Kiểm thử và coi SQA như tổ chức kiểm thử, điều này là KHÔNG đúng. Chuẩn IEEE 12207-2008 nói rằng “Mục đích của Đảm bào chất lượng phần mềm (SQA) là cung cấp đảm bảo rằng sản phẩm công việc và qui trình tuân thủ theo kế hoạch đã xác định trước.” Chuẩn này cũng nói rằng qui trình SQA phải được phối hợp với các  hoạt động dự án có liên quan như qui trình trắc nghiệm, kiểm nghiệm, kiểm điểm và kiểm định để nhận diện việc không tuân thủ. Nó ngụ ý rằng SQA đảm bảo rằng sản phẩm và qui trình tuân thủ theo kế hoạch dự án và chuẩn của tổ chức. Chuẩn này yêu cầu SQA đảm bảo rằng những qui trình này được làm tài liệu, được tuân theo và nhất quán với chính sách của  công ti. Sản phẩm hoàn toàn thoả mãn các yêu cầu và được chấp nhận cho người dùng. Chẳng hạn: SQA kiểm điểm yêu cầu, kiến trúc và thiết kế dự án để đảm bảo rằng chúng được làm tài liệu tương ứng và các thành viên tổ  dự án tuân theo qui trình của tổ chức để phát triển phần mềm. SQC và Kiểm thử thực hiện chương trình phần mềm để chắc rằng nó làm việc và đáp ứng yêu cầu.

Qui trình SQA có thể được mô tả như sau:

  1. Xác định kế hoạch đảm bảo chất lượng để nhận diện điều cần làm đảm bảo chất lượng.

  2. Hỗ trợ người quản lí dự án xác định các chuẩn, hướng dẫn và các kĩ thuật khác cho dự án

  3. Đảm bảo kiểm soát chất lượng một cách hệ thống cho các qui trình và sản phẩm như kiểm điểm, giám định, kiểm định cũng như quản lí/kiểm soát cấu hình, đưa ra sản xuất, kiểm soát dự án, hợp đồng và quản lí nhà cung cấp, kiểm soát tài liệu, bảo trì, sao lưu và phục hồi, và an ninh.

  4. Duy trì bản ghi chất lượng để theo dõi vấn đề.

  5. Phân tích và báo cáo về vấn đề chất lượng cho cấp quản lí.

  6. Duy trì và cải tiến chất lượng sản phẩm.

Bởi vì SQA bao giờ cũng kiểm tra về bất kì sự không tuân thủ nào và một số người phát triển không thích bị giám sát, thường có xung đột giữa họ. Một số người phát triển coi SQA giống như “cảnh sát” và không bày tỏ mấy kính trọng với công việc của họ. Điều này hầu hết là do thiếu đào tạo về chất lượng cho người phát triển và sự kiện là nhiều SQA KHÔNG được đào tạo tốt và KHÔNG có đủ kinh nghiệm đáng đòi hỏi kính trọng. Tôi đã thấy nhiều người làm việc như SQA chỉ có kinh nghiệm phần mềm hạn chế. Nhiều người quản lí KHÔNG coi SQA là quan trọng và thường phân công người mới, người không có nhiều kinh nghiệm vào việc này. Một số người quản lí thậm chí còn bảo tôi: “Nếu họ KHÔNG thể phát triển phần mềm tốt, chúng tôi xếp họ làm việc như SQA”. Đây là sai lầm rất lớn và đó là lí do tại sao nhiều SQA không thành công mấy trong việc của họ. Đó là lí do tại sao nhiều phần mềm có khiếm khuyết.

SQA thành công nhất thường bắt nguồn từ nhóm lãnh đạo kĩ thuật, chính là người phát triển có kinh nghiệm. Những người này thường lãnh đạo các dự án, giải quyết các vấn đề kĩ thuật, và cung cấp đào tạo cho người phát triển mới. Họ biết rõ về phát triển phần mềm, biết rõ qui trình phát triển, và họ được người phát triển kính trọng. Những người này rất có tính dự ứng trong hướng dẫn, đào tạo và xác định qui trình cho nên đề bạt họ vào SQA là tiến bộ tự nhiên trong nghề nghiệp của họ. Nhiều người quản lí biện minh rằng vì họ là chủ yếu kĩ thuật, họ được cần để làm việc trong dự án nhưng luận cứ của tôi là mọi dự án đều cần ai đó để đảm bảo chất lượng và đầu tư vào SQA là bản chất cho thành công của dự án.

Theo kinh nghiệm của tôi, thay vì kiểm tra sự không tuân thủ và đòi hỏi hành động sửa chữa, người SQA dự ứng phải thiết lập môi trường thúc đẩy chất lượng và bao quát vòng đời đầy đủ của việc phát triển từ quan niệm tới hoàn thành. SQA phải trao đổi tầm quan trọng của tuân thủ qui trình để tạo ra sản phẩm chất lượng và đào tạo người phát triển tuân theo qui trình tương ứng. Thay vì đơn thuần xác nhận tuân thủ theo kế hoạch, QA phải đảm bảo rằng người phát triển hiểu mọi bước cần thiết để tạo ra sản phẩm chính xác, đầy đủ và chất lượng cao. Về cơ bản người SQA dự ứng là người thầy, người thầy kèm, huấn luyện viên, và người hướng dẫn để giúp cho người phát triển chuyển giao chất lượng sản phẩm và liên tục cải tiến cách họ phát triển phần mềm.

English version

Software quality

Some of you ask me about the difference between Software Quality Assurance (SQA), Software Quality Control (SQC) and Software Testing. Basically, SQA focuses on issues related to the process that create the software product. SQC focuses on the issues related to the software products. Testing is the method of SQC to make sure that the product works as expected.

Sometime, people confuse SQA with Test and consider SQA as a testing organization which is NOT correct. The IEEE Standard. 12207-2008 stated that “The purpose of the Software Quality Assurance (SQA) is to provide assurance that work products and processes are complying with predefined plans.” The standard also stated that the SQA process should be coordinated with the related project activities such as verification, validation, review and audit processes to identify non-conformances. It means that SQA assures that products and processes comply with the project plans and organization’s standard. The standard requires SQA to assures that these processes are documented, followed and consistent with the company’s policies. The products are fully satisfy the requirements and are acceptable to the users. For example: SQA reviews project requirements, architect and designs to ensure that they are documented accordingly and project team members are following the organization’s process to develop software. SQC and Testing executes the software programs to make sure that it works and meets requirements.

The SQA process can be described as follows:

  1. Define Quality Assurance Plans to identify what to do to ensure quality.
  2. Support Project Manager to define standards, guidelines and other techniques for the projects
  3. Ensure systematic quality control of processes and products such as reviews, inspections, audits as well as configuration management/control, production release, project control, supplier contracting and management, document control, operations and support, maintenance, backup and recovery, and security.
  4. Maintain quality records to track issues.
  5. Analyze and report on quality issues to management.
  6. Maintain and improve quality of products.

Because SQA always checks for any non-compliance and some developers do not like to be monitored, there are often conflicts between them. Some developers consider SQA is like a “police” and do not show much respect to their works. This is mostly caused by lack of quality training for developers and the fact that many SQA are also NOT well trained and do NOT have enough experiences to demand respect. I have seen many people who work as SQA only have limited software experiences. Many managers do NOT consider SQA as important and often assigned new people, who do not have a lot of experience into this jobs. Some managers even told me: “If they can NOT develop software well, we put them to work as SQA”. This is a very big mistake and that is why many SQA are not so successful in their jobs. That is why so many software have defects.

The most successful SQA usually come from Technical Lead group, who are experienced developers. These people often lead projects, solve technical problems, and provide training to new developers. They know software development well, know development process well, and they are respected by developers. These people are very proactive in guiding, training, and defining the process so by promoting them into SQA is a natural progressing in their career. Many managers argue that since they are very technical, they are needed to work in project but my argument is every project need someone to ensure quality and investment in SQA is essential for the successful of the project.

In my experience, instead of checking for non-compliance and demand corrective actions, the proactive SQA must establish an environment that promotes quality and covers the full life cycle of development from conception through completion. The SQA must communicate the important of process compliance to create quality products and train developers to follow the process accordingly. Rather than merely confirming compliance to plans, QA must ensure that developers understand all necessary steps to create an accurate, complete, and high quality products. Basically a proactive SQA is a teacher, a mentor, a coach, and a guide to help developers to deliver quality products and continually improve the way they develop software.

 


Gửi bình luận
(0) Bình luận
1

Làm việc hay không làm việc

Tuần trước tôi nhận được một email: “Dường như là thầy đang khuyến khích sinh viên đi làm trong khi vẫn đang học đại học nhưng bố mẹ em bảo em rằng em phải tập trung vào học tập vì họ có thể chăm lo cho em. Đi làm sẽ làm phân tán học tập của em và em KHÔNG nên làm hai điều đồng thời thì sẽ không thành công trong cái nào. Thầy nghĩ thế nào?”
2

Phần mềm mã nguồn mở

Phần mềm “nguồn mở” là phần mềm được viết theo cách mã nguồn để mở, sẵn có cho mọi người dùng, thay đổi, cải tiến và tự do phân phối lại nó.
3

Tính toán mây

Một người quản lí hỏi: “Tác động của tính toán mây là gì? Công ti tôi được coi như dùng dịch vụ tính toán mây từ Microsoft. Điều gì sẽ xảy ra cho những người làm việc trong nhóm công nghệ thông tin hỗ trợ cho công ti?”
4

Lập mục đích

Bạn có biết thuyền trưởng dẫn hướng con thuyền của mình trên đại dương thế nào không?
5

Tri thức và kỹ năng

Tuần trước, tôi đã thảo luận với sinh viên về kĩ năng mà công nghiệp phần mềm cần. Khi tôi bảo họ rằng có nhiều việc làm cho xây dựng ứng dụng di động và làm việc với các ứng dụng bán sẵn trên thị trường Commercial Off The Shelf (COTS) như SAP và PeopleSoft, một sinh viên lập tức lên tiếng lo ngại rằng những điều đó không được dạy trong trường.

Giám sát xu hướng

Ngày nay, công nghệ thông tin là một trong những khu vực tăng trưởng nhanh nhất, nghề nghiệp được trả lương cao nhất, và bao giờ cũng có nhu cầu cao. Tuy nhiên, cũng có rủi ro mà sinh viên phải xem xét khi lựa chọn lĩnh vực học tập này.

Lời khuyên khác cho sinh viên năm đầu

Tôi nhận được một email mà người gửi viết: “Tôi thực sự thích những lời khuyên của thầy trong website SEGVN nhưng bên cạnh việc học những vấn đề kĩ thuật còn gì khác thầy có thể gợi ý cho sinh viên đại học năm thứ nhất không?”

Viết tiếp về Trung Quốc và Ấn Độ

Tôi gặp Robert trên máy bay từ Thượng Hải tới San Francisco. Anh ấy là phó chủ tịch cấp cao của một công ti lớn đã có những tiện nghi chế tạo ở cả Trung Quốc và Ấn Độ cho nên chúng tôi nói chuyện về hai nước này dựa trên tri thức của anh ấy trong nhiều năm làm việc ở đó.

Dự án Agile

Thay đổi yêu cầu là một trong những vấn đề chính trong hầu hết các dự án phần mềm.

Xu hướng tương lai trong Công nghệ thông tin

Theo nghiên cứu gần đây của Carnegie Mellon về cái nhìn trong năm năm đối với công nghiệp Công nghệ thông tin (CNTT), thì sẽ có thay đổi lớn về cách chức năng CNTT được tổ chức và quản lí.

Nhu cầu công nghiệp

Ngày nay, doanh nghiệp phức tạp hơn và yêu cầu thông tin có ý nghĩa để giúp cấp quản lí ra quyết định. Để đáp ứng với những thay đổi, công nghệ thông tin (CNTT) được sử dụng để tiến hành thu thập dữ liệu, phân tích thông tin để giúp qui trình ra quyết định và tăng năng lực cạnh tranh của công ti.

Phụ nữ trong khu vực kỹ thuật

Có vài nghiên cứu chỉ ra rằng số phụ nữ làm việc trong khu vực khoa học và công nghệ ít hơn đàn ông nhiều.

Đầu tư giáo dục

Ngày nay các đại học đang đối viện với thách thức của việc phát triển sinh viên hiệu năng cao. Đây là những sinh viên có kĩ năng cao với động cơ mạnh, kĩ năng kĩ thuật và lãnh đạo tốt người có thể làm việc cao hơn những người khác.

Nghề nghiệp và việc làm

Blog GS John VU - GS John Vu - 23/06/2026 12:00
"Em hiểu rằng giáo dục đại học là quan trọng nhưng em vẫn bị lẫn lộn về chọn lựa của em khi kết thúc giáo dục bậc đại học rồi đi làm cùng việc làm như mọi người có sáu tháng đào tạo lập trình..."

Điều doanh nghiệp cần biết về GPT - “bộ não” phía sau chatbot AI

Kỹ năng - Vân Anh - 23/06/2026 11:00
GPT, viết tắt của Generative Pre-trained Transformer, là một lớp mô hình trí tuệ nhân tạo tạo sinh có khả năng tạo ra văn bản, tóm tắt tài liệu, viết email, trả lời câu hỏi, hỗ trợ lập trình hoặc phân tích dữ liệu theo yêu cầu bằng ngôn ngữ tự nhiên. Nói đơn giản, GPT giống như “bộ não ngôn ngữ” đứng sau nhiều chatbot AI nổi tiếng hiện nay, bao gồm Chat GPT.

Không phải nghèo hay xấu xí: 3 kiểu đàn ông này mới là “án tử xã hội”

Suy ngẫm - Ứng Hà Chi - 23/06/2026 10:00
Đàn ông có những vấn đề này không chỉ là lỗi hành vi, mà phản ánh sự rối loạn ở tầng nhận thức, khả năng tự kiểm soát và phán đoán cốt lõi.

Việt Nam có một nhà văn sở hữu tác phẩm được dịch ra ít nhất 3 thứ tiếng, là tài liệu nghiên cứu, giảng dạy tại Havard, Stanford, Oxford

Phong cách sống - Nhật Linh - 23/06/2026 09:00
Không chỉ là cây bút lớn của văn học Việt Nam hiện đại, nhà văn này còn là tác giả sở hữu tác phẩm có sức sống vượt ra khỏi biên giới quốc gia.

 'Để hiểu một người' - Chúng ta đang sống trong thời đại khủng hoảng kết nối 

Từ sách - Phim - TĐ - 23/06/2026 08:00
Thứ chúng ta cần nhất là các mối quan hệ, và thứ mà chúng ta xử lý vụng về nhất dường như cũng là các mối quan hệ.

Tính toán mây

Blog GS John VU - GS John Vu - 22/06/2026 12:00
Một người quản lí hỏi: “Tác động của tính toán mây là gì? Công ti tôi được coi như dùng dịch vụ tính toán mây từ Microsoft. Điều gì sẽ xảy ra cho những người làm việc trong nhóm công nghệ thông tin hỗ trợ cho công ti?”

Thất nghiệp đừng vội hoảng: 5 kỹ năng "hái ra tiền" tự học miễn phí giúp bạn lật ngược thế cờ

Kỹ năng - Kiều Dương - 22/06/2026 11:00
Thay vì lo âu khi CV gửi đi chưa có phản hồi, hãy tận dụng khoảng thời gian này để trang bị 5 kỹ năng hữu ích hoàn toàn miễn phí trên mạng.

Tỷ phú Elon Musk và 5 lời khuyên: Chỉ cần làm được 1 điều, cơ hội thành công sẽ tăng vọt

Suy ngẫm - Phương Anh - 22/06/2026 10:00
Vị tỷ phú này cho rằng, để đạt được thành công, mỗi người cần phải mạnh mẽ và nỗ lực thực hiện những điều sau.

Câu chuyện đằng sau tấm ảnh sét đánh đỉnh Landmark 81 thu hút "bão like"

Phong cách sống - Vũ Thanh Bình - 22/06/2026 09:00
Sau 7 năm theo dõi hiện tượng giông sét, tác giả bức ảnh đã ghi lại được khoảnh khắc sét đánh trúng đỉnh tòa nhà Landmark 81 trong cơn mưa lớn tại TPHCM.

Biến tiềm năng thành tài năng - Chúng ta đang sống trong một nền văn hóa tôn thờ tài năng thiên bẩm

Từ sách - Phim - TĐ - 22/06/2026 08:00
 Adam Grant cho rằng tiềm năng không nằm ở nơi bạn bắt đầu, mà nằm ở quãng đường bạn có thể đi được.

Công nghiệp công nghệ thông tin ở Nga

Blog GS John VU - GS John Vu - 21/06/2026 12:00
Khi lần đầu tiên tôi tới thăm Nga năm 1996 để tiến hành nghiên cứu về xu hướng phần mềm, tôi đã bị ấn tượng về lực lượng lao động kĩ năng cao quãng vài nghìn người phát triển phần mềm, nhiều người có bằng tiến sĩ và thạc sĩ với đào tạo chuyên sâu về toán học và vật lí.

Vì sao quẹt thẻ ngân hàng thanh toán đúng chỗ nhưng bạn không được hoàn tiền như quảng cáo?

Kỹ năng - Thu Thủy - 21/06/2026 11:00
Bạn nghĩ mình đã quẹt thẻ tại đúng nhà hàng, đúng chương trình ưu đãi nhưng vẫn không nhận được hoàn tiền như kỳ vọng. Trong khi đó, người khác chi tiêu tương tự lại được hưởng đầy đủ. Sự khác biệt nằm một mã 4 chữ số ít ai để ý.

Sau 30 tuổi, bạn biết mình có thể làm khác đi, nhưng chưa dám

Suy ngẫm - Hà Nguyên - 21/06/2026 10:00
Không phải không muốn cố gắng, mà là không biết cố vào lúc nào.

Từng bị smartphone "khai tử", Gen Z bất ngờ hồi sinh dòng máy ảnh 20 năm tuổi

Phong cách sống - Minh Ngọc - 21/06/2026 09:00
Bị smartphone 'khai tử' suốt hơn 10 năm, máy ảnh compact bất ngờ hồi sinh: Gen Z đang săn lùng thứ công nghệ lỗi thời này vì điều gì?

Cô đơn ở đỉnh cao

Từ sách - Phim - Minh Nguyệt - 21/06/2026 08:00
Có một câu hỏi mà nhiều lãnh đạo tự hỏi mình sau một cuộc họp dài, khi căn phòng đã vắng hết người: tại sao mình lại cô đơn đến vậy?
HẠT GIỐNG TÂM HỒN
2019 Bản quyền thuộc về hatgiongtamhon.com.vn. Phát triển bởi ONECMS