การทดสอบซอฟต์แวร์ - QA, QC & Testing
การทดสอบการประกันคุณภาพและการควบคุมคุณภาพ
คนส่วนใหญ่สับสนเมื่อต้องระบุความแตกต่างระหว่างการประกันคุณภาพการควบคุมคุณภาพและการทดสอบ แม้ว่าจะมีความสัมพันธ์กันและในระดับหนึ่ง แต่ก็ถือได้ว่าเป็นกิจกรรมเดียวกัน แต่มีจุดที่แตกต่างที่ทำให้พวกเขาแตกต่างกัน ตารางต่อไปนี้แสดงจุดที่แยกความแตกต่างของ QA, QC และ Testing
การประกันคุณภาพ | ควบคุมคุณภาพ | การทดสอบ |
---|---|---|
QA รวมถึงกิจกรรมที่ทำให้มั่นใจว่ามีการดำเนินการตามกระบวนการขั้นตอนและมาตรฐานในบริบทของการตรวจสอบซอฟต์แวร์ที่พัฒนาและข้อกำหนดที่ตั้งใจไว้ | รวมถึงกิจกรรมที่รับรองว่ามีการตรวจสอบซอฟต์แวร์ที่พัฒนาขึ้นตามข้อกำหนดที่บันทึกไว้ (หรือไม่ในบางกรณี) | รวมถึงกิจกรรมที่ทำให้มั่นใจได้ว่ามีการระบุจุดบกพร่อง / ข้อผิดพลาด / ข้อบกพร่องในซอฟต์แวร์ |
มุ่งเน้นไปที่กระบวนการและขั้นตอนมากกว่าการทดสอบจริงในระบบ | มุ่งเน้นไปที่การทดสอบจริงโดยการเรียกใช้ซอฟต์แวร์โดยมีจุดประสงค์เพื่อระบุจุดบกพร่อง / ข้อบกพร่องผ่านการดำเนินการตามขั้นตอนและกระบวนการ | เน้นการทดสอบจริง |
กิจกรรมที่เน้นกระบวนการ | กิจกรรมที่มุ่งเน้นผลิตภัณฑ์ | กิจกรรมที่มุ่งเน้นผลิตภัณฑ์ |
กิจกรรมป้องกัน. | มันเป็นกระบวนการแก้ไข | มันเป็นกระบวนการป้องกัน |
เป็นชุดย่อยของ Software Test Life Cycle (STLC) | QC ถือได้ว่าเป็นส่วนย่อยของการประกันคุณภาพ | การทดสอบเป็นชุดย่อยของการควบคุมคุณภาพ |
การตรวจสอบและการตรวจสอบ
Audit- เป็นกระบวนการที่เป็นระบบในการพิจารณาว่ากระบวนการทดสอบจริงดำเนินการอย่างไรภายในองค์กรหรือทีม โดยทั่วไปจะเป็นการตรวจสอบกระบวนการที่เกี่ยวข้องระหว่างการทดสอบซอฟต์แวร์โดยอิสระ ตาม IEEE เป็นการทบทวนกระบวนการที่เป็นเอกสารซึ่งองค์กรต่างๆนำไปปฏิบัติและปฏิบัติตาม ประเภทของการตรวจสอบ ได้แก่ การตรวจสอบการปฏิบัติตามกฎหมายการตรวจสอบภายในและการตรวจสอบระบบ
Inspection- เป็นเทคนิคทางการที่เกี่ยวข้องกับการตรวจสอบทางเทคนิคอย่างเป็นทางการหรือไม่เป็นทางการของสิ่งประดิษฐ์ใด ๆ โดยระบุข้อผิดพลาดหรือช่องว่างใด ๆ ตาม IEEE94 การตรวจสอบเป็นเทคนิคการประเมินอย่างเป็นทางการซึ่งข้อกำหนดการออกแบบหรือรหัสซอฟต์แวร์จะได้รับการตรวจสอบโดยละเอียดโดยบุคคลหรือกลุ่มอื่นที่ไม่ใช่ผู้เขียนเพื่อตรวจหาข้อบกพร่องการละเมิดมาตรฐานการพัฒนาและปัญหาอื่น ๆ
การประชุมการตรวจสอบอย่างเป็นทางการอาจรวมถึงกระบวนการต่อไปนี้: การวางแผนการเตรียมภาพรวมการประชุมการตรวจสอบการทำใหม่และการติดตามผล
การทดสอบและการดีบัก
Testing- เกี่ยวข้องกับการระบุจุดบกพร่อง / ข้อผิดพลาด / ข้อบกพร่องในซอฟต์แวร์โดยไม่แก้ไข โดยปกติผู้เชี่ยวชาญที่มีพื้นฐานด้านการประกันคุณภาพจะเกี่ยวข้องกับการระบุจุดบกพร่อง การทดสอบจะดำเนินการในขั้นตอนการทดสอบ
Debugging- เกี่ยวข้องกับการระบุแยกและแก้ไขปัญหา / จุดบกพร่อง นักพัฒนาที่เขียนโค้ดซอฟต์แวร์จะทำการดีบักเมื่อพบข้อผิดพลาดในโค้ด การดีบักเป็นส่วนหนึ่งของการทดสอบกล่องขาวหรือการทดสอบหน่วย การดีบักสามารถทำได้ในขั้นตอนการพัฒนาในขณะที่ดำเนินการทดสอบหน่วยหรือในขั้นตอนในขณะที่แก้ไขข้อบกพร่องที่รายงาน