Công việc của một Tester
Tester có thể lựa chọn làm việc trong môi trường outsource hoặc product. Với AMELA là công ty outsource thị trường Nhật Bản, tester sẽ có các đầu việc gần giống như các công ty outsource khác.
Phân tích nghiệp vụ, tìm hiểu requirement:
Requirement là gì?
Requirement là tất cả các yêu cầu về phần mềm do người dùng nêu ra. Nó bao gồm các chức năng của phần mềm, hiệu năng của phần mềm, giao diện của phần mềm và một số các yêu cầu khác.
Thông thường các yêu cầu phần mềm được phân loại dựa trên 4 thành phần của phần mềm như sau:
· Các yêu cầu về phần mềm
· Các yêu cầu về phần cứng
· Các yêu cầu về dữ liệu
· Các yêu cầu về con người
Mục tiêu quan trọng nhất đối với chất lượng phần mềm là phần mềm phải thỏa mãn được các yêu cầu và mong muốn của người dùng.
Phân tích nghiệp vụ, tìm hiểu requirement
Người dùng thường chỉ đưa ra những ý tưởng, nhiều khi rất mơ hồ về phần mềm mà họ mong muốn xây dựng. Việc của đội dự án đó là phải giúp họ đưa những ý tưởng mơ hồ đó thành hiện thực. Xây dựng được một phần mềm có đầy đủ các tính năng cần thiết thỏa mãn yêu cầu của người dùng.
Hơn thế nữa, ý tưởng của người dùng thường xuyên thay đổi và việc của nhà phát triển là phải nắm bắt và đáp ứng được các yêu cầu thay đổi đó một cách hợp lý.
· Đọc và cố gắng hiểu mục đích của ứng dụng đang mong muốn là gì?
· Vừa đọc và hình dung, tưởng tượng xem phần mềm /màn hình đó sẽ chạy như thế nào.
· Thẩm định từng yêu cầu phần mềm để xác định xem chúng có khả năng thực hiện được hay không.
· Xác định các rủi ro có thể xảy ra với từng yêu cầu cụ thể.
· Thảo luận với BA về những băn khoăn, vướng mắc, bất hợp lý, chưa rõ ràng trong tài liệu đặc tả yêu cầu
· Viết Q & A gửi cho khách hàng
Làm test plan
Là một tài liệu chi tiết mô tả chiến lược kiểm thử, mục tiêu, lịch trình, ước tính và khả năng cung cấp và các nguồn lực cần thiết để kiểm thử. Test plan giúp tester xác định nỗ lực cần thiết để xác nhận chất lượng của ứng dụng đang được kiểm thử phần mềm.
Test plan đóng vai trò như một kế hoạch chi tiết để tiến hành các hoạt động kiểm thử phần mềm như một quy trình xác định, được giám sát và kiểm soát từng bước bởi người quản lý kiểm thử.
Test plan sẽ bao gồm:
· Phân tích sản phẩm
· Thiết kế chiến lược kiểm thử
· Xác định mục tiêu kiểm thử
· Xác định tiêu chí kiểm thử
· Hoạch định nguồn lực
· Lên kế hoạch môi trường kiểm thử (Test Environment)
· Lịch trình & Dự toán
· Xác định sản phẩm kiểm thử
Thực hiện viết Testcase
Test case (Kịch bản kiểm thử) là test – kiểm tra các case – tình huống có thể xảy ra giúp Tester xác định một ứng dụng, hệ thống phần mềm hay một chứng năng ứng dụng có hoạt động đúng hay không. Test case mô tả dữ liệu đầu vào (input), hành động (action) hoặc sự kiện (event) và một kết quả mong đợi (expected response).
Lưu ý khi viết testcases:
· File testcase cần có những step test đơn giản, minh bạch, dễ hiểu.
· Step test phải viết chi tiết rõ ràng để ngay cả khi tester khác đọc có thể thực hiện được.
· Mục đích và phạm vi của testcase cũng được mô tả chi tiết.
· Điều kiện tiền đề, data test cũng phải được ghi ở từng testcase nếu cần.
· Testcase nên được review chéo bởi member trong team.
· Không nên gộp quá nhiều kết quả confirm vào 1 case mà nên tách mỗi kết quả confirm ra từng case.
· Khi tạo testcase nên đứng ở vị trí End user.
· Testcase nên cover các trường hợp kiểm thử như: Phân lớp tương đương, giá trị biên, điều kiện normal và abnormal. Cả các trường hợp free test không có trong đặc tả yêu cầu
Execute test và log bug
Thực hiện các test case như thiết kế và mức độ ưu tiên đã đưa ra trên môi trường đã được cài đặt.
· So sánh với kết quả mong đợi sau báo cáo các bug xảy ra lên tool quản lý lỗi và theo dõi trạng thái của lỗi đến khi được sửa thành công.
· Thực hiện re-test để verify các bug đã được fix và regression test khi có sự thay đổi liên quan.
· Trong quá trình thực hiện kiểm thử, Tester cũng có thể hỗ trợ, đề xuất cho cả đội dự án để có giải pháp hợp lý và kết hợp công việc hiệu quả.
· Đo và phân tích tiến độ. Tester cũng cần kiểm soát chặt chẽ tiến độ công việc của mình bằng cách so sánh tiến độ thực tế với kế hoạch. Nếu chậm cần phải điều chỉnh sao cho kịp tiến độ dự án. Nếu nhanh cũng cần điều chỉnh vì có thể test lead lên kế hoạch chưa sát với thực tế dự án. Từ đó có thể sửa chữa test plan cần điều chỉnh để phù hợp với tiến độ dự án đưa ra.
Tạo Test Report
Test Report là tài liệu kiểm thử báo cáo về việc triển khai các test case.
· Có bao nhiêu test case đã được thực hiện?
· Có bao nhiêu test case đã được thông qua?
· Có bao nhiêu test case đã thất bại?
· Bao nhiêu test case đã bị chặn?
· Có bao nhiêu test case bị lỗi?
Nghề Tester cần kỹ năng gì?
Đầu tiên cần sự cẩn thận, tỉ mỉ, kỹ càng và chi tiết:
Sự cẩn thận và chi tiết sẽ nâng cao chất lượng sản phẩm đến mức tối ưu. Tất cả những tính năng dù nhỏ nhất cũng hướng tới việc đáp ứng nhu cầu với khách hàng và sự thân thiện với người dùng. Một sản phẩm công nghệ hoàn thiện và chất lượng cao có thể tạo niềm tin của Công ty với đối tác. Một Tester tỉ mỉ, kỹ càng sẽ có thể đưa sản phẩm hạn chế lỗi nhất đến tay khách hàng.
Tiếp theo đó là kỹ năng phân tích, tư duy logic và khả năng tổng hợp vấn đề:
Tester cần có khả năng phân tích nhanh nhạy và chính xác, nhìn nhận vấn đề từ nhiều góc độ. Khi bạn phân tích yêu cầu của khách hàng đưa ra, cần phân tích từng function nhỏ mà bạn đang test, dự đoán được những vùng có thể xảy ra nhiều bug. Đồng thời, tư duy logic giúp bạn kết hợp được các function liền kề để phân tích.
Để trở thành Tester tốt thì cần có kỹ năng giao tiếp và xử lý vấn đề tốt
Tester phải giao tiếp với nhiều bên liên quan trong một dự án như PM, BA, Developer,…Đặc biệt, Tester và Developer lại rất dễ cơm không lành canh không ngọt.
Tìm ra bug là không đủ, kỹ năng giao tiếp giúp bạn diễn giải tốt hơn và cung cấp dữ liệu đầy đủ để giải quyết vấn đề. Hiểu rõ yêu cầu của dự án, mô tả các tiêu chí test và truyền đạt lại một cách dễ hiểu và khéo léo. Kỹ năng giao tiếp sẽ đảm bảo công việc cho bạn.