KIỂM THỬ CÓ PHẢI LÀ CÔNG VIỆC CỦA TESTER?

KIỂM THỬ CÓ PHẢI LÀ CÔNG VIỆC CỦA TESTER?

Kiểm thử là công việc của Tester, phải không? Tuy nhiên, chúng ta thấy nó cũng là một phần thiết yếu trong công việc của Dev. Trong quá trình phát triển dự án, Dev và Tester thường đưa ra những câu hỏi gây tranh cãi về vấn đề test trước khi bàn giao cho Tester, Self test trở thành vấn đề nóng hổi được đưa ra xung quanh trong nhóm phát triển.

Bạn sẽ thường nghe những điều như:

  • Tại sao Dev phải kiểm thử trước khi bàn giao cho test
  • Dev không thể thử nghiệm vì họ có tư duy khác
  • Dev mà làm thì tester hết việc
  • Dev không có thời gian, ...

Vậy Self testing là gì?

· Self testing là một loại kiểm thử được thực hiện bởi Dev sau khi code và tích hợp vào hệ thống, để kiểm tra xem code của họ có mang lại kết quả như mong đợi khi tích hợp vào hệ thống của sản phẩm hay không.

· Để so sánh, thử nghiệm đơn vị được thực hiện trong quá trình phát triển với mục tiêu xác thực kết quả của mã một cách cô lập. Smoke testing là một loại kiểm thử phần mềm được thực hiện sau khi phần mềm được xây dựng để xác định rằng các chức năng quan trọng của chương trình đang hoạt động tốt.

· Đối với những người mới bắt đầu, quá trình self testing do Dev thực hiện khác biệt đáng kể so với quá trình kiểm tra do các Tester/QC/QA thực hiện. Dev  ​​sẽ đảm bảo tính năng mới được tích hợp thành công vào hệ thống. Mặt khác, ngoài luồng chính, các Tester/QC/QA xem xét mọi trường hợp tích cực và tiêu cực có thể xảy ra, họ xem xét tính năng này từ quan điểm của tất cả người dùng có thể, cũng như từ quan điểm của doanh nghiệp. Hơn nữa, họ kiểm tra nó cùng với các mô-đun khác  và có thể đề xuất các cải tiến để làm cho tính năng này tốt hơn.

· Ngược lại, không ai mong đợi Dev làm tất cả những điều đó, phải không?

· Với suy nghĩ đó, chúng ta hãy liệt kê ra một số lập luận để so sánh ưu và nhược điểm của việc Self test.

Ưu và nhược điểm của Self testing

Ưu điểm

Nhược điểm

·         Giảm thiểu được "double work"

·         Giảm bugs

·         Ngăn chặn defect

·         Nâng cao chất lượng code

·         Có một cách nhìn mới về code
của chính bản thân, từ đó có những
hướng giải quyết tốt hơn

·         Biết được điểm nào bản thân cần cải thiện

Tốn thời gian của dev

Tip giúp Dev thoải mái hơn trong việc Self testing

  • Hiểu được mục tiêu mà đội phát triển phần mềm đang hướng tới: là xây dựng một sản phẩm hoàn thiện, đảm bảo chất lượng, đúng yêu cầu của khách hàng.
  • Coi đó như một điều bắt buộc cho đến khi nó trở thành thói quen: Nếu bạn đang chia công việc chính thành các nhiệm vụ nhỏ có thể quản lý được, hãy đảm bảo rằng bạn cũng có một nhiệm vụ riêng biệt để tự kiểm tra. Việc có một nhiệm vụ như vậy thôi thúc bạn giải quyết nó đảm bảo rằng bạn đang cung cấp một tính năng hoàn chỉnh.
  • Hãy suy nghĩ như một người dùng, hãy là một nhà phát triển: Sử dụng ứng dụng có thuận tiện không? Có an toàn để lưu trữ hoặc chuyển dữ liệu nhạy cảm không? Ở vị trí của người dùng trong khi kiểm tra code của riêng bạn là một phương pháp đáng tin cậy để trở thành một nhà phát triển phần mềm thành công.

Dev sẽ thực hiện self testing như thế nào?

Dưới đây là một số cách giúp Dev có thể tự test:

  • Chia chức năng thành nhiều phần nhỏ để test
  • Với mỗi phần đã chia:

 + Đảm bảo rằng chức năng có thể chạy được

 + Dựa trên các thông số, tài liệu viết ra “happy case”

 + Viết các giá trị biên dựa trên tài liệu cung cấp

 + Viết ra mọi path “crazy” có thể nghĩ ra.

 + Suy nghĩ về sự ảnh hưởng lẫn nhau của các chức năng và đến hệ thống.

Rất mong với bài viết này các anh Dev sẽ có động lực và test qua trước khi bàn giao cho Tester nhé <3