Kỹ sư phát triển và kỹ sư kiểm thử đều test app giỏi như nhau?
Bài viết được sự cho phép của vntesters.com
Câu hỏi này là đề tài tranh luận phức tạp. Kỹ sư phát triển kiểm thử mã của họ. Kết quả của quá trình kiểm thử này là gì? Phải chăng là toàn bộ những luồng làm việc của hệ thống? Thông thường, kỹ sư phát triển chỉ nhìn thấy những luồng làm việc chính và cơ bản của sản phẩm, và thường không đi sâu vào chi tiết từng luồng làm việc khác nhau. Kỹ sư kiểm thử giỏi sẽ giúp app không bị crash ở những luồng không mong muốn.
It’s not a bug, it’s a feature
Vấn đề chính trong việc kiểm thử do kỹ sư phát triển tiến hành là việc không nắm rõ, hiểu nhầm các yêu cầu chức năng. Nếu một yêu cầu chức năng bị hiểu nhầm bởi kỹ sư phát triển, bất kế kỹ sư phát triển tiến hành kiểm thử sâu đến mức độ nào, lỗi sẽ không bao giờ được tìm thấy. Và lỗi sẽ được kỹ sư phát triển nhìn nhận, ngay từ ban đầu, như một chức năng – It’s not a bug, it’s a feature 🙂
Những kỹ sư phát triển cho rằng: mã do tôi viết và tôi tự tin nó hoạt động một cách chính xác. Không cần phải kiểm thử luồng làm việc này, không cần kiểm thử cách ứng xử kia, và tôi biết là nó/ứng dụng làm việc một cách chính xác và hợp lý. Kết quả là, kỹ sư phát triển bỏ qua khả năng xảy ra lỗi.
Kỹ sư phát triển và kỹ sư kiểm thử
Kỹ sư phát triển luôn cảm thấy mã hoạt động chính xác. Và anh ta sẽ làm kiểm thử để khẳng định mã hoạt động chính xác. Nhưng, lý do gì đển kỹ sư kiểm thử tiến hành kiểm thử ứng dụng? Để tìm ra lỗi ở một điểm nào đó và kỹ sư kiểm thử tiến hành kiểm thử để chứng minh ứng dụng không làm việc một cách chính xác. Đây chính là điểm khác biệt chính trong cách tiến hành kiểm thử của kỹ sư phát triển và kỹ sư kiểm thử.
Kỹ sư phát triển có nên làm kiểm thử với mã của họ?
Về cá nhân, tôi không có vấn đề gì nếu kỹ sư phát triển kiểm thử mã của họ. Sau tất cả, đó là sản phẩm của họ. Họ biết mã rất rõ. Họ biết các bẫy trong mã. Nơi mã có thể có lỗi, nơi nào cần chú ý nhiều hơn, đâu là luồng làm việc quan trọng của ứng dụng. Kỹ sư phát triển có thể tiến hành các kiểm thử đơn vị và có thể thiết lập những trường hợp biên – boundary cases.
Đó là tất cả những gì để kỹ sư phát triển có thể trở thành một kỹ sư kiểm thử tốt. Nhưng, hầu hết kỹ sư phát triển nhìn nhận kiểm thử là một công việc mệt mỏi, bất kể họ hiểu hệ thống tốt như thế nào họ cũng sẽ bỏ qua nhiều luồng kiểm thử khác nhau. Nếu một kỹ sư phát triển tìm thấy lỗi trong mã của họ khi đang tiến hành kiểm thử đơn vị, lỗi sẽ tương đối dễ chỉnh sửa, một phần vì mã vừa mới được viết ra; hơn là chỉnh mã để sửa lỗi do nhóm kiểm thử tìm thấy vài ngày sau đó. Nhưng, việc này cũng chỉ hiệu quả khi mà kỹ sư phát triển cảm thấy hứng thú với việc kiểm thử.
Trách nhiệm của kỹ sư kiểm thử là đảm bảo tất cả các luồng làm việc của hệ thống đều được kiểm thử. Kỹ sư kiểm thử nên chỉ ra sự quan trọng của từng vấn đề khả dĩ để kiểm tra rằng hệ thống không bị thiếu sót ở bất kỳ đâu.
Mỗi người trong nhóm đều là chuyên gia trong từng lĩnh vực của họ. Kỹ sư phát triển thường nghĩ về cách phát triển ứng dụng trong khi kỹ sư kiểm thử nghĩ về cách người dùng cuối sử dụng ứng dụng đó.
Kết luận
Vậy nên, về cơ bản, sẽ không có vấn đề gì nếu kỹ sư phát triển tiến hành những bài kiểm thử đơn vị cơ bản. Kỹ sư phát triển có thể kiểm thử vài điều kiện đặc biệt mà họ biết là nghiêm trọng và không thể bỏ qua. Nhưng vẫn còn những kỹ sư kiểm thử giỏi trong nhóm. Đừng phí thời gian của kỹ sư phát triển. Để dự án thành công, cần có đội ngũ kiểm thử độc lập để kiểm thử ứng dụng. Và, sau cùng, trách nhiệm của kỹ sư kiểm thử là làm cho sản phẩm tốt hơn cho người dùng.
Bạn nghĩ sao?
Dịch từ softwaretestinghelp
Bài viết gốc được đăng tải tại vntesters.com
Có thể bạn quan tâm:
- 10 ngôn ngữ phát triển nhanh nhất theo GitHub thống kê năm 2019
- Kiểm thử qui hồi – Cơn ác mộng của kỹ sư kiểm thử
- Apple từ chối phát triển 16 WebAPI cho Safari và thuyết âm mưu
Xem thêm Tuyển tester lương cao hấp dẫn trên TopDev
- B BenQ RD Series – Dòng Màn Hình Lập Trình 4k+ Đầu Tiên Trên Thế Giới
- i iOS 18 có gì mới? Có nên cập nhật iOS 18 cho iPhone của bạn?
- G Gamma AI là gì? Cách tạo slide chuyên nghiệp chỉ trong vài phút
- P Power BI là gì? Vì sao doanh nghiệp nên sử dụng PBI?
- K KICC HCMC x TOPDEV – Bước đệm nâng tầm sự nghiệp cho nhân tài IT Việt Nam
- T Trello là gì? Cách sử dụng Trello để quản lý công việc
- T TOP 10 SỰ KIỆN CÔNG NGHỆ THƯỜNG NIÊN KHÔNG NÊN BỎ LỠ
- T Tìm hiểu Laptop AI – So sánh Laptop AI với Laptop thường
- M MySQL vs MS SQL Server: Phân biệt hai RDBMS phổ biến nhất
- S SearchGPT là gì? Công cụ tìm kiếm mới có thể đánh bại Google?