การทดสอบที่ขับเคลื่อนด้วยข้อมูลคืออะไร? เรียนรู้การสร้าง Framework

การทดสอบที่ขับเคลื่อนด้วยข้อมูล

การทดสอบที่ขับเคลื่อนด้วยข้อมูล เป็นวิธีการทดสอบซอฟต์แวร์ที่เก็บข้อมูลการทดสอบในรูปแบบตารางหรือสเปรดชีต การทดสอบที่ขับเคลื่อนด้วยข้อมูลช่วยให้ผู้ทดสอบป้อนสคริปต์ทดสอบตัวเดียวที่สามารถดำเนินการทดสอบสำหรับข้อมูลการทดสอบทั้งหมดจากตารางและคาดหวังผลลัพธ์การทดสอบในตารางเดียวกัน เรียกอีกอย่างว่าการทดสอบที่ขับเคลื่อนด้วยตารางหรือการทดสอบแบบกำหนดพารามิเตอร์

กรอบการทำงานที่ขับเคลื่อนด้วยข้อมูล

กรอบการทำงานที่ขับเคลื่อนด้วยข้อมูล เป็นเฟรมเวิร์กการทดสอบอัตโนมัติซึ่งค่าอินพุตจะถูกอ่านจากไฟล์ข้อมูลและจัดเก็บไว้ในตัวแปรในสคริปต์ทดสอบ ช่วยให้ผู้ทดสอบสามารถสร้างกรณีทดสอบทั้งเชิงบวกและเชิงลบไว้ในการทดสอบเดียว ข้อมูลอินพุตในเฟรมเวิร์กที่ขับเคลื่อนด้วยข้อมูลสามารถจัดเก็บไว้ในแหล่งข้อมูลเดียวหรือหลายแหล่ง เช่น .xls, .xml, .csv และฐานข้อมูล

กรอบการทำงานที่ขับเคลื่อนด้วยข้อมูล

เหตุใดจึงต้องใช้การทดสอบที่ขับเคลื่อนด้วยข้อมูล

การทดสอบที่ขับเคลื่อนด้วยข้อมูล มีความสำคัญเนื่องจากผู้ทดสอบมักจะมีชุดข้อมูลหลายชุดสำหรับการทดสอบครั้งเดียว และการสร้างการทดสอบแยกกันสำหรับชุดข้อมูลแต่ละชุดอาจใช้เวลานาน การทดสอบที่ขับเคลื่อนด้วยข้อมูลช่วยเก็บข้อมูลแยกจากสคริปต์ทดสอบ และสามารถดำเนินการสคริปต์ทดสอบเดียวกันสำหรับการผสมผสานข้อมูลการทดสอบอินพุตที่แตกต่างกัน และสามารถสร้างผลการทดสอบได้อย่างมีประสิทธิภาพ

ตัวอย่าง:

ตัวอย่างเช่น เราต้องการทดสอบระบบเข้าสู่ระบบด้วยช่องป้อนข้อมูลหลายช่องพร้อมชุดข้อมูลที่แตกต่างกัน 1000 ชุด

หากต้องการทดสอบสิ่งนี้ คุณสามารถใช้วิธีการต่าง ๆ ดังต่อไปนี้:

แนวทางที่ 1) สร้างสคริปต์ 1000 สคริปต์สำหรับแต่ละชุดข้อมูล และทำการทดสอบแต่ละรายการแยกกัน

แนวทางที่ 2) เปลี่ยนค่าในสคริปต์ทดสอบด้วยตนเองและรันหลายครั้ง

แนวทางที่ 3) นำเข้าข้อมูลจากแผ่นงาน Excel ดึงข้อมูลทดสอบจากแถว Excel ทีละแถวและรันสคริปต์

ในสามสถานการณ์ที่กำหนด สองสถานการณ์แรกต้องใช้ความพยายามและใช้เวลานาน ดังนั้นจึงเป็นการดีที่จะปฏิบัติตามแนวทางที่สาม

