แตงกวา - ภาพรวม
เพื่อให้ได้ประโยชน์จากการทดสอบซอฟต์แวร์มากขึ้นปัจจุบันองค์กรต่างๆกำลังก้าวไปข้างหน้า พวกเขาใช้สถานการณ์จำลองการทดสอบการยอมรับที่สำคัญในขณะที่การพัฒนาอยู่ระหว่างดำเนินการ แนวทางนี้เรียกกันทั่วไปว่าBehavior Driven Development (BDD).
การพัฒนาที่ขับเคลื่อนด้วยพฤติกรรมเปิดโอกาสให้เราสร้างสคริปต์ทดสอบจากทั้งมุมมองของผู้พัฒนาและลูกค้าเช่นกัน ดังนั้นในตอนแรกนักพัฒนาผู้จัดการโครงการ QAs ผู้ทดสอบการยอมรับของผู้ใช้และเจ้าของผลิตภัณฑ์ (ผู้ถือหุ้น) ทุกคนจะรวมตัวกันและระดมความคิดว่าควรผ่านสถานการณ์การทดสอบใดเพื่อให้ซอฟต์แวร์ / แอปพลิเคชันนี้ประสบความสำเร็จ ด้วยวิธีนี้พวกเขาสร้างชุดสถานการณ์ทดสอบ สคริปต์ทดสอบทั้งหมดนี้เป็นภาษาอังกฤษที่เรียบง่ายดังนั้นจึงมีจุดประสงค์ในการจัดทำเอกสารด้วย
ตัวอย่าง
หากเรากำลังพัฒนาคุณลักษณะการพิสูจน์ตัวตนผู้ใช้สิ่งต่อไปนี้อาจเป็นสถานการณ์การทดสอบที่สำคัญบางอย่างซึ่งจำเป็นต้องผ่านเพื่อเรียกว่าประสบความสำเร็จ
ผู้ใช้ควรสามารถเข้าสู่ระบบด้วยชื่อผู้ใช้ที่ถูกต้องและรหัสผ่านที่ถูกต้อง
ผู้ใช้ไม่ควรเข้าสู่ระบบด้วยชื่อผู้ใช้ที่ไม่ถูกต้องและรหัสผ่านที่ถูกต้อง
ผู้ใช้ไม่ควรเข้าสู่ระบบด้วยชื่อผู้ใช้ที่ถูกต้องและรหัสผ่านไม่ถูกต้อง
มันทำงานอย่างไร
เมื่อโค้ดพร้อมแล้วสคริปต์ทดสอบก็พร้อมเช่นกัน รหัสต้องผ่านสคริปต์ทดสอบที่กำหนดไว้ใน BDD หากไม่เกิดขึ้นจำเป็นต้องมีการปรับโครงสร้างโค้ดใหม่ โค้ดจะถูกตรึงหลังจากเรียกใช้สคริปต์ทดสอบที่กำหนดสำเร็จแล้วเท่านั้น
มันเป็นแนวคิดที่เรียบง่ายมาก แต่สิ่งที่เราต้องการเพื่อที่จะนำแนวคิดนี้ไปใช้ คำตอบคือ Behavior Driven Development (BDD) Framework แตงกวาเป็นหนึ่งในเครื่องมือโอเพนซอร์สที่สนับสนุนการพัฒนาที่ขับเคลื่อนด้วยพฤติกรรม เพื่อให้แม่นยำยิ่งขึ้น Cucumber สามารถกำหนดเป็นกรอบการทดสอบโดยใช้ข้อความภาษาอังกฤษธรรมดา ทำหน้าที่เป็นเอกสารการทดสอบอัตโนมัติและตัวช่วยในการพัฒนาทั้งหมดในที่เดียว
แตงกวาทำอะไรได้บ้าง? สามารถอธิบายได้ตามขั้นตอนต่อไปนี้ -
แตงกวาอ่านโค้ดที่เขียนด้วยข้อความภาษาอังกฤษธรรมดา (ภาษา Gherkin - ที่จะแนะนำในบทช่วยสอนนี้ในภายหลัง) ในไฟล์คุณลักษณะ (จะแนะนำในภายหลัง)
พบการจับคู่ที่ตรงกันของแต่ละขั้นตอนในข้อกำหนดขั้นตอน (ไฟล์รหัส - รายละเอียดที่ให้ไว้ในบทช่วยสอน)
ส่วนของโค้ดที่จะดำเนินการอาจเป็นเฟรมเวิร์กซอฟต์แวร์ที่แตกต่างกันเช่น Selenium, Ruby on Railsฯลฯ ไม่ใช่ทุกเครื่องมือ BDD framework ที่รองรับทุกเครื่องมือ
นี่กลายเป็นสาเหตุที่ทำให้แตงกวาได้รับความนิยมมากกว่ากรอบอื่น ๆ เช่น JBehave, JDave, Easyb, เป็นต้น
Cucumber รองรับแพลตฟอร์มซอฟต์แวร์ที่แตกต่างกันมากกว่าโหลเช่น -
- ทับทิมบนราง
- Selenium
- PicoContainer
- กรอบสปริง
- Watir
ข้อดีของแตงกวาเหนือเครื่องมืออื่น ๆ
Cucumber รองรับภาษาต่างๆเช่น Java.net และ Ruby
ทำหน้าที่เป็นสะพานเชื่อมระหว่างภาษาทางธุรกิจและทางเทคนิค เราทำได้โดยสร้างกรณีทดสอบเป็นข้อความภาษาอังกฤษธรรมดา
ช่วยให้สามารถเขียนสคริปต์ทดสอบได้โดยไม่ต้องมีความรู้เกี่ยวกับรหัสใด ๆ ทำให้สามารถมีส่วนร่วมของผู้ที่ไม่ใช่โปรแกรมเมอร์ได้เช่นกัน
ทำหน้าที่ตามวัตถุประสงค์ของกรอบการทดสอบ end-to-end ซึ่งแตกต่างจากเครื่องมืออื่น ๆ
เนื่องจากสถาปัตยกรรมสคริปต์ทดสอบที่เรียบง่าย Cucumber จึงสามารถนำโค้ดกลับมาใช้ใหม่ได้