การทดสอบที่ขับเคลื่อนด้วยข้อมูลคืออะไร?
⚡ สรุปอย่างชาญฉลาด
การทดสอบแบบใช้ข้อมูลเป็นตัวขับเคลื่อน (Data Driven Testing) เป็นวิธีการทดสอบซอฟต์แวร์ที่จัดเก็บข้อมูลทดสอบไว้ในตารางหรือสเปรดชีต เพื่อให้สคริปต์เดียวสามารถตรวจสอบความถูกต้องของข้อมูลป้อนเข้าได้หลายชุด วิธีการนี้แยกตรรกะการทดสอบออกจากข้อมูล ลดการเขียนสคริปต์ซ้ำซ้อนและลดภาระในการบำรุงรักษา
การทดสอบที่ขับเคลื่อนด้วยข้อมูล
การทดสอบที่ขับเคลื่อนด้วยข้อมูล เป็นวิธีการทดสอบซอฟต์แวร์ที่เก็บข้อมูลการทดสอบในรูปแบบตารางหรือสเปรดชีต การทดสอบที่ขับเคลื่อนด้วยข้อมูลช่วยให้ผู้ทดสอบป้อนสคริปต์ทดสอบตัวเดียวที่สามารถดำเนินการทดสอบสำหรับข้อมูลการทดสอบทั้งหมดจากตารางและคาดหวังผลลัพธ์การทดสอบในตารางเดียวกัน เรียกอีกอย่างว่าการทดสอบที่ขับเคลื่อนด้วยตารางหรือการทดสอบแบบกำหนดพารามิเตอร์
กรอบการทำงานที่ขับเคลื่อนด้วยข้อมูล
กรอบการทำงานที่ขับเคลื่อนด้วยข้อมูล Data Driven Framework (DSC) คือเฟรมเวิร์กสำหรับการทดสอบอัตโนมัติ โดยค่าอินพุตจะถูกอ่านจากไฟล์ข้อมูลและจัดเก็บไว้ในตัวแปรในสคริปต์ทดสอบ เฟรมเวิร์กนี้ช่วยให้ผู้ทดสอบสามารถสร้างกรณีทดสอบทั้งเชิงบวกและเชิงลบได้ในการทดสอบเดียว ข้อมูลอินพุตในเฟรมเวิร์กแบบ Data Driven Framework สามารถจัดเก็บไว้ในแหล่งข้อมูลเดียวหรือหลายแหล่ง เช่น ไฟล์ .xls, .xml, .csv และฐานข้อมูล แผนภาพด้านล่างแสดงให้เห็นว่าค่าอินพุตไหลจากไฟล์ข้อมูลไปยังสคริปต์ทดสอบอย่างไร
เหตุใดจึงต้องใช้การทดสอบที่ขับเคลื่อนด้วยข้อมูล
การทดสอบที่ขับเคลื่อนด้วยข้อมูล การทดสอบแบบใช้ข้อมูลเป็นตัวขับเคลื่อนมีความสำคัญ เนื่องจากผู้ทดสอบมักมีชุดข้อมูลหลายชุดสำหรับการทดสอบเพียงครั้งเดียว และการสร้างการทดสอบแยกต่างหากสำหรับแต่ละชุดข้อมูลอาจเสียเวลา การทดสอบแบบใช้ข้อมูลเป็นตัวขับเคลื่อนช่วยให้ข้อมูลแยกออกจากสคริปต์การทดสอบ และสามารถใช้สคริปต์การทดสอบเดียวกันสำหรับชุดข้อมูลอินพุตที่แตกต่างกันได้ ในขณะที่ผลลัพธ์การทดสอบถูกสร้างขึ้นอย่างมีประสิทธิภาพ
ตัวอย่าง:
สมมติว่าเราต้องการทดสอบระบบล็อกอินที่มีช่องป้อนข้อมูลหลายช่องกับชุดข้อมูลที่แตกต่างกัน 1000 ชุด
เพื่อทดสอบเรื่องนี้ คุณสามารถใช้วิธีการต่างๆ ดังต่อไปนี้:
แนวทางที่ 1) สร้างสคริปต์ 1000 ชุด ชุดละหนึ่งชุดข้อมูล และเรียกใช้การทดสอบแต่ละครั้งแยกกันทีละชุด
แนวทางที่ 2) เปลี่ยนค่าในสคริปต์ทดสอบด้วยตนเองและรันหลายครั้ง
แนวทางที่ 3) นำเข้าข้อมูลจากไฟล์ Excel ดึงข้อมูลทดสอบจากแถวในไฟล์ Excel ทีละแถว แล้วเรียกใช้สคริปต์
ในบรรดาสามสถานการณ์ที่กำหนด สถานการณ์แรกและสถานการณ์ที่สองนั้นยุ่งยากและใช้เวลานาน ดังนั้นจึงควรเลือกใช้วิธีที่สาม
ดังนั้นแนวทางที่สามจึงไม่ใช่อะไรนอกจากกรอบงานที่ขับเคลื่อนด้วยข้อมูล
ประเภทของข้อมูลทดสอบในการทดสอบแบบใช้ข้อมูลเป็นตัวขับเคลื่อน
คุณค่าของการทดสอบที่ขับเคลื่อนด้วยข้อมูลขึ้นอยู่กับคุณภาพของชุดข้อมูลที่คุณป้อนเข้าสู่สคริปต์การทดสอบโดยตรง ไฟล์ข้อมูลที่ออกแบบมาอย่างดีจะผสมผสานข้อมูลทดสอบหลายประเภทเข้าด้วยกัน เพื่อให้สคริปต์เดียวสามารถตรวจสอบพฤติกรรมปกติ การจัดการข้อผิดพลาด และข้อจำกัดต่างๆ ได้ในการทำงานเพียงครั้งเดียว:
- ข้อมูลเชิงบวก (ถูกต้อง): การป้อนข้อมูลที่ถูกต้อง เช่น ชื่อผู้ใช้และรหัสผ่านที่ถูกต้อง จะถูกนำมาใช้เพื่อยืนยันว่าแอปพลิเคชันยอมรับสิ่งที่ควรยอมรับ
- ข้อมูลเชิงลบ (ไม่ถูกต้อง): ข้อมูลที่ป้อนผิดพลาดหรือผิดรูปแบบซึ่งควรถูกปฏิเสธ เช่น รหัสผ่านที่ไม่ถูกต้อง หรืออักขระพิเศษในช่องตัวเลข
- ข้อมูลขอบเขต: ค่าที่อยู่ขอบเขตของช่วงที่อนุญาต เช่น ชื่อผู้ใช้ที่มี 1 ตัวอักษร หรือ 255 ตัวอักษร ซึ่งมักจะเผยให้เห็นข้อบกพร่องที่ซ่อนอยู่
- ข้อมูลว่างเปล่าหรือค่าว่าง: ช่องว่างที่ใช้ตรวจสอบความถูกต้องของข้อมูลที่จำเป็นและข้อความแสดงข้อผิดพลาด
- ข้อมูลปริมาณมาก: ใช้ข้อมูลจำนวนมากหรือข้อมูลที่สร้างขึ้นแบบสุ่มเพื่อตรวจสอบประสิทธิภาพและความเสถียรภายใต้ภาระงานที่สมจริง
เมื่อเตรียมข้อมูลที่ถูกต้องเรียบร้อยแล้ว ขั้นตอนต่อไปคือการสร้างโครงสร้างพื้นฐานนั้นเอง
วิธีสร้าง Data Driven Automation Framework
สมมติว่าคุณต้องการทดสอบฟังก์ชันการเข้าสู่ระบบของแอปพลิเคชัน แผนผังด้านบนแสดงวงจรการทำงานทั้งหมด: ระบุกรณีทดสอบ เขียนสคริปต์ทดสอบทั่วไป ย้ายข้อมูลไปยังไฟล์ภายนอก และวนลูปสคริปต์กับข้อมูลแต่ละแถว
ขั้นตอน 1) ระบุกรณีทดสอบ
- ป้อนชื่อผู้ใช้และรหัสผ่านที่ถูกต้อง - เข้าสู่ระบบสำเร็จ
- ป้อนชื่อผู้ใช้และรหัสผ่านไม่ถูกต้อง – การเข้าสู่ระบบล้มเหลว
- กรอกชื่อผู้ใช้และรหัสผ่านไม่ถูกต้อง - การเข้าสู่ระบบล้มเหลว
ขั้นตอน 2) สร้างขั้นตอนการทดสอบโดยละเอียดสำหรับกรณีทดสอบ 3 กรณีข้างต้น
| กรณีทดสอบ# | Descriptไอออน | ขั้นตอนการทดสอบ | ข้อมูลการทดสอบ | ผลลัพธ์ที่คาดหวัง |
|---|---|---|---|---|
| 1 | ตรวจสอบการเข้าสู่ระบบเพื่อดูข้อมูลรับรองที่ถูกต้อง |
|
ชื่อผู้ใช้: รหัสผ่านที่ถูกต้อง: ถูกต้อง | เข้าสู่ระบบสำเร็จ |
| 2 | ตรวจสอบการเข้าสู่ระบบเพื่อดูข้อมูลรับรองที่ไม่ถูกต้อง |
|
ชื่อผู้ใช้: รหัสผ่านไม่ถูกต้อง: ถูกต้อง | เข้าสู่ระบบล้มเหลว |
| 3 | ตรวจสอบการเข้าสู่ระบบเพื่อดูข้อมูลรับรองที่ไม่ถูกต้อง |
|
ชื่อผู้ใช้: รหัสผ่านที่ถูกต้อง: ไม่ถูกต้อง | เข้าสู่ระบบล้มเหลว |
ขั้นตอน 3) สร้างสคริปต์ทดสอบ
หากสังเกตดู ขั้นตอนการทดสอบจะเหมือนกันในทั้ง 3 กรณีทดสอบ คุณจำเป็นต้องสร้างสคริปต์ทดสอบเพื่อดำเนินการตามขั้นตอนเหล่านี้:
// This is Pseudo Code
// Test Step 1: Launch Application
driver.get("URL of the Application");
// Test Step 2: Enter Username
txtbox_username.sendKeys("valid");
// Test Step 3: Enter Password
txtbox_password.sendKeys("invalid");
// Test Step 4: Check Results
If (Next Screen) print success else Fail
ขั้นตอน 4) สร้างไฟล์ Excel/CSV ด้วยข้อมูลทดสอบที่ป้อนเข้าไป ดังแสดงในตัวอย่างด้านล่าง
ขั้นตอน 5) แก้ไขสคริปต์ให้วนลูปตามข้อมูลทดสอบที่ป้อนเข้ามา คำสั่งป้อนข้อมูลควรมีการกำหนดพารามิเตอร์ด้วย
// This is Pseudo Code
// Loop 3 Times
for (i = 0; i & lt; = 3; i++) {
// Read data from Excel and store into variables
int input_1 = ReadExcel(i, 0);
int input_2 = ReadExcel(i, 1);
// Test Step 1: Launch Application
driver.get("URL of the Application");
// Test Step 2: Enter Username
txtbox_username.sendKeys(input_1);
// Test Step 3: Enter Password
txtbox_password.sendKeys(input_2);
// Test Step 4: Check Results
If(Next Screen) print success
else Fail
}
ด้านบนเป็นเพียงกรณีทดสอบ 3 กรณี สคริปต์ทดสอบสามารถใช้เพื่อวนซ้ำกรณีทดสอบต่อไปนี้ได้โดยการผนวกค่าข้อมูลทดสอบเข้าไป Excel
- ใส่ชื่อผู้ใช้และรหัสผ่านไม่ถูกต้อง – เข้าสู่ระบบล้มเหลว
- กรอกชื่อผู้ใช้และรหัสผ่านให้ถูกต้อง - เข้าสู่ระบบล้มเหลว
- กรอกชื่อผู้ใช้และรหัสผ่านว่าง – การเข้าสู่ระบบล้มเหลว
และอื่น ๆ
💡เคล็ดลับ Pro: บันทึกผลลัพธ์ที่คาดหวังสำหรับแต่ละแถวลงในไฟล์ข้อมูลเดียวกันกับข้อมูลป้อนเข้า จากนั้นสคริปต์ของคุณจะสามารถเปรียบเทียบผลลัพธ์จริงและผลลัพธ์ที่คาดหวังได้โดยอัตโนมัติ ทำให้ไฟล์ข้อมูลกลายเป็นชุดทดสอบที่สมบูรณ์และตรวจสอบตัวเองได้
เมื่อโครงสร้างพื้นฐานของคุณพร้อมแล้ว เครื่องมือที่เหมาะสมจะช่วยให้การจัดการข้อมูล การดำเนินการ และการรายงานง่ายขึ้น
เครื่องมือทดสอบที่ขับเคลื่อนด้วยข้อมูลที่ดีที่สุด
1) ทดสอบซิกมา
ทดสอบซิกมา เป็นแพลตฟอร์มการทดสอบที่ขับเคลื่อนด้วยข้อมูลบนระบบคลาวด์ ซึ่งผมพบว่ามีคุณค่าอย่างยิ่งในการเพิ่มความครอบคลุมของการทดสอบให้สูงสุด โดยการแยกตรรกะการทดสอบออกจากข้อมูลการทดสอบ แพลตฟอร์มนี้ได้รับการออกแบบมาโดยเฉพาะสำหรับทีมที่ต้องการตรวจสอบความถูกต้องของแอปพลิเคชันกับชุดข้อมูลที่หลากหลาย กรณีพิเศษ และสถานการณ์ทางธุรกิจ โดยไม่ต้องสร้างสคริปต์การทดสอบที่ซ้ำซ้อน ทำให้เวิร์กโฟลว์การทดสอบที่ขับเคลื่อนด้วยข้อมูลทั้งหมดมีความคล่องตัวมากขึ้น
ในโครงการทดสอบที่ขับเคลื่อนด้วยข้อมูลของฉัน ฉันได้ใช้ประโยชน์จากความสามารถในการกำหนดพารามิเตอร์ของ Testsigma เพื่อดำเนินการทดสอบสถานการณ์เดียวกันกับชุดข้อมูลหลายชุดจากแหล่งข้อมูลภายนอก เช่น ไฟล์ Excel และ CSV ความสามารถของแพลตฟอร์มในการวนซ้ำผ่านแถวข้อมูลโดยอัตโนมัติช่วยขยายขอบเขตการทดสอบของฉันได้อย่างมาก ในขณะที่การรายงานผลลัพธ์ในระดับข้อมูลอย่างละเอียดช่วยให้ฉันสามารถระบุได้อย่างรวดเร็วว่าชุดข้อมูลอินพุตใดที่ทำให้เกิดความล้มเหลวในเลเยอร์เว็บ มือถือ และ API
สิ่งอำนวยความสะดวก:
- การบูรณาการแหล่งข้อมูลภายนอก: คุณสมบัตินี้ช่วยให้สามารถเชื่อมต่อโดยตรงกับสเปรดชีต Excel ไฟล์ CSV และตารางฐานข้อมูลเพื่อการจัดการข้อมูลทดสอบแบบรวมศูนย์ ช่วยขจัดค่าคงที่และช่วยให้คุณสามารถดูแลรักษาข้อมูลทดสอบได้อย่างอิสระจากตรรกะการทดสอบ คุณสามารถอัปเดตชุดข้อมูลได้โดยไม่ต้องแก้ไขสคริปต์การทดสอบ ทำให้มีความยืดหยุ่นและบำรุงรักษาได้ง่าย ฉันใช้คุณสมบัตินี้ในการจัดการข้อมูลหลายร้อยรูปแบบได้อย่างมีประสิทธิภาพในขณะที่ยังคง...ping สถานการณ์ทดสอบสะอาดและนำกลับมาใช้ใหม่ได้
- การวนซ้ำข้อมูลหลายแถวอัตโนมัติ: Testsigma จะทำการทดสอบโดยอัตโนมัติกับข้อมูลหลายแถวในการทดสอบครั้งเดียว ซึ่งช่วยเพิ่มความครอบคลุมได้อย่างมาก คุณสามารถตรวจสอบความถูกต้องของชุดข้อมูลอินพุต เงื่อนไขขอบเขต และกฎทางธุรกิจที่หลากหลายได้โดยไม่ต้องสร้างกรณีทดสอบซ้ำ คุณสมบัตินี้จัดการลำดับข้อมูลและตรรกะการวนซ้ำอย่างโปร่งใส ผมพบว่าคุณสมบัตินี้มีประสิทธิภาพเป็นพิเศษสำหรับการทดสอบการถดถอยอย่างครอบคลุมโดยมีค่าใช้จ่ายในการบำรุงรักษาสคริปต์น้อยที่สุด
- การกำหนดค่าพารามิเตอร์ขั้นตอนการทดสอบแบบไดนามิก: คุณสมบัตินี้ช่วยให้คุณแทนที่ค่าคงที่ด้วยพารามิเตอร์แบบไดนามิกที่ดึงข้อมูลจากแหล่งภายนอกระหว่างการทำงาน คุณสามารถกำหนดค่าขั้นตอนการทดสอบเพื่อปรับให้เข้ากับอินพุต เงื่อนไข และผลลัพธ์ที่คาดหวังที่แตกต่างกันไปตามค่าของชุดข้อมูล คุณสมบัตินี้รองรับการแปลงข้อมูลที่ซับซ้อนและตรรกะแบบมีเงื่อนไข ผมใช้มันเพื่อสร้างสถานการณ์ทดสอบที่ยืดหยุ่นซึ่งรองรับความต้องการทางธุรกิจและขั้นตอนการทำงานของผู้ใช้ที่หลากหลาย
- การรายงานผลการดำเนินการในระดับข้อมูล: แพลตฟอร์มนี้สร้างรายงานโดยละเอียดที่แยกผลการทดสอบตามชุดข้อมูลแต่ละชุด แสดงให้เห็นอย่างชัดเจนว่าข้อมูลป้อนเข้าใดผ่านหรือล้มเหลว คุณสามารถวิเคราะห์รูปแบบ ระบุช่วงข้อมูลที่มีปัญหา และ tracข้อผิดพลาดที่เกิดขึ้นกับแถวข้อมูลเฉพาะ ฟีเจอร์นี้มีแดชบอร์ดแบบภาพและข้อมูลวิเคราะห์ที่สามารถส่งออกได้สำหรับการสื่อสารกับผู้มีส่วนได้ส่วนเสีย ฉันขอแนะนำให้ใช้ข้อมูลเชิงลึกเหล่านี้เพื่อจัดลำดับความสำคัญในการปรับปรุงคุณภาพข้อมูลและปรับปรุงกลยุทธ์ข้อมูลทดสอบให้ดียิ่งขึ้น
- การสนับสนุนข้อมูลแบบข้ามแพลตฟอร์ม: Testsigma ขยายขีดความสามารถในการทดสอบโดยใช้ข้อมูลเป็นหลักไปสู่การทดสอบเว็บ มือถือ และ API ภายในเวิร์กโฟลว์ที่เป็นหนึ่งเดียว คุณสามารถใช้ชุดข้อมูลเดียวกันเพื่อตรวจสอบความสอดคล้องในเลเยอร์และเทคโนโลยีต่างๆ ของแอปพลิเคชัน คุณสมบัตินี้ช่วยให้มั่นใจได้ถึงการตรวจสอบความถูกต้องแบบครบวงจรตั้งแต่ต้นจนจบด้วยการไหลของข้อมูลแบบพารามิเตอร์ ผมใช้มันเพื่อตรวจสอบว่าการประมวลผลข้อมูลแบ็กเอนด์แสดงผลในส่วนติดต่อผู้ใช้ด้านหน้าได้อย่างถูกต้องบนหลายแพลตฟอร์มพร้อมกัน
ข้อดี
จุดด้อย
ราคา:
- ราคา: ราคาที่กำหนดเองพร้อมความสามารถในการทดสอบที่ขับเคลื่อนด้วยข้อมูล ซึ่งรวมอยู่ในแผนการสมัครสมาชิกแบบครบวงจร
- ทดลองฟรี: ทดลองใช้ฟรี 14 วัน
ทดลองใช้ฟรี 14 วัน
2) Testiny
Testiny เป็นแพลตฟอร์มการจัดการกรณีทดสอบบนคลาวด์ที่ทันสมัย ซึ่งผมใช้ในการจัดระเบียบกรณีทดสอบที่ขับเคลื่อนด้วยข้อมูลได้อย่างมีประสิทธิภาพ ในขณะเดียวกันก็รักษา...ping มีการแยกส่วนที่ชัดเจนระหว่างตรรกะการทดสอบและชุดข้อมูลที่มีพารามิเตอร์ ออกแบบมาสำหรับทีมที่ต้องการจัดการชุดข้อมูลที่หลากหลายในการทดสอบหลายครั้งโดยไม่สูญเสียประสิทธิภาพ tracความสามารถ
ขณะดำเนินโครงการที่ขับเคลื่อนด้วยข้อมูลด้วย Testinyฉันประทับใจฟีเจอร์การแก้ไขแบบกลุ่มและเทมเพลตที่ทำให้การทดสอบความหลากหลายในข้อมูลหลายร้อยแถวทำได้ง่าย แพลตฟอร์มนี้ทำงานร่วมกับ Jira, GitHub และ GitLab ได้ ทำให้ชุดข้อมูลที่ล้มเหลวเชื่อมโยงกลับไปยังปัญหา trackers โดยอัตโนมัติ
สิ่งอำนวยความสะดวก:
- การแก้ไขกรณีทดสอบจำนวนมาก: Testiny ช่วยให้คุณแก้ไข คัดลอก และกำหนดพารามิเตอร์ให้กับกรณีทดสอบจำนวนมากพร้อมกัน ซึ่งช่วยเร่งความเร็วในการสร้างตัวแปรที่ขับเคลื่อนด้วยข้อมูล คุณสามารถใช้การเปลี่ยนแปลงข้ามโฟลเดอร์ได้ในไม่กี่วินาทีโดยไม่ต้องแก้ไขแต่ละกรณีทีละรายการ ฉันใช้ฟังก์ชันนี้เมื่อขยายขอบเขตการครอบคลุมไปยังชุดข้อมูลใหม่โดยไม่ต้องเขียนสคริปต์ใหม่
- ช่องข้อมูลที่กำหนดเองสำหรับการป้อนข้อมูล: ฟังก์ชันนี้ช่วยให้คุณกำหนดฟิลด์ที่กำหนดเองสำหรับแต่ละโปรเจกต์ได้ ดังนั้นคุณลักษณะของชุดข้อมูลจึงสามารถกำหนดได้ tracบันทึกไว้ควบคู่ไปกับการทดสอบแต่ละครั้ง คุณสามารถบันทึกค่าอินพุต ผลลัพธ์ที่คาดหวัง และเงื่อนไขต่างๆ ได้อย่างชัดเจนในที่เดียว ฉันใช้ช่องเหล่านี้เพื่อให้ตรวจสอบสถานการณ์ที่มีพารามิเตอร์ซับซ้อนได้ง่ายในภายหลัง
- การทดสอบแบบเรียลไทม์ Tracking: แพลตฟอร์มนี้แสดงสถานะการดำเนินการแบบเรียลไทม์แก่สมาชิกในทีม ทำให้การทดสอบที่ขับเคลื่อนด้วยข้อมูลมีความโปร่งใส คุณสามารถมอบหมายเคส ตรวจสอบเปอร์เซ็นต์การผ่าน/ไม่ผ่าน และระบุชุดข้อมูลที่ติดขัดได้ทันทีที่เกิดขึ้น ฉันพบว่าสิ่งนี้มีประโยชน์สำหรับการรักษาความโปร่งใสping หัวหน้าฝ่ายควบคุมคุณภาพได้รับแจ้งข้อมูลโดยไม่ต้องมีการประชุมรายงานความคืบหน้าอย่างต่อเนื่อง
- รายงานในรูปแบบ PDF และรายงานที่สามารถแชร์ได้: Testiny สร้างรายงาน PDF ที่สวยงามพร้อมแผนภูมิและสรุปผลการดำเนินงานที่คุณสามารถแชร์กับผู้มีส่วนได้ส่วนเสียที่ไม่ใช่ผู้เชี่ยวชาญด้านเทคนิคได้ คุณสามารถกรองตามชุดข้อมูล เหตุการณ์สำคัญ หรือเวอร์ชันได้ ฉันส่งรายงานเหล่านี้ออกไปเมื่อสิ้นสุดแต่ละสปรินต์เพื่อสื่อสารสถานะคุณภาพ
- ปัญหาพื้นเมือง Tracการผสานรวม ker: มันเชื่อมต่อกับ Jira, GitHub, GitLab, Azure เดวิออปส์, เชิงเส้น, Asanaโดยใช้ Confluence, Trello และ monday.com เพื่อแปลงแถวข้อมูลที่ล้มเหลวให้เป็นตั๋วได้อย่างรวดเร็ว คุณสามารถรักษาความสอดคล้องระหว่างการดำเนินการทดสอบและเวิร์กโฟลว์ทางวิศวกรรมได้ ฉันสังเกตเห็นว่าสิ่งนี้ช่วยลดความขัดแย้งในการส่งต่อระหว่างทีม QA และทีมพัฒนาได้อย่างมาก
ข้อดี
จุดด้อย
ราคา:
- ราคา: แพ็กเกจฟรีสำหรับผู้ใช้สูงสุด 3 คน; แพ็กเกจแบบชำระเงินจะเพิ่มจำนวนผู้ใช้และเพิ่มบริการสนับสนุนระดับพรีเมียม
- ทดลองฟรี: ทดลองใช้ฟรี 21 วัน
ทดลองใช้ฟรี 21 วัน
3) Testpad
Testpad เป็นเครื่องมือจัดการทดสอบแบบใช้เช็คลิสต์ที่มีน้ำหนักเบา ซึ่งผมใช้เป็นประจำเมื่อต้องการบันทึกสถานการณ์ที่ขับเคลื่อนด้วยข้อมูลอย่างรวดเร็วโดยไม่ต้องมีขั้นตอนยุ่งยาก มันถูกสร้างขึ้นโดยใช้เช็คลิสต์แบบลำดับชั้น เพื่อให้ผู้ทดสอบสามารถจัดกลุ่มข้อมูลที่แตกต่างกันภายใต้กรณีหลักและดำเนินการได้อย่างรวดเร็ว
ระหว่างการประชุมที่ขับเคลื่อนด้วยข้อมูลของฉันกับ Testpadฉันใช้ส่วนต่อประสานผู้ใช้ที่เน้นการใช้แป้นพิมพ์เป็นหลักในการจำลองรูปแบบการป้อนข้อมูลหลายสิบแบบในครั้งเดียว การสนับสนุนผู้ทดสอบแบบแขกช่วยให้ฉันสามารถเชิญผู้เชี่ยวชาญในสาขาต่างๆ มาตรวจสอบความถูกต้องของชุดข้อมูลกรณีพิเศษได้โดยไม่ต้องเสียค่าใช้จ่ายเพิ่มเติมสำหรับที่นั่งทดสอบ
สิ่งอำนวยความสะดวก:
- รายการตรวจสอบการทดสอบแบบลำดับชั้น: Testpad โปรแกรมนี้จัดระเบียบการทดสอบแบบพารามิเตอร์ไว้ในรายการตรวจสอบแบบซ้อนกัน เพื่อให้คุณสามารถจัดกลุ่มข้อมูลที่มีความแตกต่างกันภายใต้กรณีหลักเดียวกันได้ คุณสามารถขยายและยุบสาขาเพื่อเน้นที่ชุดข้อมูลเฉพาะได้ ฉันใช้โปรแกรมนี้เพื่อทำให้เมทริกซ์ข้อมูลที่ซับซ้อนดูเรียบร้อยขึ้น
- การแก้ไขโดยใช้แป้นพิมพ์: โปรแกรมนี้ช่วยให้คุณสร้าง จัดย่อหน้า และจัดลำดับรายการทดสอบใหม่ได้ด้วยปุ่มลัดบนแป้นพิมพ์ ทำให้การสร้างแผนงานขนาดใหญ่ที่ขับเคลื่อนด้วยข้อมูลทำได้อย่างรวดเร็ว คุณสามารถทำงานได้อย่างต่อเนื่องโดยไม่ต้องเอื้อมมือไปหยิบเมาส์ ผมพบว่าวิธีนี้ช่วยลดเวลาในการบันทึกแถวข้อมูลชุดใหม่ได้อย่างมาก
- สิทธิ์การเข้าถึงสำหรับผู้ทดสอบภายนอก: Testpad รองรับผู้ทดสอบภายนอกได้ไม่จำกัดจำนวนโดยไม่มีค่าใช้จ่ายต่อที่นั่ง คุณจึงสามารถเชิญผู้เชี่ยวชาญเฉพาะด้านมาทดสอบข้อมูลเฉพาะได้ คุณสามารถเชิญผู้มีส่วนได้ส่วนเสียมาตรวจสอบกรณีพิเศษได้โดยไม่ต้องเสียค่าใช้จ่ายด้านลิขสิทธิ์ ฉันใช้ฟังก์ชันนี้ในระหว่างการทดสอบการยอมรับของผู้ใช้ด้วยสถานการณ์จำลองที่มีพารามิเตอร์
- รายงานที่แชร์ได้ทันที: แพลตฟอร์มนี้สร้างรายงานขนาดเล็กที่คุณสามารถแชร์ผ่านลิงก์ได้ ทำให้เห็นความคืบหน้าโดยไม่ต้องเปิดเครื่องมือ คุณสามารถกรองตามผู้ทดสอบ สถานะ หรือสาขาการทดสอบได้ ฉันส่งรายงานเหล่านี้ให้ผู้จัดการผลิตภัณฑ์เมื่อสิ้นสุดการทดสอบที่ขับเคลื่อนด้วยข้อมูลแต่ละครั้ง
- »ÑËÒ Tracการเชื่อมโยง ker: มันเชื่อมโยงการทดสอบที่ล้มเหลวกับตั๋วใน Jira หรือ GitHub ผ่านลิงก์ง่ายๆ เพื่อให้ข้อผิดพลาดของข้อมูลถูกส่งไปยังทีมวิศวกรรมได้อย่างรวดเร็ว คุณสามารถแนบบริบทได้โดยตรงจากรายการตรวจสอบที่ล้มเหลว ช่วยให้ผู้ทดสอบมุ่งเน้นไปที่การดำเนินการ ในขณะที่ปล่อยให้เครื่องมือจัดการการส่งต่อ
ข้อดี
จุดด้อย
ราคา:
- ราคา: แพ็คเกจเริ่มต้นที่ 59 ดอลลาร์ต่อเดือน พร้อมแพ็คเกจสำหรับองค์กรขนาดใหญ่ที่สามารถปรับแต่งได้ตามต้องการ
- ทดลองฟรี: ทดลองใช้ฟรี 30 วัน
ทดลองใช้ฟรี 30 วัน
แนวปฏิบัติที่ดีที่สุดของการทดสอบที่ขับเคลื่อนด้วยข้อมูล
ต่อไปนี้คือแนวทางปฏิบัติที่ดีที่สุดสำหรับการทดสอบแบบใช้ข้อมูลเป็นหลัก:
- เหมาะอย่างยิ่งที่จะใช้ข้อมูลที่เป็นจริงในระหว่างกระบวนการทดสอบที่ขับเคลื่อนด้วยข้อมูล
- การนำทางขั้นตอนการทดสอบควรมีการเขียนโค้ดไว้ภายในสคริปต์ทดสอบ
- ขับเคลื่อน API เสมือนด้วยข้อมูลที่มีความหมาย
- ใช้ข้อมูลเพื่อขับเคลื่อนการยืนยันแบบไดนามิก
- ทดสอบผลลัพธ์เชิงบวกและเชิงลบ
- นำการทดสอบการทำงานที่ขับเคลื่อนด้วยข้อมูลมาใช้ใหม่เพื่อความปลอดภัยและประสิทธิภาพ
ข้อดีของการทดสอบที่ขับเคลื่อนด้วยข้อมูล
การทดสอบโดยใช้ข้อมูลเป็นหลักมีข้อดีหลายประการ บางส่วนได้แก่:
- ช่วยให้สามารถทดสอบแอปพลิเคชันด้วยชุดข้อมูลหลายชุดได้ในระหว่าง การทดสอบการถดถอย
- ข้อมูลการทดสอบและข้อมูลการตรวจสอบสามารถจัดระเบียบได้ในไฟล์เดียว และแยกจากตรรกะของกรณีทดสอบ
- เครื่องมือนี้ช่วยให้สามารถรวบรวมสคริปต์ทดสอบไว้ในที่เก็บเดียว ทำให้การทดสอบเข้าใจง่าย บำรุงรักษาง่าย และจัดการได้ง่าย
- การดำเนินการและฟังก์ชันสามารถนำมาใช้ซ้ำได้ในการทดสอบต่างๆ
- เครื่องมือบางอย่างสร้างข้อมูลทดสอบโดยอัตโนมัติ ซึ่งมีประโยชน์เมื่อต้องการข้อมูลทดสอบแบบสุ่มจำนวนมาก ช่วยประหยัดเวลาได้
- การทดสอบโดยใช้ข้อมูลเป็นหลักสามารถดำเนินการได้ในทุกขั้นตอนของการพัฒนา โดยทั่วไปแล้วกรณีทดสอบที่ใช้ข้อมูลเป็นหลักจะถูกรวมเข้าไว้ในกระบวนการเดียว อย่างไรก็ตาม สามารถใช้ในกรณีทดสอบหลายกรณีได้เช่นกัน
- ช่วยให้นักพัฒนาและผู้ทดสอบสามารถแยกตรรกะของกรณีการทดสอบ/สคริปต์ออกจากข้อมูลการทดสอบได้อย่างชัดเจน
- สามารถเรียกใช้กรณีทดสอบเดียวกันได้หลายครั้ง ซึ่งช่วยลดจำนวนกรณีทดสอบและสคริปต์ลงได้
- การเปลี่ยนแปลงใดๆ ในสคริปต์ทดสอบจะไม่ส่งผลกระทบต่อข้อมูลทดสอบ
ข้อเสียของการทดสอบที่ขับเคลื่อนด้วยข้อมูล
ข้อเสียบางประการของวิธีการทดสอบอัตโนมัติที่ขับเคลื่อนด้วยข้อมูลคือ:
- คุณภาพของการทดสอบขึ้นอยู่กับทักษะการทำงานอัตโนมัติของทีมผู้ดำเนินการ
- การตรวจสอบความถูกต้องของข้อมูลเป็นงานที่ใช้เวลานานเมื่อต้องทดสอบข้อมูลจำนวนมาก
- การบำรุงรักษาเป็นปัญหาใหญ่ เนื่องจากต้องใช้การเขียนโค้ดจำนวนมากสำหรับการทดสอบแบบขับเคลื่อนด้วยข้อมูล
- จำเป็นต้องมีทักษะทางเทคนิคระดับสูง ผู้ทดสอบอาจต้องเรียนรู้ภาษาสคริปต์ใหม่ทั้งหมด
- จะมีเอกสารเพิ่มเติมอีกจำนวนมาก โดยส่วนใหญ่เกี่ยวข้องกับการจัดการสคริปต์ โครงสร้างพื้นฐานการทดสอบ และผลการทดสอบ
- จำเป็นต้องใช้โปรแกรมแก้ไขข้อความเช่น Notepad เพื่อสร้างและบำรุงรักษาไฟล์ข้อมูล
การทดสอบที่ขับเคลื่อนด้วยข้อมูล เทียบกับ การทดสอบที่ขับเคลื่อนด้วยคีย์เวิร์ด
ผู้เริ่มต้นมักสับสนระหว่างการทดสอบที่ขับเคลื่อนด้วยข้อมูลกับการทดสอบที่ขับเคลื่อนด้วยคีย์เวิร์ด เนื่องจากทั้งสองวิธีแยกการออกแบบการทดสอบออกจากสคริปต์การทดสอบ ความแตกต่างอยู่ที่สิ่งที่ถูกแยกออกมา: การทดสอบที่ขับเคลื่อนด้วยข้อมูลจะแยกค่าอินพุตออกมา ในขณะที่การทดสอบที่ขับเคลื่อนด้วยคีย์เวิร์ดจะแยกการกระทำออกมาเป็นคีย์เวิร์ดที่สามารถนำกลับมาใช้ใหม่ได้ ตารางด้านล่างนี้เปรียบเทียบวิธีการทั้งสอง:
| พารามิเตอร์ | การทดสอบที่ขับเคลื่อนด้วยข้อมูล | การทดสอบที่ขับเคลื่อนด้วยคำหลัก |
|---|---|---|
| สิ่งที่ถูกทำให้เป็นภายนอก | ข้อมูลทดสอบ (ข้อมูลป้อนเข้าและผลลัพธ์ที่คาดหวัง) | ทดสอบการกระทำ (คำหลัก เช่น เข้าสู่ระบบ คลิก ยืนยัน) |
| แหล่งข้อมูล | ไฟล์ Excel, CSV, XML หรือตารางฐานข้อมูล | ตารางคำหลัก พร้อมตารางข้อมูลเพิ่มเติม (ถ้ามี) |
| ทักษะที่จำเป็น | ความรู้ด้านการเขียนสคริปต์ระดับปานกลาง | ต้องใช้ความพยายามในการออกแบบเริ่มต้นมากขึ้น แต่ใช้โค้ดน้อยลงในการสร้างการทดสอบใหม่ |
| เหมาะที่สุดสำหรับ | การทำซ้ำสถานการณ์หนึ่งด้วยชุดข้อมูลป้อนเข้าหลายแบบ | สร้างสถานการณ์ต่างๆ มากมายจากบล็อกการกระทำที่นำกลับมาใช้ซ้ำได้ |
| ซ่อมบำรุง | อัปเดตไฟล์ข้อมูลโดยไม่ต้องแก้ไขสคริปต์ | อัปเดตคลังคำหลักเมื่อพฤติกรรมของแอปพลิเคชันเปลี่ยนแปลง |
หลายทีมนำทั้งสองแนวทางมาผสมผสานกันเป็นกรอบการทำงานแบบไฮบริด โดยที่คำหลักจะกำหนดการกระทำที่นำกลับมาใช้ซ้ำได้ และไฟล์ข้อมูลภายนอกจะให้ค่าสำหรับแต่ละการทดสอบ







