Cucumber กรอบการทำงาน: คืออะไร Cucumber เครื่องมือทดสอบ?

ความหมายของ Cucumber?

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

Cucumber กรอบ
Cucumber กรอบ

BDD ทำงานอย่างไร Cucumber ระบบอัตโนมัติ?

พิจารณาว่าคุณได้รับมอบหมายให้สร้างโมดูลการโอนเงินในแอปพลิเคชัน Net Banking

มีหลายวิธีในการทดสอบ Cucumber กรอบการทดสอบ

  1. การโอนเงินควรเกิดขึ้นหากมียอดเงินในบัญชีต้นทางเพียงพอ
  2. การโอนเงินควรเกิดขึ้นหากรายละเอียดบัญชีปลายทางถูกต้อง
  3. การโอนเงินควรเกิดขึ้นหากรหัสผ่านธุรกรรม / รหัส rsa / การตรวจสอบความปลอดภัยสำหรับธุรกรรมที่ผู้ใช้ป้อนนั้นถูกต้อง
  4. การโอนเงินควรทำแม้ว่าจะเป็นวันหยุดธนาคารก็ตาม
  5. การโอนเงินควรเกิดขึ้นในอนาคตตามที่เจ้าของบัญชีกำหนด

เทศกาล สถานการณ์ทดสอบ กลายเป็นเรื่องซับซ้อนและละเอียดอ่อนมากขึ้นเมื่อเราพิจารณาถึงคุณลักษณะเพิ่มเติม เช่น จำนวนเงินโอน 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 ซอฟต์แวร์

  1. การมีส่วนร่วมของผู้มีส่วนได้ส่วนเสียทางธุรกิจที่ไม่สามารถอ่านโค้ดได้ง่ายจะเป็นประโยชน์
  2. Cucumber เครื่องมือทดสอบ มุ่งเน้นไปที่ประสบการณ์ของผู้ใช้ปลายทาง
  3. รูปแบบของการทดสอบการเขียนช่วยให้สามารถใช้โค้ดซ้ำได้ง่ายขึ้นในการทดสอบ
  4. การตั้งค่าและดำเนินการที่ง่ายและรวดเร็ว
  5. 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