

11. Áp dụng Chất lượng Phần mềm
- 17-07-2025
- Toanngo92
- 0 Comments
Mục lục
Các Tiêu chuẩn & Tổ chức Quản lý Chất lượng Phần mềm
1. Tổng quan
Trong ngành phát triển phần mềm, việc tuân thủ các tiêu chuẩn chất lượng là yếu tố sống còn để đảm bảo sản phẩm:
- Đáp ứng yêu cầu người dùng
- Bền vững, dễ bảo trì
- Có thể đo lường và cải tiến liên tục
Bên cạnh các tiêu chuẩn, còn có những tổ chức chuyên môn đóng vai trò then chốt trong việc phát triển khung tiêu chuẩn, hỗ trợ triển khai, và đánh giá năng lực chất lượng phần mềm.
2. Các tiêu chuẩn chất lượng phần mềm phổ biến
✅ ISO/IEC 9126 – Mô hình chất lượng phần mềm truyền thống
- Ra đời bởi Tổ chức tiêu chuẩn hóa quốc tế (ISO) và IEC
- Là một trong những tiêu chuẩn đầu tiên định nghĩa rõ ràng các thuộc tính chất lượng phần mềm
Các đặc điểm chính:
- Functionality (Tính năng): Phần mềm có làm đúng những gì được yêu cầu?
- Reliability (Độ tin cậy): Phần mềm có ổn định trong nhiều điều kiện không?
- Usability (Khả năng sử dụng): Người dùng có thể dễ dàng tương tác và học sử dụng?
- Efficiency (Hiệu suất): Phần mềm có sử dụng tốt tài nguyên không?
- Maintainability (Bảo trì): Dễ sửa lỗi, cập nhật, mở rộng?
- Portability (Di động): Chạy tốt trên nhiều nền tảng, thiết bị?
✅ ISO 9126 tuy đã cũ nhưng vẫn được sử dụng trong nhiều dự án do tính đơn giản và linh hoạt.
✅ ISO/IEC 25010 – Chuẩn kế thừa & mở rộng của ISO 9126
- Là một phần của bộ tiêu chuẩn SQuaRE (Software Product Quality Requirements and Evaluation)
- Gồm 2 mô hình đánh giá:
- Chất lượng sản phẩm phần mềm (Product Quality)
- Chất lượng khi sử dụng (Quality in Use)
Mở rộng thêm các thuộc tính như:
- Compatibility (Khả năng tương thích)
- Security (Bảo mật)
- Sustainability (Bền vững)
🎯 ISO 25010 hướng đến một cách nhìn toàn diện hơn, đặc biệt trong môi trường hệ thống phân tán và tích hợp nhiều thành phần.
🇬🇧 TickIT và TickITplus – Bộ tiêu chuẩn tại Anh
- Phát triển bởi British Standards Institution (BSI)
- Nhắm vào việc hướng dẫn áp dụng ISO 9001 trong phát triển phần mềm
- Đặc điểm:
- Cung cấp mô hình chất lượng cụ thể cho lĩnh vực CNTT
- Tập trung cải tiến liên tục (continuous improvement)
- TickITplus (ra mắt 2011) mở rộng hơn với các lĩnh vực công nghiệp khác, hỗ trợ quy trình chuẩn hóa nâng cao
3. Các tổ chức quản lý & thúc đẩy chất lượng phần mềm
🏛️ CISQ – Consortium for IT Software Quality
- Là một tổ chức toàn cầu phi lợi nhuận
- Được thành lập bởi OMG (Object Management Group) & SEI (Software Engineering Institute)
- Mục tiêu:
- Phát triển các chỉ số đo lường chất lượng phần mềm theo chuẩn công nghiệp
- Tích hợp các yếu tố như hiệu năng, độ tin cậy, bảo mật, maintainability
🇪🇺 EFQM – European Foundation for Quality Management
- Thành lập tại châu Âu (1988), hiện hoạt động toàn cầu
- Phát triển mô hình EFQM Excellence Model
- Ứng dụng trong:
- Tự đánh giá tổ chức
- Cải tiến quy trình
- Nâng cao năng lực cạnh tranh
🎯 EFQM giúp các tổ chức áp dụng quản lý chất lượng tổng thể – không chỉ trong phần mềm mà toàn doanh nghiệp.
🇺🇸 ASQ – American Society for Quality
- Được thành lập từ năm 1946, trụ sở tại Mỹ
- Là một trong những tổ chức đào tạo & chứng nhận chất lượng lâu đời nhất thế giới
- Mục tiêu:
- Phát triển chuyên môn chất lượng toàn cầu
- Cung cấp chứng chỉ, kiến thức, tài nguyên
📌 Website: asq.org
🌍 QAI – Quality Assurance Institute
- Thành lập tại Mỹ từ năm 1980
- Tập trung vào 3 yếu tố trong CNTT:
- Con người
- Quy trình
- Công nghệ
- Hoạt động tại hơn 50 quốc gia
- Cung cấp dịch vụ tư vấn, huấn luyện và kiểm định chất lượng phần mềm
🧪 SEI – Software Engineering Institute
- Hoạt động dưới sự tài trợ của Bộ Quốc phòng Mỹ
- Nổi tiếng nhất với việc:
- Phát triển mô hình CMM/CMMI
- Hướng đến cải tiến quy trình phát triển phần mềm ở cấp tổ chức
- Là nơi khởi nguồn của nhiều nghiên cứu tiên phong về:
- Đo lường chất lượng
- Trưởng thành quy trình
- Kiến trúc phần mềm
📌 Website: sei.cmu.edu
✅ Kết luận chương
Trong thời đại phần mềm chi phối mọi lĩnh vực, việc áp dụng các tiêu chuẩn quốc tế và tham khảo các tổ chức chuyên sâu về chất lượng là:
- Cách đảm bảo sản phẩm được xây dựng đúng – vận hành tốt – phát triển bền vững
- Bước chuẩn bị cần thiết để tham gia các thị trường khắt khe và cạnh tranh quốc tế
🎯 “Tiêu chuẩn là la bàn, tổ chức chất lượng là bản đồ – giúp phần mềm bạn không lạc hướng trong hành trình phát triển.”
So sánh ISO 9126 và ISO 25010 – Hai thế hệ tiêu chuẩn chất lượng phần mềm
1. Bối cảnh hình thành
📜 ISO/IEC 9126 – Thế hệ đầu tiên (ra đời năm 1991, cập nhật 2001)
- Là một trong những bộ tiêu chuẩn đầu tiên chuyên biệt cho phần mềm
- Đề xuất 6 đặc tính chất lượng chính để đánh giá sản phẩm phần mềm
- Dễ áp dụng, linh hoạt → được nhiều tổ chức sử dụng dù đã cũ
🌐 ISO/IEC 25010 – Thế hệ kế thừa (công bố năm 2011)
- Là một phần của bộ tiêu chuẩn SQuaRE – Software product Quality Requirements and Evaluation
- Mở rộng và cập nhật các đặc tính để phù hợp với các xu hướng mới như bảo mật, tương thích hệ thống, bền vững
- Chia mô hình chất lượng làm 2 nhánh rõ ràng:
- Chất lượng sản phẩm phần mềm
- Chất lượng khi sử dụng
2. So sánh chi tiết các đặc tính chất lượng
Thuộc tính | ISO 9126 | ISO 25010 |
---|---|---|
✅ Tính năng | Functionality | Functional suitability |
✅ Độ tin cậy | Reliability | Reliability |
✅ Tính dễ sử dụng | Usability | Usability |
✅ Hiệu suất | Efficiency | Performance efficiency |
✅ Khả năng bảo trì | Maintainability | Maintainability |
✅ Tính di động | Portability | Portability |
❌ (Chưa có) | — | Security |
❌ (Chưa có) | — | Compatibility (tương thích) |
❌ (Chưa có) | — | Maintainability → thêm modularity |
❌ (Chưa có) | — | Sustainability (gợi ý từ SQuaRE) |
3. Ưu điểm và hạn chế
ISO 9126
✅ Ưu điểm:
- Dễ hiểu, dễ triển khai
- Đủ dùng cho nhiều dự án nhỏ – vừa
⚠️ Hạn chế:
- Không đề cập đến các khía cạnh như bảo mật, tương thích, hay yếu tố con người
- Không phân tách rõ giữa chất lượng phần mềm & chất lượng sử dụng
ISO 25010
✅ Ưu điểm:
- Hiện đại, cập nhật theo nhu cầu thực tiễn (bảo mật, tích hợp, hiệu suất…)
- Có mô hình kép (product quality vs quality in use)
⚠️ Hạn chế:
- Cần đầu tư thời gian để phân tích và áp dụng đúng cách
- Với dự án nhỏ, có thể “quá tầm” nếu không có đội ngũ đủ hiểu
4. Khi nào dùng ISO 9126 – khi nào dùng ISO 25010?
Tình huống ứng dụng | Tiêu chuẩn phù hợp |
---|---|
Dự án phần mềm nội bộ nhỏ, ít yêu cầu phức tạp | ISO 9126 |
Dự án chính phủ, tài chính, hoặc yêu cầu bảo mật cao | ISO 25010 |
Cần báo cáo đánh giá chất lượng rõ ràng theo chuẩn mới | ISO 25010 |
Làm bài tập, mô hình khái niệm đơn giản | ISO 9126 vẫn có thể dùng |
5. Kết luận chương
Cả ISO 9126 và ISO 25010 đều là mốc chuẩn mực quan trọng trong ngành phát triển phần mềm.
Việc lựa chọn sử dụng tiêu chuẩn nào phụ thuộc vào quy mô, mục tiêu chất lượng và kỳ vọng triển khai của từng tổ chức.
🎯 “ISO 9126 là nền móng – ISO 25010 là tòa nhà hoàn thiện. Tùy vào mục tiêu, bạn có thể dùng móng, hay xây luôn cả công trình.”
Các Tổ chức Quản lý Chất lượng Phần mềm
1. Tổ chức CISQ – Consortium for IT Software Quality
✅ Giới thiệu
- CISQ là liên minh toàn cầu phi lợi nhuận, do Object Management Group (OMG) và Software Engineering Institute (SEI) đồng sáng lập.
- Mục tiêu: Chuẩn hóa các phương pháp đo lường chất lượng phần mềm ở cấp độ công nghiệp.
🔍 Vai trò chính:
- Phát triển các chỉ số phần mềm cho:
- Bảo mật
- Hiệu năng
- Tính ổn định
- Khả năng bảo trì
- Hướng dẫn chính phủ và doanh nghiệp trong việc áp dụng các tiêu chuẩn có thể đo lường – có thể kiểm toán.
📌 Website: https://www.it-cisq.org
2. Tổ chức EFQM – European Foundation for Quality Management
✅ Giới thiệu
- Thành lập tại châu Âu (1988) với sự hậu thuẫn từ 14 công ty lớn như Philips, Bosch, Renault, BT…
- Mô hình quản lý chất lượng toàn diện: EFQM Excellence Model
🏛️ EFQM Excellence Model
- Dựa trên 9 tiêu chí đánh giá tổ chức:
- 5 tiêu chí năng lực (Leadership, People, Strategy…)
- 4 tiêu chí kết quả (Customer, People, Society, Business)
⚙️ Ứng dụng:
- Tự đánh giá mức độ trưởng thành của tổ chức
- Nền tảng cho giải thưởng Chất lượng Châu Âu
- Mở rộng sang lĩnh vực phần mềm với triết lý chất lượng đồng bộ giữa con người – quy trình – công nghệ
📌 Website: https://www.efqm.org
3. Tổ chức ASQ – American Society for Quality
✅ Giới thiệu
- Thành lập từ năm 1946 tại Mỹ
- Là tổ chức độc lập toàn cầu chuyên về quản lý chất lượng
💡 Vai trò nổi bật:
- Phát triển chứng chỉ nghề nghiệp: CSQE, CQE, CQA…
- Cung cấp hàng ngàn bài viết, công cụ, biểu mẫu thực hành chất lượng
- Diễn đàn lớn nhất thế giới cho chuyên gia chất lượng – từ sản xuất đến phần mềm
📚 Dành cho phần mềm:
- Hỗ trợ triển khai Six Sigma, TQM, kiểm thử chất lượng
- Xây dựng cộng đồng kỹ sư phần mềm theo hướng chất lượng
📌 Website: https://www.asq.org
4. Tổ chức QAI – Quality Assurance Institute
✅ Giới thiệu
- Thành lập tại Mỹ năm 1980, chuyên về CNTT
- Mạng lưới chi nhánh tại hơn 40 quốc gia (bao gồm Ấn Độ, Canada, Singapore…)
🔍 Trọng tâm:
- Tối ưu hóa mối quan hệ giữa:
- Con người
- Quy trình
- Công nghệ
📌 Sản phẩm và dịch vụ:
- Đào tạo và chứng chỉ kiểm thử phần mềm (CSTE, CAST, CMST…)
- Tư vấn cải tiến quy trình phát triển phần mềm
- Tổ chức các hội thảo chất lượng toàn cầu
📌 Website: https://www.qaiworldwide.org
5. Tổ chức SEI – Software Engineering Institute
✅ Giới thiệu
- Hoạt động từ năm 1984, trực thuộc Đại học Carnegie Mellon, tài trợ bởi Bộ Quốc phòng Hoa Kỳ
- Là nơi phát triển mô hình nổi tiếng CMM và CMMI
🧠 Đóng góp nổi bật:
- Phát triển khái niệm: process maturity, software architecture, secure coding
- Là trung tâm đào tạo và tư vấn hàng đầu cho các tổ chức chính phủ, quân sự và công nghiệp
📌 Vai trò trong chất lượng:
- Hướng dẫn tổ chức xây dựng quy trình phát triển có thể kiểm soát
- Đo lường mức độ trưởng thành của tổ chức thông qua các cấp độ CMMI
📌 Website: https://www.sei.cmu.edu
✅ Kết luận chương
Các tổ chức như CISQ, EFQM, ASQ, QAI, và SEI không chỉ xây dựng tiêu chuẩn mà còn cung cấp:
- Công cụ triển khai
- Chứng chỉ năng lực
- Dữ liệu nghiên cứu
- Cộng đồng chuyên môn
🎯 “Hiểu đúng tổ chức – chọn đúng phương pháp – áp dụng đúng chuẩn, bạn sẽ kiến tạo chất lượng từ gốc rễ.”
Kế hoạch Chất lượng Phần mềm (Software Quality Plan – SQP)
1. Kế hoạch chất lượng phần mềm là gì?
Kế hoạch chất lượng phần mềm (Software Quality Plan) là một tài liệu chính thức mô tả:
- Các tiêu chuẩn, kỹ thuật, công cụ sẽ được sử dụng để đảm bảo chất lượng sản phẩm phần mềm.
- Các quy trình kiểm tra, đánh giá và phản hồi được triển khai trong suốt vòng đời dự án.
🎯 “Không có kế hoạch chất lượng – không thể đảm bảo đầu ra ổn định.”
2. Mục đích của SQP
- Thiết lập kỳ vọng chung về chất lượng giữa tất cả các bên liên quan.
- Đảm bảo tính nhất quán trong quy trình kiểm thử và triển khai.
- Giảm rủi ro phát hành lỗi lớn bằng việc kiểm tra có hệ thống.
- Tăng tính truy vết trong trường hợp cần kiểm tra lại hoặc kiểm toán.
3. Cấu trúc một kế hoạch chất lượng phần mềm
Thành phần | Mô tả |
---|---|
✅ Mục tiêu chất lượng | Xác định mức độ chất lượng mong muốn và các tiêu chí đánh giá. |
🧭 Phạm vi và bối cảnh | Mô tả phần mềm nào được kiểm tra, môi trường áp dụng, ràng buộc. |
🔧 Tiêu chuẩn áp dụng | ISO 25010, ISO 9001, TQM, CMMI, Coding Guideline… |
🛠️ Công cụ và kỹ thuật sử dụng | Postman, Selenium, SonarQube, Static Analyzer, Unit Test, Agile QA… |
🧪 Chiến lược kiểm thử | Manual/Automation, phân loại test, định nghĩa pass/fail. |
📊 Chỉ số đánh giá | Số lỗi/blocker, coverage %, thời gian phản hồi, DPMO… |
👨🔬 Nhân sự và vai trò | Ai chịu trách nhiệm kiểm thử, viết test case, phân tích lỗi. |
🧱 Quản lý rủi ro | Nếu lỗi vượt ngưỡng, có rollback hoặc thay đổi lộ trình không? |
📈 Theo dõi và cải tiến | Cơ chế cập nhật, phản hồi từ UAT, post-mortem sau mỗi phiên bản. |
4. Ví dụ đoạn SQP đơn giản
markdownCopyEdit📌 Mục tiêu: Giảm tỷ lệ lỗi nghiêm trọng xuống < 1/1000 dòng mã
📌 Tiêu chuẩn áp dụng: ISO/IEC 25010 – đo usability, security, efficiency
📌 Công cụ kiểm thử:
- Postman (API)
- JUnit (unit test)
- Selenium (giao diện người dùng)
📌 Kiểm thử:
- Manual + Automation
- Kiểm thử bảo mật cơ bản (SQLi, XSS)
📌 Kết quả mong đợi:
- ≥ 95% test case pass
- ≤ 3 lỗi nhỏ chưa sửa được trước ngày release
📌 Nhóm phụ trách:
- QA Lead: Nguyễn Văn A
- Automation Dev: Lê Thị B
5. Những lưu ý thực tế khi viết kế hoạch chất lượng
- Viết ngắn gọn – nhưng rõ ràng: tránh lan man, tập trung vào phần áp dụng thực tế.
- Tùy biến theo dự án: SQP cho startup sẽ khác với SQP cho ngân hàng.
- Phối hợp với quản lý rủi ro: nếu test không kịp thì phản ứng như thế nào?
- Liên kết với biểu đồ Gantt hoặc Sprint Plan: biết kiểm thử diễn ra khi nào.
✅ Kết luận chương
Kế hoạch chất lượng không phải là tài liệu “trang trí”, mà là nền tảng để đội dự án hành động có định hướng.
Một SQP tốt sẽ giúp:
- Cải thiện hiệu quả làm việc
- Đảm bảo chất lượng sản phẩm nhất quán
- Giảm chi phí sửa lỗi về sau
🎯 “SQP là bản đồ chất lượng – không có nó, bạn sẽ phát triển phần mềm trong sương mù.”