การทดสอบ SOA คืออะไร? บทช่วยสอนพร้อมตัวอย่าง

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

SOA (เน้นการบริการ Archiการทดสอบเป็นการทดสอบรูปแบบสถาปัตยกรรม SOA โดยที่ส่วนประกอบของแอปพลิเคชันได้รับการออกแบบให้สื่อสารผ่านโปรโตคอลการสื่อสารโดยทั่วไปผ่านทางเครือข่าย

SOA คืออะไร?

SOA คือวิธีการรวมแอปพลิเคชันและกระบวนการทางธุรกิจเข้าด้วยกันเพื่อตอบสนองความต้องการทางธุรกิจ

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

นักพัฒนาซอฟต์แวร์ใน SOA พัฒนาหรือซื้อโปรแกรมที่เรียกว่า บริการ

บริการคืออะไร?

เอสโอเอ เซอร์วิส

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

บริการเว็บ

บริการบนเว็บเป็นส่วนประกอบของแอปพลิเคชันอิสระซึ่งมีอยู่บนเว็บ

สามารถเผยแพร่ ค้นหา และนำไปใช้บนเว็บได้ พวกเขาสามารถสื่อสารผ่านอินเทอร์เน็ต

SOA เว็บเซอร์วิส

SOA เว็บเซอร์วิส

  1. ผู้ให้บริการเผยแพร่บริการทางอินเทอร์เน็ต
  2. ลูกค้าค้นหาบริการเว็บเฉพาะจาก Web Service Registry
  3. URL และ WSDL สำหรับบริการเว็บที่จำเป็นจะถูกส่งกลับ การใช้ WSDL และ URL การสื่อสารระหว่างผู้ให้บริการและผู้ร้องขอเกิดขึ้นผ่านข้อความ SOAP
  4. เมื่อผู้บริโภคเรียกใช้บริการเว็บ การเชื่อมต่อ HTTP จะถูกสร้างขึ้นกับผู้ให้บริการ
    ข้อความ SOAP ถูกสร้างขึ้นเพื่อสั่งให้ผู้ให้บริการเรียกใช้ตรรกะบริการเว็บที่จำเป็น
  5. การตอบสนองที่ได้รับจากผู้ให้บริการคือข้อความ SOAP ซึ่งจะถูกฝังลงในการตอบสนอง HTTP การตอบสนอง HTTP นี้เป็นรูปแบบข้อมูลที่แอปพลิเคชันผู้บริโภคสามารถเข้าใจได้

ตัวอย่าง

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

ตัวอย่างบริการเว็บ SOA

การทดสอบ SOA

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

การทดสอบ SOA

SOA Testing ควรเน้นที่ 3 ชั้นของระบบ

ชั้นบริการ

ชั้นนี้ประกอบด้วยบริการ บริการต่างๆ ที่ถูกเปิดเผยโดยระบบที่ได้มาจากหน้าที่ทางธุรกิจ

ตัวอย่างเช่น -

พิจารณาเว็บไซต์เพื่อสุขภาพซึ่งประกอบด้วย

  1. ติดตามน้ำหนัก
  2. ติดตามน้ำตาลในเลือด
  3. เครื่องวัดความดันโลหิต

ตัวติดตามจะแสดงข้อมูลและวันที่ที่ป้อนตามลำดับ ชั้นบริการประกอบด้วยบริการที่ได้รับข้อมูลตามลำดับจากฐานข้อมูล–

  • บริการติดตามน้ำหนัก
  • บริการติดตามน้ำตาลในเลือด
  • บริการติดตามความดันโลหิต
  • บริการเข้าสู่ระบบ

เลเยอร์กระบวนการ

Process Layer ประกอบด้วยกระบวนการ การรวบรวมบริการที่เป็นส่วนหนึ่งของฟังก์ชันการทำงานเดียว

กระบวนการอาจเป็นส่วนหนึ่งของอินเทอร์เฟซผู้ใช้ (เช่น เครื่องมือค้นหา) ซึ่งเป็นส่วนหนึ่งของเครื่องมือ ETL (สำหรับรับข้อมูลจากฐานข้อมูล)

จุดสนใจหลักในเลเยอร์นี้จะอยู่ที่อินเทอร์เฟซผู้ใช้และกระบวนการ

อินเทอร์เฟซผู้ใช้ของตัวติดตามน้ำหนักและการบูรณาการกับฐานข้อมูลเป็นจุดสนใจหลัก

ฟังก์ชั่นด้านล่างจะได้รับการพิจารณา

  1. การเพิ่มข้อมูลใหม่
  2. การแก้ไขข้อมูลที่มีอยู่
  3. กำลังสร้างตัวติดตามใหม่
  4. กำลังลบข้อมูล

ชั้นผู้บริโภค

เลเยอร์นี้ส่วนใหญ่ประกอบด้วยอินเทอร์เฟซผู้ใช้

ชั้นผู้บริโภค

ขึ้นอยู่กับเลเยอร์ การทดสอบแอปพลิเคชัน SOA จะแบ่งออกเป็นสามระดับ

  1. ระดับการบริการ
  2. ระดับอินเตอร์เฟซ
  3. ระดับต้นจนจบ
  • วิธีจากบนลงล่างใช้สำหรับการออกแบบการทดสอบ
  • ใช้วิธีการจากล่างขึ้นบนสำหรับการดำเนินการทดสอบ

กลยุทธ์สำหรับการทดสอบ SOA

แนวทางการวางแผนการทดสอบ

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

แนวทางการดำเนินการทดสอบ

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

วิธีการทดสอบ SOA

1) การทดสอบตามสถานการณ์ทางธุรกิจที่ขับเคลื่อนด้วยข้อมูล

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

