Các tiêu chuẩn kiểm thử phần mềm trên thế giới

04:37 PM 28/11/2017 In bài viết

Sản phẩm phần mềm đang trở thành một lĩnh vực được quan tâm và được kiểm soát chặt chẽ theo các tiêu chuẩn xuất phát kinh nghiệm hoặc các phương pháp hiệu quả nhất, được đề xuất từ các hiệp hội nghề nghiệp như IEEE (The Institute of Electrical and Electronics Engineers, Inc), từ các tổ chức quốc tế như ISO (The International Organization for Standardization), hoặc các quy tắc chuẩn hóa để giao tiếp giữa sản phẩm với nhau,...hoặc đơn giản do chính tổ chức phát triển phần mềm đề ra để áp dụng cho chính họ.

Từ “những năm cuối thế kỷ 20, ISO đã tập trung rất nhiều vào các tiêu chuẩn chất lượng cho phần mềm. Cách tiếp cận về chất lượng của ISO đã toàn diện hơn, phù hợp hơn. Kết quả là một loạt các bộ tiêu chuẩn đã ra đời, nhằm hướng tới đánh giá chất lượng toàn diện trong suốt vòng đời của sản phẩm phần mềm, từ khi phôi thai cho tới lúc lạc hậu cần thay thế”.

Để giải quyết các hậu quả của sự chồng lấn trong lĩnh vực tiêu chuẩn hóa và các công việc liên quan tới CNTT, ISO/IEC đã thành lập Ủy ban kỹ thuật chung, được biết đến với tên ISO/IEC JTC1. Vai trò của ủy ban này bao gồm phát triển, duy trì, khuyến khích và tối giản các tiêu chuẩn CNTT cho thị trường toàn cầu để phù hợp với các nhu cầu của người sử dụng bao gồm: Thiết kế và phát triển các hệ thống và công cụ CNTT; Tính thực thi và chất lượng của các sản phẩm và hệ thống CNTT; An ninh của các hệ thống CNTT và thông tin; Tính linh động của các chương trình ứng dụng; Thao tác giữa các bộ phận của các sản phẩm và hệ thống CNTT; Hợp nhất các công cụ và môi trường; Hài hòa về thuật ngữ CNTT; Các giao diện người dùng thân thiện và hài hòa.

Hiện tại, Ủy ban có 18 tiểu ban (SC):

SC 02 - Các bộ ký tự mã hóa.

SC 06 - Trao đổi liên lạc và thông tin giữa các hệ thống.

SC 07 - Kỹ thuật phần mềm và hệ thống.

SC 17 - Thẻ và nhận dạng cá nhân.

SC 22 - Ngôn ngữ lập trình, môi trường của chúng và các hệ thống giao diện phần mềm.

SC 23 - Các thiết bị lưu trữ số hóa tháo lắp sử dụng công nghệ ghi quang học và/hoặc từ tính cho số hóa.

SC 24 - Đồ họa máy tính và xử lý ảnh.

SC 25 - Liên kết thiết bị CNTT.

SC 27 - Các kỹ thuật an ninh CNTT.

SC 28 - Các thiết bị văn phòng.

SC 29 - Mã hóa thông tin âm thanh, hình ảnh, đa truyền thông và siêu truyền thông.

SC 31 - Nhận dạng tự động và các kỹ thuật bắt giữ số liệu.

SC 32 - Quản lý và trao đổi dữ liệu.

SC 34 - Mô tả tài liệu và các ngôn ngữ xử lý.

SC 35 - Giao diện người dùng.

SC 36 - CNTT trong giảng dạy, học tập và tập huấn.

SC 37 - Sinh trắc học.

Trong đó, tiểu ban SC7 chịu trách nhiệm về các tiêu chuẩn kỹ thuật phần mềm và hệ thống. Các quá trình, các kỹ thuật và công cụ hỗ trợ đối với kỹ thuật hệ thống và phần mềm được tiêu chuẩn hóa nhằm phát triển, duy trì, khuyến khích và thuận tiện hóa cho việc hướng dẫn, sử dụng; để phù hợp với các nhu cầu kinh doanh, nghiên cứu và cho các đối tượng sử dụng trong lĩnh vực CNTT. Phạm vi chịu trách nhiệm của SC7 trong kỹ thuật hệ thống và phần mềm bao gồm:

