Từ khi covid đến giờ, việc 1 công ty công nghệ sa thải nhân viên, đóng cửa văn phòng, tái cấu trúc công ty diễn ra như cơm bữa. Thật buồn khi hôm trước có 1 chị chat skype và hỏi “em ơi, chị mới bị công ty cho laid off, chị làm manual test được hơn 10 năm, 3 tháng rồi chị không tìm được việc, em có lời khuyên nào cho chị không?”…
Thi thoảng mình lại đọc lại cuốn sách “Deep Work” của tác giả Cal Newport (bản tiếng việt là “Làm ra làm, chơi ra chơi”), cuốn sách nhắc nhở mình rằng hãy luôn tập trung khi làm việc để tạo ra được các sản phẩm tốt nhất. Các thành quả làm việc hiệu suất cao sẽ là cái giúp bạn nổi bật trong nghề, hoặc chí ít cũng giúp bạn không “bị thất nghiệp”.
Trong sách nói rất nhiều thứ, nhưng có 1 phép thử tương đối đơn giản để biết mức độ quan trọng của công việc bạn đang làm, và mình coi đó là 1 cách để biết mình có đang tụt hậu hay không.
Phải mất bao lâu (trong vài tháng) để đào tạo một người thông minh mới tốt nghiệp đại học nhưng chưa được đào tạo chuyên biệt trong lĩnh vực của tôi hoàn thành được nhiệm vụ này?
Để mình lấy 1 task cụ thể mình làm để phân tích, nó sẽ sát với tester hơn.
“Test chức năng import document, việc này thay thế cho việc nhập liệu bằng tay trên web form”
Với yêu cầu trên mình cần làm những việc sau:
- Tìm hiểu về form WebUI: chức năng của nó là gì, data trên đấy thể hiện điều gì, nhập liệu như thế nào, có validation data gì không, có bao nhiêu mẫu form khác nhau, data được insert vào những table nào trong Database.
- Chuẩn bị test case tương ứng với từng form + data đi kèm. Viết script cần thiết để tạo lập các form.
- Chuẩn bị môi trường test, các script để backup/revert DB.
- Thực hiện test manual, report bug.
- Retest bug trên môi trường validated.
- Viết UI automation script và run script trên môi trường validated.
Giờ mình sẽ đánh giá chủ quan các công việc trên:
- Tìm hiểu về form WebUI: hầu hết các bạn tester sau khi học xong được 1 khóa tester ở trung tâm (2-3 tháng) là sơ bộ nắm được việc đọc hiểu tài liệu, nhưng để có thể tìm hiểu được hết những thứ của cái web form phức tạp mình đang làm thì bạn cần có ít nhất 3 tháng để học. Để biết data sẽ được insert vào các table thì cần phải biết database + SQL cơ bản (3 tháng nữa) –> tổng cộng là 9 tháng. (1)
- Chuẩn bị test case: tìm ra hết các form, viết test case “thông mình” để cover được nhiều TH với số lượng test case ít nhất cần 6 tháng thực hành. Các web form của mình linh động với nhiều element khác nhau và có thể viết script để tạo ra các web form đó. Việc viết code bằng SVB (statistica visual basic) -1 ngôn ngữ cổ và chỉ riêng của app mình, yêu cầu phải có kiến thức lập trình cơ bản vững vàng (12 tháng coding) –> 18 tháng (2)
- Chuẩn bị môi trường test + các script cơ bản cho DB: nó cần các skill trùng với step 1 nên mình không tính thêm thời gian.
- Thực hiện test, test manual, report bug, retest cũng trùng với step 2 –> không tính thêm thời gian.
- Viết UI auto script: hiện tại bọn mình sử dụng playwright, mà để sử dụng playwright thành thạo, bạn cần học javascript cơ bản, nodejs, typescript, và playwright nữa –> ít nhất 12 tháng. (3) Cái đoạn này có thể bạn sẽ nói là nó trùng với step 2, nhưng với kinh nghiệm của bản thân sau 8 năm đi làm thì code của 2 cái trùng rất ít. Mặc dù đã code java tương đối lâu, mình học thêm javascript cũng rất tốn thời gian và vẫn chưa tự tin như khi code java. Đó là 2 ngôn ngữ rất khác nhau.
Từ (1), (2), (3) –> thời gian để 1 bạn mới ra trường có thể làm trọn vẹn task mình đang làm là 39 tháng ~ 3 năm 3 tháng. Đây là mức của 1 bạn tester intermediate.
Nếu công việc bạn đang làm hàng ngày mà 1 người mới ra trường chỉ mất 3-6 tháng hoặc cùng lắm là 1 năm là có thể làm được thì đó là dấu hiệu bạn nên nhanh chóng tăng giá trị của bản thân, học các kiến thức và kỹ năng mới, để được làm các task khó hơn, yêu cầu trình độ cao hơn.
Ở trên, mình mặc định là bạn đó đọc, viết tiếng anh thành thạo nhé, chứ tiếng anh kém thì không làm được luôn. Trong đánh giá ở trên có phần lớn thời gian yêu cầu nằm ở coding, đó là thứ không thể thiếu cho mọi tester. Và đó cũng là lý do mà chị tester mình nói ở đầu bài viết không tìm được việc, mọi công ty mà chị ấy phỏng vấn đều yêu cầu coding hay auto test.
Ở bài Hành trình 1 tester trái ngành, mình kêu gọi mọi người hãy học tiếng anh mạnh mẽ, thì ở bài này, mình kêu gọi mọi tester hãy học code sớm nhất có thể và hãy nâng cao trình độ code dần dần để không còn sợ thất nghiệp nữa.