การทดสอบ API โดยใช้ QTP/UFT: บทช่วยสอนที่สมบูรณ์

⚡ สรุปอย่างชาญฉลาด

การทดสอบ API ใน QTP/UFT วิธีหนึ่งคือการตรวจสอบบริการโดยตรง โดยไม่ต้องมีส่วนติดต่อผู้ใช้เข้ามาเกี่ยวข้อง การทดสอบ API ถูกสร้างขึ้นเป็นลำดับขั้นตอนของกิจกรรมบนผืนผ้าใบ และจุดตรวจสอบจะตัดสินว่าการตอบสนองแต่ละครั้งผ่านหรือไม่

  • 🔘 ไม่มีส่วนต่อประสานผู้ใช้แบบกราฟิก (GUI): ข้อมูลป้อนเข้าจะถูกส่งตรงไปยังบริการ และผลตอบรับที่บันทึกไว้จะถูกนำไปเปรียบเทียบกับความคาดหวัง
  • ☑️ ประเภทที่รองรับห้าประเภท: เว็บเซอร์วิส, REST, ภาษาเชิงวัตถุ, ฐานข้อมูล และ API เฉพาะของแต่ละบริษัท
  • การไหลของกิจกรรม ไม่ใช่วัตถุ: ลากคำขอ HTTP จากกล่องเครื่องมือไปยังโฟลว์การทดสอบ แล้วตั้งค่าคุณสมบัติของคำขอ
  • 🧪 จุดตรวจตัดสินชี้ขาด: รหัสสถานะ 200 บ่งชี้ว่าการโทรสำเร็จโดยไม่ต้องตรวจสอบด้วยตนเอง
  • 🛠️ ผลลัพธ์รวมทุกอย่างไว้ในที่เดียว: โปรแกรม Run Results Viewer จะรายงานทุกกิจกรรม การตอบสนอง และผลลัพธ์ของแต่ละจุดตรวจสอบ
  • 📌 ชื่อปัจจุบัน: QTP นอกจากนี้ HP Service Test ก็กลายเป็น UFTปัจจุบันจำหน่ายในชื่อ OpenText การทดสอบการทำงาน (UFT หนึ่ง).

การสร้างและเรียกใช้การทดสอบ API ใน QTP และ UFT หนึ่ง

ก่อนที่จะทดสอบ API เราต้องรู้ก่อนว่า API คืออะไร API (Application Programming Interface) คือชุดของฟังก์ชันและขั้นตอนการทำงานของซอฟต์แวร์ที่สามารถเรียกใช้งานได้โดยแอปพลิเคชันซอฟต์แวร์อื่นๆ

การทดสอบ API คืออะไร

การทดสอบ API คือ การทดสอบซอฟต์แวร์ วิธีการตรวจสอบความถูกต้องของ Application Programming Interfaces (APIs) เป้าหมายของการทดสอบ API คือการทดสอบ API ในแง่ของฟังก์ชันการทำงาน ความน่าเชื่อถือ ความปลอดภัย และประสิทธิภาพ ในการทดสอบ API จะใช้ซอฟต์แวร์ในการส่งข้อมูลเข้าไปยัง API และบันทึกผลลัพธ์เพื่อทดสอบ API

ดังนั้น การทดสอบ API คือ:

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

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

ขอบเขตของการทดสอบ API ระหว่างเลเยอร์ไคลเอ็นต์และเลเยอร์ฐานข้อมูล

เหตุใดการทดสอบ API จึงมีความสำคัญ

การทดสอบ API มีข้อดีที่สำคัญสี่ประการ

1. การทดสอบ API เป็นเทรนด์

ดังที่แสดงในรูปต่อไปนี้ การทดสอบ API เติบโตอย่างรวดเร็วมากในช่วงสิบปีที่ผ่านมา และได้รับความนิยมมากกว่าการทดสอบประเภทอื่นๆ อย่างมาก

แผนภูมิแสดงการเติบโตของการนำการทดสอบ API มาใช้ในช่วงสิบปีที่ผ่านมา

