ข้อมูล คำสำคัญ และเฟรมเวิร์กการทำงานอัตโนมัติแบบไฮบริดใน QTP/UFT

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

Data Driven Framework เป็นเฟรมเวิร์กที่ขับเคลื่อนโดยการผสมผสานข้อมูลอินพุตและเอาต์พุตที่แตกต่างกัน

วิธีหนึ่งในการส่งผ่านชุดข้อมูลต่างๆ คือโดยการกำหนดพารามิเตอร์ ในวิธีนี้ เราใช้คุณสมบัติที่แตกต่างกันของ QTP หากต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดพารามิเตอร์ โปรดไปที่ Good Farm Animal Welfare Awards.

อย่างไรก็ตาม ใน DDF สคริปต์จะถูกเขียนเพื่อทำการกำหนดพารามิเตอร์ กรอบงานประเภทนี้มีประโยชน์เมื่อต้องทดสอบการทำงานของ AUT ด้วยอินพุตหลายตัวและบันทึกเอาต์พุตตามลำดับ อินพุตเหล่านี้สามารถอ่านได้จากไฟล์ภายนอก เช่น ฐานข้อมูล, Excel, Outlook, ไฟล์ข้อความ ฯลฯ และเอาต์พุตที่เกี่ยวข้องจะถูกเขียนกลับไปยังแหล่งภายนอกที่เกี่ยวข้อง

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

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

  1. เตรียมไฟล์ กรณีทดสอบ สำหรับแอปพลิเคชันที่อยู่ระหว่างการทดสอบ
  2. เพิ่มวัตถุจาก AUT ไปยัง OR
  3. เขียนสคริปต์ตามกรณีทดสอบ

ในการนี​​้ กวดวิชา UFTเราจะพัฒนาการออกแบบกรอบงานที่ขับเคลื่อนด้วยข้อมูลสำหรับกรณีทดสอบตัวอย่างโดยใช้ Excel เป็นแหล่งข้อมูลภายนอกสำหรับข้อมูลการทดสอบ

ขั้นตอนที่ 1) เตรียมกรณีทดสอบสำหรับแอปพลิเคชันภายใต้การทดสอบ

กรณีทดสอบ: เปิดหมายเลขคำสั่งซื้อและรับชื่อลูกค้าสำหรับคำสั่งซื้อนั้น ทำซ้ำขั้นตอนเดียวกันสำหรับหมายเลขคำสั่งซื้อที่แตกต่างกัน

แหล่งภายนอก: ไฟล์เอ็กเซล

เตรียมกรณีทดสอบสำหรับแอปพลิเคชันภายใต้การทดสอบ

แหล่งข้อมูลภายนอกสำหรับตัวอย่างนี้คือไฟล์ Excel สคริปต์ VB ใน Micro Focus UFT จะต้องเขียนเพื่อเปิดไฟล์ Excel เพื่ออ่านข้อมูลทดสอบ ซึ่งสามารถทำได้ในลักษณะลำดับชั้น

1. ไฟล์ Excel จะถูกเปิดขึ้นเป็นแอปพลิเคชันเป็นครั้งแรก

2. จากนั้นจะต้องเปิดสมุดงานจากตำแหน่งที่ระบุ

3. แผ่นงานที่มีข้อมูลการทดสอบอยู่

4. สุดท้ายต้องอ่านเซลล์

ขั้นตอนที่ 2) เพิ่มวัตถุจาก AUT ไปยัง OR

เมื่อกรณีทดสอบพร้อมแล้ว ให้เริ่มเพิ่มออบเจ็กต์ที่จำเป็นทั้งหมดลงในที่เก็บ ในกรณีทดสอบของเรา จำเป็นต้องเพิ่มวัตถุดังต่อไปนี้

เพิ่มวัตถุจาก AUT ถึง OR

  • ช่องกาเครื่องหมาย “หมายเลขคำสั่งซื้อ” ซึ่งสามารถรับได้เมื่อคลิกไอคอน “เปิดโฟลเดอร์”

