การทดสอบซอฟต์แวร์

บทแนะนำการทดสอบกล่องดำสำหรับผู้เริ่มต้น

30 ตุลาคม 2564

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

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

การทดสอบกล่องดำ

สารบัญ

ตัวอย่าง:

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

ขั้นตอนในการเริ่มการทดสอบกล่องดำ

  1. ทำความเข้าใจข้อกำหนดข้อกำหนดของแอปพลิเคชัน
    ซึ่งสามารถทำได้ผ่านความช่วยเหลือของเอกสาร SRS
  2. เรียกร้องให้มีการประเมินปัจจัยการผลิตที่ถูกต้องและสถานการณ์การทดสอบ
  3. เตรียม กรณีทดสอบ
  4. ดำเนินการกรณีทดสอบเพื่อสร้างผลลัพธ์
  5. ขั้นตอนที่มีแนวโน้มล้มเหลวจะถูกทำเครื่องหมายและส่งไปยังทีมพัฒนาเพื่อแก้ไข
  6. ทดสอบระบบอีกครั้งเพื่อให้แน่ใจว่า ข้อบกพร่อง การแก้ไขทำงานได้ดีและไม่มีข้อบกพร่องอีกต่อไป

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

การทดสอบกล่องดำมีสามประเภทและมีการกล่าวถึงด้านล่าง:

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

เครื่องมือสำหรับการทดสอบกล่องดำ

สำหรับการทดสอบการทำงานและการถดถอย

    UFT – เป็นผลิตภัณฑ์จาก Micro Focus (เดิมคือ HP) และย่อมาจาก การทดสอบการทำงานแบบครบวงจร . ช่วยให้ผู้ทดสอบทำการทดสอบอัตโนมัติโดยไม่ต้องเฝ้าติดตามเมื่อการพัฒนาสคริปต์เสร็จสิ้น เปรียบเทียบผลลัพธ์และรายงานในบทสรุปผู้บริหาร ซีลีเนียม – เป็นชุดทดสอบ UI อัตโนมัติแบบโอเพนซอร์ส สามารถใช้งานได้ง่ายบนแพลตฟอร์มต่างๆ เช่น Macintosh, Windows, Linux และอื่นๆ อีกมากมาย

สำหรับการทดสอบแบบไม่ใช้งาน

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

ระดับที่ใช้กับการทดสอบกล่องดำ

การทดสอบกล่องดำใช้ได้กับระดับต่อไปนี้

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

เทคนิคการทดสอบกล่องดำ

นี่คือเทคนิคการทดสอบกล่องดำ:

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

มาพูดคุยกันในรายละเอียด

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

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

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

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

การทดสอบกล่องดำ

แผนภาพการเปลี่ยนสถานะ

มันแสดงให้เห็นว่าระบบเปลี่ยนแปลงอย่างไรในปัจจัยการผลิตบางอย่าง มันมีสี่องค์ประกอบหลัก:

  • สถานะ
  • การเปลี่ยนแปลง
  • เหตุการณ์
  • หนังบู๊

สถานะการเปลี่ยนผ่าน

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

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

ตัวอย่างเช่น: หากนักวิเคราะห์พบข้อผิดพลาดในหน้าเข้าสู่ระบบ ผู้ทดสอบจะเขียนกรณีทดสอบโดยเน้นที่หน้าเข้าสู่ระบบ

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

ข้อดีและข้อเสียของการทดสอบกล่องดำ

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

การทดสอบกล่องดำหรือการทดสอบกล่องขาวไหนดีกว่ากัน

เพื่อที่คุณจะต้องรู้เพียงเล็กน้อยเกี่ยวกับการทดสอบกล่องขาว

การทดสอบกล่องขาว

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

ชื่ออื่นๆ สำหรับการทดสอบกล่องสีขาว ได้แก่ การทดสอบกล่องแก้ว การทดสอบกล่องใส การทดสอบโครงสร้าง

การทดสอบกล่องขาว

ตัวอย่างเช่น:

|_+_|
  • ขั้นแรก กำหนดค่าของ A และ B สมมติว่า A=60 และ B=50
  • ประการที่สอง ตอนนี้ C ได้รับการกำหนดค่าเป็น A+B, A=60, B=50 ดังนั้น C=110
  • ประการที่สาม เราจะตรวจสอบว่า C>100 หรือไม่ และในกรณีนี้ เป็นความจริง ดังนั้นเราจะได้ผลลัพธ์ที่เสร็จสิ้น

ขั้นตอนในการเริ่มต้นการทดสอบกล่องขาว

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

เทคนิคการทดสอบกล่องขาว

    ครอบคลุมงบ: ช่วยให้มั่นใจได้ว่าแต่ละบรรทัดจะดำเนินการอย่างน้อยหนึ่งครั้งความครอบคลุมของสาขา: ทำให้แน่ใจว่าทุกสาขาจากแต่ละจุดตัดสินใจถูกดำเนินการความครอบคลุมเส้นทาง: ทำให้แน่ใจว่าทุกเส้นทางถูกสำรวจอย่างน้อยหนึ่งครั้ง

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

การทดสอบกล่องขาวมีสามประเภทและมีการกล่าวถึงด้านล่าง:

    การทดสอบหน่วย กล่องขาว การทดสอบการเจาะ การทดสอบการรั่วไหลของหน่วยความจำ การทดสอบการกลายพันธุ์ของกล่องขาว

เครื่องมือสำหรับการทดสอบกล่องขาว

    JsuNit.net: เป็นเครื่องมือทดสอบ JavaScript ที่ใช้สำหรับการทดสอบไวท์บ็อกซ์ เป็นซอฟต์แวร์โอเพ่นซอร์สซึ่งหมายความว่าสามารถใช้เพื่อวัตถุประสงค์ทางการค้าได้
    CppUnit: CppUnit เป็นส่วนหนึ่งของ JsuNit เครื่องมือสามารถให้ผลลัพธ์ในรูปแบบของข้อความธรรมดาหรือในรูปแบบ XML แต่ทั้งหมดขึ้นอยู่กับผู้เขียนโค้ดว่าเขาต้องการอย่างไร
    รหัส Vera: เป็นซอฟต์แวร์ที่เป็นกรรมสิทธิ์และใช้ในการทดสอบภาษาที่ทรงพลังเช่น . สุทธิ , C++, JAVA และอื่นๆ อีกมากมาย

ข้อดีและข้อเสียของการทดสอบกล่องขาว

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

ความแตกต่างระหว่างการทดสอบกล่องขาวและกล่องดำ

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

บทสรุป

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