การทดสอบเชิงสำรวจคืออะไร?

⚡ สรุปอย่างชาญฉลาด

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

  • 🔍 นิยามของการทดสอบเชิงสำรวจ: ผู้ทดสอบออกแบบและดำเนินการทดสอบแบบเรียลไทม์ แทนที่จะเขียนสคริปต์ล่วงหน้า
  • 🆚 เทียบกับการทดสอบตามสคริปต์: การทดสอบตามสคริปต์เป็นการยืนยันข้อกำหนด ในขณะที่การทดสอบเชิงสำรวจเป็นการตรวจสอบและปรับปรุงในระหว่างการทดสอบ
  • 🧠 กิจกรรมกระตุ้นความคิด: เน้นการเรียนรู้ ความคิดสร้างสรรค์ และสัญชาตญาณของผู้ทดสอบในการค้นหาข้อผิดพลาดที่ซ่อนอยู่
  • 🗂️ กระบวนการ SBTM: การจำแนกประเภทข้อบกพร่อง, แผนการทดสอบ, กรอบเวลา, ผลการตรวจสอบ และการสรุปผล
  • ดีที่สุดสำหรับ: ขาดข้อกำหนดที่จำเป็น, การพัฒนาในระยะเริ่มต้น, แอปพลิเคชันที่สำคัญ และผู้ทดสอบที่มีประสบการณ์
  • 🇧🇷 การแลกเปลี่ยน: ช่วยค้นหาข้อผิดพลาดได้มากขึ้นและส่งเสริมความคิดสร้างสรรค์ แต่ขึ้นอยู่กับทักษะของผู้ทดสอบเป็นอย่างมาก

การทดสอบเชิงสำรวจคืออะไร

การทดสอบเชิงสำรวจคืออะไร?

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

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

ทำไมต้องทดสอบเชิงสำรวจ?

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

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

การทดสอบเชิงสำรวจ

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

การทดสอบเชิงสำรวจ

ความแตกต่างระหว่างการทดสอบแบบสคริปต์และเชิงสำรวจ

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

เทคนิคการทดสอบเชิงสำรวจ

  • ไม่ใช่การทดสอบแบบสุ่ม แต่เป็นการทดสอบเฉพาะกิจโดยมีวัตถุประสงค์เพื่อค้นหาจุดบกพร่อง
  • มีโครงสร้างและเข้มงวด
  • โครงสร้างทางความคิด (การคิด) มีโครงสร้างตามขั้นตอนเมื่อเทียบกับโครงสร้างตามขั้นตอนของการทดสอบตามสคริปต์ โครงสร้างนี้มาจาก Charter, Time Boxing เป็นต้น
  • สามารถสอนและจัดการได้สูง
  • ไม่ใช่เทคนิคแต่เป็นแนวทาง การกระทำใดที่คุณทำต่อไปจะถูกควบคุมโดยสิ่งที่คุณกำลังทำอยู่ในปัจจุบัน

วิธีดำเนินการทดสอบเชิงสำรวจ

ต่อไปนี้เป็นกระบวนการทีละขั้นตอนเกี่ยวกับวิธีดำเนินการทดสอบเชิงสำรวจซึ่งเรียกอีกอย่างว่าการจัดการทดสอบตามเซสชัน (รอบ SBTM):

ขั้นตอนที่ 1) สร้าง Bug Taxonomy (การจำแนกประเภท)

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

ขั้นตอนที่ 2) กฎบัตรทดสอบ

  • กฎบัตรทดสอบควรแนะนำ
    1. สิ่งที่ต้องทดสอบ
    2. มันสามารถทดสอบได้อย่างไร
    3. จะต้องดูอะไรบ้าง.
  • แนวคิดการทดสอบเป็นจุดเริ่มต้นของการทดสอบการสำรวจ
  • กฎบัตรทดสอบช่วยกำหนดว่าผู้ใช้สามารถใช้ระบบได้อย่างไร

ขั้นตอนที่ 3) เวลา Box

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

ขั้นตอน 4) Revดูผลลัพธ์

  • การประเมินข้อบกพร่อง
  • การเรียนรู้จากการทดสอบ
  • การวิเคราะห์พื้นที่ครอบคลุม

ขั้นตอนที่ 5) การซักถาม

  • การรวบรวมผลลัพธ์ผลลัพธ์
  • เปรียบเทียบผลลัพธ์กับกฎบัตร
  • ตรวจสอบว่าจำเป็นต้องมีการทดสอบเพิ่มเติมหรือไม่

การทดสอบเชิงสำรวจแนวปฏิบัติที่ดีที่สุด

ในระหว่างการดำเนินการสำรวจจำเป็นต้องดำเนินการดังต่อไปนี้:

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

สิ่งสำคัญอย่างยิ่งคือการจัดทำเอกสารและติดตามสิ่งต่อไปนี้

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

การทดสอบเชิงสำรวจที่ชาญฉลาดยิ่งขึ้นจะค้นหาข้อผิดพลาดได้มากขึ้นในเวลาที่น้อยลง

ข้อดีข้อเสียของการทดสอบเชิงสำรวจ

ข้อดี

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

ข้อเสีย

  • การทดสอบนี้ขึ้นอยู่กับทักษะของผู้ทดสอบเท่านั้น
  • จำกัดโดยความรู้โดเมนของผู้ทดสอบ
  • ไม่เหมาะสำหรับเวลาดำเนินการที่ยาวนาน

ความท้าทายของการทดสอบเชิงสำรวจ

การทดสอบเชิงสำรวจมีความท้าทายหลายประการ โดยมีการอธิบายไว้ด้านล่าง:

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

เมื่อใช้การทดสอบเชิงสำรวจ?

การทดสอบเชิงสำรวจสามารถนำไปใช้ได้อย่างกว้างขวางเมื่อ

  • ทีมงานทดสอบมีประสบการณ์ทดสอบ
  • จำเป็นต้องทำซ้ำก่อน
  • มีแอปพลิเคชันที่สำคัญ
  • ผู้ทดสอบใหม่เข้ามาในทีม

คำถามที่พบบ่อย

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

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

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

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

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

สรุปโพสต์นี้ด้วย: