วิธีการสร้างชุดทดสอบและกรณีทดสอบใน SoapUI

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

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

  • 🧠 สบู่ Foundation: SOAP เป็นโปรโตคอลที่ใช้ XML เป็นพื้นฐาน ไม่ขึ้นอยู่กับแพลตฟอร์มใดๆ และส่งข้อมูลผ่าน HTTP เพื่อแลกเปลี่ยนข้อความระหว่างระบบที่แตกต่างกัน
  • 📁 การสร้างโครงการ: นำเข้าไฟล์ WSDL ลงในไฟล์ใหม่ SoapUI โครงการ SOAP เพื่อสร้างคำขอตัวอย่างโดยอัตโนมัติสำหรับทุกการดำเนินการ
  • 🗂️ การตั้งค่าชุดทดสอบ: คลิกขวาที่ไดเร็กทอรีหลักของโปรเจ็กต์เพื่อเพิ่มชุดทดสอบ ซึ่งจะจัดกลุ่มกรณีทดสอบที่เกี่ยวข้องเข้าด้วยกันเพื่อการดำเนินการที่เป็นระเบียบ
  • 🧪 ขั้นตอนการทดสอบ: เพิ่มขั้นตอนการร้องขอ SOAP เลือกการดำเนินการเป้าหมาย และกำหนดค่าการตรวจสอบมาตรฐาน เช่น การตรวจสอบความสอดคล้องของ Schema และการตรวจสอบข้อผิดพลาด SOAP
  • 📊 การตรวจสอบการตอบสนอง: ใช้แท็บ RAW และบานหน้าต่าง Log (SoapUI ใช้ไฟล์บันทึก (Log, HTTP Log, Error Log, Memory Log) เพื่อตรวจสอบรหัสสถานะ HTTP และแก้ไขปัญหาคำขอ

วิธีการสร้างชุดทดสอบและกรณีทดสอบใน SoapUI

ทำความเข้าใจกับโปรโตคอล SOAP

ก่อนสร้าง SoapUI กรณีทดสอบนี้จะช่วยได้มากหากเราทบทวนพื้นฐานของโปรโตคอล SOAP ความเข้าใจที่ชัดเจนเกี่ยวกับวิธีการส่งคำขอและคำตอบของ SOAP ระหว่างระบบต่างๆ จะทำให้ใช้งานได้ง่ายขึ้น SoapUI เพื่อทดสอบพวกมันอย่างมีประสิทธิภาพ

สบู่ ย่อมาจาก โปรโตคอลการเข้าถึงวัตถุอย่างง่ายต่อไปนี้คือคุณสมบัติหลักของโปรโตคอล SOAP:

  • เป็นโปรโตคอลที่ใช้ XML ในการสื่อสารระหว่างระบบสองระบบที่แตกต่างกัน
  • ระบบนี้ไม่ขึ้นอยู่กับแพลตฟอร์มหรือภาษาใดๆ เป็นระบบที่พัฒนาขึ้นโดยใช้ Java สามารถสื่อสารกับโปรแกรมที่พัฒนาด้วย .NET ได้
  • คำขอและการตอบกลับ SOAP จะถูกส่งผ่านทาง HTTP

เรียนรู้รูปแบบข้อความ SOAP

ข้อความ SOAP เป็นเอกสาร XML ทั่วไปที่ประกอบด้วยองค์ประกอบต่อไปนี้ ข้อความอาจเป็นคำขอหรือการตอบกลับก็ได้

รูปแบบข้อความสบู่
รูปแบบข้อความ SOAP

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

การสร้างโปรเจ็กต์ SOAP ใน SoapUI

โปรเจกต์ SOAP เก็บคำจำกัดความ WSDL ที่นำเข้า พร้อมด้วยคำขอตัวอย่างที่สร้างขึ้นสำหรับแต่ละการดำเนินการ

ขั้นตอนที่ 1: ขึ้นอยู่กับประเภทของโปรเจ็กต์ ให้เลือกนำเข้าโปรโตคอล SOAP หรือ REST ในตัวอย่างนี้ ให้สร้างโปรเจ็กต์ SOAP ใหม่

การสร้างโครงการ SOAP ใหม่

ขั้นตอนที่ 2: ใช้คำขอ SOAP ต่อไปนี้ URL: http://www.dneonline.com/calculator.asmx?wsdl

  1. กรอกชื่อโครงการ
  2. ป้อนพาธของคำขอ WSDL (ในกรณีนี้คือ http://www.dneonline.com/calculator.asmx?wsdl)
  3. คลิก OK.

ป้อนชื่อโปรเจ็กต์ SOAP และเส้นทาง WSDL

หมายเหตุ

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

ขั้นตอนที่ 3: หลังจากสร้างโปรเจ็กต์ SOAP ด้วย WSDL ข้างต้นแล้ว จะมีการนำเข้าโอเปอเรชันสองรายการเข้าไปในโปรเจ็กต์

โครงการ SOAP ที่นำเข้า Operations

ขั้นตอนที่ 4: ขยายคำขอแรกโดยคลิกขวา เพิ่มจากนั้นคลิก คำขอใหม่.

เพิ่มคำขอใหม่ลงในโปรเจ็กต์ SOAP

จากนั้นคลิก OKคำขอ SOAP จะแสดงผลในรูปแบบ XML

รูปแบบ XML ของคำขอ SOAP

  1. ป้อนค่าสำหรับ อินท์เอ และ อินท์บี.
  2. คลิก ยื่นฟอร์ม ปุ่ม
  3. รูปแบบ XML ของการตอบกลับจะปรากฏในช่องด้านขวา

ส่งคำขอ SOAP และดูการตอบกลับ

เหตุใดจึงควรสร้างกรณีทดสอบแทนการส่งคำขอโดยตรง?

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

วิธีการสร้างชุดทดสอบใน SoapUI

ชุดทดสอบ (Test Suite) คือกลุ่มของกรณีทดสอบที่เกี่ยวข้องกัน ทำตามขั้นตอนด้านล่างเพื่อสร้างชุดทดสอบ

ขั้นตอนที่ 1) คลิกขวาที่ไดเร็กทอรีหลักของโปรเจ็กต์

ภายในโปรเจ็กต์ ให้สร้างชุดทดสอบโดยคลิกขวาที่ไดเร็กทอรีหลักของโปรเจ็กต์

สร้างชุดทดสอบใน SoapUI - คลิกขวาที่โปรเจ็กต์

ขั้นตอนที่ 2) ป้อนรายละเอียดชุดทดสอบ

