TEST THỰC SỰ LÀ PHẢI LÀM GÌ - ĐÔI ĐIỀU VỀ TESTING

Chia sẻ những kinh nghiệm test, chuyện vui buồn của Tester Việt nam
Post Reply
Linhnn1795
Fresher Tester
Posts: 29
Joined: Mon 24 Sep, 2018 4:24 pm
Contact:

TEST THỰC SỰ LÀ PHẢI LÀM GÌ - ĐÔI ĐIỀU VỀ TESTING

Post by Linhnn1795 »

Test thực sự là phải làm gì?

Rõ ràng là khi làm một chức năng nào đó, bạn phải kiểm tra xem chức năng đó có hoạt động đúng như yêu cầu không. Thuở hồng hoang của phát triển sản phẩm, việc bạn ngồi bấm bấm nhập nhập để xác nhận, đó là test. Khi chức năng nhiều lên, bạn cần phải tài liệu hóa việc bấm bấm nhập nhập đó, ví dụ các file excel lưu các test case và kết quả, để tái sử dụng, tránh thiếu sót và cũng là để xác nhận quá trình test của bạn.

Rồi bạn nhận ra rằng, khi bạn thêm mới hay thay đổi một chức năng, để đảm bảo chất lượng sản phẩm, bạn cần thực hiện lại toàn bộ các test case chứ không chỉ test case cho chức năng đó, người ta gọi là kiểm thử hồi quy (Regression Testing). Và khi thực hiện việc này một cách đúng đắn, bạn lại tiếp tục nhận ra rằng nếu làm bằng tay, sẽ rất tốn chi phí, bạn cần một phần mềm thực hiện việc này giúp bạn. Tôi khá là tin rằng Selenium, rồi các Testing Framework xuất hiện đều theo sự tiến hóa tự nhiên này. Và khi bạn có Jenkins, Travis CI hay những phần mềm tương tự, giúp tự động hóa các quy trình trong phát triển phần mềm, khái niệm Automation Test mới ra đời.

Điểm chung của quá trình nói trên đó là việc tạo ra các test case như là output và đây cũng là thứ tạo ra giá trị gia tăng của bạn trong phần test.

Ai sẽ phải viết test?

Câu hỏi “Dev thì có phải viết test không?” có lẽ là được đặt ra khá nhiều. Câu trả lời rất đơn giản, giống như khi bạn làm ra cái gì, bạn phải kiểm tra nó có hoạt động không, đương nhiên các developer phải viết test.

Theo tự nhiên, câu hỏi tiếp theo sẽ là “Vậy Dev sẽ viết test nào, bộ phận QA để làm gì vậy?”. Để trả lời câu hỏi này, chúng ta cần đi phân loại test.

Để phân loại, tôi nhớ đến kiến thức đã được học ở khoa CNTT, ĐHBKHN, phân loại theo phương thức tiếp cận: phương thức kiểm thử hộp đen (black-box testing) và phương thức kiểm thử hộp trắng (white-box testing).

Black-box testing, nôm na là cái hộp đen, bạn sẽ không cần quan tâm những gì xử lý trong cái hộp đen đó, chỉ cần cho đầu vào và xác nhận đầu ra, nghe khá giống với những gì với bộ phận QA độc lập thực hiện.

White-box testing, nôm na là cái hộp trắng, bạn sẽ cần quan tâm những gì xử lý trong hộp trắng đó, vì trắng nhìn xuyên qua mà. Nếu quan tâm tới cụ thể code được viết như thế nào, kiến trúc ra sao, nghe khá giống với những gì developer cần làm.

Với suy nghĩ đơn giản như vậy, tôi đã phải bật cười khi đọc trên JIRA (công ty tôi dùng JIRA bản quyền để quản lý dự án) có những task kiểu như “Viết unit test cho …” song hành cùng với “Viết automated test cho…” hay giật mình khi một “senior” 20 năm kinh nghiệm phân loại rằng bộ phận QA sẽ làm kiểm thử hộp trắng.

Để phân loại chi tiết hơn có khá nhiều cách, mỗi sách lại có một định nghĩa riêng, nói chung tất cả đều hợp lý tùy vào trường hợp cụ thể. Tuy nhiên, qua kinh nghiệm thực tế trong môi trường phát triển phần mềm ở Việt Nam, tôi ủng hộ một cách phân loại đơn giản nhưng có giá trị áp dụng thực tiễn: Black-box testing sẽ là Acceptance Testing do bộ phận QA thực hiện, White-box testing sẽ chia thành Unit Testing và Functional Testing do developer thực hiện.


MP Software - Tuyển dụng IT
Hotline: 088.648.2953
Website

Linhnn1795
Fresher Tester
Posts: 29
Joined: Mon 24 Sep, 2018 4:24 pm
Contact:

Re: TEST THỰC SỰ LÀ PHẢI LÀM GÌ - ĐÔI ĐIỀU VỀ TESTING

Post by Linhnn1795 »

Chia sẻ hữu ích cho những bạn quan tâm đến testing ^^


MP Software - Tuyển dụng IT
Hotline: 088.648.2953
Website

Linhnn1795
Fresher Tester
Posts: 29
Joined: Mon 24 Sep, 2018 4:24 pm
Contact:

Re: TEST THỰC SỰ LÀ PHẢI LÀM GÌ - ĐÔI ĐIỀU VỀ TESTING

Post by Linhnn1795 »

Các bạn cùng vào chia sẻ chút ít kiến thức về Testing diiii ^^


MP Software - Tuyển dụng IT
Hotline: 088.648.2953
Website

Post Reply

Return to “Góc chia sẻ kinh nghiệm của Tester Việt nam”