Dalam aplikasi saya ada beberapa templat ekspresi yang telah ditentukan yang dapat digunakan untuk memfilter data. Salah satunya adalah " between x and y
". Seorang insinyur QA mengklaim bahwa ada cacat dalam definisinya, karena " between 100 and 200
" memberikan hasil yang berbeda dari " between 200 and 100
". Ekspresi diterjemahkan secara internal ke " value >= x and value <= y
", jadi jelas tidak ada hasil ketika batas kedua lebih rendah dari yang pertama. Saya telah memeriksa bahwa perilaku yang sama ada di SQL - " between x and y
" mengasumsikan bahwa y> = x atau tidak ada hasil. Ini berarti bahwa operator tidak komutatif, setidaknya dalam SQL.
Jadi, apakah QA benar bahwa " between x and y
" harus komutatif?
between
harus memasukkan atau mengecualikan nilai yang lebih rendah dan lebih tinggi. Orang QA mungkin bertele-tele tetapi selama ada ketidakpastian seseorang perlu mengklarifikasi cerita pengguna / persyaratan. Mungkin ternyata cara mereka dilakukan adalah seperti yang seharusnya, tetapi keputusan harus diambil.