การทดสอบแบบไดนามิกคืออะไร? ประเภท เทคนิค และตัวอย่าง

การทดสอบแบบไดนามิก

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

เราทุกคนรู้ดีว่าการทดสอบคือการตรวจสอบและยืนยัน และการทดสอบจะเสร็จสมบูรณ์ต้องใช้เวลา 2 Vs จาก 2 Vs การตรวจสอบเรียกว่าการทดสอบแบบคงที่ และ "V" อื่นๆ การตรวจสอบเรียกว่าการทดสอบแบบไดนามิก

ตัวอย่างการทดสอบแบบไดนามิก

มาทำความเข้าใจวิธีทำ Dynamic Testing ด้วยตัวอย่าง:

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

เมื่อผู้ใช้กรอก Username เป็น “Guru99” ระบบจะยอมรับเหมือนเดิม โดยที่เมื่อผู้ใช้เข้าสู่ Guru99@123 แอปพลิเคชันจะแสดงข้อความแสดงข้อผิดพลาด ผลลัพธ์นี้แสดงว่าโค้ดกำลังทำงานแบบไดนามิก ขึ้นอยู่กับการป้อนข้อมูลของผู้ใช้

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

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

การทดสอบแบบไดนามิกทำอะไร?

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

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

ในแอปพลิเคชันธนาคาร เราจะพบหน้าจอต่างๆ เช่น แผนกบัญชีของฉัน การโอนเงิน Bill การชำระเงิน ฯลฯ หน้าจอทั้งหมดนี้มีช่องจำนวนเงินที่ยอมรับอักขระบางตัวได้

สมมติว่าฟิลด์บัญชีของฉันแสดงจำนวนเงินเป็น 25,000 และการโอนเงินเป็น $25,000 รวมถึง Bill หน้าจอการจ่ายเงินเป็น $25000 แม้ว่าจำนวนเงินจะเท่ากัน แต่การแสดงจำนวนเงินไม่เหมือนกัน ทำให้ซอฟต์แวร์ไม่สม่ำเสมอ

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

ประเภทของการทดสอบแบบไดนามิก

การทดสอบแบบไดนามิกแบ่งออกเป็นสองประเภท

  • สีขาว Box การทดสอบ
  • Black Box การทดสอบ

การแสดงรูปภาพด้านล่างนี้ทำให้เรามีแนวคิดเกี่ยวกับประเภทของการทดสอบแบบไดนามิก ระดับของการทดสอบ ฯลฯ

ประเภทของการทดสอบแบบไดนามิก

เราจะมาพูดคุยกันสั้นๆ เกี่ยวกับการทดสอบแต่ละประเภทและวัตถุประสงค์ของการทดสอบ

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

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

เหตุการณ์ กล่องดำ (Black Box) การทดสอบแบ่งออกเป็นสองประเภทอีกครั้ง

พวกเขาเป็น

  • การทดสอบสมรรถนะ
  • การทดสอบแบบไม่ใช้งาน

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

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

การทดสอบการทำงานมีระดับต่างๆ กัน ซึ่งระดับที่สำคัญที่สุดคือ

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

การทดสอบแบบไม่ใช้งาน: การทดสอบ Non-Functional เป็นเทคนิคการทดสอบที่ไม่ได้มุ่งเน้นไปที่ลักษณะการทำงานและมุ่งเน้นไปที่คุณลักษณะที่ไม่สามารถทำงานได้ของระบบเป็นหลัก เช่น หน่วยความจำรั่ว ประสิทธิภาพ หรือความทนทานของระบบ การทดสอบแบบไม่ใช้งานจะดำเนินการในทุกระดับการทดสอบ

มีเทคนิคการทดสอบที่ไม่ใช้งานอยู่มากมายซึ่งสิ่งที่สำคัญที่สุดได้แก่

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

เทคนิคการทดสอบแบบไดนามิก

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

ใน STLC เราสามารถพูดได้ว่ากระบวนการทดสอบแบบไดนามิกที่แท้จริงเริ่มต้นจากการออกแบบกรณีทดสอบ มาหารือเกี่ยวกับกิจกรรมแต่ละกิจกรรมโดยละเอียดกัน

เทคนิคการทดสอบแบบไดนามิก

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

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

เมื่อกำหนดกลยุทธ์และได้รับการยอมรับจากฝ่ายบริหารแล้ว การออกแบบกรณีทดสอบกระบวนการจริงจะเริ่มต้นขึ้น

การออกแบบการทดสอบและการใช้งานคืออะไร

ในระยะนี้เราจะระบุ

  • คุณสมบัติที่จะทดสอบ
  • สืบทอดเงื่อนไขการทดสอบ
  • รับรายการความคุ้มครอง
  • รับกรณีการทดสอบ

ทดสอบการตั้งค่าสภาพแวดล้อม

เราต้องแน่ใจว่าสภาพแวดล้อมการทดสอบควรคล้ายกับสภาพแวดล้อมการผลิตเสมอ ในขั้นตอนนี้ เราต้องติดตั้งการสร้างและจัดการเครื่องทดสอบ

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

ในระหว่างขั้นตอนนี้ กรณีทดสอบจะถูกดำเนินการจริง

บันทึกรายงานข้อผิดพลาดแล้ว

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

ข้อดีของการทดสอบแบบไดนามิก

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

ข้อเสียของการทดสอบแบบไดนามิก

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

สรุป

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