2) ต้นขั้ว

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

3) การทดสอบการถดถอย

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

4) การทดสอบระดับการให้บริการ

การทดสอบระดับการบริการรวมถึงการทดสอบส่วนประกอบในด้านการทำงาน ความปลอดภัย ประสิทธิภาพการทำงาน และการทำงานร่วมกัน

แต่ละบริการจะต้องได้รับการทดสอบอย่างแยกจากกันก่อน

5) การทดสอบการทำงาน

การทดสอบฟังก์ชั่นควรทำในแต่ละบริการเพื่อ

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

6) การทดสอบความปลอดภัย

การทดสอบความปลอดภัยของบริการเว็บเป็นสิ่งสำคัญในระหว่างการทดสอบระดับบริการของแอปพลิเคชัน SOA สิ่งนี้ทำให้มั่นใจในความปลอดภัยของแอปพลิเคชัน

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

  • มาตรฐานอุตสาหกรรมที่กำหนดโดยการทดสอบความปลอดภัย WS ควรปฏิบัติตามโดยบริการบนเว็บ
  • มาตรการรักษาความปลอดภัยควรทำงานได้อย่างไม่มีที่ติ
  • การเข้ารหัสข้อมูลและ Digiลายเซ็นต์บนเอกสาร
  • การรับรองความถูกต้องและการอนุญาต
  • SQL Injection, Malware, XSS, CSRF และช่องโหว่อื่นๆ จะต้องได้รับการทดสอบบน XML
  • การโจมตีปฏิเสธการให้บริการ

7) การทดสอบประสิทธิภาพ

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

ปัจจัยต่อไปนี้จะถูกพิจารณาระหว่างการทดสอบ:

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

8) การทดสอบระดับบูรณาการ

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

9) การทดสอบตั้งแต่ต้นจนจบ

ระยะนี้ช่วยให้แน่ใจว่าแอปพลิเคชันยืนยันความต้องการทางธุรกิจทั้งเชิงฟังก์ชันและไม่ใช่เชิงฟังก์ชัน

รายการด้านล่างได้รับการรับรองว่าได้รับการทดสอบระหว่างการทดสอบตั้งแต่ต้นจนจบ

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

ความท้าทายในการทดสอบ SOA

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

เครื่องมือทดสอบ SOA

มีเครื่องมือทดสอบ SOA มากมายในตลาดเพื่อช่วยผู้ทดสอบในการทดสอบแอปพลิเคชัน SOA นี่คือบางส่วนที่เป็นที่นิยม เครื่องมือทดสอบ SOA:

1) สบู่ UI

