Diffblue

ທີມງານຈາກ Oxford ສ້າງຕັ້ງຂຶ້ນ ເຄື່ອງມືອັດຕະໂນມັດສຳລັບການທົດສອບຫົວໜ່ວຍ (Unit Test) Java ລະດັບວິສາຫະກິດ. ນຳໃຊ້ການຮຽນຮູ້ແບບເສີມກຳລັງ (Reinforcement Learning) ແທນການຄາດເດົາແບບສ້າງສັນ, ຊ່ວຍສຳຫຼວດ ແລະ ບຳລຸງ

Paid 4.1 United Kingdom

Diffblue ແມ່ນຫຍັງ

Diffblue ແມ່ນເຄື່ອງມືລະດັບວິສາຫະກິດທີ່ສ້າງຂຶ້ນໂດຍທີມງານຈາກມະຫາວິທະຍາໄລ Oxford ເຊິ່ງສຸມໃສ່ສິ່ງທີ່ທຸກຄົນຮູ້ວ່າມີຄວາມສຳຄັນ ແຕ່ບໍ່ມີໃຜຢາກເຮັດ: ນັ້ນຄືການຂຽນ Unit Test ໃຫ້ກັບ Java. ຫົວໃຈຫຼັກຂອງມັນແມ່ນຕົວແທນການທົດສອບອັດຕະໂນມັດ Diffblue Cover, ສາມາດສ້າງ Unit Test ໃນຂະໜາດໃຫຍ່ສຳລັບ Codebase ຂອງ Java ທີ່ມີຂະໜາດໃຫຍ່ໄດ້, ແລະ ຍັງສາມາດບຳລຸງຮັກສາການທົດສອບເຫຼົ່ານີ້ຕາມການປ່ຽນແປງຂອງໂຄດໄດ້ນຳອີກ.

ມັນມີຄວາມແຕກຕ່າງພື້ນຖານຈາກເຄື່ອງມືທົ່ວໄປທີ່ໃຊ້ LLM ເພື່ອສ້າງການທົດສອບ: Diffblue ໃຊ້ການຮຽນຮູ້ແບບເສີມກຳລັງ (Reinforcement Learning), ບໍ່ແມ່ນການຄາດເດົາຈາກ ພາສາໂມເດວແບບສ້າງສັນ (Generative Language Model). ນີ້ໝາຍຄວາມວ່າການທົດສອບທີ່ມັນສ້າງຂຶ້ນແມ່ນອີງໃສ່ການສຳຫຼວດພຶດຕິກຳຕົວຈິງຂອງໂຄດ, ບໍ່ແມ່ນ "ຂໍ້ຄວາມທີ່ເບິ່ງຄືວ່າເປັນການທົດສອບ", ເຮັດໃຫ້ມີຄວາມໜ້າເຊື່ອຖື ແລະ ສາມາດນຳມາໃຊ້ຊ້ຳໄດ້ສູງກວ່າໃນສະພາບແວດລ້ອມລະດັບວິສາຫະກິດ. ສຳລັບລະບົບ Java ເກົ່າທີ່ມີຂະໜາດຫຼາຍແສນແຖວ ແລະ ອັດຕາການກວມເອົາການທົດສອບ (Test Coverage) ຕໍ່າເລື້ອຍມາ, ຄວາມສາມາດໃນການສ້າງການທົດສອບອັດຕະໂນມັດໃນຂະໜາດໃຫຍ່ນີ້ແມ່ນຄືກັບການຊ່ວຍຊີວິດ.

ຄຸນສົມບັດ ແລະ ການນຳໃຊ້