ดังนั้นแนวทางที่สามจึงไม่ใช่อะไรนอกจากกรอบงานที่ขับเคลื่อนด้วยข้อมูล

วิธีสร้าง Data Driven Automation Framework

กรอบการทำงานอัตโนมัติที่ขับเคลื่อนด้วยข้อมูล

พิจารณาว่าคุณต้องการทดสอบฟังก์ชันการเข้าสู่ระบบของแอปพลิเคชัน

ขั้นตอน 1) ระบุกรณีทดสอบ

  • ป้อนชื่อผู้ใช้และรหัสผ่านที่ถูกต้อง - เข้าสู่ระบบสำเร็จ
  • ป้อนชื่อผู้ใช้และรหัสผ่านไม่ถูกต้อง – การเข้าสู่ระบบล้มเหลว
  • กรอกชื่อผู้ใช้และรหัสผ่านไม่ถูกต้อง - การเข้าสู่ระบบล้มเหลว

ขั้นตอน 2) สร้างขั้นตอนการทดสอบโดยละเอียดสำหรับกรณีทดสอบ 3 กรณีข้างต้น

กรณีทดสอบ# Descriptไอออน ขั้นตอนการทดสอบ ข้อมูลการทดสอบ ผลลัพธ์ที่คาดหวัง
1 ตรวจสอบการเข้าสู่ระบบเพื่อดูข้อมูลรับรองที่ถูกต้อง
  1. เปิดแอปพลิเคชัน
  2. กรอกชื่อผู้ใช้ รหัสผ่าน
  3. คลิกตกลง
  4. ตรวจสอบผลลัพธ์
ชื่อผู้ใช้: รหัสผ่านที่ถูกต้อง: ถูกต้อง เข้าสู่ระบบสำเร็จ
2 ตรวจสอบการเข้าสู่ระบบเพื่อดูข้อมูลรับรองที่ไม่ถูกต้อง
  1. เปิดแอปพลิเคชัน
  2. กรอกชื่อผู้ใช้ รหัสผ่าน
  3. คลิกตกลง
  4. ตรวจสอบผลลัพธ์
ชื่อผู้ใช้: รหัสผ่านไม่ถูกต้อง: ถูกต้อง เข้าสู่ระบบล้มเหลว
3 ตรวจสอบการเข้าสู่ระบบเพื่อดูข้อมูลรับรองที่ไม่ถูกต้อง
  1. เปิดแอปพลิเคชัน
  2. กรอกชื่อผู้ใช้ รหัสผ่าน
  3. คลิกตกลง
  4. ตรวจสอบผลลัพธ์
ชื่อผู้ใช้: รหัสผ่านที่ถูกต้อง: ไม่ถูกต้อง เข้าสู่ระบบล้มเหลว

