การทดสอบและการประกันคุณภาพ

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

การทดสอบระบบและการประกันคุณภาพเข้ามาช่วยในการตรวจสอบระบบ ประกอบด้วย -

  • คุณภาพระดับผลิตภัณฑ์ (การทดสอบ)
  • คุณภาพระดับกระบวนการ

ให้เราผ่านพวกเขาสั้น ๆ -

การทดสอบ

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

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

ลักษณะของการทดสอบระบบ

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

ขั้นตอนของการทดสอบระบบ

ขั้นตอนต่อไปนี้เกี่ยวข้องกับการทดสอบ -

Test Strategy

เป็นคำสั่งที่ให้ข้อมูลเกี่ยวกับระดับวิธีการเครื่องมือและเทคนิคต่างๆที่ใช้ในการทดสอบระบบ ควรตอบสนองทุกความต้องการขององค์กร

Test Plan

มีแผนสำหรับการทดสอบระบบและตรวจสอบว่าระบบที่อยู่ระหว่างการทดสอบเป็นไปตามข้อกำหนดการออกแบบและการทำงานทั้งหมด แผนการทดสอบให้ข้อมูลดังต่อไปนี้ -

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

Test Case Design

  • มีการระบุกรณีทดสอบจำนวนมากสำหรับแต่ละโมดูลของระบบที่จะทดสอบ

  • แต่ละกรณีการทดสอบจะระบุวิธีการทดสอบการดำเนินการตามข้อกำหนดเฉพาะหรือการตัดสินใจออกแบบและเกณฑ์สำหรับความสำเร็จของการทดสอบ

  • กรณีทดสอบพร้อมกับแผนการทดสอบได้รับการจัดทำเป็นเอกสารเป็นส่วนหนึ่งของเอกสารข้อมูลจำเพาะของระบบหรือในเอกสารแยกต่างหากที่เรียกว่า test specification หรือ test description.

Test Procedures

ประกอบด้วยขั้นตอนที่ควรปฏิบัติเพื่อดำเนินการทดสอบแต่ละกรณี ขั้นตอนเหล่านี้ระบุไว้ในเอกสารแยกต่างหากที่เรียกว่าข้อกำหนดขั้นตอนการทดสอบ เอกสารนี้ยังระบุข้อกำหนดและรูปแบบพิเศษสำหรับการรายงานผลการทดสอบ

Test Result Documentation

ไฟล์ผลการทดสอบประกอบด้วยข้อมูลสั้น ๆ เกี่ยวกับจำนวนกรณีทดสอบทั้งหมดที่ดำเนินการจำนวนข้อผิดพลาดและลักษณะของข้อผิดพลาด จากนั้นจะนำผลลัพธ์เหล่านี้ไปประเมินเทียบกับเกณฑ์ในข้อกำหนดการทดสอบเพื่อกำหนดผลลัพธ์โดยรวมของการทดสอบ

ประเภทของการทดสอบ

การทดสอบอาจมีหลายประเภทและการทดสอบประเภทต่างๆจะดำเนินการขึ้นอยู่กับประเภทของจุดบกพร่องที่เราต้องการค้นพบ -

การทดสอบหน่วย

หรือที่เรียกว่า Program Testing เป็นการทดสอบประเภทหนึ่งที่นักวิเคราะห์ทำการทดสอบหรือมุ่งเน้นไปที่แต่ละโปรแกรมหรือโมดูลอย่างอิสระ ดำเนินการโดยมีเจตนาในการดำเนินการแต่ละคำสั่งของโมดูลอย่างน้อยหนึ่งครั้ง

  • ในการทดสอบหน่วยไม่สามารถมั่นใจได้ว่ามีความแม่นยำของโปรแกรมและเป็นการยากที่จะทำการทดสอบการรวมอินพุตต่างๆโดยละเอียด

  • ระบุข้อผิดพลาดสูงสุดในโปรแกรมเมื่อเทียบกับเทคนิคการทดสอบอื่น ๆ

การทดสอบการผสานรวม

ในการทดสอบการรวมนักวิเคราะห์จะทดสอบหลายโมดูลที่ทำงานร่วมกัน ใช้เพื่อค้นหาความคลาดเคลื่อนระหว่างระบบกับวัตถุประสงค์ดั้งเดิมข้อมูลจำเพาะปัจจุบันและเอกสารของระบบ

  • ที่นี่นักวิเคราะห์พยายามค้นหาพื้นที่ที่โมดูลได้รับการออกแบบโดยมีข้อกำหนดที่แตกต่างกันสำหรับความยาวข้อมูลประเภทและชื่อองค์ประกอบข้อมูล

  • ตรวจสอบว่าขนาดไฟล์เพียงพอและมีการสร้างดัชนีอย่างถูกต้อง