ສະໜາມຮົບຫຼັກຂອງ Diffblue ແມ່ນລະບົບ Java ເກົ່າຂອງວິສາຫະກິດຂະໜາດໃຫຍ່. ລະບົບປະເພດນີ້ມັກຈະຖືກນຳໃຊ້ມາຫຼາຍປີ, ບໍ່ກ້າແກ້ໄຂເພາະວ່າບໍ່ມີຕາໜ່າງປ້ອງກັນການທົດສອບ, ແກ້ໄຂພຽງແຖວเดียว ກໍ່ຢ້ານລະບົບພັງ. Diffblue ເຂົ້າມາຊ່ວຍເພີ່ມການທົດສອບ, ເຊິ່ງທຽບເທົ່າกับการສ້າງຕາໜ່າງຄວາມປອດໄພສຳລັບການປັບປຸງໂຄດ (Refactoring), ການອັບເກຣດ ແລະ ການພັດທະນາໃນອະນາຄົດ, ເຮັດໃຫ້ທີມງານກ້າລົງມືເຮັດ.

ມັນຍັງເໝາະສົມສຳລັບການນຳເຂົ້າສູ່ຂະບວນການ CI/CD, ເຮັດໃຫ້ການສ້າງ ແລະ ການບຳລຸງຮັກສາການທົດສອບເປັນແບບອັດຕະໂນມັດ, ແທນທີ່ຈະໃຫ້ວິສະວະກອນຍາດເວລາowners ມາຂຽນດ້ວຍມື. ສຳລັບຂະແໜງການເງິນ ແລະ ປະກັນໄພ ທີ່ຢູ່ພາຍໃຕ້ການຄວບຄຸມ ແລະ ມີຄວາມຕ້ອງການສູງຕໍ່ຄຸນນະພາບ ແລະ ການປະຕິບັດຕາມກົດລະບຽບ, ການສ້າງການທົດສອບແບບອັດຕະໂນມັດທີ່ສາມາດນຳມາໃຊ້ຊ້ຳໄດ້ແມ່ນເໝາະສົມທີ່ສຸດ. ຕ້ອງສັງເກດວ່າອັນນີ້ແມ່ນຜະລິດຕະພັນລະດັບວິສາຫະກິດແບບເສຍເງິນ, ເຊິ່ງຕຳແໜ່ງຂອງມັນບໍ່ແມ່ນສຳລັບການໃຊ້ຫຼິ້ນສ່ວນຕົວ, ແຕ່ແມ່ນສຳລັບອົງກອນທີ່ມີຊັບສິນ Java ຂະໜາດໃຫຍ່ ແລະ ເຕັມໃຈລົງທຶນໃສ່ Test Coverage.

ຄຸນສົມບັດເດ่น

  • ສ້າງ Unit Test ໃຫ້ Java ລະດັບວິສາຫະກິດແບບອັດຕະໂນມັດ
  • ນຳໃຊ້ການຮຽນຮູ້ແບບເສີມກຳລັງແທນການຄາດເດົາແບບສ້າງສັນ, ມີຄວາມໜ້າເຊື່ອຖື ແລະ ສາມາດນຳມາໃຊ້ຊ້ຳໄດ້
  • ບຳລຸງຮັກສາການທົດສອບທີ່ມີຢູ່ໂດຍອັດຕະໂນມັດເມື່ອໂຄດມີການປ່ຽນແປງ
  • ຈັດການກັບ Codebase ເກົ່າຂະໜາດໃຫຍ່ໄດ້
  • ສາມາດເຊື່ອມໂຍງເຂົ້າກັບຂະບວນການ CI/CD ເພື່ອປະຕິບັດງານແບບອັດຕະໂນມັດ

ຂໍ້ດີ

  • ເສັ້ນທາງການຮຽນຮູ້ແບບເສີມກຳລັງເຮັດໃຫ້ຜົນການທົດສອບມີຄວາມສະຖຽນ ແລະ ສາມາດນຳມາໃຊ້ຊ້ຳໄດ້
  • ເພີ່ມການທົດສອບໃຫ້ລະບົບເກົ່າ, ສ້າງຕາໜ່າງຄວາມປອດໄພສຳລັບການປັບປຸງໂຄດ
  • ຄວາມສາມາດໃນການຂະຫຍາຍຂະໜາດສູງ, ເໝາະສຳລັບໂຄງການຂະໜາດໃຫຍ່ທີ່ມີຫຼາຍແສນແຖວ

