ความสำคัญของ Test case

Software testing ความรู้ สำหรับ Tester ผู้ทดสอบ เป็นส่วนสำคัญในการ test โปรแกรม การ ทดสอบโปรแกรมมีความรู้แนะนำไว้ในหมวดนี้

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
wkid
PHP VIP Members
PHP VIP Members
โพสต์: 2158
ลงทะเบียนเมื่อ: 17/05/2022 10:37 am

ความสำคัญของ Test case

โพสต์ที่ยังไม่ได้อ่าน โดย wkid »

คำว่า Test case หรือที่เรียกว่า การทดสอบ เป็นการนำกรณีที่มีลักษณะที่สัมพันธ์กับพฤติกรรมของโปรแกรมนั้นๆ นำมาทดสอบ ตรวจสอบโปรแกรมหรือระบบ หลักๆแล้วจะประกอบด้วย ข้อมูลที่ input เข้าไปในโปรแกรม และมี expected output คือ ผลลัพธ์ที่คาดว่าจะได้รับจากการป้อน input นั้นเข้าไป กรณีที่ใช้ในการทดสอบ ซึ่ง Test case จะอิงกับ Busines requirement ที่ได้จากลูกค้า ตัวอย่างเช่น การเขียน Test case สำหรับทดสอบระบบ Log in ทั้งนี้การเขียน Test case จะต้องมีการกำหนดสถานการณ์จำลองที่จะต้องเกิด ซึ่งต้องครอบคลุมถึงกรณีที่เป็น Negative หรือกรณีที่ทำรายการผิด กรอกข้อมูลผิดพลาดเพื่อทดสอบ Response ที่ระบบจะแจ้งเตือนแก่ user สถานการณ์ดังกล่าวเราเรียกว่า Test scenario ส่วน Test script คือ ขั้นตอนในการทดสอบ หรือการบอก Step ของ Activity ต่าง ๆ ที่จะกระทำกับระบบแล้วเกิดผลลัพธ์ เช่น User ต้องกรอกข้อมูลลงในฟิลด์ก่อน แล้วคลิกปุ่ม submit ซึ่งเอกสาร Test script จะเป็นตัวที่บ่งบอกผลการทดสอบระบบทั้งหมดนั่นเอง





ประเภทของการทำ Test
1. Unit Test
Unit Test เป็นการทดสอบการทำงานของแต่ละ Module การทำ Unit Test โดยอาศัย Coding และ Programming design พอโปรแกรมเมอร์พัฒนาระบบในแต่ละ Module เสร็จ ก็จะต้องทำการทดสอบการทำงานของ Module นั้น ๆ ก่อนที่จะถึงมือ Tester
2. Integration Testing
Integration Testing ก็คือการทำเอา Module ต่าง ๆ มาประกอบกันเป็นระบบ ซึ่งการทดสอบในขั้นตอนนี้จะเป็นการทดสอบการทำงานร่วมกันของ Module หรือ
Function อื่น ๆ ที่ผ่านการทำ Unit Test มาแล้ว Tester
3. Acceptance Testing
หลังจากที่ได้ทำ Integration Testing ไปแล้ว ขั้นตอนนี้เป็นการทดสอบในลักษณะ End-to-End ก่อนจะนำระบบขึ้นใช้งานจริง โดยจะส่งให้ลูกค้าเป็นผู้ทดสอบ

วิธีการเขียน Test case
จะมีการแบ่งออกเป็น 3 กลุ่มใหญ่ๆ
1. Normal cases กรณีที่เกิดขึ้นบ่อยๆในระบบ หรือ สิ่งที่ระบบควรจะต้องทำได้ ส่วนนี้จะเป็นส่วนที่พบเจอบ่อยมากและโอกาสเกิดขึ้นเยอะ
2. Alternative cases กรณีที่เกิดขึ้นไม่ค่อยบ่อย นานๆจะเกิดขึ้นครั้ง
3. Exception cases กรณีที่เจอข้อผิดแปลกจากสิ่งที่มันควรจะเป็น ระบบจะต้องทำอะไรบ้าง


