Tổng quan về giáo trình

Giáo trình học phần Kiểm thử phần mềm 1 (Mã học phần: CNC107400) do tác giả Phan Gia Phước chủ biên, được ban hành năm 2019 bởi Khoa Công nghệ Thông tin, Trường Cao đẳng Công nghệ Thủ Đức (UBND TP. Hồ Chí Minh). Học phần thuộc khối kiến thức chuyên ngành của chương trình đào tạo ngành Công nghệ thông tin trình độ Cao đẳng.

Về mục tiêu học tập (learning outcomes), giáo trình trang bị cho người học hệ thống kiến thức nền tảng về kiểm thử phần mềm theo khung chuẩn quốc tế ISTQB (International Software Testing Qualifications Board). Sau khi hoàn thành học phần, người học có khả năng:

  • Trình bày và giải thích hệ thống các khái niệm, 7 nguyên lý kiểm thử, các mức độ và loại hình kiểm thử, cùng quy trình quản lý kiểm thử.
  • Thiết kế các bộ ca kiểm thử (Test Cases) có khả năng bao phủ đầy đủ tài liệu đặc tả yêu cầu phần mềm (SRS) cho một dự án quy mô nhỏ.
  • Vận hành kiểm thử thực tế và lập danh sách báo cáo lỗi (Defect List).
  • Vận dụng kỹ năng làm việc nhóm, giao tiếp kỹ thuật và lập báo cáo kết quả kiểm thử.

Cấu trúc giáo trình gồm 5 chương được triển khai theo tiến trình logic từ tổng quan lý thuyết, vị trí kiểm thử trong vòng đời phát triển, kỹ thuật kiểm thử tĩnh, các phương pháp thiết kế ca kiểm thử cho đến quy trình quản lý hoạt động kiểm thử.

Điểm đặc trưng của tài liệu là việc chuẩn hóa các khái niệm chuyên môn theo giáo trình ISTQB Foundation, đồng thời tích hợp các biểu mẫu kỹ thuật (Test Case, Defect List) cùng bài tập tình huống thực tế gắn liền với các giao diện ứng dụng web và di động.


Nội dung kiến thức cốt lõi

Các chương/chủ đề chính

Cấu trúc nội dung của giáo trình được phân bổ qua 5 chương chuyên đề:

  • Chương 1: Tổng quan về Kiểm thử phần mềm: Trình bày ngữ cảnh hệ thống, 4 trường hợp phát sinh lỗi trong quy trình phát triển, mối quan hệ giữa thời điểm phát hiện lỗi và chi phí khắc phục. Phân tích 7 nguyên lý kiểm thử theo ISTQB (như nguyên lý kiểm thử toàn bộ là bất khả thi, nghịch lý thuốc trừ sâu, phân bổ lỗi theo nguyên tắc 80/20). Cung cấp quy trình kiểm thử tổng quát 5 giai đoạn, các yếu tố tâm lý trong giao tiếp giữa Tester và Developer, cấu trúc chuẩn của một Test Case (ID, Function, Test Data, Test Steps, Expected Results, Actual Result, Comments) và phân loại dữ liệu thử nghiệm theo 3 nhóm (Normal, Abnormal, Boundary).
  • Chương 2: Kiểm thử trong vòng đời phần mềm: Khảo sát mô hình chữ V (V-model) và các mô hình phát triển lặp lại tăng thêm (Prototyping, RAD, RUP, Agile). Chi tiết hóa 4 mức độ kiểm thử: Kiểm thử đơn vị (Unit/Component testing với khái niệm Stub và Driver), Kiểm thử tích hợp (Integration testing theo các hướng Big-Bang, Top-down, Bottom-up), Kiểm thử hệ thống (System testing), và Kiểm thử chấp nhận (Acceptance testing/Alpha testing). Định nghĩa các loại kiểm thử chức năng, phi chức năng (hiệu năng, độ tải, vượt tải, khả dụng, bảo trì, độ tin cậy, tính di động), kiểm thử cấu trúc (hộp trắng/hộp thủy tinh), kiểm thử xác nhận (Confirmation testing), kiểm thử hồi quy (Regression testing) và kiểm thử bảo trì.
  • Chương 3: Kỹ thuật tĩnh: Phân biệt kiểm thử động (Dynamic testing) và kiểm thử tĩnh (Static testing). Giới thiệu tiến trình Review chính thức gồm 6 giai đoạn (Planning, Kick-off, Individual preparation, Review meeting, Rework, Follow-up) cùng 5 vai trò nòng cốt (Manager, Moderator, Author, Reviewers, Scrible). Phân loại các hình thức đánh giá: Management Review, Informal Review, Technical Review, Walkthrough và Inspection.
  • Chương 4: Các kỹ thuật thiết kế kiểm thử: Phân loại và hướng dẫn áp dụng các kỹ thuật kiểm thử hộp đen/dựa trên đặc tả (Phân vùng tương đương - EP, Phân tích giá trị biên - BVA, Bảng quyết định - Decision Table, Chuyển trạng thái - State Transition, Mô hình Use Case); các kỹ thuật kiểm thử hộp trắng/dựa trên cấu trúc (Độ bao phủ câu lệnh - Statement Coverage, Độ bao phủ quyết định - Decision Coverage); và các kỹ thuật dựa trên kinh nghiệm (Đoán lỗi - Error Guessing, Kiểm thử thăm dò - Exploratory testing).
  • Chương 5: Quản lý kiểm thử: Mô hình tổ chức đội ngũ kiểm thử độc lập; phân định trách nhiệm giữa Test Leader và Tester; quy trình lập kế hoạch kiểm thử (Test Plan), xác định tiêu chí đầu vào (Entry criteria) và tiêu chí xuất (Exit criteria); phương pháp ước lượng và tiếp cận rủi ro (rủi ro dự án, rủi ro sản phẩm); quản lý cấu hình (Configuration Management) và quản lý sự cố/lỗi (Defect Management).