ຂໍ້ເສຍ

  • ເປັນຜະລິດຕະພັນລະດັບວິສາຫະກິດແບບເສຍເງິນ, ບຸກຄົນທຳມະດາ ແລະ ທີມງານນ້ອຍຍາກທີ່ຈະຈ່າຍໄຫວ
  • ສຸມໃສ່ພາສາ Java ພຽງຢ່າງດຽວ, ຖ້າ 技術棧 (Tech Stack) ບໍ່ກົງກັນກໍ່ບໍ່ສາມາດໃຊ້ໄດ້
  • ການທົດສອບທີ່ສ້າງຂຶ້ນອັດຕະໂນມັດຍังຕ້ອງການໃຫ້ມະນຸດກວດສອບວ່າຈຸດປະສົງທາງທຸລະກິດຖືກຕ້ອງແລ້ວບໍ

ກໍລະນີການນำໃຊ້

  • ເພີ່ມອັດຕາການກວມເອົາ (Coverage) ໃຫ້ກັບລະບົບ Java ເກົ່າຂະໜາດໃຫຍ່ທີ່ບໍ່ມີການທົດສອບ
  • ສ້າງຕາໜ່າງຄວາມປອດໄພກ่อนທີ່ຈະປັບປຸງໂຄດ ຫຼື ທັນສະໄໝລະບົບ
  • ຄວາມຕ້ອງການການທົດສອບຕາມກົດລະບຽບສຳລັບຂະແໜງການເງິນ ແລະ ປະກັນໄພ
  • ເຊື່ອມໂຍງ CI/CD ເພື່ອສ້າງ ແລະ ບຳລຸງຮັກສາການທົດສອບແບບອັດຕະໂນມັດ

ໝາຍເຫດຈากบັນນາທິການ

ໃນຂະນະທີ່ທຸກຄົນກຳລັງມุ่งໜ້າໄປຫາ Generative LLM, Diffblue ຍັງຄົງຍຶດໝັ້ນໃນການໃຊ້ການຮຽນຮູ້ແບບເສີມກຳລັງເພື່ອເຮັດການທົດສອບ Java, ເຊິ່ງເຮັດໃຫ້ມັນສາມາດຕັ້ງຫຼັກໝັ້ນໃນດ້ານຄວາມໜ້າເຊື່ອຖືຂອງວິສາຫະກິດໄດ້. ມັນເປັນເຄື່ອງມືທີ່ສະເພາະເຈາະຈົງ, ຕ້ອງເສຍເງິນ, ແລະ ບໍ່ໄດ້ເອົາໃຈນັກພັດທະນາບຸກຄົນ, ແຕ່ມັນແມ່ນເຄື່ອງມືທີ່ຖືກຕ້ອງສຳລັບອົງກອນທີ່ຖືຊັບສິນ Java ຂະໜາດໃຫຍ່. ພວກເຮົາໃຫ້ 4.1 ຄະແນນ.

ຄຳຖາມທີ່ພົບເລື້ອຍ

Diffblue ແຕກຕ່າງจากการໃຊ້ LLM ສ້າງການທົດສອບແນວໃດ?

ມັນໃຊ້ການຮຽນຮູ້ແບບເສີມກຳລັງເພື່ອສຳຫຼວດພຶດຕິກຳຕົວຈິງຂອງໂຄດມາສ້າງການທົດສອບ, ແທນທີ່ຈະອາໄສການຄາດເດົາຈາກໂມເດວພາສາ, ເຊິ່ງເຮັດໃຫ້มีความໜ້າເຊື່ອຖື ແລະ ສາມາດນຳມາໃຊ້ຊ້ຳໄດ້ສູງກວ່າໃນສະພາບແວດລ້ອມລະດັບວິສາຫະກິດ.

ມັນຮອງຮັບສະເພາະ Java ບໍ?

ແມ່ນແລ້ວ, Diffblue ສຸມໃສ່ລະບົບนิเวศ (Ecosystem) ຂອງ Java ໂດຍສະເພາະ, ຖ້າລະບົບຂອງທ່ານບໍ່ແມ່ນ Java ກໍ່จะไม่ສາມາດໃຊ້ງານໄດ້.

ເຄື່ອງມື AI ທີ່ກ່ຽວຂ້ອງ

繁體中文版 →