2. เวลามีประสิทธิภาพ

ด้วยการทดสอบ API เราสามารถใช้การประมวลผลแบบขนานเพื่อลดเวลาในการดำเนินการทดสอบได้ คุณสามารถประหยัดได้มากถึง 5 เท่าเมื่อเทียบกับการทดสอบประเภทอื่นๆ

3. ภาษาอิสระ

ในการทดสอบ API ข้อมูลจะถูกแลกเปลี่ยนผ่าน XML or JSONดังนั้นจึงสามารถใช้ภาษาใดก็ได้ในการทดสอบการตอบสนอง ตัวอย่างเช่น หากคุณมีบริการที่การตอบสนองอยู่ในรูปแบบ JSON คุณสามารถแยกวิเคราะห์ข้อมูลได้อย่างง่ายดายด้วย Java, C# หรือภาษาอื่นๆ

4. บูรณาการ GUI ง่าย

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

การทดสอบ API ด้วย UFT (การทดสอบการทำงานแบบครบวงจร)

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

เวอร์ชั่นล่าสุดของ QTPเรียกว่า HP Unified การทดสอบสมรรถนะ (UFT) เป็นการผสมผสานระหว่าง HP QTP (เครื่องมือทดสอบ GUI) และ HP Service Test (เครื่องมือทดสอบ API) UFT รองรับเว็บ Java, .สุทธิ, Oracleรวมถึง Siebel, เว็บเซอร์วิส และภาษาและแพลตฟอร์มหลักอื่นๆ อีกมากมายที่เวอร์ชันเก่าไม่รองรับ

⚠️ การตั้งชื่อผลิตภัณฑ์: เครื่องมือที่อธิบายไว้ในที่นี้คือ HP UFT ขณะนี้จำหน่ายแล้วในชื่อ OpenText การทดสอบการทำงาน (UFT หนึ่ง)โดยได้ย้ายจาก HP ไปยัง Micro Focus แล้วจึงไปยัง OpenTextภาพหน้าจอด้านล่างมาจากเวอร์ชันที่วางจำหน่ายในยุค HP ดังนั้นคำในเมนูจึงแตกต่างจากเวอร์ชันปัจจุบัน แต่ขั้นตอนการทดสอบ API กิจกรรม และจุดตรวจสอบยังคงทำงานในลักษณะเดียวกัน

ประเภทของการสนับสนุนการทดสอบ API โดย HP UFT

  1. บริการเว็บ
  2. REST
  3. ภาษาเชิงวัตถุ
  4. ฐานข้อมูล
  5. API ที่เป็นกรรมสิทธิ์

เริ่มต้นการทดสอบ API ครั้งแรกของคุณด้วย QTP

ในการทดสอบ API นี้ใน UFT ในบทเรียนนี้ เราจะครอบคลุมหัวข้อต่างๆ ดังนี้ UFT ตัวอย่างการทดสอบ API เราจะทดสอบ Graph API ของ Facebook เราจะทดสอบ API ในลักษณะนี้ กรณีทดสอบ ด้านล่าง

  1. รับโปรไฟล์ของผู้ใช้ที่ระบุบน Facebook
  2. ตรวจสอบว่าโปรไฟล์เป็นไปตามที่คาดหวัง

นี่คือขั้นตอนในการสร้างขั้นตอนการทดสอบสำหรับ API นี้

การวางแผน UFT ขั้นตอนการทดสอบสำหรับกรณีทดสอบ Facebook Graph API

⚠️ เกี่ยวกับตัวอย่างนี้: Facebook ได้ยกเลิกการใช้งาน Graph API เวอร์ชัน 2.3 ไปเมื่อหลายปีก่อนแล้ว และโทเค็นการเข้าถึงที่แสดงด้านล่างก็หมดอายุไปนานแล้ว ดังนั้นการเรียกใช้แบบเดียวกันจึงไม่ส่งคืนข้อมูลอีกต่อไป คำขอเดิมยังคงเหมือนเดิมเพื่อใช้เป็นตัวอย่างการทำงาน เพียงแค่ทำตามขั้นตอนเดียวกันนี้กับ REST endpoint ใดก็ได้ในปัจจุบันเพื่อทำตาม

