ดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

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

 

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

 

การทดสอบซอฟต์แวร์ (Software Testing) หมายถึง กระบวนการในการวิเคราะห์ ตรวจสอบ และติดตามผล การพัฒนาซอฟต์แวร์ เพื่อให้แน่ใจว่าซอฟต์แวร์ที่จะส่งมอบงานมีความถูกต้อง สมบูรณ์ และมีประสิทธิภาพตามที่ผู้ใช้งานคาดหวังไว้ 

 

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

  • มีการกำหนดเกณฑ์มาตรฐานที่จะยอมรับซอฟต์แวร์ (Acceptance Criteria)
  • การตรวจสอบข้อผิดพลาด ทำหลังจากที่เขียนโปรแกรมเสร็จเรียบร้อยแล้ว โดยตรวจสอบประสิทธิภาพการทำงานของซอฟต์แวร์ให้สัมพันธ์กับคุณภาพของซอฟต์แวร์
  • การทดสอบซอฟต์แวร์แบ่งได้เป็น 2 กระบวนการหลัง ดังนี้
  1. กระบวนการตรวจสอบความถูกต้องของซอฟต์แวร์ที่ถูกพัฒนาขึ้นว่าเป็นไปตามข้อกำหนดคุณลักษณะความต้องการใช้งานซอฟต์แวร์ที่ได้กำหนดไว้หรือไม่ (Verification)
  2. กระบวนการตรวจสอบผลการพัฒนาซอฟต์แวร์ที่เกิดขึ้นจริงว่าตรงกับความคาดหวังของผู้ใช้หรือไม่ (Validation)

 

ระดับการทดสอบซอฟต์แวร์ สามารถแบ่งระดับการทดสอบได้ดังนี้

  1. การทดสอบโมดูลหรือทดสอบหน่วย (Module Testing หรือ Unit testing)
  2. การทดสอบภาพรวม (Integration Testing)
  3. การทดสอบฟังก์ชัน (Functional testing)
  4. การทดสอบประสิทธิภาพ (Performance Testing)
  5. การทดสอบการยอมรับ (Acceptance Testing)
  6. การทดสอบการติดตั้ง (Installation Testing)

 

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

  1. การทบทวนโปรแกรม (Program Review) เป็นกระบวนการทบทวนคำสั่งโปรแกรมและเอกสารที่โปรแกรมเมอร์พัฒนาขึ้น
  2. การพิสูจน์ความถูกต้องของโปรแกรม (Proving Programs Correct) เป็นการทดสอบข้อเท็จจริงทางโครงสร้างของโปรแกรม พิจารณาตรรกะการทำงานตามคำสั่งของโปรแกรม
  3. การทดสอบโปรแกรม (Testing Programs) เป็นการตรวจสอบความถูกต้องของโปรแกรมในมุมมองที่แต่กต่าง กลยุทธ์ของการทดสอบในลักษณะนี้เรียกว่ากล่องขาว (White box)

 

W - B Testing
การทดสอบซอฟต์แวร์ โดยใช้ White Box และ Black Box

 

White Box Testing

การทดสอบแบบกล่องขาว หรือ กล่องแก้ว (Glass Box Testing) เป็นวิธีที่ใช้เส้นทางควบคุมการทำงานและโครงสร้าง เพื่อใช้ทดสอบสิ่งต่อไปนี้

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

 

การสร้าง Case Test

  1. สร้างผังงาน (Flow Chart) หรือ กราฟการไหลของงาน (Process Flow Graph) จากประโยคสั่งการในโปรแกรม
  2. กำหนดเส้นทางการทดสอบจากกราฟ
  3. กำหนดชุดข้อมูลทดสอบของแต่ละเส้นทางได้อย่างครบถ้วน
  4. ทดสอบทุกเส้นทางอย่างน้อย 1 ครั้ง

 ไม่สนใจโครงสร้างของระบบ แต่สนใจสิ่งที่ระบบสามารถกระทำได้เท่านั้น เป็นลักษณะกล่องปิด (Closed Box) หรือ กล่องดำ (Black box)

 

Black Box Testing การทดสอบแบบกล่องดำ หรือ การทดสอบเชิงพฤติกรรม (Behavioral Testing) เนื่องจากเป็นการทดสอบผลการทำงานของซอฟต์แวร์ในแต่ละหน้าที่ ตามข้อกำหนดความต้องการเท่านั้น

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

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

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

 

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

 

