![](https://viblo.asia/uploads/aa0b7608-c68f-4849-a494-296227a2c32b.jpg)Trong quá trình kiểm thử phần mềm, chúng ta gặp vô vàn những khái niệm những trường hợp mà chưa bao giờ gặp phải mà không biết làm thế nào? Dưới đây là danh sách các nguyên tắc và lời khuyên dành cho người kiểm thử đã được thu thập từ các nhân viên kiểm thử lâu năm để giúp cho người kiểm thử có thể thực hiện công việc của mình 1 cách hiệu quả hơn. ### **Một số nguyên tắc về kiểm định chất lượng khi kiểm thử** - Không để lại bất kỳ câu hỏi nào chưa được trả lời. Các tiêu chuẩn chấp nhận phải được hoàn thành để đảm bảo bạn hoàn toàn hiểu những gì tính năng/kịch bản muốn đạt được. - Đảm bảo bạn biết làm thế nào để kiểm thử được các tính năng/kịch bản. - Khi nghĩ về các trường hợp kiểm thử, hãy xem xét đầy đủ các luồng từ đầu đến cuối. - Xem xét tất cả các kịch bản lỗi liên quan, ví dụ: Kết nối dịch vụ web xuống, đầu vào không hợp lệ, v.v. - Xem các trình duyệt khác nhau - theo các trình duyệt được hỗ trợ. - Xem xét tác động đến điện thoại di động - web di động và máy tính bảng - hay bất kỳ tính năng nào sẽ hoạt động khác khi sử dụng trên thiết bị cảm ứng, so với sử dụng bàn phím để điều hướng? - Xem xét các điểm cơ bản của kiểm thử an toàn, chẳng hạn như https cả URL và các nguồn lực cho các khu vực được bảo vệ của trang web. - Xem xét xem kịch bản kiểm thử này có đưa vào kiểm thử tự động được hay không. Theo hướng dẫn cơ bản: chỉ những kịch bản thất bại tạo ra kết quả P1 hoặc P2 trong quá trình triển khai sẽ được kiểm thử tự động. Nó cũng bao gồm cả những kịch bản với lượng dữ liệu lớn cần kiểm tra, điều mà sẽ lặp đi lặp lại rất nhiều lần nếu ta làm bằng tay - Khi mà bạn tìm thấy các bug liên quan đến 1 kịch bản, hãy xem chúng như là các phần việc phụ của bug chính, đảm bảo đã giữ liên kết tới kịch bản. - Khi 1 kịch bản hoặc 1 bug được hoàn tất hãy đảm bảo nhận xét được thêm vào trong tài liệu quản lí lỗi bao gồm môi trường kiểm thử, phiên bản code mà trong đó các kiểm thử đã được thực hiện. - Một kịch bản hoặc bug không được thực hiện hoặc không thể thực hiện bởi 1 QA mà được thực hiện bởi developer thì hãy ghi chú trong tài liệu rằng đó là cách tiếp cận của developer mà đã được bạn chấp thuận. ### Về công việc hàng ngày - Hiểu được phạm vi ứng dụng đang được các nhà phát triển sửa đổi. - Hiểu được các kiểm thử đơn vị mà được viết bởi developer là gì. - Các kịch bản ưu tiên và công việc ưu tiên tùy thuộc vào deadline của sprint là gì - Làm rõ ràng các kịch bản còn mơ hồ. - Xem lại các kiểm thử tự động xem có sự cố nào không. ### **Về Lập kế hoạch Sprint** - Ước lượng kiểm thử cho mỗi kịch bản. - Nói chuyện với PO(Product Owner) để giải quyết mọi hiểu lầm về những kịch bản mới. - Đảm bảo các kịch bản có thể được kiểm thử - Chủ động trong các cuộc họp bằng cách đặt câu hỏi để lấy ý tưởng cho các kiểm thử. - Bắt đầu suy nghĩ về các kịch bản kiểm thử ở mức độ cao hơn ### **Về Thiết kế kiểm thử phối hợp với Deverloper và Product Owner** - Suy nghĩ về các trường hợp thử nghiệm để xác nhận tính năng, áp dụng các kỹ thuật kiểm thử khác nhau, tích cực, tiêu cực, giá trị biên, phân vùng tương đương, v.v ... - Sử dụng sơ đồ tư duy để hỗ trợ các kịch bản kiểm thử và hành trình của người dùng - Xem xét các rủi ro - cung cấp thêm các điều kiện thử nghiệm xung quanh một tính năng có nguy cơ cao - Luôn luôn suy nghĩ về "Nếu", "cái gì khác", "làm thế nào khác" khi thiết kế trường hợp thử nghiệm. - Hãy suy nghĩ về các bài kiểm thử tích hợp, làm thế nào mà tính năng này ảnh hưởng đến các tính năng lân cận. - Thực sự hiểu những gì đang xảy ra khi tương tác với một tính năng chứ không chỉ là xem xét nếu từ bề ngoài. Hãy suy nghĩ về những gì hệ thống back-end / DB(database) /dịch vụ web đang được chạm tới. - Các ứng cử viên cho kiểm thử tự động - những trường hợp tốt nhất để kiểm thử tự động. - Khi có rất nhiều kết hợp dữ liệu để kiểm thử, làm thế nào mà các hoán vị được giảm mà không ảnh hưởng đến chất lượng / kiểm thử - ví dụ: Sử dụng kỹ thuật kiểm thử cặp đôi. - Đánh giá các điều kiện kiểm thử - thảo luận với các nhà phát triển về những trường hợp kiểm thử được thiết kế. ### **Thực hiện kiểm thử/hoàn thành kiểm thử** ![](https://viblo.asia/uploads/4789b2ba-3664-46bd-b0bc-ac2156700ecb.jpg) - Môi trường kiểm thử/ các điều kiện tiên quyết được cài đặt trước khi thực hiện kiểm thử. - Kiểm thử ngay sau khi các tính năng đã sẵn sàng và sẵn có. - Đảm bảo các phản hồi nhanh được cung cấp cho nhà phát triển. - Xem lại các kiểm thử tự động nếu có sự cố. - Các tính năng mới phát triển làm cho ý nghĩa nghiệp vụ thêm sâu sắc. - Đảm bảo các kiểm thử hiện có được cập nhật nếu có sự thay đổi trong quy trình làm việc. - Duy trì các gói kiểm tra và đảm bảo tất cả các bài kiểm tra được cập nhật. ### **Về cải tiến quy trình / phát triển bản thân** ![](https://viblo.asia/uploads/c85e5222-d419-4a88-8d92-59bc1cd53367.jpg) - Tìm hiểu về những phát triển mới trong kiểm thử phần mềm. - Các vấn đề hiện tại với quy trình kiểm soát chất lượng là gì / Các vấn đề hiện tại có thể được giải quyết, cải tiến như thế nào? - Học các kỹ năng kỹ thuật như Cơ sở dữ liệu, Coding, Các công nghệ Web để hiểu rõ hơn về những gì đang xảy ra khi kiểm thử. - Thảo luận với nhóm về những cải tiến quy trình. ### **Tài liệu tham khảo** http://www.testingexcellence.com/software-testing-practical-tips-for-software-testers/