ป้อนชื่อชุดทดสอบแล้วคลิก OK.

ป้อนชื่อชุดทดสอบ

ขั้นตอนที่ 3) ตรวจสอบชุดทดสอบที่สร้างขึ้น

ชุดทดสอบใหม่จะปรากฏในบานหน้าต่างนำทางดังที่แสดงด้านล่าง

ตรวจสอบชุดทดสอบที่สร้างขึ้น

ขั้นตอนที่ 4) เปิดชุดทดสอบ

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

เปิดหน้าต่างชุดทดสอบว่างเปล่า

วิธีการสร้างกรณีทดสอบใน SoapUI

กรณีทดสอบจะอยู่ภายในชุดทดสอบ และจัดกลุ่มขั้นตอนการทดสอบแต่ละขั้นตอนที่ใช้ทดสอบบริการเว็บ

ขั้นตอนที่ 1: ภายในชุดทดสอบ คุณสามารถสร้างการทดสอบหลายรายการได้โดยคลิกขวาที่ชุดทดสอบแล้วเลือก กรณีทดสอบใหม่.

สร้างกรณีทดสอบใหม่ใน SoapUI

ขั้นตอนที่ 2: ระบุชื่อของ กรณีทดสอบ และคลิก OK.

ป้อนชื่อกรณีทดสอบ

ขั้นตอนที่ 3: กรณีทดสอบที่สร้างขึ้นนั้นไม่มีขั้นตอนใด ๆ ในตอนเริ่มต้น ดังแสดงในภาพด้านล่าง

กรณีทดสอบที่มีขั้นตอนเป็นศูนย์

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

ขั้นตอนการทดสอบการทำงานควรอยู่ใน ขั้นตอนการทดสอบขั้นตอนการปฏิบัติงานจะเข้าไปอยู่ใน... โหลดการทดสอบและการตรวจสอบความปลอดภัยอยู่ภายใต้การควบคุม การทดสอบความปลอดภัย.

ขั้นตอนที่ 4: เพิ่มประเภทขั้นตอนการทดสอบต่างๆ โดยการคลิกขวา ขั้นตอนการทดสอบ และเลือกตัวเลือกที่เหมาะสม สำหรับเว็บเซอร์วิส REST ให้เลือก REST Test Request แทน SOAP request

แทรกประเภทขั้นตอนการทดสอบ

การเพิ่มขั้นตอนการทดสอบใน SoapUI

เพิ่มขั้นตอนการทดสอบเพื่อตรวจสอบความถูกต้องของคำขอ SOAP ที่นำเข้าภายในกรณีทดสอบ

ขั้นตอนที่ 1: เพิ่มขั้นตอนประเภทใหม่ คำขอ SOAP ที่แสดงด้านล่าง

เพิ่มขั้นตอนการทดสอบคำขอ SOAP

ขั้นตอนที่ 2: ป้อนชื่อขั้นตอนแล้วคลิก OK.

ป้อนชื่อขั้นตอนการทดสอบ

