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

BDD ทำงานอย่างไร Cucumber ระบบอัตโนมัติ?
พิจารณาว่าคุณได้รับมอบหมายให้สร้างโมดูลการโอนเงินในแอปพลิเคชัน Net Banking
มีหลายวิธีในการทดสอบ 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
WhenI 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 | HP ALM (QTP) | Selenium |
---|---|---|
Cucumber ซอฟต์แวร์ฟรี | QTP มีราคาแพง | ว่าง |
Cucumber ซอฟต์แวร์เป็นเครื่องมือในการพัฒนาตามพฤติกรรม | มันเป็นเครื่องมือการทำงานอัตโนมัติ | มันเป็นฟังก์ชั่นและประสิทธิภาพ ( Selenium ตาราง) เครื่องมือทดสอบ |
ปลั๊กอิน Cucumber เครื่องมือทดสอบทำงานเร็วขึ้น | ปลั๊กอินช้ากว่าเมื่อเปรียบเทียบกับ Cucumber and Selenium | ปลั๊กอินช้ากว่าแตงกวา |
Cucumber Framework รองรับภาษาอื่นนอกเหนือจาก Ruby เช่น Java, สกาล่า, Groovy เป็นต้น | QTP รองรับเฉพาะสคริปต์ VB | Selenium สนับสนุน Java, .Net และภาษาอื่นๆ อีกมากมาย |
การเขียนขั้นตอนการทำงานอัตโนมัติเป็นความพยายามร่วมกันของผู้ทดสอบและนักพัฒนา | In คิวทีพี ผู้ทดสอบเท่านั้นที่เขียนขั้นตอนการทำงานอัตโนมัติ | Like Cucumber เครื่องมือการเขียนขั้นตอนอัตโนมัติเป็นความพยายามร่วมกันของผู้ทดสอบและนักพัฒนา |
Cucumber เครื่องมือทดสอบรองรับเฉพาะสภาพแวดล้อมของเว็บเท่านั้น | รองรับเว็บ เดสก์ท็อป และแอปพลิเคชันเซิร์ฟเวอร์ไคลเอนต์ | รองรับสภาพแวดล้อมของเว็บเท่านั้น |
ตรวจสอบด้วย: - UFT เทียบกับ Selenium: ความแตกต่างระหว่าง Selenium และ HP UFT