การทดสอบที่ขับเคลื่อนด้วยข้อมูลคืออะไร? เรียนรู้การสร้าง Framework
การทดสอบที่ขับเคลื่อนด้วยข้อมูล
การทดสอบที่ขับเคลื่อนด้วยข้อมูล เป็นวิธีการทดสอบซอฟต์แวร์ที่เก็บข้อมูลการทดสอบในรูปแบบตารางหรือสเปรดชีต การทดสอบที่ขับเคลื่อนด้วยข้อมูลช่วยให้ผู้ทดสอบป้อนสคริปต์ทดสอบตัวเดียวที่สามารถดำเนินการทดสอบสำหรับข้อมูลการทดสอบทั้งหมดจากตารางและคาดหวังผลลัพธ์การทดสอบในตารางเดียวกัน เรียกอีกอย่างว่าการทดสอบที่ขับเคลื่อนด้วยตารางหรือการทดสอบแบบกำหนดพารามิเตอร์
กรอบการทำงานที่ขับเคลื่อนด้วยข้อมูล
กรอบการทำงานที่ขับเคลื่อนด้วยข้อมูล เป็นเฟรมเวิร์กการทดสอบอัตโนมัติซึ่งค่าอินพุตจะถูกอ่านจากไฟล์ข้อมูลและจัดเก็บไว้ในตัวแปรในสคริปต์ทดสอบ ช่วยให้ผู้ทดสอบสามารถสร้างกรณีทดสอบทั้งเชิงบวกและเชิงลบไว้ในการทดสอบเดียว ข้อมูลอินพุตในเฟรมเวิร์กที่ขับเคลื่อนด้วยข้อมูลสามารถจัดเก็บไว้ในแหล่งข้อมูลเดียวหรือหลายแหล่ง เช่น .xls, .xml, .csv และฐานข้อมูล
เหตุใดจึงต้องใช้การทดสอบที่ขับเคลื่อนด้วยข้อมูล
การทดสอบที่ขับเคลื่อนด้วยข้อมูล มีความสำคัญเนื่องจากผู้ทดสอบมักจะมีชุดข้อมูลหลายชุดสำหรับการทดสอบครั้งเดียว และการสร้างการทดสอบแยกกันสำหรับชุดข้อมูลแต่ละชุดอาจใช้เวลานาน การทดสอบที่ขับเคลื่อนด้วยข้อมูลช่วยเก็บข้อมูลแยกจากสคริปต์ทดสอบ และสามารถดำเนินการสคริปต์ทดสอบเดียวกันสำหรับการผสมผสานข้อมูลการทดสอบอินพุตที่แตกต่างกัน และสามารถสร้างผลการทดสอบได้อย่างมีประสิทธิภาพ
ตัวอย่าง:
ตัวอย่างเช่น เราต้องการทดสอบระบบเข้าสู่ระบบด้วยช่องป้อนข้อมูลหลายช่องพร้อมชุดข้อมูลที่แตกต่างกัน 1000 ชุด
หากต้องการทดสอบสิ่งนี้ คุณสามารถใช้วิธีการต่าง ๆ ดังต่อไปนี้:
แนวทางที่ 1) สร้างสคริปต์ 1000 สคริปต์สำหรับแต่ละชุดข้อมูล และทำการทดสอบแต่ละรายการแยกกัน
แนวทางที่ 2) เปลี่ยนค่าในสคริปต์ทดสอบด้วยตนเองและรันหลายครั้ง
แนวทางที่ 3) นำเข้าข้อมูลจากแผ่นงาน Excel ดึงข้อมูลทดสอบจากแถว Excel ทีละแถวและรันสคริปต์
ในสามสถานการณ์ที่กำหนด สองสถานการณ์แรกต้องใช้ความพยายามและใช้เวลานาน ดังนั้นจึงเป็นการดีที่จะปฏิบัติตามแนวทางที่สาม
ดังนั้นแนวทางที่สามจึงไม่ใช่อะไรนอกจากกรอบงานที่ขับเคลื่อนด้วยข้อมูล
วิธีสร้าง 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) ขั้นตอนแก้ไข Scrip เพื่อวนซ้ำข้อมูลทดสอบอินพุต คำสั่งอินพุตควรได้รับการกำหนดพารามิเตอร์ด้วย
// 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
- ใส่ชื่อผู้ใช้และรหัสผ่านไม่ถูกต้อง – เข้าสู่ระบบล้มเหลว
- กรอกชื่อผู้ใช้และรหัสผ่านให้ถูกต้อง - เข้าสู่ระบบล้มเหลว
- กรอกชื่อผู้ใช้และรหัสผ่านว่าง – การเข้าสู่ระบบล้มเหลว
และอื่น ๆ
แนวปฏิบัติที่ดีที่สุดของการทดสอบที่ขับเคลื่อนด้วยข้อมูล
ด้านล่างนี้คือแนวทางปฏิบัติในการทดสอบที่ดีที่สุดสำหรับการทดสอบที่ขับเคลื่อนด้วยข้อมูล:
- เหมาะอย่างยิ่งที่จะใช้ข้อมูลที่เป็นจริงในระหว่างกระบวนการทดสอบที่ขับเคลื่อนด้วยข้อมูล
- การนำทางขั้นตอนการทดสอบควรมีการเขียนโค้ดไว้ภายในสคริปต์ทดสอบ
- ขับเคลื่อน API เสมือนด้วยข้อมูลที่มีความหมาย
- ใช้ข้อมูลเพื่อขับเคลื่อนการยืนยันแบบไดนามิก
- ทดสอบผลลัพธ์เชิงบวกและเชิงลบ
- นำการทดสอบการทำงานที่ขับเคลื่อนด้วยข้อมูลมาใช้ใหม่เพื่อความปลอดภัยและประสิทธิภาพ
ข้อดีของการทดสอบที่ขับเคลื่อนด้วยข้อมูล
Data-Driven มีข้อดีหลายประการ ได้แก่:
- อนุญาตให้ทดสอบแอปพลิเคชันด้วยชุดข้อมูลหลายชุดในระหว่างการทดสอบการถดถอย
- ข้อมูลการทดสอบและข้อมูลการตรวจสอบสามารถจัดระเบียบได้ในไฟล์เดียว และแยกจากตรรกะของกรณีทดสอบ
- ขึ้นอยู่กับเครื่องมือนี้ เป็นไปได้ที่จะมีสคริปต์ทดสอบในพื้นที่เก็บข้อมูลเดียว ทำให้ข้อความง่ายต่อการเข้าใจ บำรุงรักษา และจัดการ
- การดำเนินการและฟังก์ชันสามารถนำมาใช้ซ้ำได้ในการทดสอบต่างๆ
- เครื่องมือบางอย่างจะสร้างข้อมูลการทดสอบโดยอัตโนมัติ สิ่งนี้มีประโยชน์เมื่อจำเป็นต้องมีข้อมูลการทดสอบแบบสุ่มจำนวนมาก ซึ่งจะช่วยประหยัดเวลา
- การทดสอบตามข้อมูลสามารถดำเนินการได้ในทุกขั้นตอนของการพัฒนา โดยทั่วไปการทดสอบตามข้อมูลจะรวมเข้าไว้ในกระบวนการเดียว อย่างไรก็ตาม การทดสอบตามข้อมูลสามารถใช้ในกรณีทดสอบหลายกรณีได้
- ช่วยให้นักพัฒนาและผู้ทดสอบสามารถแยกตรรกะของกรณีการทดสอบ/สคริปต์ออกจากข้อมูลการทดสอบได้อย่างชัดเจน
- กรณีทดสอบเดียวกันสามารถดำเนินการได้หลายครั้ง ซึ่งช่วยลดกรณีทดสอบและสคริปต์
- การเปลี่ยนแปลงใดๆ ในสคริปต์ทดสอบจะไม่ส่งผลต่อข้อมูลการทดสอบ
ข้อเสียของการทดสอบที่ขับเคลื่อนด้วยข้อมูล
ข้อเสียบางประการของวิธีการทดสอบอัตโนมัติที่ขับเคลื่อนด้วยข้อมูลคือ:
- คุณภาพของการทดสอบขึ้นอยู่กับทักษะอัตโนมัติของทีมผู้ดำเนินการ
- การตรวจสอบข้อมูลเป็นงานที่ใช้เวลานานเมื่อทำการทดสอบข้อมูลจำนวนมาก
- การบำรุงรักษาถือเป็นปัญหาใหญ่เนื่องจากต้องมีการเขียนโค้ดจำนวนมากสำหรับการทดสอบที่ขับเคลื่อนด้วยข้อมูล
- จำเป็นต้องมีทักษะทางเทคนิคระดับสูง ผู้ทดสอบอาจต้องเรียนรู้ภาษาสคริปต์ใหม่ทั้งหมด
- จะมีเอกสารเพิ่มเติม ส่วนใหญ่เกี่ยวข้องกับโครงสร้างพื้นฐานการทดสอบการจัดการสคริปต์และผลการทดสอบ
- จำเป็นต้องใช้โปรแกรมแก้ไขข้อความเช่น Notepad เพื่อสร้างและบำรุงรักษาไฟล์ข้อมูล
สรุป
- ขับเคลื่อนด้วยข้อมูลเป็นเฟรมเวิร์กการทดสอบอัตโนมัติซึ่งจัดเก็บข้อมูลการทดสอบในรูปแบบตารางหรือสเปรดชีต
- ในกรอบงานการทดสอบอัตโนมัติที่ขับเคลื่อนด้วยข้อมูล ข้อมูลอินพุตสามารถจัดเก็บไว้ในแหล่งข้อมูลเดียวหรือหลายแหล่ง เช่น xls XML, CSV และฐานข้อมูล
- การสร้างการทดสอบเฉพาะสำหรับชุดข้อมูลแต่ละชุดนั้นเป็นกระบวนการที่ใช้เวลานานและใช้เวลานาน กรอบงานการทดสอบที่ขับเคลื่อนด้วยข้อมูลแก้ไขปัญหานี้โดยเก็บข้อมูลแยกจากการทดสอบเชิงฟังก์ชัน
- ใน Data Driven Testing เป็นตัวเลือกที่เหมาะสมที่สุดในการใช้ข้อมูลที่เป็นจริง
- ช่วยให้สามารถทดสอบแอปพลิเคชันด้วยชุดข้อมูลหลายชุดในระหว่างนั้น การทดสอบการถดถอย
- ข้อเสียของวิธีนี้คือขึ้นอยู่กับทักษะการทำงานอัตโนมัติของทีมดำเนินการ