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

การทดสอบซอฟต์แวร์ (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) ที่ส่งผลต่อสถานที่ติดตั้ง

 

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

 

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
ผลลัพท์การคูณ เเต่ละที่ทำไมไม่ตรงกัน
โดย thatsawan พฤ 09 เม.ย. 2020 3:12 pm บอร์ด Programming - C/C++ & java & Python
4
26
พฤ 09 เม.ย. 2020 4:11 pm โดย thatsawan
อยากทราบวิธีการตรวจสอบตัวแปลภาษาใน phpbb ตัวไหนยังไม่มีการแปล
โดย Ittichai_chupol พ 08 เม.ย. 2020 10:57 am บอร์ด Programming - PHP
1
29
พ 08 เม.ย. 2020 12:24 pm โดย thatsawan
ปัญหาการใช้งาน MJUpgrade
โดย Anonymous อ 07 เม.ย. 2020 10:33 am บอร์ด MindPHP News & Feedback
5
45
อ 07 เม.ย. 2020 1:10 pm โดย mindphp
การรันไฟล์ .exe
โดย bumbim01 จ 06 เม.ย. 2020 8:25 pm บอร์ด Programming - C/C++ & java & Python
0
65
จ 06 เม.ย. 2020 8:25 pm โดย bumbim01
สรรพากรแจ้งข่าวดี ขยายเวลายื่นแบบฯ ให้ผู้ประกอบการทุกราย สู้ COVID19
โดย thatsawan จ 06 เม.ย. 2020 1:42 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
68
จ 06 เม.ย. 2020 1:42 pm โดย thatsawan
G -ข้อมูลสำหรับ ทำโปรแกรม ความต้องการของระบบที่ต้องทำ รวมเฟส 4
โดย mindphp จ 06 เม.ย. 2020 12:18 pm บอร์ด AZKing (Main)
1
10
จ 06 เม.ย. 2020 12:32 pm โดย mindphp
แนะนำบริการ hosting จาก Hostneverdie
โดย tumsailom อ 05 เม.ย. 2020 7:58 pm บอร์ด Web Hosting Review - Free Host Share Host VPS
0
195
อ 05 เม.ย. 2020 7:58 pm โดย tumsailom
อยากทราบถ้าหากต้องการที่ทดสอบการทำงานของของ Event cron จะต้องทำอย่างไรบางครับ
โดย Ittichai_chupol ส 04 เม.ย. 2020 10:50 am บอร์ด Programming - PHP
1
141
จ 06 เม.ย. 2020 11:39 am โดย mindphp
เทมเพลต Megadeal ของ MooZiiCart สำหรับทำเว็บขายสินค้าออนไลน์
โดย prmindphp ศ 03 เม.ย. 2020 6:39 pm บอร์ด MindPHP News & Feedback
0
175
ศ 03 เม.ย. 2020 6:39 pm โดย prmindphp
เครื่องมือช่วยกรองสินค้า สำหรับค้นหาสินค้าที่ต้องการ
โดย prmindphp พฤ 02 เม.ย. 2020 6:46 pm บอร์ด MindPHP News & Feedback
0
229
พฤ 02 เม.ย. 2020 6:46 pm โดย prmindphp
การเขียน Script สำหรับสร้าง User ใน Joomla
โดย tsukasaz พฤ 02 เม.ย. 2020 3:33 pm บอร์ด Joomla Developing Knowledge
0
274
พฤ 02 เม.ย. 2020 3:33 pm โดย tsukasaz
อยากทราบวิธีการดึงข้อมูลจาก Excel โดยการดึงข้อมูลจาก คอลัมของ Excel มาบันทึกลงในฐานข้อมูล
โดย Ittichai_chupol พฤ 02 เม.ย. 2020 10:09 am บอร์ด Programming - PHP
1
294
พฤ 02 เม.ย. 2020 10:43 am โดย mindphp
เอ้าๆ ใครที่ใบขับขี่หมดอายุในช่วง COVID-19 สามารถอมรมผ่านออนไลน์ ด้วย e-learning ได้เเล้วนะ
โดย thatsawan พฤ 02 เม.ย. 2020 10:09 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
175
พฤ 02 เม.ย. 2020 10:09 am โดย thatsawan
วิธีการเชื่อม api ของ gitlab สำหรับดาวน์โหลดไฟล์ project ใน ภาษา Python
โดย jirawoot พ 01 เม.ย. 2020 3:38 pm บอร์ด Python Knowledge
0
248
พ 01 เม.ย. 2020 3:38 pm โดย jirawoot
สอบถาม ผมจะทำ ci ของ gitlab ผมดูดไฟล์ project จาก api ของ gitlab ได้แล้วทำอย่างไรต่อครับ
โดย jirawoot พ 01 เม.ย. 2020 12:09 pm บอร์ด Programming - C/C++ & java & Python
3
242
พฤ 02 เม.ย. 2020 10:50 am โดย tsukasaz
ผมอัพเกรด joomla 2.5 เป็นเวอร์ชั่นล่าสุด 3.8 หน้าเว็บเวอร์ชั่นเดิมจะหายไปไหมคับ
โดย Anonymous พ 01 เม.ย. 2020 12:00 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
3
242
พ 01 เม.ย. 2020 4:29 pm โดย icphp
ลดอัตราหัก ณ ที่จ่าย เหลือ 1.5% ออกเป็นกฎหมายมีผลใช้บังคับแล้ว!!! นะ เริ่ม 1 เมษายน 2563
โดย thatsawan พ 01 เม.ย. 2020 10:54 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
152
พ 01 เม.ย. 2020 10:54 am โดย thatsawan
วิธีการจัดการกับเด็กๆ กวนใจ เมื่อต้องทำงานจากบ้าน #Work from home
โดย thatsawan พ 01 เม.ย. 2020 9:53 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
138
พ 01 เม.ย. 2020 9:53 am โดย thatsawan
วิธีแก้ไขปัญหา สำหรับ การนำ Template phpbb 3.3 มาใช้ใน phpbb 3.2
โดย thatsawan อ 31 มี.ค. 2020 7:27 pm บอร์ด phpBB user Guide Knowledge
0
252
อ 31 มี.ค. 2020 7:27 pm โดย thatsawan
สอบถาม ผมลองใช้ curl ของ API ของ gitlab แล้ว "message":"401 Unauthorized ครับ
โดย jirawoot อ 31 มี.ค. 2020 5:16 pm บอร์ด Programming - C/C++ & java & Python
1
456
อ 31 มี.ค. 2020 5:35 pm โดย jirawoot