ຄວາມກ່ຽວຂ້ອງຂອງກໍລະນີທົດສອບ

ເຫດຜົນ

ບາງຄັ້ງ ກໍລະນີທົດສອບແມ່ນກ່ຽວຂ້ອງກັບສະພາບແວດລ້ອມສະເພາະໃດໜຶ່ງເທົ່ານັ້ນ. ຄວາມກ່ຽວຂ້ອງຂອງກໍລະນີທົດສອບ ຊ່ວຍໃຫ້ສາມາດກອງກໍລະນີທົດສອບທີ່ບໍ່ກ່ຽວຂ້ອງອອກໄປໄດ້.

ການຈັດຕັ້ງປະຕິບັດ

ຄວາມກ່ຽວຂ້ອງຂອງກໍລະນີທົດສອບ ແມ່ນຟັງຊັນທີ່ຮັບພາລາມິເຕີສະພາບແວດລ້ອມ ແລະ ສົ່ງຄືນຄ່າເປັນ True, False ຫຼື ລາຍການຂອງຕົວປ່ຽນສະພາບແວດລ້ອມ.

ໄວຍາກອນ

ຄວາມກ່ຽວຂ້ອງຂອງກໍລະນີທົດສອບ ຖືກກຳນົດໂດຍກົດເກນ condition: decision ໜຶ່ງຢ່າງ ຫຼື ຫຼາຍກວ່າ.

ຕົວດຳເນີນການທີ່ອະນຸຍາດຄື: = == != < <= > >= &&. ສິ່ງໃດກໍຕາມທີ່ຢູ່ຫຼັງເຄື່ອງໝາຍ # ຈະຖືວ່າເປັນຄຳອະທິບາຍ ແລະ ຈະຖືກລະເວັ້ນ.

ທຸກຢ່າງບໍ່ຈຳແນກຕົວອັກສອນພິມໃຫຍ່ພິມນ້ອຍ. ກົດເກນທຳອິດທີ່ກົງກັນຈະຖືກນຳໃຊ້ (ການປະເມີນຄວາມກ່ຽວຂ້ອງຈະສິ້ນສຸດທັນທີ, ສ່ວນກົດເກນທີ່ເຫຼືອຈະຖືກລະເວັ້ນ).

ຄ່າເລີ່ມຕົ້ນ

ຖ້າບໍ່ມີການກຳນົດກົດເກນ, ຄວາມກ່ຽວຂ້ອງຂອງກໍລະນີທົດສອບຈະມີຄ່າເລີ່ມຕົ້ນເປັນ True, ນັ້ນຄື ກໍລະນີທົດສອບນັ້ນກ່ຽວຂ້ອງ ແລະ ຄວນຖືກປະຕິບັດ.

ສະພາບແວດລ້ອມ

ພາລາມິເຕີທີ່ຍອມຮັບໄດ້ສຳລັບການກຳນົດສະພາບແວດລ້ອມຄື:

product (ຜະລິດຕະພັນ)

ຊື່ຜະລິດຕະພັນ (rhel rhel-5 rhel-5.6 rhdts rhscl)

distro (ດີສໂຕຣ)

ການແຈກຢາຍລະບົບ (rhel-6 rhel-6.3 rhscl-1.0.0 f-28)

variant (ຮຸ່ນຍ່ອຍ)

ຮຸ່ນຍ່ອຍຂອງດີສໂຕຣ (Client Desktop Server Workstation)

arch (ສະຖາປັດຕະຍະກຳ)

ສະຖາປັດຕະຍະກຳ (i386 ppc64 s390x x86_64)

collection (ຊຸດສະສົມ)

ຊຸດສະສົມຊອບແວ (python27 python33 perl516…​)

component (ອົງປະກອບ)

ອົງປະກອບທີ່ຈະທົດສອບ (php, apache, …​)

ໃນຂະນະທີ່ distro ຖືກນຳໃຊ້ສະເໝີເພື່ອລະບຸລະບົບປະຕິບັດການທີ່ຊອບແວຄວນຈະເຮັດວຽກ, ແຕ່ product ແມ່ນໃຊ້ເພື່ອອະທິບາຍຜະລິດຕະພັນເປົ້າໝາຍທີ່ລູກຄ້າສະໝັກນຳໃຊ້ (ອາດເປັນຜະລິດຕະພັນທີ່ຊ້ອນຢູ່ເທິງ RHEL ເຊັ່ນ RHSCL, ຫຼື RHEL ເອງ ຖ້າອົງປະກອບນັ້ນລວມຢູ່ໃນລະບົບປະຕິບັດການໂດຍກົງ).