Kiến thức nền tảng được xây dựng

  • Khung lý thuyết chuẩn hóa: Xây dựng trên nền tảng thuật ngữ và quy chuẩn của tổ chức ISTQB.
  • Mô hình ánh xạ phát triển - kiểm thử: Mô hình V-Model đối chiếu tương ứng từng pha phát triển (Yêu cầu người dùng, Yêu cầu hệ thống, Thiết kế toàn cục, Thiết kế chi tiết, Lập trình) với từng mức kiểm thử tương ứng (Unit Test, Integration Test, System Test, Acceptance Test).
  • Nguyên lý cốt lõi: 7 nguyên lý kiểm thử phần mềm chỉ rõ giới hạn của kiểm thử, sự cần thiết của kiểm thử sớm, hiện tượng cụm lỗi (nguyên tắc 80/20 và nguyên tắc tổ gián) và sự phụ thuộc vào ngữ cảnh ứng dụng.

Kỹ năng phát triển

  • Kỹ năng kỹ thuật (Technical skills): Viết Test Cases có cấu trúc, áp dụng các kỹ thuật phân tích biên (BVA) và phân vùng tương đương (EP), tính toán độ bao phủ mã nguồn (Statement/Decision Coverage), thiết lập Stub/Driver cho Unit Test, lập danh sách ghi nhận lỗi (Defect List).
  • Kỹ năng phân tích (Analytical skills): Phân tích tài liệu đặc tả yêu cầu (SRS), phân tích rủi ro sản phẩm, đánh giá tiêu chí dừng kiểm thử (Exit criteria).
  • Kỹ năng thực tiễn (Practical competencies): Thực thi kiểm thử trên hệ thống phần mềm web và mobile, tham gia quy trình Review tài liệu kỹ thuật, phối hợp làm việc nhóm và giao tiếp chuyên nghiệp với đội ngũ lập trình theo nguyên tắc khách quan, trung lập.

Phương pháp giảng dạy và học tập

Giáo trình áp dụng phương pháp sư phạm kết hợp giữa thuyết giảng lý thuyết quy chuẩn và thực hành trực tiếp trên các kịch bản phần mềm mẫu (scenario-based learning).

Bài tập và kịch bản thực hành

