Test Case คืออะไร ?

Kingyok K.
Nextzy
Published in
3 min readApr 23, 2020

Test Case คืออะไร แล้วมันเขียนอย่างไรหรอ ?

Photo By : http://wow.in.th/0WU0

หลายๆคนสงสัย แล้วก็ตั้งคำถาม Test case มันคืออะไร เขียนยังไง ตัวอย่างที่จะเขียนเป็นแบบไหน มี Template เป็นแบบไหน ในบทความนี้จะมาอธิบายความหมายและตัวอย่างให้หายสงสัยกันค่ะ

Test Case คืออะไร ?

คือกรณีที่ใช้ในการทดสอบ ขั้นตอนในการทดสอบ ซึ่งจะอิงมาจาก Requirement ที่ได้รับมา การเขียน Test case จะต้องเขียนโดยจำลองสถานการณ์ที่จะเกิดขึ้น ซึ่งจะต้องเขียนให้ครอบคลุมทุกกรณี ตรงต่อความต้องการของลูกค้า ทั้งกรณีที่เป็นเคส Positive ตรงตาม Flow และ เคส Error (Negative) ไม่ตรงตาม Flow การทำงาน เช่นการกรอกข้อมูลผิดเพื่อทดสอบการรับส่ง Request / Response

เริ่มเขียน Test Case จากอะไร ?

  • จาก Requirement ที่ได้รับ Analysis จาก SAแล้ว หรือรับมาจากลูกค้าตรงๆ (บางองค์กร Tester ก็ได้ไปเก็บ Requirement พร้อมกับ SA)
  • จาก Flow ที่ได้รับ Analysis จาก SA แล้ว
  • จากการ Planning ทีมเกี่ยวกับ Requirement
  • จาก หน้าจอ UI (กรณีไม่มี Spec หรือเอกสารอะไรให้ดู) บางทีอาจเกิดจากการทำงานคาบเกี่ยวกันระหว่าง SA และ Tester เวลาทับกัน ไล่เลี่ยกัน ทำให้ไม่สามารถขอดูเอกสาร Flow หรือ Spec อะไรได้ (แต่แบบนี้ก็ไม่ดีนะคะ เพราะถ้าเกิดมีการเปลี่ยน Spec หรือเพิ่ม Requirement ก็ต้องมาตามแก้อยู่ดี เสียเวลาคูณสองไปอีก)

มาตรฐานการเขียน Test Case มีรูปแบบแตกต่างกันออกไป ไม่ตายตัว อยู่ที่ตัวองค์กรของแต่ละที่จะใช้รูปแบบไหนนะคะ

ความหมายและตัวอย่างของ Template Test Case

Template Test Case ที่ยกตัวอย่างมานี้ จะเป็น Standard ทั่วไปนะคะ

Test Case ID

ตัวเลขเพื่อจัดลำดับ Test Case

ตัวอย่าง : TC_Login_001

  • TC คือ Test Case
  • Login คือ ชื่อของ Flow ที่จะเขียน Test Case
  • 001 คือ หมายเลขของ Test Case ลำดับที่ 1

Testcase

กรณีที่ใช้ในการทดสอบ

ตัวอย่าง : ตรวจสอบ Login กรณี กรอกหมายเลขโทรศัพท์และอีเมลถูกต้อง

Pre-Requisite

ขั้นตอนก่อนหน้าหรือเหตุการณ์ก่อนที่จะเกิด Step นี้

ตัวอย่าง : ก่อนที่จะ ถึงหน้า Login ต้องทำอะไรมาก่อน

  • ระบบต้องสามารถเชื่อมต่ออินเตอร์เน็ต
  • กรอกหมายเลขโทรศัพท์หรืออีเมลที่มีอยู่ในระบบ

Test Step Description

คำอธิบายของ Test Case เช่น Test Case คืออะไร ทดสอบอะไร

ตัวอย่าง

  • กรอกหมายเลขโทรศัพท์หรืออีเมลที่ถูกต้อง (“xxxxxxxxxx” หรือ “xxxx@xxxx.com”)
  • คลิกปุ่ม “เข้าสู่ระบบ”

Expected Results (TH) และ Expected Results (EN)

ผลที่คาดว่าจะได้รับจากการทดสอบตามเงื่อนไขของความต้องการนั้นๆ ซึ่งจะแยกคำอธิบายเป็นภาษาไทยและภาษาอังกฤษ