“SOAP UI” เป็นเครื่องมือทดสอบฟังก์ชันโอเพ่นซอร์สสำหรับบริการและ การทดสอบ API.

  • แอปพลิเคชั่นเดสก์ท็อป
  • รองรับหลายโปรโตคอล - SOAP, REST, HTTP, JMS, AMF, JDBC
  • บริการเว็บสามารถพัฒนา ตรวจสอบ และเรียกใช้ได้
  • ยังใช้สำหรับการทดสอบโหลด การทดสอบระบบอัตโนมัติและการทดสอบความปลอดภัย
  • MockServices สามารถสร้าง Stub ได้
  • คำขอและการทดสอบบริการเว็บสามารถสร้างขึ้นได้โดยอัตโนมัติผ่านไคลเอนต์บริการเว็บ
  • มีเครื่องมือการรายงานในตัว
  • พัฒนาโดยสมาร์ทแบร์

2) iTKO ลิซ่า

“LISA” คือชุดผลิตภัณฑ์ที่นำเสนอโซลูชันการทดสอบการทำงานสำหรับระบบแบบกระจาย เช่น SOA

  • ยังใช้สำหรับการทดสอบการถดถอย การรวม โหลด และประสิทธิภาพ
  • พัฒนาโดย iTKO (เทคโนโลยี CA)
  • สามารถใช้ในการออกแบบและดำเนินการทดสอบได้

3) การทดสอบการบริการของ HP

“การทดสอบบริการ” เป็นเครื่องมือทดสอบการทำงานที่รองรับทั้งการทดสอบ UI และบริการที่ใช้ร่วมกัน

  • การทดสอบทั้งการทำงานและประสิทธิภาพของบริการสามารถทำได้ด้วยสคริปต์เดียว
  • บูรณาการกับ HP QC
  • สามารถจัดการบริการและข้อมูลจำนวนมหาศาลได้
  • รองรับการทดสอบการทำงานร่วมกันโดยจำลองสภาพแวดล้อมไคลเอนต์ JEE, AXIS และ DotNet
  • พัฒนาโดยเอชพี

4) การทดสอบ SOA ของ Parasoft

SOA Test เป็นชุดเครื่องมือทดสอบและวิเคราะห์ที่พัฒนาขึ้นสำหรับการทดสอบแอปพลิเคชัน API และ API

  • รองรับบริการบนเว็บ, REST, JSON, MQ, JMS, TIBCO, HTTP, เทคโนโลยี XML
  • การทดสอบเชิงฟังก์ชัน หน่วย การบูรณาการ การถดถอย ความปลอดภัย การทำงานร่วมกัน การปฏิบัติตามข้อกำหนด และประสิทธิภาพนั้นเป็นไปได้
  • สามารถสร้าง Stub ได้โดยใช้ Parasoft Virtualize ซึ่งชาญฉลาดกว่า SOAP UI
  • พัฒนาโดย ParaSoft

กรณีการใช้งานการทดสอบ SOA

พิจารณาเว็บไซต์อีคอมเมิร์ซซึ่งมีฟังก์ชันและฟังก์ชันย่อยด้านล่าง:

ประมวลผลคำสั่งซื้อ

ประมวลผลคำสั่งซื้อ

PHASE 1

ในระยะแรกของการทดสอบ SOA เช่น ระยะทดสอบกลยุทธ์ แอปพลิเคชันจะแบ่งออกเป็นบริการและฟังก์ชันทางธุรกิจ

ให้เราพิจารณาด้านล่างนี้คือบริการในแอปพลิเคชัน

  • สร้างคำสั่งซื้อ
  • ตรวจสอบสถานะลูกค้า
  • เปลี่ยนสถานะการสั่งซื้อ
  • ตรวจสอบสถานะคำสั่งซื้อ
  • ตรวจสอบสินค้าคงคลัง

ฟังก์ชั่นทางธุรกิจเหมือนกับฟังก์ชั่นของเว็บไซต์

หมายเหตุ เอกสารกลยุทธ์การทดสอบจะมีรายการบริการและฟังก์ชันที่ต้องทดสอบ

PHASE 2

