การทดสอบเชิงลบคืออะไร? กรณีทดสอบพร้อมตัวอย่าง

การทดสอบเชิงลบ

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

การทำการทดสอบเชิงบวกทำให้เราแน่ใจได้ว่าระบบของเราทำงานในสภาวะปกติเท่านั้น เราต้องทำให้แน่ใจว่าระบบของเราสามารถรับมือกับสภาวะที่ไม่คาดคิดเพื่อให้แน่ใจว่าระบบปราศจากข้อผิดพลาด 100%

ตัวอย่างการทดสอบเชิงลบ

พิจารณากรณีของลิฟต์ซึ่งถือเป็นตัวอย่างทั่วไปของการทดสอบเชิงลบ

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

ประตูจะเปิดโดยอัตโนมัติเมื่อลิฟต์ถึงชั้นที่กำหนดและอื่นๆ

ตอนนี้เรามาดูสถานการณ์เชิงลบสำหรับการเพิ่มกัน บางส่วนของพวกเขาคือ

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

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

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

กรณีเดียวกันนี้ใช้ได้กับซอฟต์แวร์เช่นกัน สำหรับการทดสอบเชิงลบ เราได้เบี่ยงเบนจากขั้นตอนการปฏิบัติงานปกติ มาดูตัวอย่างกัน

พิจารณาแบบฟอร์มการลงทะเบียนเช่น

การทดสอบเชิงลบ การทดสอบเชิงบวก
ลองใส่รหัสอีเมลที่ไม่ถูกต้องในช่องอีเมล จะมีการป้อนเฉพาะรหัสอีเมลที่ถูกต้องในช่องอีเมลเท่านั้น
พยายามป้อนหมายเลขโทรศัพท์ที่ไม่ถูกต้องในช่องหมายเลขโทรศัพท์ (ตัวอักษร) ตัวเลขเดียวเท่านั้นที่จะถูกป้อนลงในช่องตัวเลข
อัปโหลดรูปภาพที่มีขนาดเกินขอบเขตที่กำหนด เฉพาะภาพที่มีขนาดต่ำกว่าขอบเขตที่กำหนดเท่านั้นที่จะถูกอัพโหลด
อัปโหลดไฟล์ที่ไม่ถูกต้องเช่น XML, ไฟล์ SQL ฯลฯ ในช่องอัพโหลดรูปภาพ อัปโหลดเฉพาะรูปแบบรูปภาพที่ถูกต้อง เช่น jpg.png เป็นต้น

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

ทำไมต้องทำการทดสอบเชิงลบ?

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

มุมมององค์กร

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

องค์กรต้องทำการทดสอบเชิงลบเพื่อเป็นส่วนหนึ่งของการยืนยันความล้มเหลว

บางทีเราไม่สามารถสร้างระบบที่ปราศจากข้อผิดพลาด 100% ได้ แต่เราต้องแน่ใจว่าเราได้ทำทุกอย่างเพื่อป้องกันความล้มเหลว เพื่อให้บรรลุเป้าหมายที่เราควรทำการทดสอบเชิงลบ

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

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

อีกสิ่งหนึ่งที่เราต้องระวังคือมีแฮกเกอร์ผิวดำจำนวนมากที่กำลังมองหาโอกาสในการทำลายระบบ การแฮ็กเป็นกรณีสำคัญที่ครอบคลุมในการทดสอบเชิงลบ

มุมมองลูกค้า

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

หากเป็นผลิตภัณฑ์ที่ละเอียดอ่อน เช่น อีคอมเมิร์ซ สต็อกออนไลน์ ฯลฯ ความปลอดภัยและการทดสอบเชิงลบก็เป็นสิ่งจำเป็น

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

วิธีการทดสอบเชิงลบ

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

ในขณะที่สร้างกรณีทดสอบเชิงลบ เราต้องจัดลำดับความสำคัญของอินพุต มิฉะนั้น อาจมีหลายกรณีที่เป็นไปได้ ตัวอย่างเช่น สำหรับฟิลด์รูปภาพที่ควรป้อนเฉพาะไฟล์ '.png' เท่านั้น เราอาจมีตัวเลือกมากมายในการอัปโหลด เช่น 'jpeg' 'xml' 'xls' เป็นต้น ดังนั้น เราต้องจัดลำดับความสำคัญของตัวเลือก เช่น XML และ SQL สามารถมีผลกระทบมากกว่า jpeg และ xls ดังนั้นเราจึงควรดูแลกรณี SQL และ XML ก่อน เช่นนี้ เราต้องจัดลำดับความสำคัญของกรณีต่างๆ ก่อนดำเนินการเพื่อประหยัดเวลาและค่าใช้จ่ายในการทดสอบ

ข้อดีและข้อเสียของการทดสอบเชิงลบ

เช่นเดียวกับเทคนิคการทดสอบอื่นๆ ทั้งหมด มีข้อดีและข้อเสียสำหรับการทดสอบเชิงลบโดยยึดตาม 'สถานที่' 'เมื่อ' และ 'วิธี' เป็นหลัก ลองมาดูเรื่องนี้กัน

ข้อดีของการทดสอบเชิงลบ

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

ข้อเสียของการทดสอบเชิงลบ

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

จดหมายข่าว Guru99 รายวัน

เริ่มต้นวันใหม่ของคุณด้วยข่าวสาร AI ล่าสุดและสำคัญที่สุดที่ส่งมอบทันที