การทดสอบการกำหนดค่าคืออะไร? ตัวอย่างกรณีทดสอบ
⚡ สรุปอย่างชาญฉลาด
การทดสอบการกำหนดค่า (Configuration Testing) คือการเรียกใช้แอปพลิเคชันบนซอฟต์แวร์และฮาร์ดแวร์หลายรูปแบบ เพื่อให้ทีมสามารถยืนยันได้ว่าข้อกำหนดด้านฟังก์ชันการทำงานยังคงใช้ได้ในทุกสภาพแวดล้อม และสามารถระบุการกำหนดค่าที่เหมาะสมที่สุดสำหรับการเปิดตัวได้
การทดสอบการกำหนดค่า
การทดสอบการกำหนดค่า เป็นเทคนิคการทดสอบซอฟต์แวร์ที่ใช้ทดสอบแอปพลิเคชันด้วยการผสมผสานซอฟต์แวร์และฮาร์ดแวร์หลายรูปแบบ เพื่อประเมินความต้องการด้านฟังก์ชันการทำงานและค้นหาการกำหนดค่าที่เหมาะสมที่สุดซึ่งทำให้แอปพลิเคชันทำงานได้โดยไม่มีข้อบกพร่องหรือความผิดพลาด
การกำหนดค่า หมายถึง การรวมกันใดๆ ที่ผลิตภัณฑ์ต้องรองรับ เช่น เวอร์ชันของระบบปฏิบัติการ เบราว์เซอร์ เวอร์ชันของฐานข้อมูล ไดรเวอร์ ขนาดหน่วยความจำ หรืออุปกรณ์ต่อพ่วงที่เชื่อมต่อ ควรแยกส่วนนี้ออกจากกัน การทดสอบความเข้ากันได้ซึ่งเป็นการถามว่าผลิตภัณฑ์นั้นสามารถทำงานร่วมกับซอฟต์แวร์และแพลตฟอร์มอื่นๆ ได้หรือไม่ การทดสอบการกำหนดค่าจะถามคำถามที่แคบกว่า คือ เวอร์ชันเดียวกันยังคงทำงานได้อย่างถูกต้องหรือไม่ เมื่อการตั้งค่าที่รองรับเปลี่ยนแปลงไป
ตัวอย่างการทดสอบการกำหนดค่า
ลองพิจารณาแอปพลิเคชันบนเดสก์ท็อปเป็นตัวอย่าง
แอปพลิเคชันเดสก์ท็อปมักถูกสร้างขึ้นในรูปแบบ 2 ชั้นหรือ 3 ชั้น ลองพิจารณาแอปพลิเคชันเดสก์ท็อปแบบ 3 ชั้นที่พัฒนาขึ้นใน ASP.NETประกอบด้วยไคลเอ็นต์ เซิร์ฟเวอร์ตรรกะทางธุรกิจ และเซิร์ฟเวอร์ฐานข้อมูล โดยแต่ละส่วนประกอบรองรับแพลตฟอร์มที่ระบุไว้ด้านล่าง
- แพลตฟอร์มลูกค้า – Windows XP, Windows 7, Windows 8 และอื่นๆ
- แพลตฟอร์มเซิร์ฟเวอร์ – Windows เซิร์ฟเวอร์ 2008 Windows เซิร์ฟเวอร์ 2008 R2 Windows เซิร์ฟเวอร์ 2012 R2
- ฐานข้อมูล – SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 และอื่นๆ
ผู้ทดสอบจะต้องทดสอบการทำงานของไคลเอ็นต์ เซิร์ฟเวอร์ และฐานข้อมูลร่วมกันบนแพลตฟอร์มและเวอร์ชันฐานข้อมูลต่างๆ เพื่อยืนยันว่าแอปพลิเคชันทำงานได้อย่างถูกต้องและไม่เกิดข้อผิดพลาดในทุกการใช้งานที่รองรับ
การทดสอบการกำหนดค่าไม่ได้จำกัดอยู่เฉพาะซอฟต์แวร์เท่านั้น แต่ยังรวมถึงฮาร์ดแวร์ด้วย ซึ่งเป็นเหตุผลที่ด้านฮาร์ดแวร์เรียกว่าการทดสอบการกำหนดค่าฮาร์ดแวร์ เช่น เครื่องพิมพ์ สแกนเนอร์ เว็บแคม และอุปกรณ์อื่นๆ ที่แอปพลิเคชันที่กำลังทดสอบต้องรองรับ ตารางด้านล่างแสดงให้เห็นว่าการจัดเรียงชุดค่าผสมเหล่านั้นเป็นอย่างไรก่อนเริ่มการทดสอบ
ข้อกำหนดเบื้องต้นสำหรับการทดสอบการกำหนดค่า
ก่อนเริ่มการทดสอบการกำหนดค่าในโครงการใดๆ จะต้องมีข้อกำหนดเบื้องต้นสามประการครบถ้วน
- การสร้างเมทริกซ์ที่แสดงรายการการกำหนดค่าซอฟต์แวร์และฮาร์ดแวร์แบบต่างๆ
- ให้ความสำคัญกับการกำหนดค่าเหล่านั้นก่อน เพราะการทดสอบทุกการกำหนดค่าเป็นเรื่องที่ไม่สามารถทำได้จริง
- ทดสอบการกำหนดค่าแต่ละแบบตามลำดับที่กำหนดโดยลำดับความสำคัญนั้น
วัตถุประสงค์ของการทดสอบการกำหนดค่า
การทดสอบการกำหนดค่ามีจุดมุ่งหมายเพื่อให้บรรลุสิ่งต่อไปนี้
- ตรวจสอบความถูกต้องของแอปพลิเคชันตามข้อกำหนดด้านการกำหนดค่า
- จงใจทำให้เกิดความล้มเหลวเพื่อเปิดเผยข้อบกพร่องที่การทดสอบปกติมองข้ามไป ตัวอย่างเช่น โดยการเปลี่ยนการตั้งค่าภูมิภาค เช่น เขตเวลา ภาษา หรือรูปแบบวันที่
- กำหนดค่าการตั้งค่าที่เหมาะสมที่สุดของแอปพลิเคชันที่กำลังทดสอบ
- วิเคราะห์ประสิทธิภาพของระบบขณะที่ทรัพยากรฮาร์ดแวร์เปลี่ยนแปลง เช่น การเพิ่มตัวกระจายโหลด การเพิ่มหรือลดหน่วยความจำ หรือการเชื่อมต่อเครื่องพิมพ์รุ่นต่างๆ
- วิเคราะห์ประสิทธิภาพของระบบเทียบกับการจัดลำดับความสำคัญ โดยพิจารณาว่าการทดสอบใช้ทรัพยากรที่มีอยู่ได้ดีเพียงใดเพื่อให้ได้การกำหนดค่าที่เหมาะสมที่สุด
- ตรวจสอบระบบในสภาพแวดล้อมที่มีการกระจายตัวทางภูมิศาสตร์ เช่น เซิร์ฟเวอร์อยู่ในที่หนึ่งและไคลเอนต์อยู่ในอีกที่หนึ่ง ซึ่งระบบควรทำงานได้โดยไม่คำนึงถึงการตั้งค่าระบบในแต่ละพื้นที่
- ตรวจสอบว่าข้อบกพร่องเกิดขึ้นซ้ำได้ง่ายเพียงใดเมื่อมีการเปลี่ยนแปลงการตั้งค่า
- ตรวจสอบให้แน่ใจว่ารายการในแอปพลิเคชันยังคงอยู่ tracสามารถเข้าถึงได้ผ่านเอกสารที่ถูกต้องและบันทึกเวอร์ชันที่ระบุได้อย่างชัดเจน
- ตรวจสอบให้แน่ใจว่ารายการแอปพลิเคชันยังคงสามารถจัดการได้ตลอดระยะเวลาการใช้งาน วงจรชีวิตการพัฒนาซอฟต์แวร์
วิธีทำการทดสอบการกำหนดค่า
กลยุทธ์จะขึ้นอยู่กับว่าการทดสอบการกำหนดค่าประเภทใดในสองประเภทนั้นอยู่ในขอบเขตของการทดสอบ
- การทดสอบการกำหนดค่าซอฟต์แวร์
- การทดสอบการกำหนดค่าฮาร์ดแวร์
การทดสอบการกำหนดค่าซอฟต์แวร์
การทดสอบการกำหนดค่าซอฟต์แวร์คือการเรียกใช้แอปพลิเคชันที่กำลังทดสอบกับระบบปฏิบัติการหลายระบบ การอัปเดตซอฟต์แวร์ และเวอร์ชันของส่วนประกอบต่างๆ กระบวนการนี้ใช้เวลานาน เนื่องจากในแต่ละรอบจะต้องทำการติดตั้งและถอนการติดตั้งซอฟต์แวร์ที่เกี่ยวข้องซ้ำๆ
วิธีทั่วไปในการลดต้นทุนนั้นคือการทดสอบบน เครื่องเสมือนเครื่องเสมือน (Virtual Machine) คือสภาพแวดล้อมที่ติดตั้งในซอฟต์แวร์ซึ่งทำงานเหมือนฮาร์ดแวร์จริง ทำให้ผู้ทดสอบทำงานเสมือนอยู่บนเครื่องจริง ในขณะที่การกำหนดค่าต่างๆ นั้นสามารถเปลี่ยนแปลงได้ เครื่องเสมือนจำลองการกำหนดค่าจริงได้อย่างใกล้เคียงเพียงพอสำหรับการตรวจสอบการทำงานส่วนใหญ่
แทนที่จะติดตั้งและถอนการติดตั้งบนเครื่องจริงหลายเครื่อง แอปพลิเคชันจะถูกติดตั้งบนเครื่องเสมือน และการทดสอบจะดำเนินต่อไปจากที่นั่น การทำงานบนเครื่องเสมือนหลายเครื่องพร้อมกัน โดยแต่ละเครื่องกู้คืนจากสแนปช็อต ช่วยลดความซับซ้อนของงานได้อย่างมาก
โดยทั่วไปการทดสอบการกำหนดค่าซอฟต์แวร์จะเริ่มได้เมื่อใด
- ข้อกำหนดด้านความสามารถในการกำหนดค่าที่จะต้องทดสอบนั้นได้ระบุไว้แล้ว
- การขอ สภาพแวดล้อมการทดสอบ พร้อมแล้ว
- ทีมทดสอบได้รับการฝึกอบรมด้านการทดสอบการกำหนดค่า
- เวอร์ชันที่เผยแพร่แล้วผ่านการทดสอบหน่วยและการทดสอบการบูรณาการแล้ว
เรื่องทั่วไป กลยุทธ์การทดสอบ กลยุทธ์แรกคือการรันชุดทดสอบการทำงานกับซอฟต์แวร์แต่ละเวอร์ชัน และตรวจสอบว่าแอปพลิเคชันทำงานได้ตามที่ตั้งใจไว้ โดยไม่มีข้อบกพร่องหรือข้อผิดพลาด กลยุทธ์ที่สองคือการจงใจทำให้กรณีทดสอบล้มเหลว และตรวจสอบว่าระบบรับมือได้อย่างมีประสิทธิภาพเพียงใด
ตัวอย่าง:
ลองพิจารณาแอปพลิเคชันธนาคารที่ต้องได้รับการทดสอบบนเบราว์เซอร์หลายตัว หากอยู่ในสภาพแวดล้อมที่มีข้อกำหนดเบื้องต้นครบถ้วน แอปพลิเคชันนั้นอาจผ่านการทดสอบหน่วยและการทดสอบอื่นๆ ได้เป็นอย่างดี การทดสอบการรวม ในห้องปฏิบัติการทดสอบ
เมื่อติดตั้งแอปพลิเคชันเดียวกันที่ไซต์ของลูกค้า แอปพลิเคชันนั้นอาจล้มเหลวได้ เนื่องจากเครื่องเหล่านั้นขาดการอัปเดตซอฟต์แวร์หรือเวอร์ชันของส่วนประกอบที่แอปพลิเคชันต้องพึ่งพาโดยตรงหรือโดยอ้อม การจงใจทำให้การทดสอบล้มเหลวโดยการลบข้อกำหนดการกำหนดค่าบางอย่างออก แล้วทำการทดสอบอีกครั้ง จะเป็นการเปิดเผยข้อบกพร่องประเภทนี้ก่อนที่ลูกค้าจะพบ ภาพหน้าจอด้านล่างแสดงให้เห็นถึงความล้มเหลวที่ขึ้นอยู่กับการกำหนดค่าดังกล่าวซึ่งถูกจำลองขึ้นในสภาพแวดล้อมที่มีการควบคุม
การทดสอบการกำหนดค่าฮาร์ดแวร์
โดยทั่วไป การทดสอบการกำหนดค่าฮาร์ดแวร์จะดำเนินการในห้องปฏิบัติการที่มีเครื่องจริงซึ่งติดตั้งฮาร์ดแวร์ที่แตกต่างกัน
ทุกครั้งที่มีการปล่อยเวอร์ชันใหม่ ซอฟต์แวร์จะถูกติดตั้งบนเครื่องทุกเครื่อง และชุดทดสอบจะถูกเรียกใช้บนแต่ละเครื่อง เพื่อยืนยันว่าแอปพลิเคชันทำงานได้กับอุปกรณ์ที่เชื่อมต่ออยู่
งานนั้นต้องใช้ความพยายามอย่างมาก ได้แก่ การติดตั้งซอฟต์แวร์บนเครื่องแต่ละเครื่อง การเชื่อมต่อฮาร์ดแวร์ และจากนั้นจึงเรียกใช้ชุดโปรแกรมด้วยตนเองหรือโดยอัตโนมัติก่อน
นอกจากนี้ยังต้องระบุประเภทของฮาร์ดแวร์ที่จะทดสอบด้วย เนื่องจากฮาร์ดแวร์คอมพิวเตอร์และอุปกรณ์ต่อพ่วงมีหลากหลายมาก การทดสอบทั้งหมดจึงเป็นไปไม่ได้ ดังนั้นผู้ทดสอบจึงวิเคราะห์ว่าผู้ใช้งานส่วนใหญ่ใช้อุปกรณ์ใดเป็นหลัก และทำการทดสอบตามลำดับความสำคัญนั้น
กรณีทดสอบตัวอย่าง
ลองพิจารณาสถานการณ์ในด้านการธนาคารที่ทดสอบความเข้ากันได้ของฮาร์ดแวร์ แอปพลิเคชันด้านการธนาคารที่เชื่อมต่อกับเครื่องนับธนบัตรต้องใช้งานได้กับหลายรุ่น เช่น Rolex, Strob, Maxsell และ StoK
ตัวอย่าง กรณีทดสอบ สำหรับเครื่องนับธนบัตร ต้องมีส่วนประกอบดังต่อไปนี้
- ตรวจสอบการเชื่อมต่อระหว่างแอปพลิเคชันและนาฬิกา Rolex ในกรณีที่ไม่ได้ติดตั้งสิ่งที่จำเป็นไว้ล่วงหน้า
- ตรวจสอบการเชื่อมต่อระหว่างแอปพลิเคชันและนาฬิกา Rolex หลังจากติดตั้งสิ่งที่จำเป็นครบถ้วนแล้ว
- ตรวจสอบว่าระบบนับธนบัตรได้อย่างถูกต้อง
- ตรวจสอบว่าระบบรายงานการนับผิดพลาดอย่างไร
- ตรวจสอบวิธีการจัดการกับธนบัตรที่ถูกปลอมแปลง
- ตรวจสอบเวลาตอบสนอง
- ตรวจสอบให้แน่ใจว่ามีการตรวจจับธนบัตรปลอม
กรณีเหล่านั้นครอบคลุมเพียงรุ่นเดียว และรุ่นอื่นๆ ที่เหลือในท้องตลาดจะต้องได้รับการติดตั้งในห้องปฏิบัติการทดสอบและทดสอบด้วยวิธีเดียวกัน ซึ่งแทบจะไม่สามารถทำได้จริงภายในองค์กร การว่าจ้างองค์กรภายนอกที่เชี่ยวชาญด้านการทดสอบการกำหนดค่าฮาร์ดแวร์จึงมักเป็นทางเลือกที่สมจริงกว่า