ขั้นตอนการวางแผนการทดสอบ กรณีทดสอบถูกเขียนขึ้นสำหรับแต่ละระดับ

  1. ระดับต้นจนจบ กรณีทดสอบถูกเขียนขึ้นสำหรับแต่ละกรณีการใช้งานและขั้นตอนทางธุรกิจ ด้านล่างนี้เป็นตัวอย่างของกรณีทดสอบ

    • สร้างคำสั่งซื้อกับผู้ใช้ที่ใช้งานอยู่
    • สร้างคำสั่งซื้อกับผู้ใช้ที่ไม่ได้ใช้งาน
    • สร้างคำสั่งซื้อด้วยผลิตภัณฑ์ที่มีอยู่โดยมีปริมาณการสั่งซื้อ < ปริมาณที่มีอยู่
    • สร้างคำสั่งซื้อด้วยผลิตภัณฑ์ที่มีอยู่พร้อมปริมาณการสั่งซื้อ > ปริมาณที่มีอยู่
    • สร้างคำสั่งซื้อที่มีหลายรายการ
    • ยกเลิกคำสั่งซื้ออย่างสมบูรณ์
    • ยกเลิกคำสั่งซื้อบางส่วน
  2. ระดับบูรณาการ กรณีทดสอบเขียนขึ้นเพื่อรวมฐานข้อมูลและส่วนต่อประสานกับผู้ใช้ ด้านล่างนี้เป็นตัวอย่างกรณีทดสอบ

    • สร้างคำสั่งซื้อใหม่ด้วยสินค้ารายการเดียว ตรวจสอบว่ามีการสร้างคำสั่งซื้อบนฐานข้อมูล
    • สร้างคำสั่งซื้อใหม่ด้วยสินค้ารายการเดียว ตรวจสอบว่าราคาที่คำนวณสำหรับคำสั่งซื้อนั้นถูกต้อง
    • สร้างคำสั่งซื้อใหม่ด้วยสินค้ารายการเดียว ตรวจสอบว่าปริมาณของผลิตภัณฑ์ที่มีอยู่น้อยกว่าจำนวนในใบสั่ง
    • ตรวจสอบว่าสถานะของคำสั่งซื้อที่แสดงบน UI เหมือนกับสถานะบนฐานข้อมูล
    • ยกเลิกคำสั่งซื้อและตรวจสอบว่าสถานะของคำสั่งซื้อได้รับการแก้ไขในฐานข้อมูลแล้ว
    • สำหรับการชำระเงินครั้งแรก ตรวจสอบว่ารายละเอียดการชำระเงินที่ป้อนบน UI ถูกบันทึกไว้ในฐานข้อมูลหรือไม่
    • สำหรับการคืนเงินการชำระเงิน ตรวจสอบว่ารายละเอียดการชำระเงินในฐานข้อมูลจะปรากฏบน UI หรือไม่
  3. ระดับการบริการ. แต่ละบริการได้รับการทดสอบสำหรับเงื่อนไขข้อมูลทั้งหมด

ด้านล่างนี้เป็นตัวอย่างบางส่วน

ลำดับ รายละเอียดการสั่งซื้อ เงื่อนไขการสั่งซื้อ
1 สร้างคำสั่งซื้อ จำนวนรายการ = 1 ปริมาณในการสั่งซื้อ < ปริมาณในฐานข้อมูล
2 สร้างคำสั่งซื้อ จำนวนรายการ > 1 ปริมาณในการสั่งซื้อ < ปริมาณในฐานข้อมูล
3 สร้างหมายเลขคำสั่งซื้อของรายการ = 1 ปริมาณในการสั่งซื้อ > ปริมาณในฐานข้อมูล
4 ตรวจสอบสถานะการสั่งซื้อ สถานะบนฐานข้อมูล = ใช้งานอยู่
5 ตรวจสอบสถานะการสั่งซื้อ สถานะในฐานข้อมูล = จัดส่งแล้ว
6 ตรวจสอบสถานะการสั่งซื้อ สถานะในฐานข้อมูล = ยกเลิกแล้ว
7 ตรวจสอบสถานะการสั่งซื้อ รหัสคำสั่งซื้อ = ไม่ถูกต้อง
8 ตรวจสอบความพร้อมของผลิตภัณฑ์ ปริมาณของผลิตภัณฑ์ >0
9 ตรวจสอบความพร้อมของผลิตภัณฑ์ จำนวนสินค้า = 0
10 ตรวจสอบความพร้อมของผลิตภัณฑ์ รหัสผลิตภัณฑ์ = ไม่ถูกต้อง