ขั้นตอน 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 มีข้อดีหลายประการ ได้แก่:

  1. อนุญาตให้ทดสอบแอปพลิเคชันด้วยชุดข้อมูลหลายชุดในระหว่างการทดสอบการถดถอย
  2. ข้อมูลการทดสอบและข้อมูลการตรวจสอบสามารถจัดระเบียบได้ในไฟล์เดียว และแยกจากตรรกะของกรณีทดสอบ
  3. ขึ้นอยู่กับเครื่องมือนี้ เป็นไปได้ที่จะมีสคริปต์ทดสอบในพื้นที่เก็บข้อมูลเดียว ทำให้ข้อความง่ายต่อการเข้าใจ บำรุงรักษา และจัดการ
  4. การดำเนินการและฟังก์ชันสามารถนำมาใช้ซ้ำได้ในการทดสอบต่างๆ
  5. เครื่องมือบางอย่างจะสร้างข้อมูลการทดสอบโดยอัตโนมัติ สิ่งนี้มีประโยชน์เมื่อจำเป็นต้องมีข้อมูลการทดสอบแบบสุ่มจำนวนมาก ซึ่งจะช่วยประหยัดเวลา
  6. การทดสอบตามข้อมูลสามารถดำเนินการได้ในทุกขั้นตอนของการพัฒนา โดยทั่วไปการทดสอบตามข้อมูลจะรวมเข้าไว้ในกระบวนการเดียว อย่างไรก็ตาม การทดสอบตามข้อมูลสามารถใช้ในกรณีทดสอบหลายกรณีได้
  7. ช่วยให้นักพัฒนาและผู้ทดสอบสามารถแยกตรรกะของกรณีการทดสอบ/สคริปต์ออกจากข้อมูลการทดสอบได้อย่างชัดเจน
  8. กรณีทดสอบเดียวกันสามารถดำเนินการได้หลายครั้ง ซึ่งช่วยลดกรณีทดสอบและสคริปต์
  9. การเปลี่ยนแปลงใดๆ ในสคริปต์ทดสอบจะไม่ส่งผลต่อข้อมูลการทดสอบ

ข้อเสียของการทดสอบที่ขับเคลื่อนด้วยข้อมูล

ข้อเสียบางประการของวิธีการทดสอบอัตโนมัติที่ขับเคลื่อนด้วยข้อมูลคือ:

  1. คุณภาพของการทดสอบขึ้นอยู่กับทักษะอัตโนมัติของทีมผู้ดำเนินการ
  2. การตรวจสอบข้อมูลเป็นงานที่ใช้เวลานานเมื่อทำการทดสอบข้อมูลจำนวนมาก
  3. การบำรุงรักษาถือเป็นปัญหาใหญ่เนื่องจากต้องมีการเขียนโค้ดจำนวนมากสำหรับการทดสอบที่ขับเคลื่อนด้วยข้อมูล
  4. จำเป็นต้องมีทักษะทางเทคนิคระดับสูง ผู้ทดสอบอาจต้องเรียนรู้ภาษาสคริปต์ใหม่ทั้งหมด
  5. จะมีเอกสารเพิ่มเติม ส่วนใหญ่เกี่ยวข้องกับโครงสร้างพื้นฐานการทดสอบการจัดการสคริปต์และผลการทดสอบ
  6. จำเป็นต้องใช้โปรแกรมแก้ไขข้อความเช่น Notepad เพื่อสร้างและบำรุงรักษาไฟล์ข้อมูล

สรุป

  • ขับเคลื่อนด้วยข้อมูลเป็นเฟรมเวิร์กการทดสอบอัตโนมัติซึ่งจัดเก็บข้อมูลการทดสอบในรูปแบบตารางหรือสเปรดชีต
  • ในกรอบงานการทดสอบอัตโนมัติที่ขับเคลื่อนด้วยข้อมูล ข้อมูลอินพุตสามารถจัดเก็บไว้ในแหล่งข้อมูลเดียวหรือหลายแหล่ง เช่น xls XML, CSV และฐานข้อมูล
  • การสร้างการทดสอบเฉพาะสำหรับชุดข้อมูลแต่ละชุดนั้นเป็นกระบวนการที่ใช้เวลานานและใช้เวลานาน กรอบงานการทดสอบที่ขับเคลื่อนด้วยข้อมูลแก้ไขปัญหานี้โดยเก็บข้อมูลแยกจากการทดสอบเชิงฟังก์ชัน
  • ใน Data Driven Testing เป็นตัวเลือกที่เหมาะสมที่สุดในการใช้ข้อมูลที่เป็นจริง
  • ช่วยให้สามารถทดสอบแอปพลิเคชันด้วยชุดข้อมูลหลายชุดในระหว่างนั้น การทดสอบการถดถอย
  • ข้อเสียของวิธีนี้คือขึ้นอยู่กับทักษะการทำงานอัตโนมัติของทีมดำเนินการ