เพิ่มวัตถุจาก AUT ถึง OR

  • กล่อง WinEdit ของหมายเลขคำสั่งซื้อ (ที่ซึ่งป้อนตัวเลข)

เพิ่มวัตถุจาก AUT ถึง OR

  • ปุ่มตกลง

เพิ่มวัตถุจาก AUT ถึง OR

  • ช่อง "ชื่อ" ซึ่งเป็นกล่อง WinEdit ช่องนี้จะถูกเพิ่มชื่อเมื่อคลิกปุ่มตกลงสำหรับหมายเลขคำสั่งซื้อที่ต้องการ

เพิ่มวัตถุจาก AUT ถึง OR

เมื่อเพิ่มออบเจ็กต์ที่จำเป็นทั้งหมดแล้ว พื้นที่เก็บข้อมูลออบเจ็กต์จะปรากฏขึ้นดังนี้:

เพิ่มวัตถุจาก AUT ถึง OR

ขั้นตอนที่ 3) เขียนสคริปต์ตามกรณีทดสอบ

ก่อนที่จะรันสคริปต์ ตรวจสอบให้แน่ใจว่าไฟล์ Excel ที่มีข้อมูลทดสอบได้รับการบันทึกและปิดแล้ว

สคริปต์ด้านล่างคือการอ่านหมายเลขคำสั่งซื้อจาก Excel และกำหนดลงในแอปพลิเคชันผ่านตัวแปร “vOrder” และเขียนชื่อลูกค้าจากแอปพลิเคชันผ่านตัวแปร “vName”

ชื่อเอ็กเซล: FlightDDF.xlsx

ชื่อแผ่นงาน: แผ่นที่1

เขียนสคริปต์ตามกรณีทดสอบ

เอาท์พุต

เมื่อรันสคริปต์ข้างต้นแล้ว สามารถรับเอาต์พุตได้จาก Excel ดังนี้:

เขียนสคริปต์ตามผลลัพธ์ของกรณีทดสอบ

Data-Driven Framework สามารถพัฒนาได้โดยการเขียนโปรแกรมเชิงพรรณนา

การใช้ฐานข้อมูลเป็นแหล่งภายนอกสำหรับ DDF

สามารถดำเนินการกรณีทดสอบเดียวกันได้หากแหล่งภายนอกเป็นฐานข้อมูลโดยใช้ขั้นตอนต่อไปนี้

  1. เขียน VBScript เพื่อสร้างการเชื่อมต่อฐานข้อมูล
  2. VBScript เพื่อเปิดชุดระเบียนหรือตาราง
  3. VBScript เพื่อเปิดช่องที่ต้องการ
  4. เซลล์เฉพาะจะถูกอ่านจากฟิลด์

การใช้ฐานข้อมูลเป็นแหล่งภายนอกสำหรับ DDF

ต้นฉบับ

To Establish a Microsoft Database connection

ไดร์เวอร์ = {Microsoft ไดรเวอร์การเข้าถึง (*.mdb)}; ดีบีคิว =

ชื่อชุดบันทึก : OpenOrder

ชื่อฟิลด์: หมายเลขคำสั่งซื้อ ชื่อลูกค้า

PS: Microsoft Access 2010 ไม่สามารถเชื่อมต่อโดยใช้สคริปต์ด้านล่าง

การใช้ฐานข้อมูลเป็นแหล่งภายนอกสำหรับ DDF

เอาท์พุต

การใช้ฐานข้อมูลเป็นแหล่งภายนอกสำหรับเอาต์พุต DDF

