So sánh black box white box testing
Trong phần này, mình sẽ hướng dẫn các bạn các phân biệt các loại testing cũng như giải thích các thuật ngữ trong ngành testing. Cuối bài, chúng ta tổng kết lại qua một câu chuyện nho nhỏ nhé. Show Series gồm 3 phần:
Đủ loại testing hầm bà lằngKhi mới tìm hiểu về testing, các bạn sẽ dễ cảm thấy “tẩu hoả nhập ma” vì được nghe rất nhiều dạng testing như: Black-box white box, unit test, manual test, automation test v…v Trong tầm hiểu biết của mình, những cái tên này chỉ nhằm giúp ta phân loại test mà thôi. Ta có thể phân loại testing dựa theo nguyên lý testing (test như thế nào), cách chạy test, và thứ mà chúng ta cần test. White-box/Black-box – Test như thế nào
Manual/Automation – Chạy test bằng cách nào
Mỗi cách đều có ưu nhược điểm riêng, mình sẽ nói rõ hơn ở phần sau nha. Có điều vì Automation Test khó hơn nên lương của Automation QC engineer thường cao hơn hihi. Unit/Integration/System… – Test cái gì
Một số kiểu test khácNgoài ra, còn một số loại testing ít phổ biến và khó phân loại như:
Khó phân loại hoàn toàn các kiểu testNói chung, các loại test thường chỉ là tên gọi mà người ta dựa vào đó để phân loại. Tuy nhiên, rất khó để hoàn toàn tách biệt các kiểu test:
Do vậy, các bạn không cần phải phân loại quá chính xác, chỉ cần hiểu mỗi kiểu test làm cái gì, khi nào cần áp dụng kiểu test đó là được rồi. Một số thuật ngữ chuyên môn trong testingTới đây thì các bạn cũng đã hiểu sơ sơ về các loại testing rồi, mình gom lại một số thuật ngữ chuyên môn trong ngành testing mà bài viết chưa nhắc đến nhé:
Áp dụng vào dự án thực tếBài viết này hơi nhiều lý thuyết nên có vẻ hơi khô khan. Để tổng kết lại những khái niệm trong bài một cách dễ hiểu dễ nhớ, chúng ta hãy cùng xem câu chuyện sau: Lan là khách hàng, Sơn là dev, Tùng là tester. Lan muốn đặt sản phẩm là một trang web bán quần áo, có 2 thành phần chính là web bán hàng và web quản lý. Khi nhận được yêu cầu,Sơn sẽ bắt đầu thiết kế hệ thống, UI/UX và database, sau đó lao đầu vào code.Tùng sẽ lên kế hoạch những thứ cần test, gọi là test plan. Sau khi viết code các class, Sơn viết unit test trong C#. dùng testing platform NUnit để chạy unit test. Sau khi xong module web bán hàng, bắt đầu tới giai đoạn integration test. Sơn chạy white-box testing để xem code chạy ổn chưa, sau đó đưa cho Tùng. Tùng dựa theo các test case để test module bán hàng, sau đó tìm lỗi và báo lại cho Sơn sửa. Sau khi Sơn hoàn thành 2 module, Tùng thực hiện system testing để kiểm tra toàn bộ hệ thống có hoạt động đúng hay không. Sau đó, Tùng đưa sản phẩm đã hoàn thành cho Lan thực hiện acceptance test. Lan test để xem hệ thống có đủ những thứ Lan muón, có đầy đủ những chức năng như Lan yêu cần hay không! Cái kết bất ngờ: Do đây chỉ là dự án chấm điểm trên lớp, Lan không có tiền trả nên... xù nợ, không trả tiền cho Sơn và Tùng. Hai chàng developer và tester bị quịt tiền, buồn nên dắt nhau đi uống trà sữa rồi kéo nhau vào nhà nghỉ giải quyết nỗi buồn. Từ đó Sơn và Tùng hanh phúc bên nhau trọn đời! Cái kết có hậu cho Sơn và TùngTạm kếtThông qua bài này, các bạn đã có đủ kiến thức cơ bản về ngành testing, các loại test cũng như các thuật ngữ chuyên ngành testing, đủ để chém gió với các bạn tester rồi đấy. Ở phần cuối, mình sẽ kể rõ hơn về qui trình làm việc và công việc thường ngày của các bạn tester. Mình cũng sẽ cho các bạn thấy những thứ hay ho ta có thể làm thông qua automation test nhé. |