ການປຽບທຽບດີສໂຕຣ (Distro) ເຮັດວຽກໃນສອງໂໝດ:

ໂໝດຫຼັກ (Major mode)

ເມື່ອປຽບທຽບກັບເວີຊັນຫຼັກ ເຊັ່ນ distro < rhel-6 ເວີຊັນຫຼັກອື່ນໆຈະຖືກນຳມາພິຈາລະນາ (ກົງກັບ rhel-3 rhel-4 rhel-5 ໃດໜຶ່ງ).

ໂໝດຮອງ (Minor mode)

ຖ້າເວີຊັນຮອງຖືກລະບຸໄວ້ນຳ ເຊັ່ນ distro < rhel-6.3, ການປຽບທຽບຈະເຮັດຂຶ້ນສະເພາະພາຍໃນເວີຊັນຫຼັກນັ້ນເທົ່ານັ້ນ (ກົງກັບ rhel-6.0 rhel-6.1 rhel-6.2).

ກົດເກນທີ່ມີພາລາມິເຕີສະພາບແວດລ້ອມທີ່ບໍ່ຮູ້ຈັກໃນເວລາປະເມີນຈະຖືກຂ້າມໄປ.

ການຕັດສິນໃຈ

ສ່ວນ decision ຂອງກົດເກນສາມາດມີຄ່າດັ່ງຕໍ່ໄປນີ້:

True

ກໍລະນີທົດສອບກ່ຽວຂ້ອງກັບສະພາບແວດລ້ອມທີ່ກຳນົດ

False

ກໍລະນີທົດສອບບໍ່ກ່ຽວຂ້ອງກັບສະພາບແວດລ້ອມນີ້

A=X B=Y C=Z

ກໍລະນີທົດສອບກ່ຽວຂ້ອງກັບສະພາບແວດລ້ອມທີ່ຖືກປັບປ່ຽນ

ຕົວເລືອກສຸດທ້າຍຂ້າງເທິງ ຊ່ວຍໃຫ້ສາມາດປັບສະພາບແວດລ້ອມທີ່ຈະໃຊ້ປະຕິບັດກໍລະນີທົດສອບ ໂດຍການລະບຸລາຍການຕົວປ່ຽນສະພາບແວດລ້ອມທີ່ຈະສົ່ງໄປຫາການທົດສອບ.

ຄ່າການຕັດສິນໃຈອາດຈະຖືກລະເວັ້ນໄດ້. ໃນກໍລະນີດັ່ງກ່າວ ຈະໃຊ້ຄ່າ True ເປັນຄ່າເລີ່ມຕົ້ນ. ດັ່ງນັ້ນ ສອງແຖວນີ້ນິຍາມຄວາມກ່ຽວຂ້ອງທີ່ຄືກັນ:

distro > rhel-7: True
distro > rhel-7

ຕົວຢ່າງ

mod_wsgi ກ່ຽວຂ້ອງກັບ RHEL6 ແລະ ໃໝ່ກວ່າ:

distro < rhel-6: False

busybox ບໍ່ມີໃຫ້ໃຊ້ສຳລັບ s390x ເທິງ RHEL6:

arch = s390x && distro = rhel-6: False

perl-Config-General ບໍ່ມີຢູ່ໃນຮຸ່ນຍ່ອຍ Client:

variant = Client: False

ປະຕິບັດການທົດສອບ python unit ພາຍໃຕ້ valgrind ໃນສະຖາປັດຕະຍະກຳທີ່ເໝາະສົມເທົ່ານັ້ນ:

arch = ia64: PHASES=novalgrind
arch = s390x && distro < rhel-6: PHASES=novalgrind

ອົງປະກອບໃໝ່ python-ctypes ຖືກເພີ່ມເຂົ້າໃນ rhel-5.8:

distro < rhel-5:   False
distro < rhel-5.8: False

Exim ມີໃຫ້ໃຊ້ສະເພາະໃນ RHEL5 ເທົ່ານັ້ນ:

distro != rhel-5: False