Test case คืออะไรทำไม Tester จำเป็นต้องทำ?

Test case คืออะไรทำไม Tester จำเป็นต้องทำ?
Jobsdb ทีมเนื้อหาอัปเดตเมื่อ 07 July, 2023
Share

ในสายงานการพัฒนาแอปพลิเคชั่น ซอฟท์แวร์ หรือโปรแกรมต่าง ๆ นอกจากอาชีพชูโรงอย่าง Developer แล้ว ยังมีตำแหน่งยิบย่อยอื่น ๆ อีกหลายตำแหน่ง หนึ่งในนั้นก็คือ Tester หรือ QA (Quality Assurance) ซึ่งทำหน้าที่ตรวจสอบคุณภาพของ Application หรือ Software ที่ทีมกำลังพัฒนาอยู่ว่าสามารถใช้งานได้ดีมีคุณภาพตรงตาม requirement หรือไม่ หากมีข้อผิดพลาดตรงไหน ก็สามารถที่จะส่งให้ทีมพัฒนาแก้ไขได้ก่อนที่จะขึ้นระบบจริง (Go live) ให้ user จริง ๆ ได้ใช้งาน ซึ่งขั้นตอนในการ Test ระบบ หรือ QA มีขั้นตอนต่าง ๆ ที่เป็นวิธีในการปฏิบัติเพื่อให้การเทสระบบเป็นไปได้อย่างครอบคลุม หนึ่งในนั้นก็คือ การทำ Test Case

Test Case คืออะไร

Test Case คือ การสร้างหัวข้อหรือกรณีทดสอบระบบ หรือ Software ตามขั้นตอน เงื่อนไข และตัวแปรต่าง ๆ ที่จะเกิดขึ้นต้องที่ application หรือ ระบบถูกใช้งานจริง โดย Test Case จะถูกออกแบบให้มีเป้าหมายเพื่อให้ระบบสามารถใช้งานได้ตรงตามความต้องการ (requirements) และเงื่อนไข (Conditions) มากที่สุด มากกว่าการที่ถูกสร้างขึ้นมาเพื่อตรวจสอบว่าฟังก์ชันนั้น ๆ ในระบบสามารถใช้งานได้เพียงแค่นั้น

ทำไมต้องเขียน Test Case

เหตุผลที่จะต้องทำ Test Case ก็เพราะว่าถ้าหาก application หรือ software ถูกพัฒนาขึ้นมาแล้ว สามารถใช้งานได้ ระบบดี แต่ว่าไม่ได้ตรงตามกับ requirement ที่มีมาตั้งแต่แรก หรือไม่ได้ตอบโจทย์ความต้องการในการใช้งานของ user application หรือ software นั้น ๆ ก็ไม่สามารถบรรลุวัตถุประสงค์ของการสร้าง application หรือ software นั้น ๆ ได้ เพราะไม่ได้ช่วยแก้ไขปัญหาหรือเพิ่มประสิทธิภาพการทำงานตามที่ตั้งใจไว้ตั้งแต่แรก และ Test Case ยังทำหน้าที่เป็นเหมือนแผนที่นำทางให้กับบรรดา Tester ใน Test Level หรือระดับของการทดสอบระบบในระดับต่าง ๆ อีกด้วย