ขั้นตอนที่ 1) เปิด HP UFT และสร้างโปรเจ็กต์ใหม่ชื่อ API Testing

  1. Choose เริ่ม > (ทั้งหมด) โปรแกรม > ซอฟต์แวร์ HP > HP Unified Functional Testing > Unified Functional Testing ในเวอร์ชันปัจจุบันนี้ มันก็คือ... UFT หนึ่ง ทางลัด

    Windows เส้นทางเมนูเริ่มต้นไปยังทางลัด HP Unified Functional Testing

  2. คลิก ไฟล์ > ใหม่ > ทดสอบ. เลือกปุ่ม การทดสอบเอพีไอ ชนิด

    UFT เพิ่มการทดสอบใหม่ในหน้าต่างโต้ตอบ โดยเลือกประเภทการทดสอบ API ไว้

  3. เมื่อกล่องโต้ตอบเปิดขึ้น ให้ป้อนชื่อของการทดสอบ API: API_เฟสบุ๊คและเลือกตำแหน่งที่จะบันทึกโปรเจ็กต์นี้ คลิก สร้างบัญชีตัวแทน เพื่อสร้างโปรเจ็กต์ทดสอบ API

    ตั้งชื่อ API ใหม่ว่า API_Facebook และเลือกตำแหน่งที่จะบันทึกไฟล์

ขั้นตอนที่ 2) การเพิ่มคำขอ HTTP ลงในขั้นตอนการทดสอบ

เราจะใช้ HTTP Request เพื่อส่งคำขอไปยัง Facebook API

  1. เลือก กล่องเครื่องมือ > เครือข่าย

    กลุ่มเครือข่ายขยายตัวใน UFT แผงกล่องเครื่องมือ

  2. ลากองค์ประกอบ คำขอ HTTP เพื่อทดสอบการไหล

    กิจกรรมการร้องขอ HTTP ถูกบันทึกลง UFT แผนผังแสดงขั้นตอนการทดสอบ API

ขั้นตอนที่ 3) กำหนดค่าและส่งพารามิเตอร์ในคำขอ HTTP

  1. คลิกขวาที่ไอคอน คำขอ HTTP อนุญาตให้แก้ไขได้

    คลิกขวาที่เมนูของวัตถุ HTTP Request ในโฟลว์การทดสอบ

  2. ในส่วนคุณสมบัติ ให้ป้อน URL

    หน้าต่างคุณสมบัติของกิจกรรมคำขอ HTTP พร้อมด้วย URL สนาม

    https://graph.facebook.com/v2.3/me?access_token=CAACEdEose0cBANJsDnbZC92mNAghaM6xxZCZBZAvKlMXS98VYvKy%20OlrfAdsUWR8x5aw9Kqc0grscs9zb9IYED4VC3FwapIZBj%20dsuxy%20HdLcff38gYUBFNeRQlH%20fN7eXKoVZBNl0bR233ZAZCw8fLF1QLh98ry2ZBeYBhXLabtTDkFPZA1IqhaMG0mQp30zO1%20QxQ19nVCxZArJA6XRoB1o5FMepII5cn3DgbBmTgZD
  3. นอกจากนี้ คุณยังสามารถส่งพารามิเตอร์ไปยัง API ได้โดยการกำหนดค่าในพารามิเตอร์นั้น ขอส่วนหัว ตะแกรง

    ตารางส่วนหัวคำขอใช้สำหรับส่งพารามิเตอร์เพิ่มเติมในการเรียก API

    ใช้ กราฟ API Explorer ของ Facebook เพื่อรับค่า access_token

  4. ตั้ง วิธี HTTP ไปยัง GET.

    รายการวิธีการ HTTP ของกิจกรรมการร้องขอ HTTP ที่ตั้งค่าเป็น GET

    เลือก GET เป็นวิธี HTTP สำหรับการร้องขอ

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

    หน้าต่างจุดตรวจสอบพร้อมรหัสสถานะที่คาดหวังตั้งไว้ที่ 200