ขั้นตอนที่ 3: จะมีกล่องโต้ตอบปรากฏขึ้นเพื่อให้เลือกการดำเนินการที่จะเรียกใช้ การดำเนินการที่มีอยู่ทั้งหมดจะแสดงให้เลือก

  • มีการดำเนินการหลายอย่างปรากฏอยู่ที่นี่ การดำเนินการทั้งหมดเหมือนกัน ยกเว้นเวอร์ชัน SOAP: CalculatorSoap ใช้ SOAP เวอร์ชัน 1.1 ในขณะที่ CalculatorSoap12 ใช้ SOAP เวอร์ชัน 1.2
  • ในกรณีนี้ เวอร์ชันไม่สำคัญ ดังนั้นจึงสามารถเลือกเวอร์ชันใดก็ได้

    เลือก SOAP Operaเรียกใช้

  • หลังจากเลือกการดำเนินการแล้ว ให้คลิก OK.

    ยืนยัน Operaการเลือก tion

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

สามารถเพิ่มจุดตรวจสอบต่อไปนี้ได้ขณะสร้างกรณีทดสอบ ตัวอย่างด้านล่างสร้างกรณีทดสอบโดยไม่ได้เปิดใช้งานจุดตรวจสอบใดๆ

Standard
 SoapUI การยืนยัน

  1. ตรวจสอบว่าข้อความตอบกลับเป็น SOAP หรือไม่หลังจากทำการทดสอบเสร็จสิ้น
  2. ตรวจสอบว่ารูปแบบการตอบกลับนั้นถูกต้องหรือไม่
  3. ตรวจสอบว่าการตอบกลับ SOAP มีองค์ประกอบ FAULT หรือไม่

ขั้นตอนที่ 5: เมื่อสร้างกรณีทดสอบแล้ว XML ของคำขอจะปรากฏดังที่แสดงด้านล่าง โครงสร้างของ XML ได้รับการอธิบายไว้ในภาพแล้ว

โครงสร้าง XML ของคำขอ

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

การทดสอบการเพิ่มตัวนับขั้นตอน

การส่งคำขอด้วยตนเองและการอ่านการตอบกลับใน SoapUI

ขั้นตอนที่ 1: ตัวอย่างด้านล่างนี้เป็นการบวกจำนวนเต็มสองจำนวน

  • อินทีเอ — 5
  • อินท์บี — 5

ถัดไป:

  1. ป้อนข้อมูลเหล่านี้แทนเครื่องหมายคำถามในไฟล์ XML ของคำขอ
  2. หลังจากอัปเดตแท็ก XML ที่เกี่ยวข้องแล้ว ให้คลิก ส่งคำขอ เพื่อตรวจสอบการตอบสนอง

การส่งคำขอด้วยตนเองโดยใช้ intA และ intB

ขั้นตอนที่ 2: หลังจากส่งคำขอแล้ว เว็บเซิร์ฟเวอร์จะประมวลผลเว็บเซอร์วิสและส่งการตอบกลับมา ดังแสดงด้านล่าง

คำตอบยืนยันว่า 5 บวก 5 เท่ากับ 10

การตอบสนอง SOAP ที่แสดงผลลัพธ์การบวก

ทำความเข้าใจเกี่ยวกับแผงการตอบสนอง SOAP และแผงบันทึกข้อมูล

ดังที่กล่าวไว้ก่อนหน้านี้ ข้อความ SOAP จะถูกส่งผ่านทาง HTTP การตรวจสอบข้อความ RAW จะช่วยให้เข้าใจได้ชัดเจนยิ่งขึ้นว่าคำขอและคำตอบของ SOAP ถูกส่งผ่านทาง HTTP อย่างไร

ขั้นตอนที่ 1: คลิก RAW แท็บในนั้น SoapUI หน้าต่างคำขอ

  1. มีการส่งคำขอไปยังเว็บเซิร์ฟเวอร์ ดังนั้นจึงใช้วิธี HTTP POST
  2. คำขอ SOAP จะถูกส่งไปในส่วนเนื้อหาของข้อความ HTTP

แท็บคำขอ SOAP แบบดิบ

ขั้นตอนที่ 2: ตอนนี้ให้คลิกที่ RAW แท็บในนั้น SoapUI หน้าต่างตอบสนองเพื่อทำความเข้าใจวิธีการส่งการตอบสนองผ่าน HTTP

  1. หลังจากประมวลผลคำขอแล้ว จะแสดงรหัสตอบกลับ HTTP (200) ซึ่งบ่งชี้ว่าสำเร็จ
  2. การตอบกลับ SOAP จะถูกส่งกลับไปยังไคลเอ็นต์ภายในส่วนเนื้อหาของข้อความ HTTP

แท็บ RAW ของการตอบสนอง SOAP พร้อม HTTP 200

