• Thứ Năm, 15/05/2008 08:24 (GMT+7)

    ISTQB - Chứng chỉ quốc tế cho chuyên gia kiểm tra phần mềm

    Kiểm tra phần mềm (KTPM) là khâu quan trọng và xuyên suốt trong toàn bộ chu kỳ phát triển một phần mềm (Chúng tôi đã có dịp giới thiệu trong bài "Kiểm tra phần mềm - hoạt động sống còn của sản xuất phần mềm", TGVT số 12/2005). Vai trò của chuyên gia KTPM, do đó, ngày càng được nhấn mạnh và không thể thiếu trong bất kỳ dự án nào.

    Tuy nhiên, để trở thành một chuyên gia KTPM, kiến thức cần có là gì? Hiện có những tiêu chuẩn quốc tế nào để huấn luyện và đánh giá?

    Chứng chỉ ISTQB

    Công nghệ thông tin là một lĩnh vực đặc biệt, bên cạnh các bằng cấp chính quy dài hạn cho kỹ sư do các trường đại học cấp, luôn hiện diện hệ thống các chứng chỉ chuyên ngành đặc thù cho từng lĩnh vực hẹp, chứng thực mức độ chuyên nghiệp và kỹ năng thao tác của người đạt được chứng chỉ.

    Phần lớn chúng ta đã quen hoặc từng nghe về các chứng chỉ nổi tiếng dành cho lĩnh vực mạng và phát triền phần mềm, chẳng hạn: MCSD và MCSE của Microsoft dành cho chuyên gia phát triển phần mềm và kỹ sư hệ thống; CCNA, CCNP của Cisco dành cho chuyên gia mạng Cisco... Tuy nhiên các chứng chỉ dành cho lĩnh vực KTPM hầu như còn rất xa lạ tại Việt Nam. Với bài viết này, chúng tôi mong muốn giới thiệu một chứng chỉ khá nổi tiếng dành cho lĩnh vực KTPM được công nhận rộng rãi trên thế giới, đặc biệt tại châu Âu và Mỹ, đó là ISTQB. ISTQB được viết tắt từ tổ chức khai sinh ra nó là International Software Testing Qualifications Board (Tổ chức thẩm định về KTPM quốc tế), được thành lập vào tháng 11/2002 tại Edinburgh (Scotland), do tổ chức EOQ-SG (European Organisation for Quality – Software Group, Tổ chức chất lượng châu Âu – nhóm phần mềm) đỡ đầu.

    ISTQB được tổ chức theo mô hình sau:

    Theo sơ đồ, ISTQB là đầu mối quốc tế, nơi chuẩn bị, điều phối và ban hành các tài liệu khung về kiến thức cho các chuyên gia KTPM. Dưới ISTQB là các tổ chức Testing tại các quốc gia, là đầu mối điều phối, phổ biến, phát triển, và tổ chức thi chứng chỉ ISTQB tại từng quốc gia, đồng thời cung cấp phản hồi cho tổ chức ISTQB.

    ISTQB và các tổ chức Testing tại các nước hoạt động trên nguyên tắc bất vụ lợi. Tại Việt Nam, tổ chức Testing (Vietnamese Testing Board - VTB) cũng đã được thành lập vào năm 2007, bạn đọc có thể tìm hiểu thông tin tại website http://vietnamesetestingboard.org.

    Chứng chỉ ISTQB hiện có 3 mức độ:
    • Mức Cơ Bản, hay còn gọi là cấp độ 1 (ISTQB Foundation level)
    • Mức Nâng Cao, hay còn gọi là cấp độ 2 (ISTQB Advanced level)
    • Mức Chuyên Gia, hay còn gọi là cấp độ 3 (ISTQB Expert level)

    Hình sau cho thấy cấu trúc của 3 mức độ:

    Ứng với mỗi mức độ, ISTQB ban hành tài liệu quy định kiến thức khung (Syllabus) có mức độ chi tiết khác nhau. Kiến thức mức độ Cơ Bản và Nâng Cao giống nhau về khung sườn, chỉ khác nhau về mức độ mở rộng. Còn mức độ Chuyên Gia, yêu cầu kiến thức sâu sắc hơn, được phát triển riêng biệt cho từng lĩnh vực.

    Tất cả các tài liệu này, bạn đọc có thể tải về miễn phí tại trang web chính của ISTQB (http://www.istqb.org) hoặc tại trang web của tổ chức thành viên ISTQB tại quốc gia của mình (nếu có).
    Trong phạm vi bài viết, chúng tôi chỉ giới thiệu khung kiến thức cho cấp độ Cơ Bản.

    Mục tiêu của ISTQB và cấp độ Cơ Bản
    • Công nhận KTPM là một lĩnh vực cơ bản, chuyên nghiệp, chuyên môn hóa cao.
    • Cung cấp tiêu chuẩn khung cho việc phát triển và đánh giá các chuyên gia KTPM.
    • Giúp các chuyên gia KTPM được sự công nhận mang tầm quốc tế, nâng cao giá trị đối với khách hàng, tăng lợi ích và thu nhập. Cung cấp khả năng để so sánh và đánh giá các kỹ năng KTPM xuyên quốc gia.
    • Thúc đẩy và đưa ra các thông lệ tốt trong các quy trình kỹ thuật phần mềm. Tăng khả năng cạnh tranh cho nhà sản xuất phần mềm.
    • Giúp các dự án quốc tế hoặc đa ngôn ngữ có những hiểu biết chung về các vấn đề của KTPM.
    • Thống nhất quốc tế các thuật ngữ và kiến thức về lĩnh vực KTPM.

    Tiêu chuẩn để tham gia thi chứng chỉ ISTQB
    Bất kỳ ai có sự yêu thích lĩnh vực KTPM đều có thể tham gia học tập và thi chứng chỉ ISTQB. Tuy nhiên, để có thể qua được kỳ thi (không dễ dàng), lời khuyên cho ứng viên là:
    • Có kiến thức nền tảng về lĩnh vực phát triển phần mềm, hoặc KTPM , thông thường là tối thiểu 6 tháng kinh nghiệm, trong các vai trò như kiểm định viên hệ thống/sản phẩm, hoặc lập trình viên
    • Tham gia một khóa học chính thức theo tiểu chuẩn khung ISTQB, được công nhận bởi các tổ chức ISTQB của các quốc gia

    Khung kiến thức theo ISTQB
    Chúng tôi chỉ trình bày tóm lược khung kiến thức yêu cầu cho mức độ Cơ Bản. Mức độ Cơ Bản dành cho bất kỳ ai tham gia lĩnh vực KTPM và cho những ai cần có kiến thức nền tảng về KTPM, như giám đốc dự án, giám đốc chất lượng, giám đốc phát triển phần mềm, phân tích viên, giám đốc hệ thống. (bảng bên)

    TỔNG HỢP KIẾN THỨC KHUNG CỦA MỨC ĐỘ CƠ BẢN

    Nhóm kiến thức
    (Chia theo các chương)

    Nội Dung
    (Nội dung tóm tắt của chương)

    Phần 1: Cơ bản về KTPM

    • Tại sao KTPM là cần thiết
    • KTPM là gì
    • Các nguyên tắc KTPM cơ bản
    • Quy trình KTPM cơ bản
    • Khía cạnh tâm lý của KTPM
    • Hệ thống phần mềm, nguyên nhân của lỗi, vai trò của KTPM
    • Mục tiêu KTPM, kiểm tra tĩnh và động; kiểm tra và dò lỗi (debug)
    • Các khái niệm quan trọng: Lỗi; Tính bao phủ; Thời gian; Tập trung; Cải tiến; Ngữ cảnh; Khách hàng
    • KTPM: Lập kế hoạch và kiểm soát - Phân tích và thiết kế - Thực thi - Đánh giá kết quả và báo cáo - Kết thúc
    • Tính độc lập của KTPM;

    Phần 2: KTPM xuyên suốt chu kỳ phát triển phần mềm

    • Các mô hình phát triển phần mềm
    • Các mức độ kiểm tra
    • Các loại và mục tiêu của KTPM
    • Kiểm tra bảo trì phần mềm
    • Mô hình chữ V, KTPM và các mô hình phát triển phần mềm
    • Bốn mức độ KTPM: Kiểm tra mức đơn vị; Kiểm tra mức tích hợp; Kiểm tra mức hệ thống; Kiểm tra nghiệm thu
    • Mục tiêu của test: Kiểm tra chức năng; Kiểm tra phi chức năng; Kiểm tra kiến trúc; Kiểm tra liên quan đến các thay đổi
    • Kiểm tra bảo trì phần mềm

    Phần 3: Các kỹ thuật KTPM tĩnh

    • Xem xét và quy trình test
    • Quy trình xem xét (review)
    • Dùng công cụ cho phân tích tĩnh
    • Phân tích các điều kiện, trường hợp, thủ tục kiểm tra
    • Kỹ thuật KTPM động: dựa trên chức năng (hộp đen), dựa trên kiến trúc (hộp trắng), và dựa trên kinh nghiệm
    • Phân chia tương đương; Phân tích giá trị biên; Bảng quyết định; Sử dụng use case
    • Kiểm tra câu lệnh và độ bao phủ; Kiểm tra nhánh quyết định.
    • KTPM dựa vào kinh nghiệm
    • Cân nhắc các yếu tố bên trong và bên ngoài cho KTPM

    Phần 4: Các kỹ thuật thiết kế test (kỹ thuật KTPM động)

    • Quy trình phát triển KTPM
    • Các kỹ thuật thiết kế KTPM
    • Các kỹ thuật dựa trên chức năng (hay hộp đen - black-box)
    • Các kỹ thuật dựa trên kiến trúc (hay hộp trắng - white box)
    • Các kỹ thuật dựa trên kinh nghiệm
    • Chọn lựa các kỹ thuật KTPM
    • Phân tích các điều kiện, trường hợp, thủ tục kiểm tra
    • Kỹ thuật KTPM động: dựa trên chức năng (hộp đen), dựa trên kiến trúc (hộp trắng), và dựa trên kinh nghiệm
    • Phân chia tương đương; Phân tích giá trị biên; Bảng quyết định; Sử dụng use case
    • Kiểm tra câu lệnh và độ bao phủ; Kiểm tra nhánh quyết định.
    • KTPM dựa vào kinh nghiệm
    • Cân nhắc các yếu tố bên trong và bên ngoài cho KTPM

    Phần 5: Quản lý công việc KTPM

    • Tổ chức công việc KTPM
    • Lập kế hoạch và ước lượng KTPM
    • Kiểm soát và giám sát tiến độ
    • Quản lý cấu hình
    • Rủi ro trong KTPM
    • Quản lý rắc rối và trở ngại
    • Cách thức tổ chức KTPM độc lập
    • Kế hoạch & chiến lược KTPM theo chuẩn IEEE 829;
    • Đo lường, giám sát, báo cáo kết quả và tiến độ kiểm tra.
    • Quản lý cấu hình trong KTPM
    • Rủi ro và tác động của nó, chiến lược giải quyết rủi ro
    • Quản lý rắc rối và trở ngại. Độ nghiêm trọng và độ ưu tiên

    Phần 6: Các công cụ hỗ trợ cho KTPM

    • Các loại công cụ hỗ trợ KTPM
    • Hiệu quả của các công cụ, lợi ích và rủi ro
    • Giới thiệu công cụ KTPM cho một tổ chức
    • Các công cụ hỗ trợ cho: quản lý, kiểm tra tĩnh, thực thi, kiểm tra chức năng và hiệu năng phần mềm
    • Lợi ích khi sử dụng công cụ, các rủi ro
    • Chọn lựa và sử dụng công cụ, sử dụng thử nghiệm trong dự án

    Học và thi ISTQB tại Việt Nam
    Về cơ bản, người học có thể tự tham khảo tài liệu kiến thức khung ISTQB, tự học với các tài liệu tùy chọn và đăng ký tham dự các kỳ thi. Tuy nhiên, theo kết quả thống kê, thông thường, dù đã có kinh nghiệm KTPM, người học vẫn nên tham dự một khóa huấn luyện chính thức theo khung sườn của ISTQB, cơ may vượt qua kỳ thi sẽ cao hơn.

    Sau đây là một số thông tin cho bạn đọc ở Việt Nam, nếu muốn tham gia học và thi theo chứng chỉ ISTQB:

    Tài liệu khung kiến thức:
    • Certified Tester Foundation Level Syllabus (Khung kiến thức cho mức Cơ Bản)
    • Certified Tester Advanced Level Syllabus (Khung kiến thức cho mức Nâng Cao)
    • ISTQB Expert Level overview (Tổng quan về mức Chuyên Gia)
    • ISTQB Foundation Exam Format And Question Writing Guidelines (Dạng thức thi cho mức Cơ bản)
    • Standard Glossary of Terms Used in Software Testing (Thuật ngữ dành cho KTPM)

    Các tài liệu trên và các tài liệu tham khảo khác có thể tải về tại:
    • Trang web của ISTQB: http://www.istqb.org/download.htm
    • Trang web của VTB: http://vietnamesetestingboard.org
    Sách học, sách tham khảo: theo kinh nghiệm, chúng tôi đề nghị như sau (có thể mua online tại http://www.amazon.com):
    • Foundations of Software Testing - Rex Black
    • Software Testing Foundations - Andreas Spillner
    • The Art of Software Testing - Glenford J. Myers

    Về thi chứng chỉ, có thể liên hệ tổ chức Testing Việt Nam (VTB), hoặc đăng ký thi online tại http://www.register.prometric.com (thông qua đối tác tại Việt Nam là công ty Vũ Thảo).

    Ngô Văn Toàn
    Công ty Global CyberSoft Việt Nam
    -----------------------------------------------
    Tài liệu tham khảo
    1. ISTQB (http://www.istqb.org)
    2. Certified Tester Foundation Level Syllabus - Version 2007 – ISTQB
    3. ISTQB®-Certified-Tester, Advanced Level - Version 1.2 (E) - 09/2003
    4. ISTQB Foundation Exam Format And Question Writing Guidelines - Version 2005 – 1
    5. Standard Glossary of Terms Used in Software Testing - Version 1.3 (dd. May, 31 2007)

    ID: A0804_140