Skip to main content
0

สารจากนักเขียน

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

เขียนโดย
Chairawit Iamkhajornchai
Internship @ borntoDev

บทความนี้ตีพิมพ์ และ เผยแพร่เมื่อ 19 กันยายน 2566

ขั้นตอนของ Software Development Life Cycle (SDLC) มีอยู่ขั้นตอนหนึ่งซึ่งอยู่ในช่วงที่ 5 คือ Testing & Integration ซึ่งเป็นการทดสอบความถูกต้องในการทำงานของ Software ที่ผ่านขั้นตอนพัฒนาที่เสร็จเรียบร้อยแล้วว่าสามารถทำงานได้ถูกต้องตามเอกสารหรือไม่สำหรับวันนี้เราจะพาเพื่อน ๆ ไปดูกันว่า การทดสอบต่าง ๆ ว่ามีอะไรบ้าง รวมถึงอธิบายถึงความต่างให้เข้าใจตรงกัน มาดูไปพร้อม ๆ กันเลยดีกว่า

การทดสอบซอฟต์แวร์ (Software Testing)

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

ประเภทของ Software Testing แบ่งออกเป็น 3 ตัวด้วยกันได้แก่

  • Functional Testing  

การทดสอบถึงฟังก์ชันในการทำงานของระบบว่าสามารถทำงานได้จริงหรือไม่ ตามเอกสารความต้องการที่ระบุไว้ โดยจะวิเคราะห์ถึงในส่วนต่าง ๆ เช่น User Interface, Database, Security และอื่น ๆ เช่น ทดสอบระบบฝากเงินว่าสามารถฝากเงินได้จริงหรือไม่ เป็นต้น

  • Non-Functional Testing

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

  • Maintenance Testing 

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

ในขั้นตอนของ Software Testing จะมีความคล้ายกับ Software Development Life Cycle (SDLC) โดยจะมีชื่อว่า “Software Testing Life Cycle (STLC)”

ประกอบไปด้วย 6 กระบวนนการหลัก ๆ ดังนี้

ขั้นที่ 1 : Requirement Analysis : การวิเคราะห์ความต้องการที่ได้รับว่ามีอะไรที่สามารถทดสอบได้บ้าง จะทดสอบกันอย่างไร เป็นต้น

ขั้นที่ 2 : Test Planning : วางแผนกลยุทธ์ในการทดสอบว่าจะทำได้อย่างไร ด้วยการกำหนด Objecttive (จุดหมาย) ,  Resource (ทรัพยากร) 

ขั้นที่ 3 : Test Case Development : เขียน Test Case ในการทดสอบแต่ละส่วนโดยจะทดสอบนอกเหนือจากที่เอกสารความต้องการระบุไว้

ขั้นที่ 4 : Test Environment Setup : ทดสอบสภาพแวดล้อมต่าง ๆ เช่น ผ่านอุปกรณ์อะไร , Setup อย่างไร เป็นต้น

ขั้นที่ 5 : Test Execution : ทำการทดสอบตาม Environment ที่ได้กำหนดไว้

ขั้นที่ 6 : Test Cycle Closure : ขั้นตอนสุดท้ายเป็นการทำสรุปการทดสอบว่ามีอะไรเกิดขึ้นบ้าง

ระดับของการทดสอบ Software ควรที่จะมีอะไรบ้างสามารถแบ่งออกเป็นหลัก ๆ ได้ตามนี้


1.Module Testing หรือ Unit Testing 

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

ถ้าหากไม่มีการทดสอบในส่วนนี้โปรแกรมของเราก็อาจจะเกิดข้อบกพร่องในการทำงานได้

 

2.Integration Testing

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

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

 

3.System Testing

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

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

 

4.Acceptance Testing (UAT)

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

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

.

🦖 borntoDev – สร้างการเรียนรู้ที่ดี สำหรับสายไอทีในทุกวัน

ระบบฝึกทักษะ การเขียนโปรแกรม

ที่พร้อมตรวจผลงานคุณ 24 ชั่วโมง

  • โจทย์ปัญหากว่า 200 ข้อ ที่รอท้าทายคุณอยู่
  • รองรับ 9 ภาษาโปรแกรมหลัก ไม่ว่าจะ Java, Python, C ก็เขียนได้
  • ใช้งานได้ฟรี ! ครบ 20 ข้อขึ้นไป รับ Certificate ไปเลย !!
เข้าใช้งานระบบ DevLab ฟรี !เรียนรู้เพิ่มเติม

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

BorntoDev

Author BorntoDev

BorntoDev Co., Ltd.

More posts by BorntoDev

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

ตั้งค่าความเป็นส่วนตัว

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

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

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

  • คุกกี้สำหรับการติดตามทางการตลาด

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

บันทึกการตั้งค่า