กรอบการทดสอบที่ขับเคลื่อนด้วยคำหลักพร้อมตัวอย่าง
⚡ สรุปอย่างชาญฉลาด
การทดสอบแบบใช้คีย์เวิร์ด (Keyword Driven Testing) แยกตรรกะการทดสอบออกจากโค้ดการทำงานอัตโนมัติโดยใช้แผนที่ping แปลงคำหลักที่เป็นภาษาธรรมดาให้เป็นฟังก์ชันที่นำกลับมาใช้ใหม่ได้ เพื่อให้ผู้ทดสอบสามารถออกแบบ บำรุงรักษา และขยายชุดทดสอบอัตโนมัติผ่านสเปรดชีต แทนที่จะเขียนสคริปต์สำหรับแต่ละกรณีทดสอบ

การทดสอบที่ขับเคลื่อนด้วยคำหลักคืออะไร?
การทดสอบที่ขับเคลื่อนด้วยคำหลัก เป็นเทคนิคการเขียนสคริปต์ที่ใช้ไฟล์ข้อมูลเพื่อเก็บคำสำคัญที่เกี่ยวข้องกับแอปพลิเคชันที่กำลังทดสอบ คำสำคัญเหล่านี้อธิบายชุดของการดำเนินการที่จำเป็นในการดำเนินการตามขั้นตอนเฉพาะ
การทดสอบที่ขับเคลื่อนด้วยคำหลักประกอบด้วยคำหลักระดับสูงและต่ำ รวมถึงอาร์กิวเมนต์ของคำหลัก ซึ่งประกอบด้วยเพื่ออธิบายการกระทำของกรณีทดสอบ เรียกอีกอย่างว่าการทดสอบที่ขับเคลื่อนด้วยตารางหรือการทดสอบตามคำการกระทำ
การขอ กรอบการทำงานที่ขับเคลื่อนด้วยคำหลัก คือเฟรมเวิร์กการทดสอบอัตโนมัติเชิงฟังก์ชันที่สร้างขึ้นโดยใช้เทคนิคดังกล่าว โดยแบ่งกรณีทดสอบออกเป็นสี่ส่วนที่แตกต่างกัน เพื่อแยกการเขียนโค้ดออกจากกรณีทดสอบและขั้นตอนการทดสอบสำหรับการทำงานอัตโนมัติที่ดีขึ้น ได้แก่ ขั้นตอนการทดสอบเอง วัตถุที่ขั้นตอนเหล่านั้นกระทำการด้วย การกระทำที่กระทำกับวัตถุเหล่านั้น และข้อมูลที่ป้อนให้กับวัตถุเหล่านั้น
ในการทดสอบที่ขับเคลื่อนด้วยคำหลัก คุณต้องระบุชุดของคำหลักก่อน จากนั้นจึงเชื่อมโยงการกระทำ (หรือฟังก์ชัน) ที่เกี่ยวข้องกับคำหลักเหล่านี้ ในที่นี้ การดำเนินการทดสอบทุกอย่าง เช่น การเปิดหรือปิดเบราว์เซอร์ การคลิกเมาส์ การกดแป้นพิมพ์ ฯลฯ จะมีการอธิบายโดยใช้คำหลัก เช่น เปิดเบราว์เซอร์ คลิก พิมพ์ข้อความ เป็นต้น
แผนภาพด้านล่างแสดงให้เห็นถึงสองการกระทำทางธุรกิจทั่วไปที่กลายมาเป็นคำหลักที่สามารถนำกลับมาใช้ซ้ำได้ ตัวอย่างเช่น:
- เข้าสู่ระบบ ไปยังเว็บไซต์ “guru99” – คำหลัก “เข้าสู่ระบบ” จะถูกใช้ในกรอบการทำงานอัตโนมัติของเรา เพื่อทดสอบฟังก์ชันการเข้าสู่ระบบหรือการดำเนินการที่เกี่ยวข้อง
- ออกจากระบบ ไปที่เว็บไซต์ “guru99”— คำหลัก “ออกจากระบบ” จะถูกใช้ในกรอบการทำงานอัตโนมัติของเรา เพื่อทดสอบฟังก์ชันการออกจากระบบหรือการดำเนินการที่เกี่ยวข้อง
คุณจะได้เห็นตัวอย่างเพิ่มเติมในบทความนี้ รูปแบบไม่เคยเปลี่ยนแปลง: การกระทำทางธุรกิจหนึ่งอย่าง คำหลักหนึ่งคำ ฟังก์ชันหนึ่งอย่าง
ตัวอย่างคำหลัก
คำศัพท์ด้านล่างนี้แสดงรายการคำสำคัญทั่วไปที่ใช้ในแอปพลิเคชันด้านการธนาคาร และการดำเนินการทางธุรกิจที่แต่ละคำสำคัญกระตุ้น
| คำสำคัญ | Descriptไอออน |
|---|---|
| เข้าสู่ระบบ | เข้าสู่เว็บไซต์สาธิตธนาคาร guru99 |
| อีเมล | ส่งอีเมลล์ |
| ออกจากระบบ | ออกจากระบบเว็บไซต์สาธิตธนาคาร guru99 |
| การแจ้งเตือน | ค้นหาการแจ้งเตือนที่ยังไม่ได้อ่าน |
💡 เคล็ดลับ: ตั้งชื่อคีย์เวิร์ดตามการกระทำทางธุรกิจ ไม่ใช่ขั้นตอนทางเทคนิค เช่น “Login” ยังคงใช้งานได้แม้จะมีการออกแบบหน้าเว็บใหม่ แต่ “ClickBlueButton” จะไม่สามารถใช้งานได้อีกต่อไป
ส่วนประกอบของเฟรมเวิร์กที่ขับเคลื่อนด้วยคีย์เวิร์ด
การรู้ว่าคีย์เวิร์ดคืออะไรนั้นเป็นเพียงครึ่งทางเท่านั้น ในการสร้างกรอบการทำงานที่ขับเคลื่อนด้วยคีย์เวิร์ด คุณต้องรวบรวมไฟล์ชุดเล็กๆ โดยแต่ละไฟล์รับผิดชอบประเด็นสำคัญเพียงประเด็นเดียว
- แผ่นงาน Excel – ระบุคำสำคัญและบันทึกไว้ในแผ่นงาน Excel โดยแต่ละแถวแทนขั้นตอนการทดสอบหนึ่งขั้นตอน
- ไลบรารีฟังก์ชัน – ประกอบด้วยฟังก์ชันสำหรับขั้นตอนการทำงานทางธุรกิจ (เช่น ปุ่มล็อกอินสำหรับเว็บไซต์ใดๆ) เมื่อทำการทดสอบ ระบบจะอ่านคำสำคัญจากไฟล์ Excel และเรียกใช้ฟังก์ชันตามนั้น
- แผ่นข้อมูล – จัดเก็บข้อมูลทดสอบที่ใช้ในแอปพลิเคชัน เพื่อให้สามารถใช้งานคีย์เวิร์ดเดียวกับข้อมูลป้อนเข้าหลายๆ แบบได้
- ที่เก็บอ็อบเจ็กต์ – เก็บข้อมูลตำแหน่งที่ตั้งของทุกองค์ประกอบที่คำหลักเกี่ยวข้องไว้ ดังนั้นเมื่อมีการเปลี่ยนแปลงตำแหน่งที่ตั้ง ก็สามารถแก้ไขได้ในที่เดียว
- สคริปต์ทดสอบ – คุณสามารถมีได้ สคริปต์ทดสอบ สำหรับคู่มือแต่ละเล่ม กรณีทดสอบ หรือสคริปต์ไดรเวอร์ตัวเดียว
- สคริปต์ไดรเวอร์ – ดำเนินการตรวจสอบแผ่นงาน Excel ทีละแถว แปลงคำหลักแต่ละคำให้ตรงกับไลบรารีฟังก์ชัน และบันทึกผลลัพธ์
- เครื่องมืออัตโนมัติ – ดำเนินการคำสั่งที่ได้รับการแก้ไขแล้วกับแอปพลิเคชัน และส่งข้อมูลไปยังส่วนรายงาน
ชิ้นส่วนทั้งเจ็ดชิ้นนี้รวมกันแล้วเป็นชิ้นส่วนที่สมบูรณ์ เฟรมเวิร์กการทดสอบอัตโนมัติทำไมถึงเลือกดีไซน์นี้?
ทำไมต้องทำการทดสอบการขับเคลื่อนด้วยคำหลัก
ในวิศวกรรมซอฟต์แวร์ การทดสอบตามคำสำคัญจะดำเนินการเนื่องจากเหตุผลดังต่อไปนี้
- ส่วนประกอบทั่วไปที่จัดการโดยไลบรารีมาตรฐาน
- ด้วยวิธีการนี้ การทดสอบสามารถเขียนได้อย่างกระชับยิ่งขึ้นtracในลักษณะดังกล่าว
- การนำกลับมาใช้ซ้ำได้ในระดับสูง
- รายละเอียดของสคริปต์ถูกซ่อนไม่ให้ผู้ใช้เห็น
- ผู้ใช้ไม่จำเป็นต้องใช้ภาษาสคริปต์
- การทดสอบมีความกระชับ บำรุงรักษาได้ และยืดหยุ่น
เนื่องจากเลเยอร์คีย์เวิร์ดดูดซับการเปลี่ยนแปลงของแอปพลิเคชัน จึงทำให้มีขนาดใหญ่ การทดสอบการถดถอย ชุดโปรแกรมยังคงเป็นมิตรต่อสิ่งแวดล้อมด้วยการแก้ไขฟังก์ชันเพียงไม่กี่ฟังก์ชันแทนที่จะแก้ไขสคริปต์หลายร้อยรายการ เหตุผลนี้เป็นตัวกำหนดวิธีการนำไปใช้
วิธีดำเนินการทดสอบการขับเคลื่อนด้วยคำหลัก
การทดสอบโดยใช้คีย์เวิร์ด (Keyword Driven Testing) สามารถทำได้ทั้งแบบด้วยตนเองและแบบอัตโนมัติ แต่โดยปกติแล้วมักใช้กับการทดสอบแบบอัตโนมัติ
วัตถุประสงค์เบื้องหลังการทำการทดสอบแบบอัตโนมัติโดยใช้คีย์เวิร์ดไดรฟ์คือ
- ช่วยลดค่าใช้จ่ายในการบำรุงรักษา
- หลีกเลี่ยงข้อกำหนดที่ซ้ำกัน
- การใช้สคริปต์ฟังก์ชันซ้ำมากขึ้น
- การสนับสนุนการทดสอบและการพกพาที่ดีขึ้น
- ทำการทดสอบให้มากขึ้นโดยใช้ความพยายามน้อยลงหรือเท่าเดิม
ด้วยการทดสอบแบบใช้คีย์เวิร์ด คุณสามารถสร้างการทดสอบที่เรียบง่ายได้ การทดสอบการทำงาน ในขั้นตอนการพัฒนาช่วงแรกๆ นั้น ควรทดสอบแอปพลิเคชันทีละส่วน วิธีที่ง่ายที่สุดในการสร้างการทดสอบแบบใช้คีย์เวิร์ดคือการบันทึกการทดสอบ หลังจากบันทึกแล้ว สามารถแก้ไขและปรับแต่งการทดสอบได้ตามความต้องการ
แต่ละคีย์เวิร์ดจะต้องเชื่อมโยงกับคำสั่ง สคริปต์ทดสอบ หรือฟังก์ชันอย่างน้อยหนึ่งรายการ ซึ่งจะดำเนินการตามการกระทำที่เกี่ยวข้องกับคีย์เวิร์ดนั้น
เมื่อดำเนินการกรณีทดสอบ คำสำคัญจะถูกตีความโดยไลบรารีทดสอบ ซึ่งถูกเรียกโดยกรอบงานการทดสอบอัตโนมัติ
กิจกรรมหลักๆ ที่เกี่ยวข้องกับการทดสอบแบบใช้คีย์เวิร์ดเป็นตัวขับเคลื่อน ได้แก่
- ขั้นตอน 1) การระบุคำหลักระดับต่ำและระดับสูง
- ขั้นตอน 2) การใช้คำหลักเป็นปฏิบัติการ
- ขั้นตอน 3) การสร้างกรณีทดสอบ
- ขั้นตอน 4) การสร้างสคริปต์ไดรเวอร์
- ขั้นตอน 5) การดำเนินการสคริปต์ทดสอบอัตโนมัติ
ขั้นตอนที่ 1 และ 2 เป็นงานออกแบบที่ทำเพียงครั้งเดียว ส่วนขั้นตอนที่ 3 ถึง 5 จะทำซ้ำในทุกสปรินต์ ดังตัวอย่างด้านล่าง
กรณีทดสอบตัวอย่าง
สถานการณ์ทั้งสามนี้ใช้คำหลักชุดเดียวกันกับที่กำหนดไว้ก่อนหน้านี้
- TC_01: เข้าสู่ระบบไซต์สาธิต guru99 ค้นหาว่ามีการทำธุรกรรมกี่รายการในวันนี้
- TC_02: เข้าสู่ระบบเว็บไซต์สาธิต guru99 ส่งอีเมลไปยังลูกค้าของคุณ จากนั้นออกจากระบบ
- TC_03: เข้าสู่ระบบไซต์สาธิต guru99 และตรวจสอบการแจ้งเตือนที่ได้รับ
เมื่อเขียนในรูปแบบตารางคีย์เวิร์ด TC_02 จะมีหกแถวที่ผู้ทดสอบสามารถอ่านหรือจัดเรียงใหม่ได้โดยไม่ต้องเปิดโค้ด:
| ขั้นตอน | คำหลัก | ข้อโต้แย้ง | ผลลัพธ์ที่คาดหวัง |
|---|---|---|---|
| 1 | เปิดเบราว์เซอร์ | Chrome | เซสชันเบราว์เซอร์เริ่มต้น |
| 2 | เข้าสู่ระบบ | mngr123 / demopass | แสดงหน้าแรกของผู้จัดการ |
| 3 | อีเมล | customer@example.com | หน้าต่างเขียนข้อความเปิดขึ้น |
| 4 | คลิก | ส่งข้อมูล | "Mail ปรากฏว่า "ส่งแล้ว" |
| 5 | ออกจากระบบ | - | การประชุมสิ้นสุดลงแล้ว |
| 6 | ปิดเบราว์เซอร์ | - | เบราว์เซอร์เปิดตัวแล้ว |
แลกเปลี่ยนping ข้อโต้แย้งในขั้นตอนที่ 3 เปลี่ยนแถวทั้งหกแถวนั้นให้เป็นการทดสอบที่แตกต่างออกไป ซึ่งเป็นจุดที่ ข้อมูลการทดสอบ การบริหารจัดการที่ดีจะส่งผลดี
ข้อดีของการทดสอบที่ขับเคลื่อนด้วยคำหลัก
- ช่วยให้ผู้ทดสอบฟังก์ชันสามารถวางแผนการทดสอบอัตโนมัติก่อนที่แอปพลิเคชันจะพร้อมใช้งาน
- การทดสอบสามารถพัฒนาได้โดยไม่ต้องมีความรู้ด้านการเขียนโปรแกรม
- ไม่ขึ้นอยู่กับภาษาการเขียนโปรแกรมหรือเครื่องมือเฉพาะ
- เข้ากันได้กับเครื่องมืออัตโนมัติใดๆ ที่มีอยู่ในตลาด
ประโยชน์เหล่านี้อธิบายได้ว่าทำไมการทดสอบแบบใช้คีย์เวิร์ดเป็นตัวขับเคลื่อนจึงเหมาะสมกับธุรกิจที่มีอายุการใช้งานยาวนาน การทดสอบอัตโนมัติ ห้องสวีท ค่าใช้จ่ายก็สำคัญเช่นกัน
ข้อจำกัดของการทดสอบที่ขับเคลื่อนด้วยคีย์เวิร์ด
กล้ามท้องtracข้อดีของการเขียนโค้ดทดสอบแบบใช้คีย์เวิร์ดคืออ่านง่าย แต่ข้อเสียคือทำให้การสร้างทดสอบมีค่าใช้จ่ายสูง ก่อนที่จะเริ่มการทดสอบครั้งแรก ใครสักคนต้องระบุคีย์เวิร์ด เขียนฟังก์ชันให้กับแต่ละคีย์เวิร์ด เชื่อมต่อกับคลังเก็บอ็อบเจ็กต์ และเขียนสคริปต์ควบคุม ซึ่งในโครงการขนาดเล็ก การตั้งค่าแบบนี้มีค่าใช้จ่ายมากกว่าการเขียนสคริปต์ทดสอบโดยตรงเสียอีก
ค่าใช้จ่ายในการบำรุงรักษาเป็นค่าใช้จ่ายลำดับที่สอง ไลบรารีถูกใช้ร่วมกันโดยทุกการทดสอบ ดังนั้นการแก้ไขที่ไม่ระมัดระวังเพียงครั้งเดียวก็อาจทำให้ชุดทดสอบทั้งหมดเสียหายได้ นอกจากนี้ไลบรารียังขยายตัวอย่างรวดเร็ว: ทีมต่างๆ เพิ่มไฟล์ที่ซ้ำกัน เช่น “Login”, “SignIn” และ “DoLogin”
- การลงทุนเริ่มต้นสูง – การออกแบบเฟรมเวิร์กและการใช้งานคีย์เวิร์ดจะดำเนินการก่อนการทดสอบใดๆ
- ลดความยืดหยุ่น – ผู้ทดสอบจะแสดงผลเฉพาะสิ่งที่คีย์เวิร์ดที่มีอยู่รองรับเท่านั้น ดังนั้นสถานการณ์ที่ผิดปกติจึงจำเป็นต้องมีการพัฒนาเพิ่มเติม
- ใช้งานยากสำหรับตรรกะที่ซับซ้อน – การแตกแขนงและวงวนจะต้านทานแถวตารางแบบเรียบ
- ทักษะยังคงเป็นสิ่งจำเป็น – เลเยอร์คีย์เวิร์ดไม่ต้องเขียนโค้ด แต่ไลบรารีฟังก์ชันต้องเขียนโค้ด
⚠️คำเตือน: Revตรวจสอบคลังคำหลักทุกครั้งที่มีการออกเวอร์ชันใหม่ และลบรายการที่ไม่ได้ใช้ คำศัพท์ที่ไม่มีการควบคุมเป็นสาเหตุที่พบบ่อยที่สุดที่ทำให้เฟรมเวิร์กที่ขับเคลื่อนด้วยคำหลักถูกละทิ้ง
ข้อแลกเปลี่ยนเหล่านี้เป็นปัจจัยสำคัญในการเปรียบเทียบดังต่อไปนี้
เฟรมเวิร์กแบบใช้คีย์เวิร์ด เทียบกับ เฟรมเวิร์กแบบใช้ข้อมูล เทียบกับ เฟรมเวิร์กแบบผสมผสาน
ขับเคลื่อนด้วยคีย์เวิร์ดและ การทดสอบที่ขับเคลื่อนด้วยข้อมูล แก้ปัญหาที่แตกต่างกัน เฟรมเวิร์กที่ขับเคลื่อนด้วยข้อมูลจะปรับเปลี่ยนอินพุตของสคริปต์ที่กำหนดไว้ ในขณะที่เฟรมเวิร์กที่ขับเคลื่อนด้วยคำหลักจะปรับเปลี่ยนขั้นตอน ตารางนี้แสดงโมเดลแบบผสมผสานที่ทีมองค์กรส่วนใหญ่ใช้
| แง่มุม | กรอบการทำงานที่ขับเคลื่อนด้วยคำหลัก | กรอบการทำงานที่ขับเคลื่อนด้วยข้อมูล | กรอบงานไฮบริด |
|---|---|---|---|
| สิ่งที่ถูกทำให้เป็นภายนอก | ขั้นตอนและการดำเนินการทดสอบ | ข้อมูลทดสอบเท่านั้น | ทั้งขั้นตอนและข้อมูล |
| ความพยายามในการวางแผน | ครอบคลุมและแม่นยำ | จำกัดเฉพาะข้อมูลและสคริปต์ | สูงสุด |
| ซ่อมบำรุง | ง่ายขึ้น ได้กล้ามหน้าท้องมากขึ้นtracชั้นการเรียงตัว | ยากขึ้นอีก กล้ามท้องtraction นั้นบางกว่า | ง่ายที่สุดเมื่อทำในระดับใหญ่ |
| จำเป็นต้องมีทักษะการเขียนโปรแกรม | สำหรับไลบรารีฟังก์ชันเท่านั้น | จำเป็นสำหรับทุกสคริปต์ | จำเป็นสำหรับชั้นแกนกลาง |
| สามารถเริ่มก่อนการก่อสร้างได้ | มี (ใบกำกับภาษีเต็มรูปแบบ) | ไม่ | มี (ใบกำกับภาษีเต็มรูปแบบ) |
ในทางปฏิบัติ รูปแบบทั้งสองจะผสมผสานกัน เฟรมเวิร์กแบบไฮบริดจะจัดเก็บขั้นตอนต่างๆ เป็นคำหลักและข้อมูลป้อนเข้าในแผ่นข้อมูล ซึ่งมักจะอยู่บนหลายหน้า โมเดลออบเจ็กต์เพจเลือกใช้การทดสอบแบบใช้คีย์เวิร์ดเมื่อมีผู้ทดสอบจำนวนมากเขียนการทดสอบ เลือกใช้การทดสอบแบบใช้ข้อมูลเมื่อกระบวนการทำงานหนึ่งต้องการข้อมูลป้อนเข้าจำนวนมาก และเลือกใช้การทดสอบแบบผสมผสานเมื่อใช้ได้ทั้งสองแบบ
เครื่องมือที่ใช้สำหรับการทดสอบที่ขับเคลื่อนด้วยคำหลัก
มีเครื่องมือหลายอย่างที่ใช้กันอย่างแพร่หลายสำหรับการทดสอบแบบใช้คีย์เวิร์ด โดยแต่ละเครื่องมือจะตีความตารางคีย์เวิร์ดแตกต่างกัน
- HP QTP – มาพร้อมกับมุมมองคีย์เวิร์ดในตัว ทำให้ชีตและไฟล์ทดสอบที่สามารถเรียกใช้งานได้เป็นไฟล์เดียวกัน
- Selenium – ไม่มีเลเยอร์คีย์เวิร์ดในตัว ดังนั้นทีมงานจึงต้องสร้างไลบรารีฟังก์ชันและสคริปต์ไดรเวอร์ด้วยตนเอง
- กรอบงานหุ่นยนต์ – เครื่องมือโอเพนซอร์สที่ออกแบบโดยใช้คำหลัก มีโครงสร้างข้อมูลแบบตาราง และมีคำหลักสำเร็จรูปมากมาย
- TestNG – มักใช้ควบคู่กัน Selenium เพื่อจัดลำดับวิธีการที่แมปด้วยคำหลักและสร้างรายงาน
รายการของเรา เครื่องมือทดสอบอัตโนมัติ ครอบคลุมถึงข้อกำหนดด้านลิขสิทธิ์และการสนับสนุนแพลตฟอร์มสำหรับแต่ละตัวเลือก