ตัวอย่างภาษาไทย

  • แสดงหน้า กรุณาระบุ PIN
  • แสดงข้อความ “กรุณาระบุ PIN”
  • แสดง PIN 6 หลัก แบบโปร่งใส
  • แสดงแป้นพิมพ์ตัวเลข 0 ถึง 9
  • แสดงปุ่มลบข้อความ “X”
  • แสดงข้อความ “ลืมรหัสผ่าน ?” -
  • แสดงปุ่ม “ตั้งค่ารหัสใหม่"

ตัวอย่างภาษาอังกฤษ

  • แสดงหน้า กรุณาระบุ PIN
  • แสดงข้อความ “Please enter PIN”
  • แสดง PIN 6 หลัก แบบโปร่งใส
  • แสดงแป้นพิมพ์ตัวเลข 0 ถึง 9
  • แสดงปุ่มลบข้อความ “X”
  • แสดงข้อความ “Forgot PIN ?”
  • แสดงปุ่ม “Reset PIN”

Actual Result (TH) และ Actual Result (EN)

ผลที่ได้รับออกมาจากการทดสอบ จริงๆผลควรจะออกมาเหมือน Expected Result ถ้าออกมาไม่เหมือนอาจจะเป็น Bug หรือ Defect ที่ต้องส่งให้ Dev ทำการแก้ไข ซึ่งจะแยกคำอธิบายเป็นภาษาไทยและภาษาอังกฤษ

ตัวอย่างภาษาไทย

  • แสดงหน้า กรุณาระบุ PIN
  • แสดงข้อความ “กรุณาระบุ PIN”
  • แสดง PIN 6 หลัก แบบโปร่งใส
  • แสดงแป้นพิมพ์ตัวเลข 0 ถึง 9
  • แสดงปุ่มลบข้อความ “X”
  • แสดงข้อความ “ลืมรหัสผ่าน ?” -
  • แสดงปุ่ม “ตั้งค่ารหัสใหม่”

ตัวอย่างภาษาอังกฤษ

  • แสดงหน้า กรุณาระบุ PIN
  • แสดงข้อความ “Please enter PIN”
  • แสดง PIN 6 หลัก แบบโปร่งใส
  • แสดงแป้นพิมพ์ตัวเลข 0 ถึง 9
  • แสดงปุ่มลบข้อความ “X”
  • แสดงข้อความ “Forgot PIN ?”
  • แสดงปุ่ม “Reset PIN”

Expected Screen Capture (TH) และ Expected Screen Capture (EN)

หน้าจอของระบบที่จะแสดงผลที่คาดว่าจะได้รับจากการทดสอบตามเงื่อนไขที่ต้องการ ซึ่งจะแยกตามภาษาที่เลือก

ตัวอย่าง

Actual Screen Capture (TH) และ Actual Screen Capture (EN)

หน้าจอของระบบที่จะแสดงผลลัพธ์ที่ได้รับออกมาจากการทดสอบ อย่างที่บอกว่า Actual Result ควรจะเหมือนกับ Expected Result ซึ่งถ้าไม่เหมือนก็เท่ากับ Bug แจ้ง Dev ให้แก้ไขได้เลยจ้า

Status

ผลสรุป ผ่าน หรือ ไม่ผ่าน Pass/Fail นั่นเอง

ถ้าผลลัพธ์ที่ออกมาตรงตามเงื่อนไขที่เขียนก็ใส่ Pass แต่ถ้าไม่ตรงตามเงื่อนไขที่เขียนไว้ก็ใส่ Fail แล้วแจ้งให้ Dev ทำการแก้ไข

ในกรณีที่แจ้ง Bug กับ DEVแล้ว ก็เอาเลข Defect หรือ Bug ที่ได้มาแปะในช่อง Remark เผื่อที่จะทำการ Retest ข้อนั้นต่อไปค่ะ

Owner or Tester Name

ชื่อของผู้ที่ทำการทดสอบระบบในข้อนั้นๆ

Date

วันที่ในการทดสอบระบบ

Remark

หมายเหตุต่างๆที่อยากมีเพิ่มเติม

สุดท้ายนี้ก็ขอฝากไว้สักกะนิดดดดดดดดดว่า

“Test case ที่ดีจะต้องอ่านเข้าใจง่าย ขั้นตอนชัดเจน และครอบคลุม ไม่เกิดจากการคาดเดา และสำคัญมากคือ สามารถ Excecute ได้จริง”

GIF By : http://wow.in.th/mNF2

ตัวอย่าง Template และความหมายนั้น มาจากความเข้าใจและการทำงานของเรานะคะ อาจไม่เหมือนที่อื่นๆ ก็ลองนำเป็นแนวทางหรือปรับใช้ให้เข้ากับองค์กรของตัวเองดูนะคะ :)

--

--