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