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