การทดสอบการทำงาน

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

การทดสอบการทำงานแบ่งออกเป็นสองประเภท -

  • Positive Functional Testing - เกี่ยวข้องกับการทดสอบระบบด้วยอินพุตที่ถูกต้องเพื่อตรวจสอบว่าเอาต์พุตที่สร้างนั้นถูกต้อง

  • Negative Functional Testing - เกี่ยวข้องกับการทดสอบซอฟต์แวร์ด้วยปัจจัยการผลิตที่ไม่ถูกต้องและสภาพการทำงานที่ไม่ต้องการ

กฎสำหรับการทดสอบระบบ

เพื่อให้การทดสอบระบบประสบความสำเร็จคุณต้องปฏิบัติตามกฎที่กำหนด -

  • การทดสอบควรขึ้นอยู่กับความต้องการของผู้ใช้

  • ก่อนที่จะเขียนสคริปต์ทดสอบควรทำความเข้าใจเกี่ยวกับตรรกะทางธุรกิจอย่างละเอียด

  • แผนการทดสอบควรทำโดยเร็วที่สุด

  • บุคคลที่สามควรทำการทดสอบ

  • ควรดำเนินการกับซอฟต์แวร์แบบคงที่

  • ควรทำการทดสอบสำหรับเงื่อนไขการป้อนข้อมูลที่ถูกต้องและไม่ถูกต้อง

  • การทดสอบควรได้รับการทบทวนและตรวจสอบเพื่อลดต้นทุน

  • ควรทำการทดสอบทั้งแบบคงที่และแบบไดนามิกในซอฟต์แวร์

  • ควรจัดทำเอกสารกรณีทดสอบและผลการทดสอบ

การประกันคุณภาพ

เป็นการตรวจสอบผลิตภัณฑ์ระบบหรือซอฟต์แวร์และเอกสารประกอบเพื่อให้มั่นใจว่าระบบเป็นไปตามข้อกำหนดและข้อกำหนด

  • วัตถุประสงค์ของ QA คือเพื่อสร้างความมั่นใจให้กับลูกค้าโดยการส่งมอบสินค้าตามข้อกำหนดอย่างสม่ำเสมอ

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

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

  • ตรวจสอบและตรวจสอบผลิตภัณฑ์ซอฟต์แวร์และกิจกรรมต่างๆตลอดวงจรชีวิตของการพัฒนาระบบ

วัตถุประสงค์ของการประกันคุณภาพ

วัตถุประสงค์ของการดำเนินการประกันคุณภาพมีดังนี้ -

  • เพื่อตรวจสอบกระบวนการพัฒนาซอฟต์แวร์และซอฟต์แวร์ขั้นสุดท้ายที่พัฒนา

  • เพื่อให้แน่ใจว่าโครงการซอฟต์แวร์ดำเนินการตามมาตรฐานและขั้นตอนที่กำหนดโดยฝ่ายบริหารหรือไม่

  • เพื่อแจ้งกลุ่มและบุคคลเกี่ยวกับกิจกรรม SQA และผลลัพธ์ของกิจกรรมเหล่านี้

  • เพื่อให้แน่ใจว่าปัญหาที่ไม่ได้รับการแก้ไขภายในซอฟต์แวร์ได้รับการแก้ไขโดยผู้บริหารระดับสูง

  • เพื่อระบุข้อบกพร่องในผลิตภัณฑ์กระบวนการหรือมาตรฐานและแก้ไข

ระดับการประกันคุณภาพ

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

Level 1 − Code Walk-through

ในระดับนี้ซอฟต์แวร์ออฟไลน์จะได้รับการตรวจสอบหรือตรวจสอบการละเมิดกฎการเข้ารหัสอย่างเป็นทางการ โดยทั่วไปจะเน้นที่การตรวจสอบเอกสารและระดับของความคิดเห็นในรหัส

Level 2 − Compilation and Linking

ในระดับนี้จะมีการตรวจสอบว่าซอฟต์แวร์สามารถรวบรวมและเชื่อมโยงแพลตฟอร์มและระบบปฏิบัติการที่เป็นทางการทั้งหมดได้

Level 3 − Routine Running

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

Level 4 − Performance test

ในระดับสุดท้ายนี้จะมีการตรวจสอบว่าประสิทธิภาพของซอฟต์แวร์เป็นไปตามระดับประสิทธิภาพที่ระบุไว้ก่อนหน้านี้