Bao nhiêu công ty yêu cầu biết về SQL?

Chia sẻ kinh nghiệm trả lời phỏng vấn, cũng như những chuyện vui buồn liên quan đến phỏng vấn xin việc Tester.
Forum rules
Chia sẻ kinh nghiệm trả lời phỏng vấn, cũng như những chuyện vui buồn liên quan đến phỏng vấn xin việc Tester.
Post Reply
tvn
Admin
Posts: 4789
Joined: Tue 10 Aug, 2010 10:11 am
Location: HCM
Contact:

Bao nhiêu công ty yêu cầu biết về SQL?

Post by tvn » Mon 12 Jun, 2017 12:56 am

Chủ đề này thảo luận về vấn đề có phải công ty nào cũng yêu cầu Tester biết SQL, có phải dự án nào cũng đòi hỏi Tester biết SQL hay không?
Và Tester biết SQL thì có những lợi thế gì so với không biết?
Yêu Cầu Công Việc
- Kinh nghiệm tối thiểu 1 năm tại vị trí kiểm thử phần mềm
- Có kinh nghiệm lập Test Plan, viết test case, tạo data test và hiểu về cơ sở dữ liệu. Có thể viết được các câu lệnh SQL để test dữ liệu.
Ngày nay, với thông tin tuyển dụng như thế này không phải ít. Nhiều công ty yêu cầu hoặc khuyến khích (với ghi chú là "biết SQL là một lợi thế"). Nhưng bên cạnh đó cũng không ít công ty không hề đề cập đến kiến thức và kỹ năng SQL.

Vậy, tại sao có công ty cần Tester biết SQL, có công ty lại không? Vì không phải dự án nào Tester cũng có quyền đụng vào Database. Nhiều bạn tester, đi làm 5 năm nhưng chưa bao giờ được phép truy cập vào Database server. Mà hầu như chỉ thao tác trên giao diện. Tạo dữ liệu hoặc kiểm thử cũng thông qua giao diện của ứng dụng. Nếu như làm trong dự án đó thì cần gì biết SQL, cần gì kỹ năng SQL? Như vậy, tuỳ dự án mà tester được phép hay không được phép truy cập vào DB. Và tester cần hay không cần kỹ năng SQL.

Đối với cá nhân của mình, mình đi làm cũng nhiều công ty, và hầu hết Công ty nào mình cũng phải đụng vào Database (DB). Riêng Công ty Atlassian thì JIRA và Confluence hỗ trợ hết các thể loại SQL DB luôn và nhiều version khác nhau nữa nên mới đau khổ. Ví dụ như MS SQL server, Postgress (default DB khi cài JIRA/Confluence), MySQL, và Oracle. Nên có nhiều bug xảy ra trên DB này DB kia, version của Postgress này vesion của Postgress kia, thì mình phải cài đặt từng cái như vậy để tái hiện lỗi hoặc để verify bug. Ban đầu mình cũng lúng túng lắm, nhưng mày mò riết rồi cũng quên dần. Cơ bản, mấy câu SQL thì nó như nhau (phần lớn) nhưng cách cài đặt, tạo Database mới, hầu như sử dụng command line. Nên mình phải tìm kiếm và ghi chép lại cho bản thân mình tham khảo khi cần.

Nói về câu SQL phức tạp và tạo dữ liệu mất nhiều thời gian, thì phải nói đến Công ty đầu tiên mình làm. Đó là một Công ty Nhật Bản. Chủ yếu là làm về outsourcing cho thị trường Nhật Bản. Công ty là chủ yếu là sử dụng Oracle. Mình thì cũng đã từng học SQL và Oracle trong Trường ĐHKHTN (TP.HCM) rồi nên mình không gặp khó khăn lắm. Nhưng, không hề dễ dàng. Nhiều màn hình phức tạp, để tạo được dữ liệu test cho nó không phải là dễ. Mình debug chương trình để lấy câu truy vấn SQL do developer viết.
(Cách làm: lấy source code của ứng dụng từ SVN về máy local, build lên vày chạy hệ thống trên local của mình, kết nối với DB Server (nội bộ). Khi chương trình đang chạy thì chú ý output console, nó sẽ ghi log ra, và source đang test nên developer log luôn câu SQL ra cho mình. Câu SQL này được viết trong code dạng chuỗi + biến số / giá trị cần truy vấn, nên chỉ khi nó đang thực thi liên quan đến câu SQL thì mới tạo ra câu SQL này.)
Có một số màn hình, mình mất 3 ngày để tạo ra được 2 dòng dữ liệu. Câu SQL kết hợp dữ liệu từ khoảng 10 tables. Và điều kiện phức tạp. Cách tạo là ngồi phân tích câu SQL và phân rã nó ra chi tiết hơn để thấy sự liên kết giữa các bảng, để biết nó lấy dữ liệu từ những bảng nào. Rồi sau đó tạo dữ liệu (insert vài dòng dữ liệu với các thông tin chủ quan của mình) vào các bảng cha, rồi tạo dữ liệu cho bản con sau.
SQL for tester - DB relationship.png
Nếu mình là tester mà không biết, không có kỹ năng, không biết sử dụng SQL, không biết thao tác và không có kiến thức về Database thì sẽ gặp khó khăn như thế nào? Chưa kể cần phải kiểm tra lại câu SQL do developer viết có đúng hay không?

Hiện tại mình đang nói về kiến thức và kỹ năng sử dụng, thao tác trong Databse. Mình chưa đề cập đến Database Testing. Ví dụ, xét về khía cạnh hiệu năng thì các câu query hiện tại có được tối ưu hoá hay chưa? Hôm nào, mình sẽ bàn về vấn đề này sau.
You do not have the required permissions to view the files attached to this post.



Post Reply

Return to “Kinh nghiệm phỏng vấn”