Test Techniques
เทคนิคที่ใช้สำหรับการออกแบบ Test Case จะแบ่งออกเป็น 3 แบบ
1. Black-Box Testing เป็นวิธีการทดสอบซอฟต์แวร์ที่ตรวจสอบการทำงานของแอปพลิเคชันโดยไม่ต้องมองเข้าไปในโครงสร้างภายในหรือการทำงาน
2. White-Box Testing เป็นวิธีการทดสอบซอฟต์แวร์ที่ทดสอบโครงสร้างภายในหรือการทำงานของแอปพลิเคชันทดสอบ ผู้ทดสอบเลือก input เพื่อใช้เส้นทางผ่านโค้ดและกำหนดผลลัพธ์ที่คาดหวัง
3. Experience Testing/Error Guessing/Exploratory Testing มีความชำนาญในการใช้ระบบ
test case (1).png
test case (1).png (240.85 KiB) Viewed 7027 times
Test Case Design Techniques เทคนิคในการทดสอบ
1. Equivalent Partition เมื่อไปเก็บ Requirement กับทางผู้ใช้งาน จุดสังเกต คือ ช่วงของข้อมูล จากนั้นลองแบ่งออกเป็น ช่วง ๆ สนใจข้อมูลของแต่ละช่วง และสนใจว่าแต่ละช่วง มี Expected Result คืออะไร
2. Boundary Value Analysis เป็นการทดสอบขอบของข้อมูล ค่าที่สนใจ ได้แก่ ค่าของตัวมันเอง ค่าที่มากกว่าและค่าที่น้อยกว่า Condition ถูกทำการทดสอบด้วยปกติเทคนิคนี้จะทดสอบจาก - Programmer มักจะใช้เขียน If - Tester มักจะใช้ในการ Validate Field
3. Decision Table Testing การแปลง Condition และ Action ให้อยู่ในรูปแบบตาราง แล้วใส่ค่า True/False เข้าไป
4. State Transition เทคนิคการทดสอบกล่องดําที่ดําเนินการเพื่อสังเกตพฤติกรรมของระบบหรือแอปพลิเคชันสําหรับเงื่อนไขต่างๆ ที่ส่งผ่านตามลําดับ ในการทดสอบประเภทนี้ จะมีการให้ค่า input ทั้งบวกและลบและสังเกตพฤติกรรมของระบบ
5. Flow Chart สรุปผลที่ทดสอบออกมาเป็นลำดับขั้นตอน เพื่อใช้ในการวิเคราะห์ต่อไป


Steps of Test Designเป็นเครื่องมือที่ช่วยให้สามารถออกแบบการทดสอบได้
1. Identify Test Condition(s) เงื่อนไขการทดสอบเป็นสิ่งที่เราสามารถทดสอบได้ เงื่อนไขเหล่านี้ได้รับการยอมรับจากการวิเคราะห์ปัจจัย
1.วัถตุประสงค์การทดสอบ
2.พื้นฐานการทดสอบ
3.ความเสี่ยงของผลิตภัณฑ์งานทดสอบ ระบบต่างๆ
2. Specify Test Case การออกแบบว่ามีกี่ Test Case
3. Specify Test Scenarios การรวม Test Case หลายๆ เคส ให้เป็น Scenario ซึ่งอาจเรียกแตกต่างกัน เช่น Test Script หรือ Test Procedure หรือ User Story



สรุป
Test case หรือ การทดสอบ เป็นการนำกรณีที่มีลักษณะที่สัมพันธ์กับพฤติกรรมของโปรแกรมนั้นๆ นำมาทดสอบ ตรวจสอบโปรแกรมหรือระบบ หลักๆแล้วจะประกอบด้วย ข้อมูลที่ input เข้าไปในโปรแกรม และมี expected output คือ ผลลัพธ์ที่คาดว่าจะได้รับจากการป้อน input นั้นเข้าไป ในการทดสอบ ซึ่ง Test case จะอิงกับ Busines requirement ที่ได้จากลูกค้า โดย Test case จะใช้เทคนิคและความรู้ต่างๆ มาทดสอบ จะส่งผลดีต่อการทำงานจะทำให้ทีมทีมและลูกค้าเข้าใจตรงกันว่า feature นั้นคืออะไร จะได้ไม่เสียเวลาเขียนโค้ดที่ไม่ใช่ของที่ลูกค้าอยากได้ ถ้าคนในทีมเข้าใจผิด มันจะถูกแก้ไขก่อนที่จะทำการเขียนโค้ด เลยไม่ทำให้เสียเวลาไปนั่งไล่โค้ดแก้



อ้างอิง
https://www.stream.co.th/รื่องงง-ๆ-ของ-tester-มือใหม่/?doing_wp_cron=1668827990.7815361022949218750000
https://www.guru99.com/test-case.html
https://www.saladpuk.com/software-testing/tdd101/test-cases
ทำไมสัตว์ที่น่ากลัวที่สุดถึงตัวเล็กๆที่เรียกว่า Bug ละนั่น );
ภาพประจำตัวสมาชิก
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
โพสต์: 41251
ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
ติดต่อ:

Re: ความสำคัญของ Test case

โพสต์ที่ยังไม่ได้อ่าน โดย mindphp »

ย้ายกระทู้มาหมวด Software testing แล้ว
viewforum.php?f=85
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ตอบกลับโพส

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: Google [Bot] และบุคลทั่วไป 67