Tổng quan về kiểm thử phần mềm và quy trình kiểm thử

Sunday, May 11, 2014
Chào các bạn, mình là newbie trong lĩnh vực testing. Cách đây 4 tháng 10 ngày mình chỉ là một thực tập sinh tại vị trí này. Đến thời điểm hiện tại tuy mình chưa có nhiều kinh nghiệm nhưng mình rất muốn chia sẻ những gì mình đã học được trong quá trình làm việc. Vì là newbie nên không thể tránh được các thiếu sót, vậy các bạn hãy góp ý về những thiếu sót của mình để những bài viết của mình ngày càng hoàn thiện hơn nhé!

Hôm nay mình sẽ chia sẻ cho các bạn tổng quan về testing và quy trình testing trong dự án.
Trước tiên, là sơ đồ vòng đời của một dự án công nghệ thông tin:

Tùy vào mô hình phát triển phần mềm mà mỗi công ty sử dụng, vòng đời phát triển của một dự án phần mềm sẽ có những giai đoạn khác nhau. Nhưng thông thường một dự án công nghệ thông tin trải qua những giai đoạn chính như sơ đồ trên.
1. Definition requirement: thực hiện  bởi Project Manager.
2. Analyze requirement, Join test, Operation test: thực hiện  bởi tester, QA, SQA, BSE...  (trong bài viết tiếp theo "Một số khái niệm cơ bản trong kiểm thử phần mềm" mình sẽ nói rõ hơn về các khái niệm này).
3. Basic design, Detailed design, Coding, Unit test: thực hiện bởi developer team.

Theo sơ đồ, người kiểm thử phần mềm trực tiếp tham gia vào vòng đời của dự án. Mỗi hoạt động phát triển trong dự án sẽ đi kèm với một hoạt động kiểm thử dành cho hoạt động phát triển đó. Vậy công việc của họ là gì, họ kiểm thử những cái gì và quy trình kiểm thử như thế nào? Hiểu một cách đơn giản nhất thì:

1. Công việc của người kiểm thử phần mềm là thực hiện chạy phần mềm với các mục đích như sau:
     + Kiểm tra giao diện có đúng với thiết kế mà khách hàng đưa ra hay không?
     + Kiểm tra phần mềm có chạy đúng nghiệp vụ được yêu cầu không?
     + Kiểm tra tốc độ và hiệu năng có đáp ứng nhu cầu của các bên liên quan hay không?
     + Kiểm tra phần mềm có đảm bảo tính bảo mật hay không?

2. Nội dung của kiểm thử:
     + Kiểm thử giao diện(UI)
     + Kiểm thử nghiệp vụ
     + Kiểm thử hiệu năng
     + Kiểm thử bảo mật

3. Quy trình kiểm thử phần mềm:
     + Analyze requirement: Sau khi nhận được tài liệu yêu cầu từ khách hàng(spec).
Người kiểm thử sẽ tìm hiểu spec này. Nếu có bất kỳ vấn đề hay vướng mắc gì thì note vào file gửi cho khách hàng giải đáp.
     + Plan for test: Sau khi đã hiểu yêu cầu từ phía khách hàng, người kiểm thử lập kế hoạch test - ghi rõ thời gian cụ thể (ngày bắt đầu, ngày kết thúc).
     + Design for test
     + Create Test Case: Giai đoạn này người kiểm thử sẽ tạo các test case dựa vào yêu cầu của khách hàng.
     + Create Data Test: Sau khi hoàn thành các test case cho chức năng cần kiểm thử, người kiểm thử thực hiện tạo dữ liệu tương ứng để phục vụ cho quá trình test.
     + Execute test case: Giai đoạn này người kiểm thử sẽ thực hiện chạy phần mềm, thực hiện các test case đã tạo.
     + Report: Sau khi hoàn tất quá trình kiểm thử, người kiểm thử phần mềm sẽ tạo ra các báo cáo. Thường là bug list (danh sách lỗi xảy ra trong quá trình thực hiện các test case). Bug list này sẽ được gửi cho đội phát triển để họ fix.
     + Recheck and close: Sau khi đội phát triển fix bug, người kiểm thử sẽ tiến hành kiểm tra lại và close bug nếu bug đó không còn xảy ra nữa. 

Tóm lược: Trên đây là những chia sẻ của mình về tổng quan về kiểm thử phần mềmquy trình kiểm thử theo cách tiếp cận đơn giản nhất. Tùy vào đặc thù của từng dự án hay mô hình phát triền phần mềm của mỗi công ty mà sẽ có sự khác nhau. 
Cám ơn các bạn đã đọc bài viết của mình. Hẹn gặp lại các bạn ở bài viết sau: "Một số thuật ngữ trong kiểm thử phần mềm". 

Hằng Nguyễn
Chia sẻ bài viết ^^
Other post

All comments [ 0 ]


Your comments