การทดสอบ Adhoc คืออะไร? ประเภทพร้อมตัวอย่าง
การทดสอบแบบ Ad Hoc คืออะไร?
การทดสอบเฉพาะกิจ คือ โดยธรรมชาติ และ มีความยืดหยุ่น วิธีทดสอบซอฟต์แวร์โดยไม่ต้องทำตามแผนหรือเอกสารประกอบใดๆ แทนที่จะเตรียมเคสทดสอบไว้ล่วงหน้า คุณสามารถเริ่มสำรวจแอปพลิเคชันได้ทันที "สำหรับสิ่งนี้" หมายถึง “เพื่อวัตถุประสงค์เฉพาะ” หรือ “ไม่ได้วางแผนไว้” ซึ่งสะท้อนถึงรูปแบบการทดสอบนี้ได้อย่างแท้จริง
ขออธิบายแบบง่ายๆ ลองนึกภาพว่าฉันเพิ่งติดตั้งแอปใหม่บนอุปกรณ์ของฉัน แทนที่จะทำเครื่องหมายถูกในรายการขั้นตอนการทดสอบ ฉันเริ่มแตะไปมา ฉันอาจลองป้อนข้อมูลแปลกๆ ใช้แอปในลักษณะที่คาดไม่ถึง หรือแม้แต่พยายามทำลายการไหลของข้อมูลโดยตั้งใจ เป้าหมายของฉันที่นี่คือดูว่าแอปจัดการอย่างไร การใช้งานจริงในโลกที่ไม่สามารถคาดเดาได้—ไม่ใช่แค่สถานการณ์ที่เหมาะสมเท่านั้น
การทดสอบเฉพาะหน้านั้นโดดเด่นเพราะมักจะเปิดเผยปัญหาที่การทดสอบอย่างเป็นทางการอาจมองข้ามไป ด้วยการคิดอย่างสร้างสรรค์และมองตนเองในฐานะผู้ใช้ที่แตกต่างกัน ฉันสามารถค้นพบ เป็นโรคจิต และ ปัญหาการใช้งาน ซึ่งคนอื่นอาจมองข้าม วิธีนี้ต้องอาศัยการทดสอบของผู้ทดสอบ สัญชาตญาณ,ประสบการณ์, และความเข้าใจอย่างลึกซึ้งเกี่ยวกับแอปพลิเคชัน เป็นวิธีที่ดีในการตรวจพบข้อผิดพลาดตั้งแต่เนิ่นๆ โดยเฉพาะเมื่อเวลามีจำกัดหรือเอกสารมีจำกัด
แม้ว่าการทดสอบเฉพาะกิจอาจดูไม่เป็นทางการ แต่คุณค่าที่แท้จริงมาจากความเชี่ยวชาญและความสามารถของผู้ทดสอบ คิดนอกกรอบ. มักถูกมองว่าเป็นประเภทหนึ่งของ การทดสอบกล่องดำ เนื่องจากเน้นที่การทำงานของซอฟต์แวร์บนพื้นผิว ไม่ใช่ว่าซอฟต์แวร์ถูกสร้างขึ้นมาอย่างไร การทดสอบแบบ adhoc เมื่อใช้ควบคู่กับการทดสอบแบบมีโครงสร้างจะช่วยให้มั่นใจได้ว่าซอฟต์แวร์จะทำงานได้ดีขึ้น น่าเชื่อถือ และ สินค้าที่เป็นมิตรกับผู้ใช้.
วิดีโอต่อไปนี้จะแนะนำคุณเกี่ยวกับการทดสอบแบบ adhoc
คลิก Good Farm Animal Welfare Awards หากไม่สามารถเข้าถึงวิดีโอได้
เมื่อใดจึงควรทำการทดสอบเฉพาะกิจ?
การทราบเวลาที่ดีที่สุดในการทดสอบเฉพาะกิจสามารถสร้างความแตกต่างอย่างมากต่อคุณภาพของซอฟต์แวร์ของคุณ ตลอดหลายปีที่ผ่านมา ฉันได้เรียนรู้ว่าเวลาเป็นสิ่งสำคัญสำหรับแนวทางการทดสอบแบบยืดหยุ่นและตามสถานการณ์นี้ การทดสอบเฉพาะกิจเหมาะอย่างยิ่งเมื่อคุณต้องตรวจสอบปัญหาอย่างรวดเร็วที่กรณีทดสอบแบบมีโครงสร้างอาจมองข้ามไป มาสำรวจสถานการณ์หลักๆ ที่การทดสอบเฉพาะกิจมีประโยชน์มากที่สุดกัน:
- ในช่วงเริ่มต้นของการพัฒนา: วิธีนี้ใช้ได้ดีเมื่อกรณีทดสอบอย่างเป็นทางการยังไม่พร้อม คุณสามารถตรวจพบข้อบกพร่องในฟีเจอร์ใหม่ได้อย่างรวดเร็ว ก่อนที่แผนการทดสอบอย่างเป็นทางการจะถูกสร้างขึ้น
- ก่อนเริ่มการทดสอบอย่างเป็นทางการ: ใช้การทดสอบเฉพาะกิจเป็นการสแกนอย่างรวดเร็วเพื่อให้แน่ใจว่าระบบพื้นฐานทำงานได้ ซึ่งจะช่วยหลีกเลี่ยงการเสียเวลาไปกับการสร้างที่มีปัญหาระหว่างรอบการทดสอบอย่างเป็นทางการ
- หลังจากเสร็จสิ้นการทดสอบอย่างเป็นทางการ: แม้ว่าจะทำตามทุกกรณีทดสอบแล้ว แต่ข้อบกพร่องบางอย่างก็ยังคงหลุดรอดไปได้ การทดสอบเฉพาะกิจช่วยให้คุณค้นหาข้อบกพร่องที่การทดสอบแบบมีโครงสร้างอาจมองข้ามไป โดยเฉพาะอย่างยิ่งข้อบกพร่องที่อยู่นอกเหนือข้อกำหนดที่บันทึกไว้
- เมื่อคุณมีเวลาไม่มาก: บางครั้งเวลาอาจไม่เพียงพอสำหรับการทดสอบรอบสมบูรณ์ ในกรณีเช่นนี้ ผู้ทดสอบที่มีประสบการณ์สามารถใช้การทดสอบเฉพาะกิจเพื่อค้นหาปัญหาที่สำคัญที่สุดได้อย่างรวดเร็ว
- การสำรวจคุณลักษณะอย่างลึกซึ้ง: หากคุณต้องการเข้าใจจริงๆ ว่าส่วนใดส่วนหนึ่งของซอฟต์แวร์ทำงานอย่างไร การทดสอบเฉพาะกิจจะช่วยให้คุณตรวจสอบได้อย่างอิสระโดยไม่ต้องยึดติดกับสคริปต์
- สำหรับการตรวจสอบการใช้งาน: คุณสามารถลองคิดในมุมของผู้ใช้เพื่อดูว่าซอฟต์แวร์มีส่วนใดที่ทำให้สับสนหรือสร้างความหงุดหงิดได้บ้าง ซึ่งจะช่วยปรับปรุงประสบการณ์โดยรวมให้ดีขึ้น
- ระหว่างการทดสอบเบต้า: โดยทั่วไปแล้วผู้ทดสอบเบต้ามักใช้การทดสอบเฉพาะหน้าเมื่อทดลองใช้ซอฟต์แวร์ในสถานการณ์จริง ซึ่งจะช่วยเปิดเผยปัญหาที่เกิดขึ้นในการใช้งานจริงเท่านั้น
ประเภทของการทดสอบเฉพาะกิจ
การทดสอบเฉพาะหน้าอาจไม่เป็นไปตามแผนที่เป็นทางการ แต่เมื่อเวลาผ่านไป มีรูปแบบที่มีประโยชน์หลายรูปแบบเกิดขึ้น ซึ่งไม่ใช่หมวดหมู่ที่เข้มงวด แต่สะท้อนให้เห็นถึงวิธีที่ผู้ทดสอบปรับตัวตามความต้องการในโลกแห่งความเป็นจริง จากประสบการณ์ของฉัน การใช้วิธีการเหล่านี้ในสถานการณ์ที่เหมาะสมสามารถเปิดเผยจุดบกพร่องที่ซ่อนอยู่ได้เร็วและมีประสิทธิภาพมากขึ้น
- Buddy การทดสอบ: วิธีการนี้จะจับคู่ผู้พัฒนาและผู้ทดสอบให้ทำงานควบคู่กัน ผู้พัฒนาจะอธิบายวิธีการสร้างฟีเจอร์ดังกล่าว ในขณะเดียวกัน ผู้ทดสอบจะสำรวจฟีเจอร์ดังกล่าวจากมุมมองของผู้ใช้ การผสมผสานความรู้ด้านการเขียนโค้ดและทักษะการทดสอบนี้ช่วยให้ตรวจพบปัญหาได้ตั้งแต่เนิ่นๆ โดยมักจะเกิดขึ้นทันทีหลังจากเขียนโค้ดเสร็จสิ้น
- การทดสอบคู่: นักทดสอบสองคนทำงานร่วมกันบนอุปกรณ์เดียวกัน คนหนึ่งสำรวจแอป ในขณะที่อีกคนเสนอข้อมูลอินพุตที่แตกต่างกันและสังเกตพฤติกรรม ทั้งสองคนผลัดกันและแบ่งปันบันทึก การทำงานร่วมกันแบบเรียลไทม์นี้ช่วยส่งเสริมความคิดสร้างสรรค์และมักพบข้อบกพร่องมากกว่าการทดสอบเพียงอย่างเดียว
- การทดสอบลิง: นี่เป็นแนวทางที่คาดเดาไม่ได้มากที่สุด ผู้ทดสอบหรือเครื่องมือจะคลิก พิมพ์ หรือนำทางผ่านแอปแบบสุ่ม เป้าหมายคือการผลักดันระบบจนกว่าจะหยุดทำงาน แม้ว่าวิธีนี้อาจดูวุ่นวาย แต่ก็เป็นวิธีที่ดีในการค้นหาข้อผิดพลาดหรือจุดอ่อน เพียงจำไว้ว่าการทำซ้ำจุดบกพร่องที่พบด้วยวิธีนี้อาจเป็นเรื่องยุ่งยาก
แนวทางเหล่านี้แต่ละวิธีมีจุดแข็งของตัวเอง การเลือกแนวทางที่ถูกต้องขึ้นอยู่กับความต้องการของโครงการ พลวัตของทีม และความรวดเร็วในการรับคำติชม จากสิ่งที่ฉันเห็น การผสมผสานวิธีการเหล่านี้เข้าด้วยกันสามารถให้ผลดีที่สุดจากการทดสอบเฉพาะกิจได้ โดยเปิดเผยปัญหาที่การทดสอบตามสคริปต์อาจมองข้ามไป
ข้อดีของการทดสอบเฉพาะกิจ
การทดสอบแบบเฉพาะกิจมีคุณค่าเฉพาะตัวที่การทดสอบแบบมีโครงสร้างมักมองข้าม การทดสอบแบบเฉพาะกิจมีความยืดหยุ่น รวดเร็ว และอาศัยสัญชาตญาณของผู้ทดสอบมากกว่าขั้นตอนที่แน่นอน จากประสบการณ์ของฉัน การทดสอบประเภทนี้เป็นคู่หูที่มีประสิทธิภาพสำหรับวิธีการแบบเป็นทางการ โดยเฉพาะอย่างยิ่งในสภาพแวดล้อมการพัฒนาที่เปลี่ยนแปลงอย่างรวดเร็ว
- เปิดเผยจุดบกพร่องที่ซ่อนอยู่: เมื่อไม่มีข้อจำกัดของกรณีทดสอบที่กำหนดไว้ล่วงหน้า ระบบจะสำรวจเส้นทางที่ไม่คาดคิดซึ่งมักมีข้อบกพร่องซ่อนอยู่
- การตั้งค่าที่รวดเร็วและง่ายดาย: ไม่จำเป็นต้องมีแผนการทดสอบหรือเอกสารประกอบโดยละเอียด ซึ่งช่วยประหยัดเวลาได้มากเมื่อจำเป็นต้องมีข้อเสนอแนะอย่างรวดเร็ว
- คุ้มค่าเมื่อมีเวลาจำกัด: เหมาะสำหรับสถานการณ์ที่ทรัพยากรมีจำกัดแต่ยังคงต้องค้นพบจุดบกพร่องที่สำคัญอย่างรวดเร็ว
- ข้อมูลเชิงลึกจากผู้ใช้จริง: เนื่องจากผู้ทดสอบมีพฤติกรรมเหมือนผู้ใช้ปลายทาง กระบวนการทดสอบจึงสามารถเน้นข้อบกพร่องด้านการใช้งานที่การทดสอบอย่างเป็นทางการอาจมองข้ามไปได้
- ใช้สัญชาตญาณของผู้ทดสอบ: ผู้ทดสอบที่มีทักษะสามารถพึ่งพาประสบการณ์ของตนเพื่อเปิดเผยข้อบกพร่องเล็กๆ น้อยๆ ที่เครื่องมือหรือสคริปต์อาจมองข้ามไป
- เพิ่มประสิทธิภาพการทดสอบแบบเป็นทางการ: มันไม่ได้ทดแทนการทดสอบอย่างเป็นทางการ แต่จะเพิ่มความมั่นใจอีกชั้นด้วยการขยายขอบเขตการทดสอบ
- ห่วงข้อเสนอแนะทันที: มีประโยชน์อย่างยิ่งโดยเฉพาะอย่างยิ่งในการตั้งค่าแบบคล่องตัวที่ต้องพบข้อบกพร่องและแก้ไขอย่างรวดเร็วเพื่อให้ทุกอย่างดำเนินต่อไป
ข้อเสียของการทดสอบเฉพาะกิจ
การทดสอบเฉพาะหน้ามีข้อจำกัดหลายประการที่อาจส่งผลต่อทั้งคุณภาพของการทดสอบและผลลัพธ์ของผลิตภัณฑ์ ให้ฉันอธิบายสิ่งเหล่านี้อย่างชัดเจนจากประสบการณ์การทดสอบของฉัน
- ข้อบกพร่องที่ยากต่อการทำซ้ำ: เนื่องจากไม่มีแนวทางแบบมีโครงสร้างหรือบันทึกขั้นตอนทีละขั้นตอน การจำลองปัญหาจึงอาจทำได้ยาก ทำให้การแก้ไขปัญหายากขึ้นสำหรับนักพัฒนา
- ขึ้นอยู่กับประสบการณ์ของผู้ทดสอบ: ความสำเร็จของวิธีนี้ขึ้นอยู่กับทักษะหรือความคุ้นเคยกับผลิตภัณฑ์ของผู้ทดสอบเป็นอย่างมาก ผู้เริ่มต้นอาจพลาดจุดบกพร่องสำคัญๆ ที่ผู้ทดสอบที่มีประสบการณ์จะสังเกตเห็นได้
- ไม่มีการครอบคลุมการทดสอบแบบเต็มรูปแบบ: การทดสอบเฉพาะหน้าไม่ได้ดำเนินไปตามเส้นทางที่วางแผนไว้ ซึ่งหมายความว่าบางพื้นที่สำคัญอาจไม่ได้รับการทดสอบโดยไม่มีใครสังเกตเห็นจนกว่าจะสายเกินไป
- ขาดการติดตามและการวัดผล: หากไม่มีกรณีทดสอบหรือบันทึกใดๆ การวัดความคืบหน้า การระบุรูปแบบ หรือทำความเข้าใจสิ่งที่ได้รับการทดสอบนั้นทำได้ยาก ซึ่งจะทำให้ทีมงานและผู้มีส่วนได้ส่วนเสียมองเห็นได้น้อยลง
- ไม่เหมาะสำหรับการใช้งานที่มีความเสี่ยงสูง: โครงการด้านการดูแลสุขภาพ ธนาคาร หรือระบบที่สำคัญต่อความปลอดภัยจำเป็นต้องมีการจัดทำเอกสารและการตรวจสอบอย่างละเอียด การทดสอบเฉพาะหน้าเพียงอย่างเดียวไม่เป็นไปตามมาตรฐานที่เข้มงวดเหล่านี้
- เสียเวลาไปโดยเปล่าประโยชน์หากขาดสมาธิ: หากผู้ทดสอบไม่มีเป้าหมายที่ไม่เป็นทางการ พวกเขาอาจใช้เวลามากเกินไปในการสำรวจฟีเจอร์ที่มีความสำคัญต่ำ ซึ่งจะทำให้รอบการทดสอบโดยรวมดำเนินไปช้าลง
แนวทางปฏิบัติที่ดีที่สุดสำหรับการทดสอบเฉพาะกิจที่มีประสิทธิผล
เพื่อให้ได้รับประโยชน์สูงสุดจากการทดสอบเฉพาะกิจ แม้ว่าจะมีลักษณะไม่เป็นทางการก็ตาม โปรดพิจารณาแนวทางปฏิบัติดังต่อไปนี้:
1) ความรู้ทางธุรกิจที่ดี
ผู้ทดสอบควรมีความรู้ที่ดีเกี่ยวกับธุรกิจและความเข้าใจที่ชัดเจนในข้อกำหนด - ความรู้โดยละเอียดเกี่ยวกับกระบวนการทางธุรกิจตั้งแต่ต้นจนจบจะช่วยค้นหาข้อบกพร่องได้อย่างง่ายดาย ผู้ทดสอบที่มีประสบการณ์จะพบข้อบกพร่องมากขึ้นเนื่องจากสามารถคาดเดาข้อผิดพลาดได้ดีกว่า
2) ทดสอบโมดูลหลัก
โมดูลธุรกิจที่สำคัญควรได้รับการระบุและกำหนดเป้าหมายสำหรับการทดสอบเฉพาะกิจ โมดูลที่สำคัญทางธุรกิจควรได้รับการทดสอบก่อนเพื่อให้มั่นใจในคุณภาพของระบบ
3) บันทึกข้อบกพร่อง
ข้อบกพร่องทั้งหมดจะต้องได้รับการบันทึกหรือเขียนลงในสมุดบันทึก ข้อบกพร่องจะต้องถูกกำหนดให้กับนักพัฒนาเพื่อทำการแก้ไข สำหรับข้อบกพร่องที่ถูกต้องแต่ละข้อ จะต้องเขียนกรณีทดสอบที่เกี่ยวข้องและต้องเพิ่มในกรณีทดสอบที่วางแผนไว้
ล้อยางขัดเหล่านี้ติดตั้งบนแกน XNUMX (มม.) ผลิตภัณฑ์นี้ถูกผลิตในหลายรูปทรง และหลากหลายเบอร์ความแน่นหนาของปริมาณอนุภาคขัดของมัน จะทำให้ท่านได้รับประสิทธิภาพสูงในการขัดและการใช้งานที่ยาวนาน ข้อบกพร่อง การค้นพบควรทำเป็นบทเรียน และสิ่งเหล่านี้ควรสะท้อนให้เห็นในระบบถัดไปของเราในขณะที่เรากำลังวางแผนสำหรับกรณีทดสอบ
4) จับคู่
เท่าที่เห็นค่ะ Buddy หรือการทดสอบแบบเป็นคู่ การทำงานร่วมกันสามารถนำมาซึ่งมุมมองที่หลากหลาย และปรับปรุงการตรวจจับข้อบกพร่องได้
ตัวอย่างการทดสอบแบบ adhoc
การทดสอบแบบเฉพาะกิจเป็นการสำรวจแอปพลิเคชันโดยไม่มีแผนที่แน่นอน แทนที่จะทำตามสคริปต์ เรากลับอาศัยสัญชาตญาณและประสบการณ์ที่ผ่านมา ฉันมักพบว่าแนวทางนี้มีประโยชน์เมื่อพยายามตรวจจับจุดบกพร่องที่ผิดปกติหรือไม่คาดคิดซึ่งการทดสอบแบบสคริปต์อาจมองข้ามไป
- ทดสอบความเครียดของฟีเจอร์การเข้าสู่ระบบ: ผู้ทดสอบเข้าและออกซ้ำๆ โดยใช้ข้อมูลประจำตัวที่แตกต่างกัน ซึ่งบางข้อมูลก็ไม่ถูกต้อง เพื่อดูว่าระบบขัดข้องหรือตอบสนองผิดปกติหรือไม่
- อินพุตผู้ใช้ที่ผิดปกติ: การป้อนสัญลักษณ์ สตริงที่ยาวมาก หรือรูปแบบไฟล์ที่ไม่คาดคิด เพื่อตรวจสอบการตอบสนองของระบบ ช่วยให้ค้นหาว่าการตรวจสอบอินพุตได้รับการจัดการดีเพียงใด
- คลิกแบบสุ่มและการนำทาง: ผู้ทดสอบคลิกผ่านแอปแบบสุ่ม สลับไปมาระหว่างหน้าต่างๆ กดปุ่มที่ไม่เรียงลำดับ เพื่อค้นหาพฤติกรรมที่ไม่คาดคิด
- ความวุ่นวายในการอัพโหลดไฟล์: การอัปโหลดประเภทไฟล์ที่ไม่ได้รับการสนับสนุนหรือไฟล์เสียหายเพื่อทดสอบความทนทานของฟีเจอร์การอัปโหลด
- การทดสอบการขัดจังหวะ: การขัดจังหวะกระบวนการ (เช่น การปิดแท็บขณะบันทึกหรือตัดการเชื่อมต่ออินเทอร์เน็ต) เพื่อดูว่าระบบกู้คืนอย่างไร
การวิเคราะห์เชิงเปรียบเทียบกับการทดสอบเชิงสำรวจ
แม้ว่าการทดสอบเฉพาะหน้าและการทดสอบเชิงสำรวจมักจะรวมกันเป็นหนึ่ง แต่จะแสดงพารามิเตอร์การทำงานที่แตกต่างกัน:
ลักษณะเฉพาะ | การทดสอบเฉพาะกิจ | การทดสอบเชิงสำรวจ |
---|---|---|
เอกสาร | หลังการดำเนินการเท่านั้น | บันทึกอย่างต่อเนื่อง |
การวางแผน | ไม่มี | เช่าเหมาลำแบบเบา |
โครงสร้างเซสชัน | ไม่มีโครงสร้างอย่างสมบูรณ์ | การวนซ้ำแบบมีกรอบเวลา |
การทำซ้ำข้อบกพร่อง | ความสามารถในการทำซ้ำได้ 33% | ความสามารถในการทำซ้ำได้ 78% |
การรวมระบบอัตโนมัติ | การบังคับใช้ที่จำกัด | การรวมเครื่องมือ 42% |
สรุป
การทดสอบเฉพาะหน้ายังคงเป็นวิธีที่มีประสิทธิภาพในการค้นหาจุดบกพร่องที่ซ่อนอยู่ซึ่งวิธีการทดสอบอื่นๆ อาจมองข้ามไป โดยอาศัยประสบการณ์ สัญชาตญาณ และความคิดสร้างสรรค์ของผู้ทดสอบ จากประสบการณ์หลายสิบปีในการทดสอบ ฉันพบว่าแนวทางนี้มักจะเปิดเผยปัญหาในโลกแห่งความเป็นจริงที่การทดสอบแบบมีโครงสร้างมองข้ามไป
อย่างไรก็ตาม สิ่งสำคัญคือต้องใช้การทดสอบเฉพาะกิจด้วยความระมัดระวัง หากขาดการวางแผนหรือการบันทึกข้อมูล อาจเป็นเรื่องยากที่จะทำซ้ำผลลัพธ์หรือแบ่งปันผลลัพธ์ได้ ดังนั้น ฉันจึงแนะนำให้รวมการทดสอบเข้ากับบันทึกที่เหมาะสมและใช้เครื่องมือที่ติดตามสิ่งที่ได้รับการทดสอบ การทำเช่นนี้จะสร้างสมดุลระหว่างอิสระและการควบคุม
เนื่องจาก AI ยังคงเติบโตอย่างต่อเนื่อง ฉันเชื่อว่าเราจะเห็นการทดสอบเฉพาะกิจที่ชาญฉลาดมากขึ้นซึ่งได้รับการสนับสนุนจากการเรียนรู้ของเครื่องจักร เครื่องมือเหล่านี้สามารถช่วยให้ผู้ทดสอบมุ่งเน้นสัญชาตญาณไปที่จุดที่จำเป็นที่สุด แม้ว่าการทดสอบเฉพาะกิจจะเริ่มต้นจากแนวทางปฏิบัติที่ยืดหยุ่นและขับเคลื่อนโดยมนุษย์ แต่ในปัจจุบัน วิธีนี้วัดผลได้มากขึ้นและมีคุณค่ามากขึ้นในเวิร์กโฟลว์การรับรองคุณภาพ