ข้อดีของดีดีเอฟ

  • ข้อมูลการทดสอบจำนวนมากสามารถอ่านและเขียนลงในไฟล์ภายนอกได้ในการทดสอบครั้งเดียว
  • คำสั่ง Loop ใช้เพื่อทำซ้ำขั้นตอนเดียวกันซ้ำหลายครั้ง ดังนั้นความพยายามในการเขียนโค้ดจึงลดลง
  • เนื่องจากข้อมูลถูกอ่านและเขียนลงในไฟล์ภายนอกโดยตรง จึงไม่จำเป็นต้องคัดลอก วาง หรือส่งออกข้อมูลเพื่อใช้งาน
  • ข้อมูลการทดสอบสามารถอ่านได้จากไฟล์ภายนอก และสามารถเขียนเอาต์พุตลงในไฟล์ภายนอกอื่นๆ ได้

ข้อเสียของดีดีเอฟ

  • จำเป็นต้องมีความรู้ด้านสคริปต์เพื่อพัฒนากรอบการทำงานนี้
  • บางครั้งจำนวนหรือการรวมกันของข้อมูลจากแหล่งภายนอก เช่น ฐานข้อมูล อาจทำให้ QTP ช้าลงหรือทำให้ QTP เสียหายได้

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

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

หากต้องการทราบเกี่ยวกับฟังก์ชันที่ผู้ใช้กำหนดใน QTP โปรดไปที่ Good Farm Animal Welfare Awards

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

โดยทั่วไป กรอบงานสามารถพัฒนาได้สามวิธีเพื่อดำเนินการทดสอบ

  1. บันทึกและดำเนินการทดสอบ
  2. เพิ่มอ็อบเจ็กต์ลงในที่เก็บในเครื่องและเขียนสคริปต์สำหรับขั้นตอนการทดสอบทั้งหมด
  3. เขียนโปรแกรมเชิงอธิบายสำหรับขั้นตอนการทดสอบทั้งหมด

ในบทช่วยสอนนี้ KDF ได้รับการพัฒนาโดยการบันทึกและรันการทดสอบ

เป้าหมายของเราคือการรันการทดสอบเดี่ยวสำหรับกรณีทดสอบที่แตกต่างกันห้ากรณี เช่น ล็อกอินเข้าสู่แอปพลิเคชัน ใส่คำสั่งซื้อ เปิดคำสั่งซื้อ ลบคำสั่งซื้อ และปิดแอปพลิเคชัน ดังนั้น เราจะบันทึกขั้นตอนการทดสอบสำหรับกรณีทดสอบเหล่านี้ และสร้างฟังก์ชันด้วยคำหลัก Login, InsertOrder, OpenOrder, DeleteOrder และ CloseApp ตามลำดับ

กรณีที่ 1 ทดสอบ: เข้าสู่ระบบแอปพลิเคชัน

คำที่เกี่ยวข้อง: เข้าสู่ระบบ ()

สคริปต์ที่บันทึกไว้:

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

กรณีที่ 2 ทดสอบ: ใส่คำสั่งซื้อ

คำที่เกี่ยวข้อง:แทรกคำสั่งซื้อ()

สคริปต์ที่บันทึกไว้:

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

กรณีที่ 3 ทดสอบ: เปิดคำสั่งซื้อ

คำที่เกี่ยวข้อง:เปิดออร์เดอร์()

สคริปต์ที่บันทึกไว้:

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

ทดสอบ Case4: ลบคำสั่งซื้อ

คำที่เกี่ยวข้อง:ลบคำสั่งซื้อ()

สคริปต์ที่บันทึกไว้:

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

ทดสอบ Case5: ปิดแอปพลิเคชัน

คำที่เกี่ยวข้อง:ปิดแอป()

สคริปต์ที่บันทึกไว้:

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

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

สคริปต์ไดรเวอร์สำหรับเฟรมเวิร์กอย่างง่ายนี้มีลักษณะดังนี้:

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

ด้วยการรันสคริปต์ข้างต้น ผลลัพธ์จริงสำหรับกรณีทดสอบทั้งห้ากรณีสามารถรับได้จากการทดสอบครั้งเดียว