Các quá trình kỹ thuật phần mềm và hệ thống: các tiêu chuẩn mô tả, trình bày và đánh giá kỹ thuật phần mềm và hệ thống dựa theo các mô hình tham chiếu và các phép đo tiêu chuẩn. 

Các sản phẩm hệ thống phần mềm: các tiêu chuẩn cung cấp cho các đối tượng sử dụng các tài liệu hướng dẫn tường minh về các phép đo và đánh giá chất lượng sản phẩm phần mềm hoặc các hệ thống ứng dụng.

Kiến trúc tổ chức kinh doanh: các tiêu chuẩn trình bày về các hệ thống kinh doanh được tích hợp kỹ thuật phần mềm và cung cấp các công cụ về kỹ thuật phần mềm và hệ thống để triển khai các hệ thống thông tin tổ chức kinh doanh.

Môi trường kỹ thuật phần mềm: các tiêu chuẩn mô tả các môi trường kỹ thuật phần mềm và việc áp dụng các tiêu chuẩn vào trong trong các môi trường đó.

Kiến thức về kỹ thuật phần mềm: các bản báo cáo kỹ thuật ISO/IEC.

Quản lý các tài sản phần mềm: Các tiêu chuẩn mô tả các yêu cầu cơ bản trong một môi trường quản lý tài sản phần mềm.

Vận hành CNTT: các tiêu chuẩn cung cấp và mô tả việc quản lý các dịch vụ CNTT.

Hình 1 - Hệ thống các tiêu chuẩn ISO về kỹ thuật hệ thống và phần mềm

Dựa trên việc hệ thống và phân nhóm các quá trình như trên, SC7 nhóm các tiêu chuẩn ISO một cách phù hợp và thuận tiện cho việc sử dụng. Các tiêu chuẩn được xây dựng với mối liên hệ chặt chẽ với nhau từ các tiêu chuẩn bổ trợ cho tới các tiêu chuẩn mang tính chất hướng dẫn chung: vòng đời sản phẩm, đánh giá và triển khai các quá trình; và các tiêu chuẩn về đặc tính sản phẩm.

Một số tổ chức khác như IEEE, BS, ISO/IEC/IEEE… cũng đã nghiên cứu và biên soạn các tiêu chuẩn về về kiểm thử phần mềm và đảm bảo chất lượng phần mềm. Dưới đây là các tiêu chuẩn liên quan đến đảm bảo chất lượng (QA) và kiểm thử phần mềm:

Bảng 1 - Các tiêu chuẩn liên quan đến đảm bảo chất lượng và kiểm thử phần mềm

Ký hiệu tài liệu

Tên tài liệu

Các tiêu chuẩn liên quan đến kiểm thử phần mềm

IEEE 829:2008

A standard for the format of documents used in different stages of software testing. (Tiêu chuẩn về mẫu các tài liệu được sử dụng trong các giai đoạn khác nhau của kiểm thử phần mềm)

IEEE 1061:1998

A methodology for establishing quality requirements, identifying, implementing, analyzing, and validating the process and product of software quality metrics is defined. (Phương pháp luận để thiết lập các yêu cầu chất lượng, xác định, thực thi, phân tích, và xác nhận quá trình và sản phẩm có các chỉ số chất lượng phần mềm được xác định.)

IEEE 1059:1993

Guide for Software Verification and Validation Plans (Hướng dẫn kế hoạch kiểm tra và đánh giá phần mềm)

IEEE 1008:1987

A standard for unit testing. (Tiêu chuẩn về kiểm thử đơn vị)

IEEE 1012:2004

A standard for Software Verification and Validation. (Tiêu chuẩn về kiểm tra và đánh giá phần mềm)

IEEE 1028:2008