Hệ thống bài tập cuối mỗi chương yêu cầu người học vận dụng kiến thức lý thuyết để giải quyết các yêu cầu kiểm thử cụ thể:

  • Chương 1: Thiết kế tối thiểu 40 ca kiểm thử cho màn hình đăng nhập đa phương thức (Email, Facebook, Google+, Twitter, Forgot password, Sign up) và tối thiểu 30 ca kiểm thử cho chức năng đổi mật khẩu (Change Password) có kiểm tra các ràng buộc về độ dài và ký tự đặc biệt.
  • Chương 2: Thiết kế bộ ca kiểm thử cho module bán hàng của hệ thống phần mềm quản lý quán cà phê, gồm: tối thiểu 25 ca cho màn hình Lập hóa đơn, tối thiểu 15 ca cho chức năng Chuyển bàn (4 khu vực: Phải, Trái, Mặt tiền, Sân thượng), và tối thiểu 10 ca cho màn hình Thanh toán (tiền mặt, voucher, thẻ ngân hàng/visa).
  • Chương 3: Thiết kế ca kiểm thử hoàn chỉnh cho ứng dụng đọc sách điện tử trên nền tảng Android, bao gồm màn hình Thư viện (Library) và màn hình Trình đọc (Reader) với các tương tác cảm ứng: vuốt lật trang, chạm giữ (long tap) để mở menu chức năng (Highlight, Note, Share, Dictionary, Search, Copy), chạm nhanh (short tap) để cấu hình định dạng (font chữ, lề, độ sáng, hướng xoay màn hình).
   ┌─────────────────────────────────────────────────────────┐
   │             Tiến trình học tập và thực hành             │
   └────────────────────────────┬────────────────────────────┘
                                │
                                ▼
   ┌─────────────────────────────────────────────────────────┐
   │ 1. Lý thuyết nền tảng & 7 nguyên lý kiểm thử (ISTQB)     │
   └────────────────────────────┬────────────────────────────┘
                                │
                                ▼
   ┌─────────────────────────────────────────────────────────┐
   │ 2. Mô hình vòng đời (V-Model) & 4 Cấp độ kiểm thử       │
   └────────────────────────────┬────────────────────────────┘
                                │
                                ▼
   ┌─────────────────────────────────────────────────────────┐
   │ 3. Kỹ thuật tĩnh & Tiến trình Review 6 giai đoạn         │
   └────────────────────────────┬────────────────────────────┘
                                │
                                ▼
   ┌─────────────────────────────────────────────────────────┐
   │ 4. Kỹ thuật thiết kế Test Case (Hộp đen, Hộp trắng)     │
   └────────────────────────────┬────────────────────────────┘
                                │
                                ▼
   ┌─────────────────────────────────────────────────────────┐
   │ 5. Thực hành dự án nhỏ: Viết Test Case & Lập Defect List│
   └─────────────────────────────────────────────────────────┘

Phương pháp đánh giá và tự học

Hoạt động đánh giá kết quả học tập được thực hiện thông qua:

  • Đánh giá khả năng bao phủ yêu cầu của bộ ca kiểm thử dựa trên ma trận truy vết (Traceability Matrix).
  • Đánh giá tính chuẩn xác trong việc phân nhóm dữ liệu kiểm thử (Normal, Abnormal, Boundary cases).
  • Đánh giá chất lượng của bảng báo cáo lỗi (Defect List) và báo cáo tổng kết kiểm thử theo nhóm.

Về phương diện tự học, tài liệu cung cấp các nguyên tắc viết ca kiểm thử độc lập (đơn giản, minh bạch, đặt góc nhìn ở người dùng cuối, không phỏng đoán yêu cầu), tạo điều kiện cho người học tự rà soát và đánh giá chéo kết quả (Peer Review).


Điểm nổi bật và cập nhật

  • Đồng bộ hóa với chuẩn quốc tế ISTQB: Toàn bộ nội dung từ định nghĩa, 7 nguyên lý, quy trình 5 bước kiểm thử, các kỹ thuật thiết kế đến thuật ngữ chuyên ngành (Stub, Driver, Confirmation testing, Regression testing, Entry/Exit criteria) đều bám sát khung chương trình ISTQB Foundation Level.
  • Hệ thống hóa các mô hình phát triển phần mềm: Bên cạnh mô hình tuần tự cổ điển (V-Model), giáo trình trình bày vị trí của hoạt động kiểm thử trong các mô hình phát triển hiện đại như Agile, RAD (Rapid Application Development), RUP (Rational Unified Process) và Prototyping.
  • Ứng dụng các tình huống nghiệp vụ thực tế: Hệ thống ví dụ và bài tập thực hành được trích xuất từ các ứng dụng thực tế: hệ thống đăng ký môn học trực tuyến, chức năng xác thực tài khoản Facebook/Gmail, phần mềm quản lý điểm bán hàng (POS), và ứng dụng di động Android.
  • Tập trung vào khía cạnh tâm lý kỹ thuật và giao tiếp nghề nghiệp: Giáo trình dành riêng một mục phân tích tâm lý kiểm thử ("Tâm lý kiểm thử"), đưa ra các nguyên tắc xử lý bất đồng giữa Tester và Developer, định hướng thái độ làm việc khách quan ("nhìn việc chứ không nhìn người") nhằm đảm bảo tiến độ và chất lượng sản phẩm.

