Trong ứng dụng của tôi có một số mẫu biểu thức được xác định trước có thể được sử dụng để lọc dữ liệu. Một trong số đó là " between x and y
". Một kỹ sư QA tuyên bố rằng có một khiếm khuyết trong định nghĩa của nó, bởi vì " between 100 and 200
" cho kết quả khác với " between 200 and 100
". Biểu thức được dịch bên trong thành " value >= x and value <= y
", vì vậy rõ ràng không có kết quả khi ranh giới thứ hai thấp hơn ranh giới thứ nhất. Tôi đã kiểm tra rằng hành vi tương tự có trong SQL - " between x and y
" giả sử rằng y> = x hoặc không có kết quả. Nó có nghĩa là toán tử không giao hoán, ít nhất là trong SQL.
Vì vậy, QA có đúng rằng " between x and y
" nên giao hoán không?
between
nên bao gồm hoặc loại trừ các giá trị thấp hơn và cao hơn. Người QA có thể là người phạm tội nhưng miễn là có sự không chắc chắn ai đó cần phải làm rõ các câu chuyện / yêu cầu của người dùng. Nó có thể chỉ ra rằng cách họ được thực hiện là như thế nào, nhưng phải đưa ra quyết định.