การทดสอบที่ไม่ใช้งาน
⚡ สรุปอย่างชาญฉลาด
การทดสอบที่ไม่เกี่ยวข้องกับการทำงาน (Non Functional Testing) ตรวจสอบว่าแอปพลิเคชันซอฟต์แวร์ทำงานได้ถูกต้องอย่างไรในแง่ของความน่าเชื่อถือ การใช้งานง่าย ความปลอดภัย ความสามารถในการขยายขนาด และคุณลักษณะด้านคุณภาพอื่นๆ คู่มือนี้จะอธิบายถึงวัตถุประสงค์ พารามิเตอร์ ลักษณะเฉพาะ ประเภทการทดสอบทั่วไป และตัวอย่างกรณีทดสอบเชิงปฏิบัติที่ทีมประกันคุณภาพใช้
การทดสอบแบบไม่ใช้งานคืออะไร?
การทดสอบแบบไม่ใช้งาน การทดสอบเชิงโครงสร้าง (Progressive Testing: EQ) คือการทดสอบซอฟต์แวร์ประเภทหนึ่งที่ตรวจสอบคุณสมบัติที่ไม่เกี่ยวข้องกับการทำงานของแอปพลิเคชัน เช่น ประสิทธิภาพ การใช้งาน ความน่าเชื่อถือ และคุณลักษณะด้านคุณภาพอื่นๆ ที่คล้ายคลึงกัน โดยจะประเมินความพร้อมของระบบตามเกณฑ์ที่การทดสอบเชิงฟังก์ชันไม่เคยกล่าวถึง เพื่อให้มั่นใจว่าแอปพลิเคชันตรงตามความคาดหวังขององค์กรภายใต้สภาวะการใช้งานจริง
ตัวอย่างคลาสสิกของการทดสอบที่ไม่เกี่ยวข้องกับการทำงานคือ การวัดจำนวนผู้ใช้พร้อมกันที่สามารถล็อกอินเข้าสู่แอปพลิเคชันได้โดยที่ประสิทธิภาพไม่ลดลง การทดสอบที่ไม่เกี่ยวข้องกับการทำงานมีความสำคัญไม่แพ้การทดสอบที่เกี่ยวข้องกับการทำงาน เพราะส่งผลโดยตรงต่อความพึงพอใจของลูกค้าและภาพลักษณ์โดยรวมของผลิตภัณฑ์
วัตถุประสงค์ของการทดสอบที่ไม่เกี่ยวข้องกับการทำงาน
การทดสอบที่ไม่เกี่ยวข้องกับการทำงานจริงนั้นดำเนินการเพื่อปรับปรุงคุณภาพโดยรวมและอายุการใช้งานของผลิตภัณฑ์ วัตถุประสงค์หลักได้แก่:
- เพิ่มความสะดวกในการใช้งาน ประสิทธิภาพ การบำรุงรักษา และการพกพาของผลิตภัณฑ์
- ลดความเสี่ยงในการผลิตและต้นทุนที่เกี่ยวข้องกับข้อบกพร่องที่ใช้งานไม่ได้
- ปรับปรุงวิธีการติดตั้ง ตั้งค่า ใช้งาน บริหารจัดการ และตรวจสอบผลิตภัณฑ์ให้เหมาะสมที่สุด
- รวบรวมข้อมูลการวัดและตัวชี้วัดเพื่อการวิจัยและพัฒนาภายในองค์กร
- เพื่อเพิ่มความเข้าใจเกี่ยวกับพฤติกรรมของผลิตภัณฑ์และเทคโนโลยีที่ใช้
ลักษณะของการทดสอบที่ไม่เกี่ยวข้องกับการทำงาน
ลักษณะต่อไปนี้กำหนดวิธีการวางแผนและดำเนินการทดสอบที่ไม่เกี่ยวข้องกับการทำงาน:
- มันต้องวัดผลได้ ไม่เปิดโอกาสให้มีการบรรยายแบบอัตวิสัย เช่น ดี ดีกว่า หรือดีที่สุด
- โดยปกติแล้ว ตัวเลขที่แน่นอนมักจะยังไม่ทราบในขั้นตอนเริ่มต้นของการกำหนดความต้องการ
- ต้องจัดลำดับความสำคัญของข้อกำหนดต่างๆ โดยเริ่มจากการแก้ไขปัญหาในพื้นที่ที่มีความเสี่ยงสูงที่สุดก่อน
- คุณลักษณะด้านคุณภาพจะถูกระบุอย่างแม่นยำในระหว่างขั้นตอนการพัฒนาซอฟต์แวร์
พารามิเตอร์การทดสอบที่ไม่เกี่ยวข้องกับการทำงาน
โดยทั่วไปจะใช้พารามิเตอร์ 11 ข้อในการกำหนดขอบเขตของการทดสอบที่ไม่เกี่ยวข้องกับฟังก์ชันการทำงาน:
- การรักษาความปลอดภัย: วัดระดับการป้องกันระบบจากการโจมตีโดยเจตนาและโดยไม่ตั้งใจจากแหล่งภายในหรือภายนอก ตรวจสอบผ่านการทดสอบความปลอดภัย
- ความน่าเชื่อถือ: ระดับที่ระบบสามารถปฏิบัติหน้าที่ตามที่กำหนดได้อย่างต่อเนื่องโดยไม่เกิดข้อผิดพลาด ตรวจสอบได้ผ่านการทดสอบความน่าเชื่อถือ
- ความอยู่รอด: ยืนยันว่าระบบยังคงทำงานและกู้คืนตัวเองได้หลังจากเกิดความล้มเหลว ผ่านการตรวจสอบโดยการทดสอบการกู้คืนแล้ว
- สถานะ: กำหนดระดับที่ผู้ใช้สามารถพึ่งพาระบบได้ในระหว่างการใช้งาน ตรวจสอบแล้วผ่านการทดสอบความเสถียร
- การใช้งาน: ความง่ายในการเรียนรู้ การใช้งาน การเตรียมข้อมูลป้อนเข้า และการรับข้อมูลจากระบบของผู้ใช้ ได้รับการตรวจสอบแล้วผ่านการทดสอบการใช้งาน (Usability Testing)
- scalability: ระดับที่แอปพลิเคชันซอฟต์แวร์สามารถขยายขีดความสามารถในการประมวลผลเพื่อตอบสนองความต้องการที่เพิ่มขึ้น ตรวจสอบผ่านการทดสอบความสามารถในการขยายขนาด (Scalability Testing)
- ความสามารถในการทำงานร่วมกัน: ตรวจสอบว่าระบบซอฟต์แวร์หนึ่งเชื่อมต่อกับระบบซอฟต์แวร์อื่นอย่างไร โดยผ่านการทดสอบความสามารถในการทำงานร่วมกัน (Interoperability Testing)
- ประสิทธิภาพ: ขอบเขตที่ระบบสามารถรองรับความจุ ปริมาณ และเวลาตอบสนองภายใต้ภาระงาน
- ความยืดหยุ่น: แอปพลิเคชันนี้สามารถทำงานได้ง่ายบนฮาร์ดแวร์และซอฟต์แวร์ที่มีการกำหนดค่าแตกต่างกัน เช่น RAM หรือ CPU ที่มีสเปคต่างกัน
- Portability: ความยืดหยุ่นของซอฟต์แวร์ในการย้ายจากสภาพแวดล้อมฮาร์ดแวร์หรือซอฟต์แวร์ปัจจุบันไปยังสภาพแวดล้อมอื่น
- การนำกลับมาใช้ใหม่: หมายถึงส่วนหนึ่งของระบบซอฟต์แวร์ที่สามารถปรับเปลี่ยนเพื่อนำไปใช้ในแอปพลิเคชันอื่นได้
ประเภทของการทดสอบซอฟต์แวร์
โดยทั่วไป การทดสอบซอฟต์แวร์สามารถแบ่งออกได้เป็น 3 ประเภทหลักๆ ดังนี้:
- การทดสอบสมรรถนะ
- การทดสอบแบบไม่ใช้งาน
- การทดสอบการบำรุงรักษา
แต่ละหมวดหมู่ประกอบด้วยระดับการทดสอบหลายระดับ ซึ่งทีมงานมักเรียกกันว่าประเภทการทดสอบ หนังสือและเอกสารอ้างอิงต่างๆ อาจจัดประเภทแตกต่างกันเล็กน้อย ดังนั้นจึงควรคาดหวังความแตกต่างเล็กน้อย
รายการประเภทการทดสอบนี้ไม่ได้ครอบคลุมทั้งหมด — มีประเภทการทดสอบที่แตกต่างกันมากกว่า 100 ประเภท และประเภทใหม่ๆ ก็ยังคงเกิดขึ้นอย่างต่อเนื่อง ไม่ใช่ทุกประเภทจะเหมาะสมกับทุกโครงการ ขอบเขตขึ้นอยู่กับลักษณะ โปรไฟล์ความเสี่ยง และความซับซ้อนของแอปพลิเคชันที่กำลังทดสอบ
ประเภทของการทดสอบที่ไม่ใช่หน้าที่
ประเภทของการทดสอบที่ไม่เกี่ยวข้องกับการทำงานที่ทีม QA ดำเนินการบ่อยที่สุด ได้แก่:
- การทดสอบประสิทธิภาพ
- โหลดการทดสอบ
- การทดสอบความล้มเหลว
- การทดสอบความเข้ากันได้
- การทดสอบการใช้งาน
- การทดสอบความเครียด
- การทดสอบการบำรุงรักษา
- การทดสอบความสามารถในการปรับขนาด
- การทดสอบปริมาตร
- การทดสอบความปลอดภัย
- การทดสอบการกู้คืนความเสียหาย
- การทดสอบการปฏิบัติตามข้อกำหนด
- การทดสอบความสามารถในการพกพา
- การทดสอบประสิทธิภาพ
- การทดสอบความน่าเชื่อถือ
- การทดสอบพื้นฐาน
- การทดสอบความทนทาน
- การทดสอบเอกสาร
- การทดสอบการกู้คืน
- การทดสอบความเป็นสากล
ตัวอย่างกรณีทดสอบสำหรับการทดสอบที่ไม่เกี่ยวข้องกับการทำงานหลัก
ตัวอย่างต่อไปนี้แสดงให้เห็นถึงวิธีการเขียนกรณีทดสอบที่ไม่เกี่ยวข้องกับการทำงานในโครงการจริง:
| กรณีทดสอบ # | กรณีทดสอบ | โดเมน |
|---|---|---|
| 1 | เวลาในการโหลดแอปพลิเคชันไม่ควรเกิน 5 วินาที เมื่อมีผู้ใช้งานเข้าใช้งานพร้อมกันสูงสุด 1000 คน | การทดสอบประสิทธิภาพ |
| 2 | ซอฟต์แวร์ควรสามารถติดตั้งได้บนทุกเวอร์ชันที่รองรับ Windows และ macOS. | การทดสอบความเข้ากันได้ |
| 3 | รูปภาพทั้งหมดบนเว็บไซต์ควรมีแท็ก alt ที่อธิบายรายละเอียด | การทดสอบการช่วยสำหรับการเข้าถึง |