A standard for software inspections. (Tiêu chuẩn về kiểm tra phần mềm)

IEEE 1044:2009

A standard for the classification of software anomalies. (Tiêu chuẩn về phân loại những bất thường phần mềm)

IEEE 830:1998

A guide for lập trình viêneloping system requirements specifications. (Hướng dẫn phát triển đặc tả các yêu cầu hệ thống)

IEEE 730:2014

A standard for software quality assurance plans. (Tiêu chuẩn về kế hoạch đảm bảo chất lượng phần mềm)

IEEE 1061:1998

A standard for software quality metrics and methodology. (Tiêu chuẩn về hệ phương pháp luận và các chỉ số chất lượng phần mềm)

BS 7925-1: 1998

A vocabulary of terms used in software testing. (Từ vựng về các thuật ngữ được sử dụng trong kiểm thử phần mềm)

BS 7925-2:1998

A standard for software component testing. (Tiêu chuẩn về kiểm thử thành phần phần mềm)

ISO/IEC/IEEE 29119-1:2013

Software  and  systems  engineering  -  Software  testing  -  Part 1:  Concepts  and definitions (Kỹ thuật hệ thống và phần mềm  -  Kiểm thử phần mềm -  Phần 1:  Khái niệm và định nghĩa).

ISO/IEC/IEEE 29119-2:2013

Software and systems engineering - Software testing - Part 2: Test processs (Kỹ thuật hệ thống và phần mềm  -  Kiểm thử phần mềm -  Phần 4: Các kỹ thuật kiểm thử).

ISO/IEC/IEEE 29119-3:2013

 Software and systems engineering - Software testing - Part 3: Test documentation (Kỹ thuật hệ thống và phần mềm  -  Kiểm thử phần mềm -  Phần 3: Tài liệu kiểm thử).

ISO/IEC/IEEE 29119-4:2015

 Software and systems engineering - Software testing - Part 4: Test techniques (Kỹ thuật hệ thống và phần mềm  -  Kiểm thử phần mềm -  Phần 4: Kỹ thuật kiểm thử).

Các tiêu chuẩn liên quan đến chất lượng phần mềm

Bộ tiêu chuẩn ISO/IEC 14598

Information technology - Software product evaluation (CNTT - Đánh giá sản phẩm phần mềm).

Bộ tiêu chuẩn ISO/IEC 9126

Software engineering - Product quality (Kỹ thuật phần mềm - Chất lượng sản phẩm).

ISO/IEC 25010:2011

Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE) - System and software quality models.

Các tiêu chuẩn vòng đời phần mềm

ISO/IEC 12207:2013

System and software engineering - Software life cycle processes (Tiêu chuẩn về các quá trình vòng đời phần mềm và dữ liệu vòng đời)

 

Lời kết

Kiểm thử phần mềm là lĩnh vực không thể thiếu để hỗ trợ thiết thực cho ngành công nghiệp phần mềm. Việc chuẩn hóa các kỹ thuật kiểm thử trong quy trình kiểm thử phần mềm là hết sức cần thiết giúp thống nhất về cách gọi các thuật ngữ chuyên ngành, hỗ trợ cho các kỹ sư kiểm thử, người quản lý kiểm thử, các nhà phát triển và người quản lý dự án đưa ra những phân tích chính xác các trường hợp kiểm thử nhằm đảm bảo chất lượng sản phẩm phần mềm.

ISO đã thành lập một nhóm làm việc để xây dựng một bộ tiêu chuẩn mới về kiểm thử phần mềm - một lĩnh vực mới đối với ISO. Bộ tiêu chuẩn mới về kiểm thử phần mềm là ISO/IEC/IEEE 29119.

Tài liệu tham khảo

[1]. Nghiên cứu xây dựng tiêu chuẩn quốc gia “Kiểm thử phần mềm - Phần 4: Các kỹ thuật kiểm thử”, Mã số: 31-16-KHKT-TC

[2]. Các trang web của các tôt chức IEC, ISO, IEEE.

Thu Thủy (tiêu chuẩn)