(Post 25/11/2008) 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. 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 này.
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 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:
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
đây):
- 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
đây (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
- ISTQB
- Certified Tester Foundation Level Syllabus - Version 2007 – ISTQB
- ISTQB®-Certified-Tester, Advanced Level - Version 1.2 (E) - 09/2003
- ISTQB Foundation Exam Format And Question Writing Guidelines - Version
2005 – 1
- Standard Glossary of Terms Used in Software Testing - Version 1.3
(dd. May, 31 2007)
(theo PC World VN) |