Cucumber กรอบการทำงาน: คืออะไร Cucumber?
⚡ สรุปอย่างชาญฉลาด
Cucumber เป็นเครื่องมือทดสอบที่สนับสนุนการพัฒนาแบบขับเคลื่อนด้วยพฤติกรรม (Behavior Driven Development หรือ BDD) ทำให้ทุกคนสามารถอ่านผลการทดสอบได้โดยไม่จำเป็นต้องมีความรู้ด้านเทคนิค เอกสารนี้อธิบายวิธีการทำงานของ BDD ผ่านขั้นตอน Given-When-Then และข้อดีของการใช้งาน BDD Cucumberและเปรียบเทียบกับ Selenium และ HP ALM

ความหมายของ Cucumber?
Cucumber เป็นเครื่องมือทดสอบที่สนับสนุนการพัฒนาแบบเน้นพฤติกรรม (Behavior Driven Development หรือ BDD) โดยนำเสนอวิธีการเขียนการทดสอบที่ทุกคนสามารถเข้าใจได้ ไม่ว่าจะมีทักษะทางเทคนิคมากน้อยแค่ไหนก็ตาม ใน BDD ผู้ใช้ (นักวิเคราะห์ธุรกิจ เจ้าของผลิตภัณฑ์) จะเขียนสถานการณ์จำลองหรือการทดสอบการยอมรับที่อธิบายพฤติกรรมของระบบจากมุมมองของลูกค้าก่อน เพื่อให้เจ้าของผลิตภัณฑ์ตรวจสอบและอนุมัติก่อนที่นักพัฒนาจะเขียนโค้ด Cucumber เฟรมเวิร์กใช้ ภาษาโปรแกรม Ruby.

