การทดสอบ SOA คืออะไร? บทช่วยสอนพร้อมตัวอย่าง
การทดสอบ SOA คืออะไร?
SOA (เน้นการบริการ Archiการทดสอบเป็นการทดสอบรูปแบบสถาปัตยกรรม SOA โดยที่ส่วนประกอบของแอปพลิเคชันได้รับการออกแบบให้สื่อสารผ่านโปรโตคอลการสื่อสารโดยทั่วไปผ่านทางเครือข่าย
SOA คืออะไร?
SOA คือวิธีการรวมแอปพลิเคชันและกระบวนการทางธุรกิจเข้าด้วยกันเพื่อตอบสนองความต้องการทางธุรกิจ
ในสาขาวิศวกรรมซอฟต์แวร์ SOA ให้ความคล่องตัวและความยืดหยุ่นแก่กระบวนการทางธุรกิจ การเปลี่ยนแปลงกระบวนการหรือแอปพลิเคชันสามารถนำไปยังส่วนประกอบเฉพาะได้โดยไม่ส่งผลกระทบต่อทั้งระบบ
นักพัฒนาซอฟต์แวร์ใน SOA พัฒนาหรือซื้อโปรแกรมที่เรียกว่า บริการ
บริการคืออะไร?
- บริการอาจเป็นหน่วยการทำงานของแอปพลิเคชันหรือกระบวนการทางธุรกิจ ซึ่งสามารถนำมาใช้ซ้ำหรือทำซ้ำโดยแอปพลิเคชันหรือกระบวนการอื่นๆ ได้ (ตัวอย่างเช่น ในภาพด้านบน Payment Gateway เป็นบริการที่สามารถนำมาใช้ซ้ำได้โดยไซต์อีคอมเมิร์ซใดๆ เมื่อใดก็ตามที่จำเป็นต้องชำระเงิน ไซต์อีคอมเมิร์ซจะโทร/ร้องขอบริการเกตเวย์การชำระเงิน หลังจากชำระเงินบนเกตเวย์แล้ว การตอบกลับจะถูกส่งไปยังเว็บไซต์อีคอมเมิร์ซ)
- บริการต่างๆ ง่ายต่อการประกอบและกำหนดค่าส่วนประกอบใหม่ได้ง่าย
- บริการสามารถเปรียบเทียบได้กับแบบเอกสารสำเร็จรูป พวกเขาสามารถสร้างแอปพลิเคชันใดๆ ที่จำเป็นได้ การเพิ่มและลบออกจากแอปพลิเคชันหรือกระบวนการทางธุรกิจเป็นเรื่องง่าย
- บริการถูกกำหนดโดยฟังก์ชันทางธุรกิจที่พวกเขาดำเนินการมากกว่าที่จะเป็นเพียงส่วนหนึ่งของโค้ด
บริการเว็บ
บริการบนเว็บเป็นส่วนประกอบของแอปพลิเคชันอิสระซึ่งมีอยู่บนเว็บ
สามารถเผยแพร่ ค้นหา และนำไปใช้บนเว็บได้ พวกเขาสามารถสื่อสารผ่านอินเทอร์เน็ต
- ผู้ให้บริการเผยแพร่บริการทางอินเทอร์เน็ต
- ลูกค้าค้นหาบริการเว็บเฉพาะจาก Web Service Registry
- URL และ WSDL สำหรับบริการเว็บที่จำเป็นจะถูกส่งกลับ การใช้ WSDL และ URL การสื่อสารระหว่างผู้ให้บริการและผู้ร้องขอเกิดขึ้นผ่านข้อความ SOAP
- เมื่อผู้บริโภคเรียกใช้บริการเว็บ การเชื่อมต่อ HTTP จะถูกสร้างขึ้นกับผู้ให้บริการ
ข้อความ SOAP ถูกสร้างขึ้นเพื่อสั่งให้ผู้ให้บริการเรียกใช้ตรรกะบริการเว็บที่จำเป็น - การตอบสนองที่ได้รับจากผู้ให้บริการคือข้อความ SOAP ซึ่งจะถูกฝังลงในการตอบสนอง HTTP การตอบสนอง HTTP นี้เป็นรูปแบบข้อมูลที่แอปพลิเคชันผู้บริโภคสามารถเข้าใจได้
ตัวอย่าง
หน้าแรกของเว็บไซต์และเครื่องมือค้นหาจะแสดงรายงานสภาพอากาศทุกวัน แทนที่จะเขียนโค้ดส่วนรายงานสภาพอากาศทั้งหมด คุณสามารถซื้อบริการรายงานสภาพอากาศจากผู้ขายและรวมเข้ากับเพจต่างๆ ได้
การทดสอบ SOA
SOA ประกอบด้วยเทคโนโลยีต่างๆ แอปพลิเคชันที่สร้างโดยใช้ SOA มีบริการต่างๆ มากมายที่เชื่อมโยงกันอย่างหลวมๆ
SOA Testing ควรเน้นที่ 3 ชั้นของระบบ
ชั้นบริการ
ชั้นนี้ประกอบด้วยบริการ บริการต่างๆ ที่ถูกเปิดเผยโดยระบบที่ได้มาจากหน้าที่ทางธุรกิจ
ตัวอย่างเช่น -
พิจารณาเว็บไซต์เพื่อสุขภาพซึ่งประกอบด้วย
- ติดตามน้ำหนัก
- ติดตามน้ำตาลในเลือด
- เครื่องวัดความดันโลหิต
ตัวติดตามจะแสดงข้อมูลและวันที่ที่ป้อนตามลำดับ ชั้นบริการประกอบด้วยบริการที่ได้รับข้อมูลตามลำดับจากฐานข้อมูล–
- บริการติดตามน้ำหนัก
- บริการติดตามน้ำตาลในเลือด
- บริการติดตามความดันโลหิต
- บริการเข้าสู่ระบบ
เลเยอร์กระบวนการ
Process Layer ประกอบด้วยกระบวนการ การรวบรวมบริการที่เป็นส่วนหนึ่งของฟังก์ชันการทำงานเดียว
กระบวนการอาจเป็นส่วนหนึ่งของอินเทอร์เฟซผู้ใช้ (เช่น เครื่องมือค้นหา) ซึ่งเป็นส่วนหนึ่งของเครื่องมือ ETL (สำหรับรับข้อมูลจากฐานข้อมูล)
จุดสนใจหลักในเลเยอร์นี้จะอยู่ที่อินเทอร์เฟซผู้ใช้และกระบวนการ
อินเทอร์เฟซผู้ใช้ของตัวติดตามน้ำหนักและการบูรณาการกับฐานข้อมูลเป็นจุดสนใจหลัก
ฟังก์ชั่นด้านล่างจะได้รับการพิจารณา
- การเพิ่มข้อมูลใหม่
- การแก้ไขข้อมูลที่มีอยู่
- กำลังสร้างตัวติดตามใหม่
- กำลังลบข้อมูล
ชั้นผู้บริโภค
เลเยอร์นี้ส่วนใหญ่ประกอบด้วยอินเทอร์เฟซผู้ใช้
ขึ้นอยู่กับเลเยอร์ การทดสอบแอปพลิเคชัน SOA จะแบ่งออกเป็นสามระดับ
- ระดับการบริการ
- ระดับอินเตอร์เฟซ
- ระดับต้นจนจบ
- วิธีจากบนลงล่างใช้สำหรับการออกแบบการทดสอบ
- ใช้วิธีการจากล่างขึ้นบนสำหรับการดำเนินการทดสอบ
กลยุทธ์สำหรับการทดสอบ 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
ขั้นตอนการวางแผนการทดสอบ กรณีทดสอบถูกเขียนขึ้นสำหรับแต่ละระดับ
- ระดับต้นจนจบ กรณีทดสอบถูกเขียนขึ้นสำหรับแต่ละกรณีการใช้งานและขั้นตอนทางธุรกิจ ด้านล่างนี้เป็นตัวอย่างของกรณีทดสอบ
- สร้างคำสั่งซื้อกับผู้ใช้ที่ใช้งานอยู่
- สร้างคำสั่งซื้อกับผู้ใช้ที่ไม่ได้ใช้งาน
- สร้างคำสั่งซื้อด้วยผลิตภัณฑ์ที่มีอยู่โดยมีปริมาณการสั่งซื้อ < ปริมาณที่มีอยู่
- สร้างคำสั่งซื้อด้วยผลิตภัณฑ์ที่มีอยู่พร้อมปริมาณการสั่งซื้อ > ปริมาณที่มีอยู่
- สร้างคำสั่งซื้อที่มีหลายรายการ
- ยกเลิกคำสั่งซื้ออย่างสมบูรณ์
- ยกเลิกคำสั่งซื้อบางส่วน
- ระดับบูรณาการ กรณีทดสอบเขียนขึ้นเพื่อรวมฐานข้อมูลและส่วนต่อประสานกับผู้ใช้ ด้านล่างนี้เป็นตัวอย่างกรณีทดสอบ
- สร้างคำสั่งซื้อใหม่ด้วยสินค้ารายการเดียว ตรวจสอบว่ามีการสร้างคำสั่งซื้อบนฐานข้อมูล
- สร้างคำสั่งซื้อใหม่ด้วยสินค้ารายการเดียว ตรวจสอบว่าราคาที่คำนวณสำหรับคำสั่งซื้อนั้นถูกต้อง
- สร้างคำสั่งซื้อใหม่ด้วยสินค้ารายการเดียว ตรวจสอบว่าปริมาณของผลิตภัณฑ์ที่มีอยู่น้อยกว่าจำนวนในใบสั่ง
- ตรวจสอบว่าสถานะของคำสั่งซื้อที่แสดงบน UI เหมือนกับสถานะบนฐานข้อมูล
- ยกเลิกคำสั่งซื้อและตรวจสอบว่าสถานะของคำสั่งซื้อได้รับการแก้ไขในฐานข้อมูลแล้ว
- สำหรับการชำระเงินครั้งแรก ตรวจสอบว่ารายละเอียดการชำระเงินที่ป้อนบน UI ถูกบันทึกไว้ในฐานข้อมูลหรือไม่
- สำหรับการคืนเงินการชำระเงิน ตรวจสอบว่ารายละเอียดการชำระเงินในฐานข้อมูลจะปรากฏบน UI หรือไม่
- ระดับการบริการ. แต่ละบริการได้รับการทดสอบสำหรับเงื่อนไขข้อมูลทั้งหมด
ด้านล่างนี้เป็นตัวอย่างบางส่วน
ลำดับ | รายละเอียดการสั่งซื้อ | เงื่อนไขการสั่งซื้อ |
---|---|---|
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 จึงสามารถส่งมอบแอปพลิเคชันที่ได้รับการทดสอบอย่างสมบูรณ์และสมบูรณ์แบบ