ระยะที่ 3 – การดำเนินการทดสอบ

การดำเนินการทดสอบใช้วิธีการจากล่างขึ้นบน กล่าวคือ การทดสอบระดับบริการเสร็จสิ้นก่อน จากนั้นจึงระดับบูรณาการ และสุดท้าย การทดสอบตั้งแต่ต้นจนจบ.

1) ระดับการให้บริการ

ให้เราพิจารณาสิ่งนั้น โซปุ้ย เครื่องมือนี้ถือเป็นการทดสอบแอปพลิเคชัน

เค้ก wsdl และ URL จะถูกเรียกดูในหน้าต่างทดสอบของ SOAP

คำขอใช้บริการแต่ละประเภทจะแสดงอยู่ในหน้าต่างคำขอ

โดยการปรับเปลี่ยนข้อมูลตามกรณีทดสอบระดับบริการ คำขอจะถูกสร้างขึ้นสำหรับกรณีทดสอบแต่ละกรณี

กรณีทดสอบ ขอร้อง การตอบสนองที่คาดหวัง
สร้างคำสั่งซื้อ จำนวนรายการ = 1 ปริมาณในการสั่งซื้อ < ปริมาณใน db x2 2 o3251 ประสบความสำเร็จ
สร้างคำสั่งซื้อเลขที่ ของรายการ > 1 ปริมาณในการสั่งซื้อ < ปริมาณใน db ย1 1 ย2 3 o3251 ประสบความสำเร็จ
สร้างหมายเลขคำสั่งซื้อ ของรายการ = 1 ปริมาณในการสั่งซื้อ > ปริมาณใน db x23 200 โมฆะ ไม่สำเร็จ
ตรวจสอบสถานะการสั่งซื้อสถานะบนฐานข้อมูล = ใช้งานอยู่ o9876 คล่องแคล่ว ประสบความสำเร็จ
ตรวจสอบสถานะการสั่งซื้อสถานะในฐานข้อมูล = จัดส่งแล้ว o9656 จัดส่งแล้ว ประสบความสำเร็จ
ตรวจสอบสถานะคำสั่งซื้อOrder id = Invalid y5686 โมฆะ ไม่สำเร็จ
ตรวจสอบความพร้อมของผลิตภัณฑ์จำนวนผลิตภัณฑ์ >0 วัน34 34 ใช่ ประสบความสำเร็จ
ตรวจสอบความพร้อมของผลิตภัณฑ์จำนวนสินค้า =0 ปี34 0 เลขที่ ประสบความสำเร็จ
ตรวจสอบความพร้อมของผลิตภัณฑ์Product id = invalid sder ไม่สำเร็จ
2) ระดับบูรณาการ

กรณีทดสอบระดับการรวมจะดำเนินการบนอินเทอร์เฟซผู้ใช้และฐานข้อมูล

  • สร้างคำสั่งซื้อด้วยรายการเดียว –
  • ผู้ใช้เปิดเว็บไซต์
  • จะไปสั่งซื้อ..
  • เลือกผลิตภัณฑ์และปริมาณที่ถูกต้องและบันทึกคำสั่งซื้อ
  • ควรจะแสดงข้อความแจ้งว่าการสั่งซื้อสำเร็จแล้ว
  • ผู้ใช้เปิดฐานข้อมูลและตรวจสอบว่ารายละเอียดของคำสั่งซื้อเหมือนกับที่ป้อนในเว็บไซต์หรือไม่
3) ระดับต้นจนจบ

กระแสธุรกิจและกรณีการใช้งานจะดำเนินการบนอินเทอร์เฟซผู้ใช้

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

สรุป

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

จดหมายข่าว Guru99 รายวัน

เริ่มต้นวันใหม่ของคุณด้วยข่าวสาร AI ล่าสุดและสำคัญที่สุดที่ส่งมอบทันที