Đối tượng sử dụng giáo trình

  • Sinh viên: Giáo trình được biên soạn phục vụ trực tiếp cho sinh viên ngành Công nghệ thông tin trình độ Cao đẳng và Đại học đang theo học học phần Kiểm thử phần mềm cơ bản (Kiểm thử phần mềm 1).
  • Yêu cầu kiến thức tiên quyết (Prerequisites): Người học cần hoàn thành các học phần cơ sở như Nhập môn lập trình, Cơ sở dữ liệu, Cấu trúc dữ liệu và giải thuật, cùng kiến thức cơ bản về Quy trình phát triển phần mềm để có thể hiểu rõ cấu trúc mã nguồn và tài liệu đặc tả SRS.
  • Giảng viên: Tài liệu cung cấp đề cương chi tiết, cấu trúc bài giảng phân tầng, cùng hệ thống ca kiểm thử mẫu và bài tập giao diện cụ thể để xây dựng giáo án lý thuyết, bài thực hành tại phòng máy và đề kiểm tra đánh giá định kỳ.
  • Người tự học và tham khảo: Nhân sự mới bắt đầu làm việc trong lĩnh vực đảm bảo chất lượng phần mềm (Junior/Fresher Tester) hoặc lập trình viên cần nắm vững quy trình kiểm thử, kỹ thuật thiết kế Test Cases và chuẩn bị kiến thức nền tảng cho kỳ thi lấy chứng chỉ quốc tế ISTQB Foundation.

Câu hỏi thường gặp

1. Giáo trình này phù hợp với ai?

Giáo trình phù hợp với sinh viên ngành Công nghệ thông tin trình độ Cao đẳng, Đại học, người mới bắt đầu học kiểm thử phần mềm, và các lập trình viên muốn nâng cao kỹ năng kiểm thử đơn vị hoặc kiểm thử chức năng.

2. Cần kiến thức nền nào để học giáo trình này?

Người học cần có kiến thức nền tảng về lập trình cơ bản, hiểu cấu trúc dữ liệu, có khả năng đọc hiểu tài liệu đặc tả yêu cầu phần mềm (SRS) và các sơ đồ thiết kế hệ thống cơ bản.

3. Điểm khác biệt của giáo trình so với các tài liệu khác là gì?

Tài liệu hệ thống hóa toàn bộ nội dung lý thuyết theo đúng chuẩn ISTQB, đồng thời tích hợp biểu mẫu ca kiểm thử thực tế và các bài tập tình huống mô phỏng trực tiếp giao diện ứng dụng web/di động. Giáo trình cũng phân tích rõ các khía cạnh tâm lý kiểm thử và quy trình kiểm thử tĩnh (Review/Inspection).

4. Làm sao để tự học giáo trình hiệu quả?

Người học nên đọc kỹ phần lý thuyết của từng chương, ghi nhớ 7 nguyên lý kiểm thử, sau đó thực hành viết Test Cases đầy đủ cho các bài tập ở cuối chương (màn hình Login, Change Password, module Bán hàng quán cà phê, ứng dụng đọc sách Android) theo mẫu bảng chuẩn được hướng dẫn trong Chương 1.

5. Có tài liệu bổ trợ nào kèm theo giáo trình không?

Giáo trình cung cấp hệ thống mẫu Test Cases trong phần Phụ lục 3, các mô hình quy trình, danh mục chữ viết tắt, danh mục hình vẽ minh họa, và danh mục tài liệu tham khảo chuyên ngành kiểm thử ở cuối tài liệu.


Kết luận

Giáo trình Kiểm thử phần mềm 1 của Trường Cao đẳng Công nghệ Thủ Đức là tài liệu học tập chuẩn hóa, cung cấp nền tảng kiến thức toàn diện về kiểm thử phần mềm theo chuẩn ISTQB. Nội dung sách dẫn dắt người học từ các khái niệm, nguyên lý cơ bản đến các cấp độ, kỹ thuật thiết kế ca kiểm thử và phương pháp quản lý quy trình kiểm thử trong thực tế.

Lộ trình học tập đề xuất bao gồm việc tiếp cận tuần tự 5 chương lý thuyết, hoàn thành hệ thống bài tập thiết kế Test Cases cho các màn hình ứng dụng cụ thể, và thực hiện đồ án kiểm thử dự án nhỏ theo nhóm. Để mở rộng kiến thức, người học có thể kết hợp tham khảo thêm tài liệu đặc tả chuẩn ISTQB Foundation Level và các biểu mẫu quản lý sự cố (Defect List) liên quan.