Test Level ระดับของการทดสอบระบบ

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

  1. Unit Testing หรือ Integration Testing คือการเทสภาพรวมของระบบ (Integration Testing) ว่าแต่ละฟังก์ชันสามารถทำงานด้วยได้กันอย่างดีไม่มีปัญหาหรือไม่ หรือการเทสระบบโดยแบ่งออกเป็นส่วน ๆ (Unit Testing) ว่าแต่ละฟังก์ชันสามารถทำงานได้ถูกต้องหรือไม่ ซึ่งการเทสในระดับนี้จะเป็นการเทสด้วยโปรแกรมที่ถูกเขียน Code ขึ้นมาเพื่อทำการเทส software โดยเฉพาะ ทำให้การเทสในระดับ Unit Testing หรือ Integration Testing จะถูกทำโดย Programmer หรือ Developer ที่เขียนโปรแกรมได้
  2. System Testing คือ การเทสระบบทั้งหมดของ Software ทั้งด้าน Technical, Architecture, Functional รวมไปถึง Business requirement ว่าสามารถทำงานได้ตรงตามความต้องการ (Requirement) ของผู้ใช้งานหรือไม่ และเนื่องจากการเทสในระดับนี้จะมีเรื่อง Technical และโครงสร้างของระบบเข้ามาเกี่ยวข้อง ทำให้ System Testing จะถูกเทสโดย Software Tester ที่มีความรู้ความเข้าใจในงานส่วนการพัฒนาระบบโดยเฉพาะ
  3. Acceptance Testing คือ การเทสระบบภาพรวมในมุมมองของลูกค้าหรือ User ผู้ใช้งานจริง เพื่อตรวจสอบว่าระบบสามารถใช้งานได้ตรงตาม requirement และความคาดหวังของลูกค้าหรือ user หรือไม่ ในการเทสระดับ Acceptance Testing จะเป็นการเทสที่มีผู้ใช้งานจริง หรือ User เข้ามาร่วมเทสด้วย เพื่อเป็นการเทสขั้นตอนสุดท้ายที่ทำให้มั่นใจได้ว่า application หรือ software มีคุณภาพตรงตามความต้องการและสามารถทำให้ user ใช้งานได้จริงหรือไม่ หรือมีส่วนไหนที่ต้องแก้ไข ซึ่งการเทสในระดับนี้นอกจากจะถูกเทสโดย User ก็จะมี Software Tester ทำหน้าที่เทสเป็นหลักด้วย

ซึ่ง Test Case ก็จะถูกวิเคราะห์ ออกแบบ และสร้างออกมาโดยผู้ที่เป็นคนเทสในแต่ละระดับ ตามวิธีการและขั้นตอนการเทสแต่ละคน

หลักการในการเขียน Test Case

การยืนยันความถูกต้อง (Verification) ของการใช้งานระบบจะถูกใช้เป็นหลักการในการเขียน Test Case โดยอ้างอิงจาก ความต้องการ (Requirements) และเงื่อนไข (Conditions) เป็นหลัก โดย Test Case จะต้องถูกเขียนให้ครอบคลุมกับ requirements และ conditions ในทุก ๆ ข้อ ซึ่งอาจจะระดมคนในทีมที่เกี่ยวข้องเข้ามาร่วมกันแสดงความคิดเห็นในการเทสด้วยก็ได้ เพราะหลักการเขียน Test Case จะต้องยึดหลักความครอบคลุมให้มาที่สุด ยิ่งมีหลายมุมมองก็จะยิ่งทำให้เขียน Test Case ได้ครอบคลุมทุกกรณีมากยิ่งขึ้น

สมการ Test Case

เพื่อให้มองเห็นภาพมากยิ่งขึ้น เราสามารถอธิบาย Test Case เป็นสมการเพื่อเป็นจุดตั้งต้นให้กับใครก็ตามที่กำลังจะต้องเริ่มเขียน Test Case โดยสามารถสรุปเป็นสมการได้ดังนี้

Test Case = Test Rule + Test Data

Test Rule คือ กฎของการเทส ที่เป็นการวิเคราะห์มาจากความต้องการ (Requirement) ว่าเราจะต้องทดสอบ Requirement ผ่านเงื่อนไขอะไรบ้าง Test Rule จะเป็นการรวบรวม สรุปเงื่อนไขต่าง ๆ ของความต้องการเพื่อนำมาเป็นตัวตั้งต้นในการออกแบบ Test Case ต่อไป

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

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

เรียกดูคำค้นหาที่ได้รับความนิยม

ทราบหรือไม่ว่ามีผู้สมัครจำนวนเท่าไหร่ที่เตรียมเรซูเม่ที่หาข้อมูลเกี่ยวกับอุตสาหกรรมของตนโดยการสำรวจด้วยคำค้นหาที่ได้รับความนิยม

สมัครรับคำแนะนำด้านอาชีพ

รับคำปรึกษาด้านอาชีพจากผู้เชี่ยวชาญส่งตรงถึงอินบ็อกซ์ของคุณ
เพียงคลิก 'สมัครสมาชิก' เพื่อยอมรับ คำชี้แจงสิทธิ์ส่วนบุคคลของ Jobsdb โดยคุณสามารถยกเลิกอีเมลเมื่อใดก็ได้
สงวนลิขสิทธิ์ 1998-2024 โดย บริษัท จัดหางาน จ๊อบส์ ดีบี (ประเทศไทย) จำกัด