Link Tham khảo
Manual Testing là một loại kiểm thử phần mềm trong đó các ca kiểm thử được thực hiện bằng tay bởi một kiểm thử viên mà không sử dụng bất kỳ công cụ tự động hóa nào. Mục đích của Manual Testing là nhận diện các lỗi, vấn đề và khuyết điểm trong ứng dụng phần mềm. Kiểm thử phần mềm thủ công là kỹ thuật nguyên thủy nhất trong tất cả các loại kiểm thử và nó giúp phát hiện các lỗi quan trọng trong ứng dụng phần mềm.
Mọi ứng dụng mới phải được kiểm thử thủ công trước khi có thể tự động hóa kiểm thử của nó. Kiểm thử Phần mềm Thủ công đòi hỏi nhiều công sức hơn nhưng là cần thiết để kiểm tra khả năng tự động hóa. Các khái niệm về Kiểm thử Phần mềm Thủ công không đòi hỏi kiến thức về bất kỳ công cụ kiểm thử nào. Một trong những Nguyên tắc Kiểm thử Phần mềm là "100% Tự động hóa không thể thực hiện được". Điều này khiến cho Kiểm thử Phần mềm Thủ công trở nên quan trọng.
Mục tiêu của Kiểm thử Thủ công là:
**Kiểm tra lỗi và đảm bảo ứng dụng hoạt động đúng theo yêu cầu chức năng đã được chỉ định.**
Trong giai đoạn kiểm thử, các bộ kiểm thử hoặc ca kiểm thử được thiết kế và nên có độ bao phủ kiểm thử đạt 100%.
Nó cũng đảm bảo rằng các lỗi được báo cáo đã được các nhà phát triển sửa và các kiểm thử viên đã thực hiện kiểm thử lại trên các lỗi đã được sửa.
Đơn giản, kiểm thử này kiểm tra chất lượng của hệ thống và cung cấp sản phẩm không lỗi cho khách hàng.
**Các Loại Kiểm Thử Thủ công:**
1. **Kiểm Thử Hộp Đen (Black Box Testing):** Trong loại kiểm thử này, kiểm thử viên không biết về cấu trúc nội bộ của mã nguồn. Họ kiểm tra chức năng của ứng dụng bằng cách cung cấp đầu vào và kiểm tra đầu ra.
2. **Kiểm Thử Hộp Trắng (White Box Testing):** Ngược lại với kiểm thử hộp đen, kiểm thử viên biết về cấu trúc nội bộ của mã nguồn và sử dụng kiến thức này để kiểm tra ứng dụng.
3. **Kiểm Thử Đơn Vị (Unit Testing):** Trong kiểm thử này, các đơn vị nhỏ nhất của mã nguồn được kiểm tra độc lập để đảm bảo rằng chúng hoạt động đúng.
4. **Kiểm Thử Hệ Thống (System Testing):** Ở cấp độ này, toàn bộ hệ thống được kiểm tra để đảm bảo rằng nó hoạt động đúng như mong đợi.
5. **Kiểm Thử Tích Hợp (Integration Testing):** Kiểm thử tích hợp kiểm tra cách các phần của hệ thống hoạt động cùng nhau khi chúng được kết hợp lại.
6. **Kiểm Thử Chấp Nhận (Acceptance Testing):** Loại kiểm thử này được thực hiện để xác nhận rằng hệ thống đã đáp ứng các yêu cầu của người dùng cuối và đã sẵn sàng để triển khai.
**Cách Thực Hiện Kiểm Thử Thủ công:**
1. **Đọc và hiểu tài liệu/hướng dẫn dự án phần mềm.** Đồng thời, nghiên cứu Ứng Dụng Dưới Kiểm Thử (AUT) nếu có sẵn.
2. **Viết các ca kiểm thử (test cases) mà bao gồm tất cả các yêu cầu được đề cập trong tài liệu.** Các ca kiểm thử này được thiết kế để kiểm tra tính năng và chức năng của ứng dụng.
3. **Xem xét và xác định các ca kiểm thử với Trưởng Nhóm, Khách Hàng (nếu cần thiết).** Việc này đảm bảo rằng các ca kiểm thử đã được kiểm tra và được chấp nhận trước khi thực hiện.
4. **Thực hiện các ca kiểm thử trên AUT.** Kiểm tra từng chức năng, tính năng của ứng dụng và xác định xem chúng hoạt động đúng như kỳ vọng hay không.
5. **Báo cáo các lỗi (bugs).** Nếu phát hiện lỗi trong quá trình kiểm thử, bạn cần báo cáo chúng chi tiết và rõ ràng để nhóm phát triển có thể sửa chúng.
6. **Sau khi lỗi được sửa, thực hiện lại các ca kiểm thử thất bại để xác nhận chúng đã được sửa thành công.** Điều này đảm bảo rằng các lỗi đã được khắc phục và ứng dụng hoạt động đúng sau khi sửa.
**Những Điều Kiến Tạo Sai Lầm về Kiểm Thử Thủ công:**
**1. Sai Lầm: Bất kỳ ai cũng có thể thực hiện kiểm thử thủ công.**
**Sự Thật:** Kiểm thử đòi hỏi nhiều kỹ năng khác nhau.
**2. Sai Lầm: Kiểm thử đảm bảo sản phẩm không lỗi.**
**Sự Thật:** Kiểm thử chỉ cố gắng tìm ra càng nhiều lỗi càng tốt. Tìm ra tất cả các lỗi có thể là điều không thể.
**3. Sai Lầm: Kiểm thử tự động mạnh mẽ hơn kiểm thử thủ công.**
**Sự Thật:** 100% tự động hóa kiểm thử không thể thực hiện được. Kiểm thử phần mềm thủ công cũng rất quan trọng.
**4. Sai Lầm: Kiểm thử dễ dàng.**
**Sự Thật:** Kiểm thử có thể vô cùng thách thức. Kiểm thử một ứng dụng cho các trường hợp sử dụng có thể yêu cầu kỹ năng phân tích cao.
Manual Testing v.s. Automation Testing
Manual Testing v.s. Automation Testing
Dưới đây là một số công cụ phổ biến được sử dụng để tự động hóa kiểm thử thủ công:
1. **Selenium:** Selenium là một công cụ mã nguồn mở được sử dụng phổ biến để tự động hóa việc kiểm thử giao diện người dùng của các ứng dụng web.
2. **QTP (Quick Test Professional):** QTP, hiện đổi tên thành Micro Focus Unified Functional Testing (UFT), là một công cụ phần mềm tự động hóa kiểm thử ứng dụng desktop và web.
3. **JMeter:** JMeter là một công cụ mã nguồn mở được sử dụng cho việc kiểm tra hiệu suất và tải trọng của ứng dụng web.
4. **Loadrunner:** Loadrunner là một công cụ tự động hóa kiểm thử hiệu suất và tải trọng, được sử dụng để đánh giá hiệu suất của ứng dụng dưới tải.
5. **TestLink:** TestLink là một hệ thống quản lý kiểm thử mã nguồn mở, giúp tổ chức và quản lý các ca kiểm thử, kết quả kiểm thử và yêu cầu kiểm thử.
6. **Quality Center (ALM - Application Lifecycle Management):** Quality Center, hiện đổi tên thành Micro Focus ALM, là một nền tảng quản lý chu kỳ phát triển phần mềm, bao gồm quản lý yêu cầu, kiểm thử, và quản lý khóa học.
Các công cụ này giúp tự động hóa việc thực hiện các ca kiểm thử và quản lý quy trình kiểm thử, giúp tăng cường hiệu suất và tiết kiệm thời gian cho các nhóm kiểm thử.
**Kết Luận:**
Kiểm thử thủ công là một hoạt động mà người kiểm thử cần phải rất kiên nhẫn, sáng tạo và có tư duy mở.
Kiểm thử thủ công là một phần quan trọng của quá trình phát triển phần mềm thân thiện với người dùng vì con người tham gia vào việc kiểm thử ứng dụng phần mềm và người dùng cuối cũng là con người. Họ cần suy nghĩ và hành động với quan điểm của người dùng cuối.