Trên đà phát triển công nghiệp 4.0, nghề tester ngày càng trở nên hot. Cũng vì thế mà càng có nhiều người bắt đầu tìm hiểu về tester hơn. Bài viết hôm nay sẽ tập trung giải đáp thắc mắc của bạn về nghề tester và một số điều cần nắm vững khi muốn làm tester. Cùng bắt đầu nhé!
Mục lục
Tìm hiểu về tester – Họ là ai?
Tester (kiểm thử viên) là người khai phá hệ thống để tìm và báo cáo lại các lỗi tiềm ẩn của một hệ thống phần mềm. Nói vui miệng thì là “dành cả thanh xuân để vạch lá tìm sâu”. Nghe thì có vẻ đơn giản nhưng họ phải là người có cách nhìn nhận phần mềm tổng quát nhất. Ngoài kiến thức chuyên môn, kiểm thử viên còn phải nắm vững những công cụ hỗ trợ việc kiểm thử. Không những thế, các tester “xịn sò” thường rất mạnh về kỹ năng giao tiếp. Chắc bạn đang tò mò vì sao một nghề kỹ thuật như tester lại quan trọng việc giao tiếp nhỉ?
Trên thực tế thì hầu như không có nghề nào là không cần kỹ năng giao tiếp. Vốn có đặc thù là tìm, khai báo lỗi nên kỹ năng này lại càng quan trọng với nghề tester nói riêng. Vì vậy, tester rất cần giỏi giao tiếp, đặc biệt là hai kỹ năng báo cáo và đặt câu hỏi. Nếu bạn không biết cách truyền đạt thì liệu có ai hiểu hoặc lắng nghe điều bạn nói không? Nếu bạn không đặt đúng câu hỏi trọng tâm thì liệu bạn có nhận ra vấn đề nhanh được không?
Tester là làm những công việc gì?
Hiện nay, nhiều người vẫn chưa nhận thức được hoàn toàn về trách nhiệm của một tester. Tùy vào quy mô của nhóm và dự án, người quản lý sẽ điều chỉnh lượng công việc của tester. Dù nhiều hay ít, mục tiêu quan trọng nhất của tester vẫn là tìm ra lỗi ẩn trong phần mềm.
Thông thường, trong một dự án kiểm thử phần mềm, tester phải đảm nhiệm những công việc sau:
- Phân tích và hiểu rõ các bản mô tả yêu cầu của khách hàng
- Xác định hạng mục kiểm thử và ước tính quy mô kiểm thử dựa trên chúng
- Hoạch định kiểm thử và xây dựng test plan (kế hoạch kiểm thử)
- Xác định test condition (điều kiện kiểm thử) của hạng mục kiểm thử
- Thiết kế test case (trường hợp kiểm thử) dựa trên test condition
- Xây dựng và sắp xếp test case thành test procedure (phương cách kiểm thử)
- Thu thập, tập hợp và lưu trữ test data (dữ liệu kiểm thử)
- Thực hiện kiểm thử và tìm ra lỗi có trong phần mềm
- Thực hiện tất cả các test level (mức độ kiểm thử) của quy trình kiểm thử
- Phân tích kết quả thu được sau mỗi test level khác nhau
- Đưa ra đề xuất để cải thiện các quy trình của vòng đời phát triển phần mềm
- Báo cáo lỗi cho cấp trên như PM (Project Manager – Quản lý dự án), trưởng nhóm,…
- Kiểm duyệt lại lỗi sau khi dev (Developer – Lập trình viên) thông báo đã sửa lỗi
- Phát triển automated test script (kịch bản test tự động) khi cần thiết
- Hỗ trợ khách hàng kiểm thử phần mềm
- Tham gia vào quá trình ra mắt phần mềm và tiếp tục hỗ trợ sau khi đã ra mắt
3 điều cần nắm vững khi tìm hiểu về tester
Các thuật ngữ về “lỗi” mà tester cần phân biệt
Trong kiểm thử, các thuật ngữ error, mistake, bug, defect, fault hay failure được dùng để ám chỉ về lỗi. Tuy nhiên, không phải ai cũng phân biệt được chúng và sử dụng đúng ngữ cảnh. Để Got It phân tích giúp bạn nhé!
- Error (hay mistake) ám chỉ về những sai sót của con người khi thực hiện một công việc.
- Defect (hay bug hoặc fault) là những khiếm khuyết trong phần mềm hoặc tài liệu kiểm thử.
- Failure là sự thất bại của hạng mục kiểm thử trong việc mô phỏng lại kết quả dự kiến.
Để dễ hiểu hơn, bạn có thể nghĩ về mối tương quan giữa chúng giống như một hiệu ứng domino. Một sai sót trong code (mã lệnh) sẽ sinh ra một defect trong một chức năng của phần mềm. Khi dùng chức năng đó thì phần mềm sẽ xuất hiện một failure.
Khái quát về các loại test level
Test level là tập hợp gồm những hoạt động kiểm thử được nhóm lại với nhau. Tất cả các giai đoạn trong vòng đời phát triển một phần mềm đều sẽ trải qua việc kiểm thử. Theo chứng chỉ tiêu chuẩn quốc tế ISTQB về kiểm thử, có tổng cộng 4 mức độ test như sau:
- Component testing (kiểm thử thành phần): test khả năng hoạt động của unit (thành phần con) của phần mềm.
- Integration testing (kiểm thử tích hợp): kiểm tra khả năng hoạt động của các unit khi tích hợp với nhau.
- System testing (kiểm thử hệ thống): xác minh xem phần mềm đã đáp ứng yêu cầu kỹ thuật hay chưa.
- Acceptance testing (kiểm thử chấp nhận): đảm bảo với người dùng là sản phẩm sẽ hoạt động như mong đợi.
Quy trình kiểm thử bài bản của tester
Khi thực thi mỗi test level kể trên, tester đều sẽ phải thực hiện 7 hoạt động kiểm thử chính. Cụ thể là:
- Hoạch định: đề ra test objective (mục tiêu kiểm thử) và cách tiếp cận để đạt được chúng.
- Giám sát và kiểm soát: theo dõi tiến độ dự kiến và tiến độ thực tế của việc kiểm thử. Đồng thời, đảm bảo khả năng đạt được test objective đã đề ra.
- Phân tích: xác định hạng mục test và test condition liên quan dựa trên test basis (cơ sở kiểm thử).
- Thiết kế: tạo test case và testware (các tài liệu và công cụ kiểm thử) trên cơ sở của test condition đã xác định.
- Triển khai: gồm những hoạt động chuẩn bị các testware cần thiết cho việc kiểm thử. Ví dụ: tập hợp test case thành test procedure, tạo test suite (bộ kiểm thử),…
- Thực thi: chạy test suite theo lịch trình định sẵn. Dành cho những bạn chưa biết test suite gì, đây là tổ hợp của automated test script và test procedure.
- Kết thúc: dùng dữ liệu thu được từ các khâu trước đó để tích lũy kinh nghiệm, nâng cao testware và những thứ khác.
Tuy nghe có vẻ đơn giản nhưng thực chất công việc của tester lại rất quan trọng. Bởi họ là những người kiểm tra, đảm bảo chất lượng trước khi sản phẩm ra mắt. Chính vì vậy mà bất kỳ dự án công nghệ nào cũng cần một tester giỏi để quản lý những rủi ro, lỗi có thể xuất hiện. Got It hy vọng qua bài viết tìm hiểu về tester này sẽ bạn có cái nhìn tổng quan về nghề kiểm thử viên.
Nguồn tham khảo: Toolsqa