BDD ทำงานอย่างไร Cucumber ระบบอัตโนมัติ?
สมมติว่าคุณได้รับมอบหมายให้สร้างโมดูลโอนเงินในแอปพลิเคชันธนาคารออนไลน์
มีหลายวิธีในการทดสอบในเรื่องนี้ Cucumber กรอบการทดสอบ:
- การโอนเงินควรดำเนินการได้ก็ต่อเมื่อมีเงินคงเหลือในบัญชีต้นทางเพียงพอ
- การโอนเงินจะดำเนินการได้หากรายละเอียดบัญชีปลายทางถูกต้อง
- การโอนเงินจะดำเนินการได้ก็ต่อเมื่อรหัสผ่านธุรกรรม / รหัส RSA / การตรวจสอบความปลอดภัยสำหรับธุรกรรมที่ผู้ใช้ป้อนนั้นถูกต้อง
- การโอนเงินควรดำเนินการต่อไปแม้ว่าจะเป็นวันหยุดธนาคารก็ตาม
- การโอนเงินจะดำเนินการในวันที่กำหนดโดยเจ้าของบัญชีในอนาคต
การขอ สถานการณ์ทดสอบ จะมีความซับซ้อนมากขึ้นเมื่อเราพิจารณาคุณสมบัติเพิ่มเติม เช่น การโอนเงินจำนวน X ในช่วงเวลา Y วัน/เดือน การหยุดการโอนตามกำหนดเมื่อยอดรวมถึง Z และอื่นๆ
โดยทั่วไปแล้ว นักพัฒนาซอฟต์แวร์มักจะพัฒนาฟีเจอร์ต่างๆ ก่อน แล้วค่อยเขียนโค้ดทดสอบในภายหลัง ดังที่เห็นได้จากกรณีข้างต้น กรณีทดสอบ การพัฒนาสำหรับสถานการณ์นี้มีความซับซ้อน และผู้พัฒนาจะเลื่อนการดำเนินการออกไป การทดสอบ จนกว่าจะถึงวันวางจำหน่าย ซึ่งในเวลานั้นพวกเขาจะทำการทดสอบอย่างรวดเร็วแต่ไร้ประสิทธิภาพ
เพื่อเอาชนะปัญหานี้ Cucumber BDD (การพัฒนาที่ขับเคลื่อนด้วยพฤติกรรม) จึงถูกคิดค้นขึ้นมา มันทำให้กระบวนการทดสอบทั้งหมดง่ายขึ้นสำหรับนักพัฒนา
In Cucumber BDD สิ่งที่คุณเขียนจะต้องเข้าไป ให้-เมื่อ-แล้ว ขั้นตอนต่างๆ ลองพิจารณาตัวอย่างเดียวกันข้างต้นในรูปแบบ BDD:
Given that a fund transfer module in net banking application has been developed And I am accessing it with proper authentication
When I shall transfer with enough balance in my source account Or I shall transfer on a Bank Holiday Or I shall transfer on a future date And destination a/c details are correct And transaction password/RSA code/security authentication for the transaction is correct And press or click send button
Then amount must be transferred And the event will be logged in log file
เขียน อ่าน และเข้าใจง่ายไม่ใช่หรือ? มันครอบคลุมกรณีทดสอบที่เป็นไปได้ทั้งหมดสำหรับโมดูลการโอนเงิน และสามารถปรับเปลี่ยนได้ง่ายเพื่อรองรับกรณีเพิ่มเติม นอกจากนี้ยังคล้ายกับการเขียนเอกสารประกอบสำหรับโมดูลการโอนเงินอีกด้วย
ข้อดีของการ Cucumber ซอฟต์แวร์
- การมีส่วนร่วมของผู้มีส่วนได้ส่วนเสียทางธุรกิจที่ไม่สามารถอ่านโค้ดได้ง่ายนั้นเป็นสิ่งที่มีประโยชน์
- การขอ Cucumber เครื่องมือทดสอบ มุ่งเน้นที่ประสบการณ์ของผู้ใช้ปลายทาง
- รูปแบบการเขียนโค้ดทดสอบนี้ช่วยให้สามารถนำโค้ดกลับมาใช้ซ้ำในการทดสอบได้ง่ายขึ้น
- ติดตั้งและใช้งานได้ง่ายและรวดเร็ว
- การขอ Cucumber เครื่องมือทดสอบเป็นเครื่องมือที่มีประสิทธิภาพสำหรับ การทดสอบ.
Cucumber vs Selenium เทียบกับ ALM
ในส่วนนี้เราจะมาศึกษาความแตกต่างระหว่าง Cucumber, Seleniumและ ALM
| Cucumber | เอชพี เอแอลเอ็ม (QTP) | Selenium |
|---|---|---|
| Cucumber ซอฟต์แวร์นี้ฟรี | QTP มีราคาแพง | ว่าง. |
| Cucumber ซอฟต์แวร์เป็นเครื่องมือพัฒนาที่ขับเคลื่อนด้วยพฤติกรรม | เป็นเครื่องมืออัตโนมัติเชิงฟังก์ชัน | เป็นฟังก์ชันการทำงานและประสิทธิภาพ (Selenium เครื่องมือทดสอบ (ตาราง) |
| ปลั๊กอินใน Cucumber เครื่องมือทดสอบทำงานได้เร็วขึ้น | ปลั๊กอินทำงานช้ากว่าเมื่อเทียบกับ Cucumber และ Selenium. | ปลั๊กอินทำงานช้ากว่า Cucumber. |
| Cucumber เฟรมเวิร์กนี้รองรับภาษาอื่นๆ นอกเหนือจาก Ruby ด้วย เช่น Java, สกาล่า, Groovyฯลฯ | QTP รองรับเฉพาะ VB Script เท่านั้น | Selenium สนับสนุน Javaรวมถึง .Net และภาษาอื่นๆ อีกมากมาย |
| การเขียนขั้นตอนการทำงานอัตโนมัติเป็นความร่วมมือระหว่างผู้ทดสอบและนักพัฒนา | In QTPมีเพียงผู้ทดสอบเท่านั้นที่เขียนขั้นตอนการทำงานอัตโนมัติ | Like Cucumberการเขียนขั้นตอนการทำงานอัตโนมัติเป็นความร่วมมือระหว่างผู้ทดสอบและนักพัฒนา |
| การขอ Cucumber เครื่องมือทดสอบรองรับเฉพาะสภาพแวดล้อมเว็บเท่านั้น | รองรับเว็บ เดสก์ท็อป และแอปพลิเคชันไคลเอ็นต์เซิร์ฟเวอร์ทุกประเภท | รองรับเฉพาะสภาพแวดล้อมบนเว็บเท่านั้น |
ตรวจสอบด้วย: - UFT vs Selenium: ความแตกต่างระหว่าง Selenium และ HP UFT
