Skip to main content

การประกันคุณภาพซอฟต์แวร์คืออะไร?

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

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

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

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

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

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

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

การทดสอบกล่องสีขาวเป็นกระบวนการที่เริ่มต้นที่จุดเริ่มต้นของกระบวนการประกันคุณภาพซอฟต์แวร์ที่ DESIGN Stageมันรวมถึงการทำนายปัญหาที่อาจเกิดขึ้นก่อนที่รหัสจะถูกเขียนจริงรวมถึงการเขียนแผนการทดสอบและสคริปต์ทดสอบขั้นสูงซึ่งแตกต่างจากการทดสอบกล่องดำการทดสอบกล่องสีขาวยังเกี่ยวข้องกับการศึกษารหัสคอมพิวเตอร์พื้นฐาน

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