ตารางด้านล่างนี้สรุปโค้ดการตอบสนอง HTTP ทั่วไปสำหรับการแก้ไขปัญหาอย่างรวดเร็ว

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

ขั้นตอนที่ 3: หน้าต่าง Test Case ยังแสดงข้อมูลเมตาเพิ่มเติมสำหรับคำขอและการตอบสนองอีกด้วย

ข้อมูลเมตาของหน้าต่างกรณีทดสอบ

  1. แสดงว่าไม่มีส่วนหัวในคำขอที่ส่งไป
  2. แสดงว่าไม่มีไฟล์แนบในคำขอที่ส่งไปยังเว็บเซิร์ฟเวอร์
  3. แสดงรายการส่วนหัว 10 รายการในคำตอบ ซึ่งสามารถดูได้เมื่อคลิก
  4. แสดงว่าไม่มีไฟล์แนบในข้อความตอบกลับ

หน้าต่างบันทึก

หน้าต่างบันทึก (Logs Pane) แสดงข้อมูลทั้งหมดที่แลกเปลี่ยนระหว่างไคลเอนต์และเซิร์ฟเวอร์ แท็บบันทึกที่ใช้บ่อยที่สุดมีรายละเอียดดังต่อไปนี้

SoapUI แท็บบานหน้าต่างบันทึก

SoapUI เข้าสู่ระบบ: แสดงข้อมูลการตอบสนองจากเว็บเซิร์ฟเวอร์ ข้อมูลเดียวกันนี้จะถูกบันทึกไว้ในไฟล์ soapui.log ภายใน SoapUI ไดเร็กทอรี bin

SoapUI แท็บบันทึก

บันทึก HTTP: แสดงการรับส่งแพ็กเก็ต HTTP ทั้งหมด ข้อมูลทั้งหมดที่แสดงในมุมมอง RAW จะถูกบันทึกไว้ในบันทึก HTTP ด้วยเช่นกัน

แท็บบันทึก HTTP

บันทึกข้อผิดพลาด: แสดงข้อผิดพลาดทั้งหมดที่พบระหว่างการทำงานของโปรเจ็กต์ ข้อมูลเดียวกันนี้จะถูกบันทึกไว้ในไฟล์ soapui-errors.log ภายในโฟลเดอร์เดียวกัน SoapUI ไดเร็กทอรี bin

บันทึกหน่วยความจำ: โปรแกรมนี้ตรวจสอบการใช้หน่วยความจำและแสดงผลในรูปแบบแผนภูมิ ซึ่งมีประโยชน์เมื่อทำการประมวลผลที่ใช้หน่วยความจำมาก

แท็บบันทึกหน่วยความจำ

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

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

ชุดทดสอบ (Test Suite) คือคอนเทนเนอร์ที่จัดกลุ่มกรณีทดสอบที่เกี่ยวข้องไว้ด้วยกัน SoapUI โปรเจกต์ กรณีทดสอบคือสถานการณ์เดียวที่ประกอบด้วยขั้นตอนการทดสอบอย่างน้อยหนึ่งขั้นตอน เช่น คำขอ SOAP, คำขอ REST หรือการตรวจสอบความถูกต้อง

ใช่. SoapUI รองรับการทดสอบทั้ง SOAP และ REST เมื่อสร้างโปรเจ็กต์ใหม่ ให้เลือก New SOAP Project สำหรับบริการที่ใช้ WSDL หรือ New REST Project สำหรับ REST API ขั้นตอนการทดสอบประกอบด้วย REST Test Request, JDBC Request และ Groovy ต้นฉบับ

เปิดชุดทดสอบและคลิกปุ่มเล่นสีเขียว SoapUI รันชุดทดสอบทั้งหมดตามลำดับที่ปรากฏ คุณยังสามารถกำหนดค่าการรันแบบขนานหรือแบบลำดับได้ในแท็บคุณสมบัติชุดทดสอบ

ใช่ ใช้ขั้นตอน Properties, ขั้นตอน Property Transfer หรือขั้นตอน DataSource (SoapUI ข้อดี (Pro) คือการป้อนข้อมูลหลายรายการผ่านกรณีทดสอบเดียวกัน ซึ่งมีประโยชน์สำหรับการทดสอบที่ขับเคลื่อนด้วยข้อมูลในชุดค่าผสมของข้อมูลป้อนเข้าหลายแบบ

ผู้ช่วย AI สามารถอ่านข้อกำหนด WSDL หรือ OpenAPI และแนะนำชุดค่าผสมอินพุตที่สมจริง กรณีพิเศษ และรูปแบบการยืนยันได้ คำแนะนำเหล่านี้สามารถส่งออกได้ในรูปแบบต่างๆ SoapUI XML หรือ Groovy สคริปต์ช่วยลดภาระงานด้วยตนเองเมื่อสร้างชุดทดสอบขนาดใหญ่

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

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