ช่องทางการศึกษาเพิ่มเติมข่าวสารที่น่าสนใจเกี่ยวกับ : บทความทั่วไป

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
รวมเว็บไซต์เช็คDNS และวิธีเช็คDNS คำสั่ง nslookup ,IP domainname
โดย aninthana พฤ 22 ส.ค. 2019 5:45 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
12
พฤ 22 ส.ค. 2019 5:45 pm โดย aninthana
หลักสำคัญในการร่างสัญญา
โดย EyePornnipa พฤ 22 ส.ค. 2019 5:33 pm บอร์ด M089 - นางสาวพรนิภา ราชธานี
0
12
พฤ 22 ส.ค. 2019 5:33 pm โดย EyePornnipa
เที่ยว & กินไม่หยุด...ที่ตลาดวังหลัง จ.กรุงเทพมหานคร ฯ
โดย Patipat พฤ 22 ส.ค. 2019 5:05 pm บอร์ด M088 - ปฏิภัทร สารธรรม
0
5
พฤ 22 ส.ค. 2019 5:05 pm โดย Patipat
ถามเกี่ยวกับ Python GUI ( Tkinter )
โดย New Pimsean พฤ 22 ส.ค. 2019 4:33 pm บอร์ด Programming - C/C++ & java & Python
0
3
พฤ 22 ส.ค. 2019 4:33 pm โดย New Pimsean
ถ้าต้องการจดโดเมนเนม ต้องทำอย่างไร
โดย aninthana พฤ 22 ส.ค. 2019 3:20 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
17
พฤ 22 ส.ค. 2019 4:32 pm โดย thorng1
วิธีการทำเว็บไซต์ 2 ภาษา ในภาษา python
โดย jirawoot พฤ 22 ส.ค. 2019 3:20 pm บอร์ด Python Knowledge
0
3
พฤ 22 ส.ค. 2019 3:20 pm โดย jirawoot
จ่ายหนี้..น้อยลง!! ธนาคารพาณิชย์ ประกาศลดดอกเบี้ยเงินกู้
โดย promotion พฤ 22 ส.ค. 2019 3:17 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
6
พฤ 22 ส.ค. 2019 3:17 pm โดย promotion
Q - อยากทราบวิธีแก้หน้า Lost password ครับ
โดย jamepiyawat พฤ 22 ส.ค. 2019 11:24 am บอร์ด Joomla Development
8
48
พฤ 22 ส.ค. 2019 4:30 pm โดย thorng1
ขั้นตอนใดในกระบวนการสร้างต้นแบบที่จะทำให้ต้นแบบเกิดความสมบูรณ์เเละพร้อมนำไปใช้งานมากที่สุด เพราะเหตุใด
โดย Anonymous พฤ 22 ส.ค. 2019 1:19 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
6
พฤ 22 ส.ค. 2019 1:19 pm โดย บุคคลทั่วไป
R - ต้องการเพิ่มการแสดงรายการบนใบแจ้งหนี้
โดย EyePornnipa พฤ 22 ส.ค. 2019 12:43 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
0
3
พฤ 22 ส.ค. 2019 12:43 pm โดย EyePornnipa
เขียนวิธีการเดินจากบ้านมา กทม จากคลอง 3 หมู่บ้านพฤกษา 13 มา เสนานิคม
โดย aninthana พฤ 22 ส.ค. 2019 12:21 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
17
พฤ 22 ส.ค. 2019 2:25 pm โดย mindphp
note
โดย aninthana พฤ 22 ส.ค. 2019 11:10 am บอร์ด M092 - อนินธนา บุญยัง
1
7
พฤ 22 ส.ค. 2019 6:38 pm โดย aninthana
Work's on Hand อนินธนา บุญยัง M092
โดย aninthana พฤ 22 ส.ค. 2019 11:10 am บอร์ด M092 - อนินธนา บุญยัง
1
12
พฤ 22 ส.ค. 2019 6:34 pm โดย aninthana
Job description ที่เคยทำมาแต่ละบริษัท โดยระบุประเภทธุรกิจทำมา
โดย aninthana พฤ 22 ส.ค. 2019 11:08 am บอร์ด M092 - อนินธนา บุญยัง
1
16
พฤ 22 ส.ค. 2019 11:37 am โดย aninthana
งานประจำวันที่ 22 สิงหาคม 2562
โดย aninthana พฤ 22 ส.ค. 2019 11:04 am บอร์ด M092 - อนินธนา บุญยัง
1
18
พฤ 22 ส.ค. 2019 11:06 am โดย aninthana
งานประจำวันที่ 22 สิงหาคม 2562
โดย jirawoot พฤ 22 ส.ค. 2019 10:23 am บอร์ด M090 - นายจิระวุฒิ อัครลิขิตกุล
0
3
พฤ 22 ส.ค. 2019 10:23 am โดย jirawoot
งานประจำวันที่ 22 สิงหาคม 2562
โดย chatee supasand พฤ 22 ส.ค. 2019 10:10 am บอร์ด MT33 - นายชาตรี สุภาแสน
0
1
พฤ 22 ส.ค. 2019 10:10 am โดย chatee supasand
งานประจำวันที่ 22 สิงหาคม 2562
โดย Patipat พฤ 22 ส.ค. 2019 10:07 am บอร์ด M088 - ปฏิภัทร สารธรรม
0
3
พฤ 22 ส.ค. 2019 10:07 am โดย Patipat
งานประจำวันที่ 22 กรกฎาคม 2562
โดย jamepiyawat พฤ 22 ส.ค. 2019 10:01 am บอร์ด M084 - นายปิยวัช เชาว์วิมล
0
2
พฤ 22 ส.ค. 2019 10:01 am โดย jamepiyawat
งานประจำวันที่ 22 สิงหาคม 2562
โดย EyePornnipa พฤ 22 ส.ค. 2019 9:40 am บอร์ด M089 - นางสาวพรนิภา ราชธานี
0
6
พฤ 22 ส.ค. 2019 9:40 am โดย EyePornnipa