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?
betweenharus 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.