การประกันคุณภาพ (QA) ในการทดสอบซอฟต์แวร์คืออะไร

ก่อนที่เราจะเรียนรู้การประกันคุณภาพ เรามาทำความเข้าใจ-

คุณภาพคืออะไร?

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

ประกันคืออะไร?

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

การประกันคุณภาพในการทดสอบซอฟต์แวร์คืออะไร

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

การประกันคุณภาพทำอย่างไร: เสร็จสิ้นกระบวนการ

วิธีการประกันคุณภาพมีวงจรที่กำหนดไว้เรียกว่าวงจร PDCA หรือวงจร Deming ระยะของวงจรนี้คือ:

  • แพ็กเกจ
  • Do
  • ตรวจสอบ
  • กระทำ
กระบวนการประกันคุณภาพ
กระบวนการประกันคุณภาพ

ขั้นตอนข้างต้นเหล่านี้ถูกทำซ้ำเพื่อให้แน่ใจว่ากระบวนการที่ปฏิบัติตามในองค์กรได้รับการประเมินและปรับปรุงเป็นระยะ เรามาดูรายละเอียดขั้นตอนกระบวนการ QA ข้างต้นกันดีกว่า –

  • แพ็กเกจ – องค์กรควรวางแผนและกำหนดวัตถุประสงค์ที่เกี่ยวข้องกับกระบวนการและกำหนดกระบวนการที่จำเป็นในการส่งมอบผลิตภัณฑ์ขั้นสุดท้ายคุณภาพสูง
  • Do – การพัฒนาและการทดสอบกระบวนการและ “ทำ” การเปลี่ยนแปลงในกระบวนการ
  • ตรวจสอบ – การตรวจสอบกระบวนการ ปรับเปลี่ยนกระบวนการ และตรวจสอบว่าเป็นไปตามวัตถุประสงค์ที่กำหนดไว้ล่วงหน้าหรือไม่
  • กระทำ – ผู้ทดสอบการประกันคุณภาพควรดำเนินการที่จำเป็นเพื่อให้บรรลุการปรับปรุงกระบวนการ

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

การควบคุมคุณภาพคืออะไร?

ควบคุมคุณภาพ

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

จุดมุ่งหมายหลักของการควบคุมคุณภาพคือการตรวจสอบว่าผลิตภัณฑ์ตรงตามข้อกำหนดและข้อกำหนดของลูกค้าหรือไม่ หากมีการระบุปัญหาหรือปัญหา จะต้องได้รับการแก้ไขก่อนส่งมอบให้กับลูกค้า

QC ยังประเมินบุคลากรตามชุดทักษะระดับคุณภาพ และจัดให้มีการฝึกอบรมและการรับรอง การประเมินนี้จำเป็นสำหรับองค์กรที่ให้บริการและช่วยให้บริการที่ "สมบูรณ์แบบ" แก่ลูกค้า

ความแตกต่างระหว่างการควบคุมคุณภาพและการประกันคุณภาพ?

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

การควบคุมคุณภาพเทียบกับการประกันคุณภาพ
การควบคุมคุณภาพเทียบกับการประกันคุณภาพ

ตัวอย่างกิจกรรม QC และ QA มีดังนี้

กิจกรรมการควบคุมคุณภาพ กิจกรรมประกันคุณภาพ
คำแนะนำแบบ การตรวจสอบคุณภาพ
การทดสอบ การกำหนดกระบวนการ
การตรวจสอบ การระบุและการเลือกเครื่องมือ
รีวิวจุดตรวจ การฝึกอบรมมาตรฐานและกระบวนการคุณภาพ

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

  • QA กลายเป็น SQA (การประกันคุณภาพซอฟต์แวร์)
  • QC กลายเป็นการทดสอบซอฟต์แวร์

ตรวจสอบด้วย: - การประกันคุณภาพเทียบกับการควบคุมคุณภาพ: อะไรคือความแตกต่าง?

ความแตกต่างระหว่าง SQA และการทดสอบซอฟต์แวร์

ตารางต่อไปนี้จะอธิบายความแตกต่างระหว่าง SQA และการทดสอบซอฟต์แวร์:

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

แนวทางปฏิบัติที่ดีที่สุดสำหรับการประกันคุณภาพ

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

ฟังก์ชั่นการประกันคุณภาพ

มีฟังก์ชันการประกันคุณภาพหลัก 5 ฟังก์ชัน:

  1. การถ่ายทอดเทคโนโลยี: ฟังก์ชันนี้เกี่ยวข้องกับการรับเอกสารการออกแบบผลิตภัณฑ์ ตลอดจนข้อมูลการทดลองและข้อผิดพลาด และการประเมินผล เอกสารจะถูกแจกจ่าย ตรวจสอบ และอนุมัติ
  2. การตรวจสอบ: มีการเตรียมแผนแม่บทการตรวจสอบความถูกต้องสำหรับทั้งระบบไว้ที่นี่ มีการอนุมัติเกณฑ์การทดสอบเพื่อตรวจสอบความถูกต้องของผลิตภัณฑ์และกระบวนการ การวางแผนทรัพยากรสำหรับการดำเนินการตามแผนการตรวจสอบเสร็จสิ้นแล้ว
  3. เอกสาร: ฟังก์ชั่นนี้ทำหน้าที่ควบคุมการแจกจ่ายและจัดเก็บเอกสาร การเปลี่ยนแปลงใดๆ ในเอกสารจะต้องดำเนินการโดยใช้ขั้นตอนการควบคุมการเปลี่ยนแปลงที่เหมาะสม การอนุมัติเอกสารทุกประเภท
  4. มั่นใจในคุณภาพของผลิตภัณฑ์
  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) ในการทดสอบซอฟต์แวร์คืออะไร

สรุป

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