ข้อดี

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

ข้อเสีย

  • ใช้เวลาในการพัฒนากรอบงานเหล่านี้จะสูงมากหากมีจำนวนกรณีทดสอบที่ต้องรันน้อยมาก
  • การบันทึกขั้นตอนไม่ได้ใช้เสมอไปเมื่อออกแบบ KDF สำหรับแอปพลิเคชันจำนวนมากในการทดสอบเดียวกัน

กรอบงานไฮบริด

เฟรมเวิร์กไฮบริดคือการรวมกันของ Data Driven Framework (DDF) และ Keyword Driven Framework (KDF) ซึ่งสามารถดำเนินการกรณีทดสอบหลายกรณีที่มีอินพุตหลายตัวในการทดสอบเดียวกันได้

ในบทความนี้ กรณีทดสอบเดียวกันกับที่ใช้ใน KDF จะถูกดำเนินการในการทดสอบเดียว คำสำคัญและสคริปต์สำหรับกรณีทดสอบทั้งหมดจะเหมือนกับใน KDF อย่างไรก็ตาม TC3: เปิดคำสั่งซื้อได้รับการกำหนดพารามิเตอร์แล้ว ดังนั้นสคริปต์สำหรับกรณีทดสอบนี้จึงถูกเขียนเพื่อรับหมายเลขคำสั่งซื้อจากไฟล์ Excel และเพื่อเขียนชื่อลูกค้าลงในไฟล์ Excel

กรอบงานไฮบริด

กรณีที่ 1 ทดสอบ: เข้าสู่ระบบแอปพลิเคชัน

คำที่เกี่ยวข้อง: เข้าสู่ระบบ ()

กรณีที่ 2 ทดสอบ: ใส่คำสั่งซื้อ

คำที่เกี่ยวข้อง:แทรกคำสั่งซื้อ()

กรณีทดสอบที่ 3: เปิดคำสั่งซื้อสำหรับหมายเลขคำสั่งซื้อหลายหมายเลข

คำที่เกี่ยวข้อง:เปิดออร์เดอร์()

Descriptไอออน: ในที่นี้จะใช้สคริปต์เดียวกับที่ใช้ในการพัฒนา DDF ดังนั้นจึงบรรลุกรณีทดสอบสำหรับการวนซ้ำหลายครั้ง

สคริปต์:

กรอบงานไฮบริด

ทดสอบ Case4: ลบคำสั่งซื้อ

คำที่เกี่ยวข้อง:ลบคำสั่งซื้อ()

ทดสอบ Case5: ปิดแอปพลิเคชัน

คำที่เกี่ยวข้อง:ปิดแอป()

การกำหนดพารามิเตอร์ของ TC3 ทำได้สำเร็จด้วยวิธีการง่ายๆ นี้ หากทำได้ ก็สามารถกำหนดพารามิเตอร์ให้กับกรณีทดสอบอื่นๆ ทั้งหมดในการทดสอบเดียวกันได้

ตัวอย่างเช่น เป็นวิธีที่ง่ายมากในการออกแบบเฟรมเวิร์กไฮบริด กรอบงานเดียวกันนี้สามารถทำได้ด้วยการเขียนโปรแกรมเชิงพรรณนา

ข้อดี

  • เวลาที่ใช้ในการรันการทดสอบที่ออกแบบด้วยเฟรมเวิร์กไฮบริดนั้นค่อนข้างน้อยกว่าเมื่อเปรียบเทียบกับเฟรมเวิร์กอื่นๆ
  • สามารถใช้เมื่อเราต้องการกรณีทดสอบและอินพุตทั้งหมดที่เกี่ยวข้องกับกรณีทดสอบเฉพาะในชุดการทดสอบเดียวกัน

ข้อเสียเปรียบ

  • จำเป็นต้องมีความรู้ที่ชัดเจนเกี่ยวกับการรวมกรอบงานที่แตกต่างกัน