ขั้นตอนที่ 4) เรียกใช้การทดสอบ

คลิก วิ่ง ปุ่ม หรือกด F5เพื่อเปิดกล่องโต้ตอบเรียกใช้การทดสอบ คลิก วิ่ง เพื่อรวบรวมและรันการทดสอบ

UFT หน้าต่าง Run Test จะเปิดขึ้นเมื่อคลิกปุ่ม Run

ขั้นตอนที่ 5) ดูผลลัพธ์

โปรแกรมแสดงผลลัพธ์การทำงานจะเปิดขึ้น ในการทดสอบ API นี้ใช้ UFT ตัวอย่างเช่น กรณีทดสอบที่ล้มเหลวจะถูกรายงานดังรูปต่อไปนี้

โปรแกรมแสดงผลลัพธ์การทดสอบ API ที่ล้มเหลว

เมื่อการทดสอบผ่าน ผลลัพธ์จะแสดงดังต่อไปนี้

โปรแกรมแสดงผลลัพธ์การทดสอบ API ที่ผ่านเกณฑ์

การทดสอบ API ครั้งแรกของคุณใน UFT โครงการเสร็จสมบูรณ์แล้ว

จะไปจากที่นี่

ตอนนี้คุณได้เรียนรู้วิธีสร้างการทดสอบด้วยการทดสอบ API แล้ว UFTคุณสามารถสร้างการทดสอบของคุณเองสำหรับแอปพลิเคชันที่ไม่มี GUI ได้ การเพิ่ม ด่าน ต่อการตอบสนองและกลุ่มping โทรเข้า การทำธุรกรรม นี่คือขั้นตอนต่อไปตามปกติ

คำถามที่พบบ่อย

การทดสอบ GUI จะควบคุมการทำงานของส่วนต่างๆ บนหน้าจอและบันทึกไว้เป็นอ็อบเจ็กต์ทดสอบ ในขณะที่การทดสอบ API คือลำดับการทำงานบนผืนผ้าใบที่ส่งคำขอไปยังบริการโดยตรง ดังนั้นจึงไม่มีการบันทึกข้อมูลใดๆ จากส่วนติดต่อผู้ใช้

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

นำเข้าไฟล์ WSDL ของบริการลงในชุดทดสอบ UFT โปรแกรมจะอ่านเอกสาร สร้างกิจกรรมสำหรับแต่ละการดำเนินการที่บริการนั้นเปิดเผย และเพิ่มกิจกรรมเหล่านั้นลงในบานหน้าต่างกล่องเครื่องมือ เพื่อให้สามารถลากไปยังโฟลว์การทดสอบได้เช่นเดียวกับกิจกรรมอื่นๆ

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

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

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

SoapUI และ Postman มีน้ำหนักเบากว่าและเริ่มต้นใช้งานได้ฟรี UFT จึงเหมาะสมที่จะใช้ในโครงการที่ต้องครอบคลุมถึงส่วนติดต่อผู้ใช้ด้วย เนื่องจากใบอนุญาตเดียวและชุดผลลัพธ์เดียวครอบคลุมทั้งสองส่วน

นอกเหนือจากรหัสสถานะ HTTP แล้ว การทดสอบ API ยังสามารถตรวจสอบเนื้อหาในส่วนเนื้อหาของคำตอบ ค่าส่วนหัวแต่ละรายการ และข้อมูลที่ส่งคืนเมื่อเทียบกับแหล่งที่มาที่คาดไว้ ผลลัพธ์ของการตรวจสอบแต่ละครั้งจะปรากฏควบคู่ไปกับคำขอในโปรแกรมดูผลลัพธ์การทำงาน (Run Results Viewer)

สรุปโพสต์นี้ด้วย: