การประกันคุณภาพ (QA) ในการทดสอบซอฟต์แวร์คืออะไร
คุณภาพคืออะไร?
คุณภาพเป็นเรื่องยากมากที่จะนิยาม และระบุได้ง่ายๆ ว่า "เหมาะสำหรับการใช้งานหรือวัตถุประสงค์" ทั้งหมดนี้เป็นเรื่องของการตอบสนองความต้องการและความคาดหวังของลูกค้าในด้านฟังก์ชันการทำงาน การออกแบบ ความน่าเชื่อถือ ความทนทาน และราคาของผลิตภัณฑ์
ประกันคืออะไร?
การรับประกันนั้นเป็นเพียงการประกาศเชิงบวกเกี่ยวกับผลิตภัณฑ์หรือบริการซึ่งให้ความมั่นใจ มันคือความแน่นอนของผลิตภัณฑ์หรือบริการซึ่งจะทำงานได้ดี ให้การรับประกันว่าผลิตภัณฑ์จะทำงานได้โดยไม่มีปัญหาใด ๆ ตามความคาดหวังหรือข้อกำหนด
การประกันคุณภาพในการทดสอบซอฟต์แวร์คืออะไร
การประกันคุณภาพในการทดสอบซอฟต์แวร์ หมายถึงขั้นตอนในการรับรองคุณภาพของผลิตภัณฑ์ซอฟต์แวร์หรือบริการที่องค์กรมอบให้กับลูกค้า การประกันคุณภาพมุ่งเน้นไปที่การปรับปรุง กระบวนการพัฒนาซอฟต์แวร์ และทำให้มีประสิทธิภาพและประสิทธิผลตามมาตรฐานคุณภาพที่กำหนดไว้สำหรับผลิตภัณฑ์ซอฟต์แวร์ การประกันคุณภาพเป็นที่รู้จักกันอย่างแพร่หลายในชื่อการทดสอบ QA
การประกันคุณภาพทำอย่างไร: เสร็จสิ้นกระบวนการ
วิธีการประกันคุณภาพมีวงจรที่กำหนดไว้เรียกว่าวงจร PDCA หรือวงจร Deming ระยะของวงจรนี้คือ:
- แพ็กเกจ
- Do
- ตรวจสอบ
- กระทำ
ขั้นตอนข้างต้นเหล่านี้ถูกทำซ้ำเพื่อให้แน่ใจว่ากระบวนการที่ปฏิบัติตามในองค์กรได้รับการประเมินและปรับปรุงเป็นระยะ เรามาดูรายละเอียดขั้นตอนกระบวนการ QA ข้างต้นกันดีกว่า –
- แพ็กเกจ – องค์กรควรวางแผนและกำหนดวัตถุประสงค์ที่เกี่ยวข้องกับกระบวนการและกำหนดกระบวนการที่จำเป็นในการส่งมอบผลิตภัณฑ์ขั้นสุดท้ายคุณภาพสูง
- Do – การพัฒนาและการทดสอบกระบวนการและ “ทำ” การเปลี่ยนแปลงในกระบวนการ
- ตรวจสอบ – การตรวจสอบกระบวนการ ปรับเปลี่ยนกระบวนการ และตรวจสอบว่าเป็นไปตามวัตถุประสงค์ที่กำหนดไว้ล่วงหน้าหรือไม่
- กระทำ – ผู้ทดสอบการประกันคุณภาพควรดำเนินการที่จำเป็นเพื่อให้บรรลุการปรับปรุงกระบวนการ
องค์กรต้องใช้การประกันคุณภาพเพื่อให้แน่ใจว่าผลิตภัณฑ์ได้รับการออกแบบและใช้งานด้วยขั้นตอนที่ถูกต้อง ซึ่งจะช่วยลดปัญหาและข้อผิดพลาดในผลิตภัณฑ์ขั้นสุดท้าย
การควบคุมคุณภาพคืออะไร?
การควบคุมคุณภาพ เรียกกันทั่วไปว่า QC เป็นกระบวนการทางวิศวกรรมซอฟต์แวร์ที่ใช้เพื่อรับรองคุณภาพในผลิตภัณฑ์หรือบริการ ไม่ได้เกี่ยวข้องกับกระบวนการที่ใช้ในการสร้างผลิตภัณฑ์ ค่อนข้างจะตรวจสอบคุณภาพของ "ผลิตภัณฑ์ขั้นสุดท้าย" และผลลัพธ์สุดท้าย
จุดมุ่งหมายหลักของการควบคุมคุณภาพคือการตรวจสอบว่าผลิตภัณฑ์ตรงตามข้อกำหนดและข้อกำหนดของลูกค้าหรือไม่ หากมีการระบุปัญหาหรือปัญหา จะต้องได้รับการแก้ไขก่อนส่งมอบให้กับลูกค้า
QC ยังประเมินบุคลากรตามชุดทักษะระดับคุณภาพ และจัดให้มีการฝึกอบรมและการรับรอง การประเมินนี้จำเป็นสำหรับองค์กรที่ให้บริการและช่วยให้บริการที่ "สมบูรณ์แบบ" แก่ลูกค้า
ความแตกต่างระหว่างการควบคุมคุณภาพและการประกันคุณภาพ?
บางครั้ง QC ก็สับสนกับ QA การควบคุมคุณภาพคือการตรวจสอบผลิตภัณฑ์หรือบริการและตรวจสอบผลลัพธ์ การประกันคุณภาพในวิศวกรรมซอฟต์แวร์คือการตรวจสอบกระบวนการและทำการเปลี่ยนแปลงกระบวนการที่นำไปสู่ผลิตภัณฑ์ขั้นสุดท้าย
ตัวอย่างกิจกรรม QC และ QA มีดังนี้
กิจกรรมการควบคุมคุณภาพ | กิจกรรมประกันคุณภาพ |
---|---|
คำแนะนำแบบ | การตรวจสอบคุณภาพ |
การทดสอบ | การกำหนดกระบวนการ |
การตรวจสอบ | การระบุและการเลือกเครื่องมือ |
รีวิวจุดตรวจ | การฝึกอบรมมาตรฐานและกระบวนการคุณภาพ |
กิจกรรมข้างต้นเกี่ยวข้องกับกลไกการประกันและการควบคุมคุณภาพสำหรับผลิตภัณฑ์ใดๆ และไม่ใช่ซอฟต์แวร์หลัก- เกี่ยวกับซอฟต์แวร์
- QA กลายเป็น SQA (การประกันคุณภาพซอฟต์แวร์)
- QC กลายเป็นการทดสอบซอฟต์แวร์
ตรวจสอบด้วย: - การประกันคุณภาพเทียบกับการควบคุมคุณภาพ: อะไรคือความแตกต่าง?
ความแตกต่างระหว่าง SQA และการทดสอบซอฟต์แวร์
ตารางต่อไปนี้จะอธิบายความแตกต่างระหว่าง SQA และการทดสอบซอฟต์แวร์:
สจล | การทดสอบซอฟต์แวร์ |
---|---|
การประกันคุณภาพซอฟต์แวร์เป็นเรื่องเกี่ยวกับกระบวนการทางวิศวกรรมที่รับประกันคุณภาพ | การทดสอบซอฟต์แวร์ คือการทดสอบผลิตภัณฑ์เพื่อหาปัญหาก่อนที่ผลิตภัณฑ์จะเผยแพร่ |
เกี่ยวข้องกับกิจกรรมที่เกี่ยวข้องกับการดำเนินการตามกระบวนการ ขั้นตอน และมาตรฐาน ตัวอย่าง – การฝึกอบรมการตรวจสอบ | เกี่ยวข้องกับสารออกฤทธิ์ที่เกี่ยวข้องกับการตรวจสอบผลิตภัณฑ์ ตัวอย่าง – Revนั่นคือการทดสอบ |
มุ่งเน้นกระบวนการ | เน้นสินค้า |
เทคนิคป้องกัน | เทคนิคการแก้ไข |
มาตรการเชิงรุก | การวัดปฏิกิริยา |
ขอบเขตของ สจล นำไปใช้กับผลิตภัณฑ์ทั้งหมดที่องค์กรจะสร้างขึ้น | ขอบเขตของการทดสอบซอฟต์แวร์ใช้กับผลิตภัณฑ์เฉพาะที่กำลังทดสอบ |
แนวทางปฏิบัติที่ดีที่สุดสำหรับการประกันคุณภาพ
- สร้างสภาพแวดล้อมการทดสอบที่แข็งแกร่ง
- เลือกเกณฑ์การปล่อยอย่างระมัดระวัง
- สมัครสมาชิก การทดสอบอัตโนมัติ ไปยังพื้นที่เสี่ยงสูงเพื่อประหยัดเงิน ช่วยยึดกระบวนการทั้งหมด
- จัดสรรเวลาอย่างเหมาะสมสำหรับแต่ละกระบวนการ
- สิ่งสำคัญคือต้องจัดลำดับความสำคัญของการแก้ไขข้อบกพร่องตามการใช้งานซอฟต์แวร์
- จัดตั้งทีมทดสอบความปลอดภัยและประสิทธิภาพโดยเฉพาะ
- จำลองบัญชีลูกค้าที่คล้ายกับสภาพแวดล้อมการใช้งานจริง
ฟังก์ชั่นการประกันคุณภาพ
มีฟังก์ชันการประกันคุณภาพหลัก 5 ฟังก์ชัน:
- การถ่ายทอดเทคโนโลยี: ฟังก์ชันนี้เกี่ยวข้องกับการรับเอกสารการออกแบบผลิตภัณฑ์ ตลอดจนข้อมูลการทดลองและข้อผิดพลาด และการประเมินผล เอกสารจะถูกแจกจ่าย ตรวจสอบ และอนุมัติ
- การตรวจสอบ: มีการเตรียมแผนแม่บทการตรวจสอบความถูกต้องสำหรับทั้งระบบไว้ที่นี่ มีการอนุมัติเกณฑ์การทดสอบเพื่อตรวจสอบความถูกต้องของผลิตภัณฑ์และกระบวนการ การวางแผนทรัพยากรสำหรับการดำเนินการตามแผนการตรวจสอบเสร็จสิ้นแล้ว
- เอกสาร: ฟังก์ชั่นนี้ทำหน้าที่ควบคุมการแจกจ่ายและจัดเก็บเอกสาร การเปลี่ยนแปลงใดๆ ในเอกสารจะต้องดำเนินการโดยใช้ขั้นตอนการควบคุมการเปลี่ยนแปลงที่เหมาะสม การอนุมัติเอกสารทุกประเภท
- มั่นใจในคุณภาพของผลิตภัณฑ์
- แผนการปรับปรุงคุณภาพ
ใบรับรองการประกันคุณภาพ
มีการรับรองหลายรายการในอุตสาหกรรมเพื่อให้แน่ใจว่าองค์กรปฏิบัติตามกระบวนการคุณภาพมาตรฐาน ลูกค้ากำหนดให้สิ่งนี้เป็นเกณฑ์คุณสมบัติในขณะที่เลือกผู้จำหน่ายซอฟต์แวร์
ISO.9000
มาตรฐานนี้ได้รับการกำหนดขึ้นครั้งแรกในปี 1987 และเกี่ยวข้องกับระบบการจัดการคุณภาพ ซึ่งช่วยให้องค์กรสามารถรับประกันคุณภาพให้กับลูกค้าและผู้มีส่วนได้ส่วนเสียอื่นๆ ได้ องค์กรที่ต้องการรับการรับรอง ISO 9000 จะต้องผ่านการตรวจสอบตามหน้าที่ ผลิตภัณฑ์ บริการ และกระบวนการต่างๆ ขององค์กร วัตถุประสงค์หลักคือการตรวจสอบและยืนยันว่าองค์กรปฏิบัติตามกระบวนการตามที่คาดหวังหรือไม่ และตรวจสอบว่ากระบวนการที่มีอยู่จำเป็นต้องปรับปรุงหรือไม่
การรับรองนี้ช่วย –
- เพิ่มผลกำไรให้กับองค์กร
- ปรับปรุงการค้าภายในประเทศและระหว่างประเทศ
- ลดของเสียและเพิ่มผลผลิตของพนักงาน
- มอบความพึงพอใจให้กับลูกค้าอย่างดีเยี่ยม
ระดับซีเอ็มเอ็มไอ
เหตุการณ์ แบบจำลองความสามารถครบกำหนดแบบบูรณาการ (CMMI) เป็นแนวทางการปรับปรุงกระบวนการที่พัฒนาขึ้นเป็นพิเศษสำหรับการปรับปรุงกระบวนการซอฟต์แวร์ ขึ้นอยู่กับกรอบการทำงานของกระบวนการและใช้เป็นความช่วยเหลือทั่วไปในกระบวนการทางธุรกิจในอุตสาหกรรมซอฟต์แวร์ โมเดลนี้ได้รับการยกย่องและใช้กันอย่างแพร่หลายในองค์กรพัฒนาซอฟต์แวร์
CMMI มี 5 ระดับ องค์กรได้รับการรับรองที่ระดับ CMMI 1 ถึง 5 โดยขึ้นอยู่กับวุฒิภาวะของกลไกการประกันคุณภาพ
- ระดับ 1 - อักษรย่อ: ในขั้นตอนนี้ สภาพแวดล้อมที่มีคุณภาพไม่เสถียร พูดง่ายๆ ก็คือไม่มีการปฏิบัติตามหรือจัดทำเอกสารกระบวนการใดๆ
- ระดับ 2 - ทำซ้ำได้: มีการปฏิบัติตามกระบวนการบางอย่างซึ่งสามารถทำซ้ำได้ ระดับนี้ช่วยให้มั่นใจได้ว่ากระบวนการต่างๆ ได้รับการปฏิบัติตามในระดับโครงการ
- ระดับ 3 - กำหนด: ชุดของกระบวนการถูกกำหนดและจัดทำเป็นเอกสารในระดับองค์กร กระบวนการที่กำหนดไว้เหล่านั้นอาจมีการปรับปรุงในระดับหนึ่ง
- ระดับ 4 - จัดการ: ระดับนี้ใช้ตัวชี้วัดกระบวนการและควบคุมกระบวนการที่ปฏิบัติตามอย่างมีประสิทธิภาพ
- ระดับ 5 - การเพิ่มประสิทธิภาพ: ระดับนี้มุ่งเน้นการปรับปรุงกระบวนการอย่างต่อเนื่องผ่านการเรียนรู้และนวัตกรรม
ตรวจสอบด้วย: - Capability Maturity Model (CMM) และระดับในวิศวกรรมซอฟต์แวร์
แบบจำลองกำหนดการทดสอบ (TMM)
แบบจำลองนี้ประเมินความสมบูรณ์ของกระบวนการในสภาพแวดล้อมการทดสอบ แม้แต่รุ่นนี้ก็มี 5 ระดับ กำหนดไว้ด้านล่าง-
- ระดับ 1 - แรกเริ่ม: ไม่มีมาตรฐานคุณภาพที่ปฏิบัติตามสำหรับกระบวนการทดสอบ และใช้วิธีการเฉพาะกิจเท่านั้นในระดับนี้
- ระดับ 2 - ความหมาย: กระบวนการที่กำหนดไว้ จัดทำกลยุทธ์การทดสอบ แผน กรณีทดสอบเรียบร้อยแล้ว
- ระดับ 3 - บูรณาการ: การทดสอบจะดำเนินการตลอดวงจรการพัฒนาซอฟต์แวร์ (SDLC) ซึ่งไม่ได้เป็นเพียงการบูรณาการเข้ากับกิจกรรมการพัฒนา เช่น V- Model
- ระดับ 4 - การจัดการและการวัดผล: Revข้อกำหนดและการออกแบบเกิดขึ้นในระดับนี้และมีการกำหนดเกณฑ์สำหรับการทดสอบแต่ละระดับ
- ระดับ 5 - การเพิ่มประสิทธิภาพ: มีการใช้เทคนิคการป้องกันหลายอย่างสำหรับกระบวนการทดสอบ และใช้การสนับสนุนเครื่องมือ (ระบบอัตโนมัติ) เพื่อปรับปรุงมาตรฐานและกระบวนการทดสอบ
ตรวจสอบด้วย: - Test Maturity Model (TMM) ในการทดสอบซอฟต์แวร์คืออะไร
สรุป
การประกันคุณภาพคือการตรวจสอบว่าผลิตภัณฑ์ที่พัฒนาขึ้นนั้นเหมาะสมกับการใช้งานหรือไม่ เพื่อสิ่งนั้น องค์กรควรมีกระบวนการและมาตรฐานที่ต้องปฏิบัติตามซึ่งจำเป็นต้องได้รับการปรับปรุงเป็นระยะ โดยมุ่งเน้นที่คุณภาพของผลิตภัณฑ์/บริการที่เรามอบให้กับลูกค้าเป็นหลักในระหว่างหรือหลังการใช้ซอฟต์แวร์