การทดสอบซอฟต์แวร์คืออะไร?
การทดสอบซอฟต์แวร์
การทดสอบซอฟต์แวร์ เป็นวิธีการตรวจสอบว่าผลิตภัณฑ์ซอฟต์แวร์จริงตรงกับข้อกำหนดที่คาดหวังหรือไม่ และเพื่อให้แน่ใจว่าผลิตภัณฑ์ซอฟต์แวร์นั้นตรงตามข้อกำหนด ข้อบกพร่อง ฟรี. มันเกี่ยวข้องกับการดำเนินการซอฟต์แวร์/ส่วนประกอบของระบบโดยใช้เครื่องมือด้วยตนเองหรืออัตโนมัติเพื่อประเมินคุณสมบัติที่น่าสนใจอย่างน้อยหนึ่งรายการ วัตถุประสงค์ของการทดสอบซอฟต์แวร์คือการระบุข้อผิดพลาด ช่องว่าง หรือข้อกำหนดที่ขาดหายไปซึ่งตรงกันข้ามกับข้อกำหนดที่แท้จริง
บางคนชอบพูดว่าคำจำกัดความการทดสอบซอฟต์แวร์เป็น ขาว Box และ Black Box การทดสอบ- พูดง่ายๆ ก็คือ การทดสอบซอฟต์แวร์หมายถึงการตรวจสอบแอปพลิเคชันภายใต้การทดสอบ (AUT) หลักสูตรการทดสอบซอฟต์แวร์นี้จะแนะนำซอฟต์แวร์ทดสอบแก่ผู้ชมและแสดงให้เห็นถึงความสำคัญของการทดสอบซอฟต์แวร์
ทำไมการทดสอบซอฟต์แวร์จึงมีความสำคัญ?
การทดสอบซอฟต์แวร์เป็นสิ่งสำคัญ เพราะหากมีจุดบกพร่องหรือข้อผิดพลาดใดๆ ในซอฟต์แวร์ ก็สามารถระบุได้ตั้งแต่เนิ่นๆ และสามารถแก้ไขได้ก่อนส่งมอบผลิตภัณฑ์ซอฟต์แวร์ ผลิตภัณฑ์ซอฟต์แวร์ที่ได้รับการทดสอบอย่างเหมาะสมช่วยให้มั่นใจในความน่าเชื่อถือ ความปลอดภัย และประสิทธิภาพสูง ซึ่งส่งผลให้ประหยัดเวลา คุ้มทุน และความพึงพอใจของลูกค้า
การทดสอบจำเป็นแค่ไหน?
การทดสอบมีความสำคัญเนื่องจากข้อบกพร่องของซอฟต์แวร์อาจมีราคาแพงหรือเป็นอันตรายได้ ข้อบกพร่องของซอฟต์แวร์อาจทำให้เกิดการสูญเสียทางการเงินและการสูญเสียมนุษย์ และประวัติศาสตร์ก็เต็มไปด้วยตัวอย่างดังกล่าว
- ในเดือนเมษายน 2015 Bloomberg Terminal ในลอนดอนเกิดขัดข้องเนื่องจากซอฟต์แวร์ขัดข้อง ส่งผลกระทบต่อผู้ค้าในตลาดการเงินมากกว่า 300,000 ราย ทำให้รัฐบาลต้องเลื่อนการขายหนี้มูลค่า 3 พันล้านปอนด์ออกไป
- รถยนต์นิสสันเรียกคืนรถยนต์กว่า 1 ล้านคันจากตลาด เนื่องจากซอฟต์แวร์ล้มเหลวในเครื่องตรวจจับเซนเซอร์ถุงลมนิรภัย มีรายงานอุบัติเหตุสองครั้งเนื่องจากซอฟต์แวร์ขัดข้อง
- Starbucks ถูกบังคับให้ปิดร้านค้าประมาณ 60 เปอร์เซ็นต์ในสหรัฐอเมริกาและแคนาดา เนื่องจากซอฟต์แวร์ขัดข้องในระบบ POS มีอยู่ช่วงหนึ่งที่ทางร้านเสิร์ฟกาแฟฟรีเนื่องจากไม่สามารถดำเนินการธุรกรรมได้
- บางส่วนของ Amazonผู้ค้าปลีกที่เป็นบุคคลที่สามพบว่าราคาผลิตภัณฑ์ของตนลดลงเหลือ 1 เพนนีเนื่องจากความผิดพลาดของซอฟต์แวร์ พวกเขาได้รับความสูญเสียอย่างหนัก
- ช่องโหว่ใน Windows 10. ข้อบกพร่องนี้ช่วยให้ผู้ใช้สามารถหนีจากแซนด์บ็อกซ์ด้านความปลอดภัยได้ผ่านทางข้อบกพร่องในระบบ win32k
- ในปี 2015 เครื่องบินรบ F-35 ตกเป็นเหยื่อของข้อบกพร่องของซอฟต์แวร์ ทำให้ไม่สามารถตรวจจับเป้าหมายได้อย่างถูกต้อง
- เครื่องบินแอร์บัส A300 ของสายการบิน China Airlines ประสบเหตุขัดข้องจากซอฟต์แวร์เมื่อวันที่ 26 เมษายน 1994 คร่าชีวิตผู้บริสุทธิ์ไป 264 ราย
- ในปี 1985 เครื่องฉายรังสี Therac-25 ของแคนาดาทำงานผิดปกติเนื่องจากข้อบกพร่องของซอฟต์แวร์ และส่งปริมาณรังสีที่อันตรายถึงชีวิตให้กับผู้ป่วย ส่งผลให้มีผู้เสียชีวิต 3 รายและบาดเจ็บสาหัสอีก 3 ราย
- ในเดือนเมษายน พ.ศ. 1999 ข้อผิดพลาดของซอฟต์แวร์ทำให้การส่งดาวเทียมทางทหารมูลค่า 1.2 พันล้านดอลลาร์ล้มเหลว ซึ่งถือเป็นอุบัติเหตุที่มีค่าใช้จ่ายสูงที่สุดในประวัติศาสตร์
- ในเดือนพฤษภาคม ปี 1996 ข้อผิดพลาดของซอฟต์แวร์ทำให้บัญชีธนาคารของลูกค้า 823 รายของธนาคารรายใหญ่ในสหรัฐฯ ได้รับเครดิต 920 ล้านดอลลาร์สหรัฐ
คลิก Good Farm Animal Welfare Awards หากไม่สามารถเข้าถึงวิดีโอได้
การทดสอบซอฟต์แวร์มีประโยชน์อย่างไร?
นี่คือประโยชน์ของการใช้การทดสอบซอฟต์แวร์:
- คุ้มค่า: ถือเป็นข้อดีประการหนึ่งของการทดสอบซอฟต์แวร์ การทดสอบโครงการด้านไอทีตรงเวลาช่วยให้คุณประหยัดเงินได้ในระยะยาว ในกรณีที่พบจุดบกพร่องในการทดสอบซอฟต์แวร์ขั้นก่อนหน้านี้ จะมีค่าใช้จ่ายในการแก้ไขน้อยกว่า
- การรักษาความปลอดภัย: เป็นประโยชน์ต่อการทดสอบซอฟต์แวร์ที่มีช่องโหว่และละเอียดอ่อนที่สุด ผู้คนกำลังมองหาผลิตภัณฑ์ที่เชื่อถือได้ ช่วยในการขจัดความเสี่ยงและปัญหาก่อนหน้านี้
- คุณภาพของผลิตภัณฑ์: เป็นข้อกำหนดที่สำคัญของผลิตภัณฑ์ซอฟต์แวร์ใดๆ การทดสอบทำให้มั่นใจได้ว่าผลิตภัณฑ์ที่มีคุณภาพจะถูกส่งไปยังลูกค้า
- ความพึงพอใจของลูกค้า: จุดมุ่งหมายหลักของผลิตภัณฑ์ใด ๆ คือการมอบความพึงพอใจให้กับลูกค้า การทดสอบ UI/UX ช่วยให้มั่นใจถึงประสบการณ์ผู้ใช้ที่ดีที่สุด
» ตรวจสอบด้วย: บริษัทบริการทดสอบซอฟต์แวร์ที่ดีที่สุด
การทดสอบในสาขาวิศวกรรมซอฟต์แวร์
ตามมาตรฐาน ANSI/IEEE 1059 การทดสอบในสาขาวิศวกรรมซอฟต์แวร์ เป็นกระบวนการประเมินผลิตภัณฑ์ซอฟต์แวร์เพื่อดูว่าผลิตภัณฑ์ซอฟต์แวร์ปัจจุบันตรงตามเงื่อนไขที่กำหนดหรือไม่ กระบวนการทดสอบเกี่ยวข้องกับการประเมินคุณลักษณะของผลิตภัณฑ์ซอฟต์แวร์สำหรับข้อกำหนดในแง่ของข้อกำหนดที่ขาดหายไป จุดบกพร่องหรือข้อผิดพลาด ความปลอดภัย ความน่าเชื่อถือ และประสิทธิภาพ
ประเภทของการทดสอบซอฟต์แวร์
ต่อไปนี้เป็นประเภทการทดสอบซอฟต์แวร์:
โดยทั่วไปการทดสอบจะแบ่งออกเป็นสามประเภท
- การทดสอบสมรรถนะ
- การทดสอบแบบไม่ใช้งานหรือ การทดสอบประสิทธิภาพ
- การบำรุงรักษา (การถดถอยและการบำรุงรักษา)
หมวดหมู่การทดสอบ | ประเภทของการทดสอบ |
---|---|
การทดสอบสมรรถนะ |
|
การทดสอบแบบไม่ใช้งาน |
|
ซ่อมบำรุง |
|
ยังไม่ใช่รายการทั้งหมดเนื่องจากมีมากกว่านั้น การทดสอบ 150 ประเภท ประเภทและยังคงเพิ่ม นอกจากนี้ โปรดทราบว่าการทดสอบบางประเภทอาจไม่ใช้ได้กับทุกโครงการ แต่ขึ้นอยู่กับลักษณะและขอบเขตของโครงการ หากต้องการสำรวจเครื่องมือทดสอบที่หลากหลายและค้นหาเครื่องมือที่เหมาะกับความต้องการของโครงการของคุณ โปรดไปที่สิ่งนี้ รายการเครื่องมือทดสอบ.
กลยุทธ์การทดสอบทางวิศวกรรมซอฟต์แวร์
ต่อไปนี้เป็นกลยุทธ์สำคัญในวิศวกรรมซอฟต์แวร์:
การทดสอบหน่วย: แนวทางพื้นฐานในการทดสอบซอฟต์แวร์นี้ตามด้วยโปรแกรมเมอร์เพื่อทดสอบหน่วยของโปรแกรม ช่วยให้นักพัฒนาทราบว่าแต่ละหน่วยของโค้ดทำงานอย่างถูกต้องหรือไม่
การทดสอบบูรณาการ: มุ่งเน้นไปที่การสร้างและการออกแบบซอฟต์แวร์ คุณต้องดูว่าหน่วยรวมทำงานโดยไม่มีข้อผิดพลาดหรือไม่
การทดสอบระบบ: ในวิธีนี้ ซอฟต์แวร์ของคุณจะถูกคอมไพล์โดยรวมแล้วทดสอบโดยรวม กลยุทธ์การทดสอบนี้จะตรวจสอบฟังก์ชันการทำงาน ความปลอดภัย ความสะดวกในการพกพา และอื่นๆ
การทดสอบโปรแกรม
การทดสอบโปรแกรม ในการทดสอบซอฟต์แวร์เป็นวิธีการดำเนินการโปรแกรมซอฟต์แวร์จริงโดยมีวัตถุประสงค์เพื่อทดสอบพฤติกรรมของโปรแกรมและค้นหาข้อผิดพลาด โปรแกรมซอฟต์แวร์จะดำเนินการพร้อมกับข้อมูลกรณีทดสอบเพื่อวิเคราะห์พฤติกรรมของโปรแกรมหรือการตอบสนองต่อข้อมูลการทดสอบ การทดสอบโปรแกรมที่ดีคือการทดสอบที่มีโอกาสพบข้อบกพร่องสูง
สรุปพื้นฐานการทดสอบซอฟต์แวร์
- กำหนดการทดสอบซอฟต์แวร์/การทดสอบซอฟต์แวร์ คำจำกัดความ: การทดสอบซอฟต์แวร์ถูกกำหนดให้เป็นกิจกรรมเพื่อตรวจสอบว่าผลลัพธ์จริงตรงกับผลลัพธ์ที่คาดหวังหรือไม่ และเพื่อให้แน่ใจว่าระบบซอฟต์แวร์ไม่มีข้อบกพร่อง
- การทดสอบมีความสำคัญเนื่องจากข้อบกพร่องของซอฟต์แวร์อาจมีราคาแพงหรือเป็นอันตรายได้
- เหตุผลสำคัญในการใช้การทดสอบซอฟต์แวร์คือ: ความคุ้มค่า ความปลอดภัย คุณภาพผลิตภัณฑ์ และความพึงพอใจของลูกค้า
- โดยทั่วไปการทดสอบจะแบ่งออกเป็นสามประเภท การทดสอบการใช้งานการทดสอบไม่ทำงานหรือการทดสอบประสิทธิภาพ และการบำรุงรักษา
- กลยุทธ์ที่สำคัญใน วิศวกรรมซอฟต์แวร์ ได้แก่ การทดสอบหน่วย การทดสอบบูรณาการ การทดสอบการตรวจสอบ และการทดสอบระบบ