การทดสอบคลาวด์คืออะไร? บทช่วยสอนการทดสอบ SaaS

การทดสอบคลาวด์

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

การประมวลผลแบบคลาวด์เป็นแพลตฟอร์มบนอินเทอร์เน็ตที่ให้บริการการประมวลผลที่หลากหลาย เช่น ฮาร์ดแวร์ ซอฟต์แวร์ และบริการอื่น ๆ ที่เกี่ยวข้องกับคอมพิวเตอร์จากระยะไกล

ส่วนใหญ่จะมีสามรุ่นคือ เมฆ Computing :

  • SaaS– ซอฟต์แวร์เป็นบริการ
  • PaaS– แพลตฟอร์มเป็นบริการ
  • IaaS– โครงสร้างพื้นฐานเป็นบริการ

ประเภทของการทดสอบในระบบคลาวด์

การทดสอบระบบคลาวด์ทั้งหมดแบ่งออกเป็นสี่ประเภทหลัก

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

การทดสอบ SaaS

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

การทดสอบ SaaS

การทดสอบบนคลาวด์มุ่งเน้นไปที่องค์ประกอบหลักเช่น

  1. การประยุกต์ใช้: โดยครอบคลุมถึงการทดสอบฟังก์ชันต่างๆ ขั้นตอนการทำงานทางธุรกิจแบบ end-to-end ความปลอดภัยของข้อมูล ความเข้ากันได้ของเบราว์เซอร์ ฯลฯ
  2. เครือข่าย: รวมถึงการทดสอบแบนด์วิธเครือข่าย โปรโตคอลต่างๆ และการถ่ายโอนข้อมูลผ่านเครือข่ายได้สำเร็จ
  3. โครงสร้างพื้นฐาน: ครอบคลุมถึงการทดสอบการกู้คืนระบบ การสำรองข้อมูล การเชื่อมต่อที่ปลอดภัย และนโยบายการจัดเก็บข้อมูล โครงสร้างพื้นฐานจำเป็นต้องได้รับการตรวจสอบการปฏิบัติตามกฎระเบียบ

การทดสอบประเภทอื่นๆ ใน Cloud ได้แก่

  • ประสิทธิภาพ
  • ความพร้อมที่จะให้บริการ
  • ตามมาตรฐาน
  • ⁠ความปลอดภัย
  • scalability
  • ผู้เช่าหลายราย
  • ทดสอบอัพเกรดสด

วิธีทำการทดสอบคลาวด์

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

ตัวอย่างกรณีการทดสอบสำหรับการทดสอบระบบคลาวด์

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

ความท้าทายในการทดสอบระบบคลาวด์

ความท้าทาย #1: ความปลอดภัยของข้อมูลและความเป็นส่วนตัว

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

ความท้าทาย #2: ระยะเวลาการแจ้งเตือนสั้น ๆ

ผู้ให้บริการระบบคลาวด์จะแจ้งลูกค้าปัจจุบันให้ทราบล่วงหน้าเป็นระยะเวลาสั้นๆ (1-2 สัปดาห์) เกี่ยวกับการอัพเกรด ซึ่งถือเป็นปัญหาใหญ่เมื่อต้องตรวจสอบการเปลี่ยนแปลงในแอปพลิเคชัน SaaS ของคุณด้วยตนเอง

ความท้าทาย #3: การตรวจสอบความเข้ากันได้ของอินเทอร์เฟซ

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

ความท้าทาย #4: การย้ายข้อมูล

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

ความท้าทาย #5: การรวมแอปพลิเคชันระดับองค์กร

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

ความท้าทาย #6: การจำลองการทดสอบอัพเกรดสด

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

การทดสอบบนคลาวด์กับการทดสอบแบบทั่วไป

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