EP.5 เทคนิคการออกแบบกรณีการทดสอบ (Test Case) และ สถานการณ์การทดสอบ (Test Scenario)
สวัสดีค่ะทุกคน ได้กลับมาเจอกันอีกครั้งใน EP.5 นี้ ผู้เขียนมาชวนทุกคนฝึกทำโจทย์กันอีกแล้วค่าา ฝึกแบบซ้ำ ๆ ซาก ๆ แถมยังใช้เทคนิคเดิม ๆ ที่เราเคยฝึกกันมาแล้ว (แต่ผู้เขียนก็ยังไม่ค่อยชินสักที5555) ซึ่งโจทย์ในบทความนี้จะเกี่ยวกับระบบประเภทของสมาชิก โดยจะเป็นการเลื่อนอันดับของสมาชิกที่มาใช้บริการระบบร้านค้าออนไลน์ จะมีการใช้เทคนิคการออกแบบหลากหลายแบบในโจทย์เดียวค่ะ เราจะนำมาประยุกต์ใช้ด้วยกันค่ะ
ตัวอย่างโจทย์ ประเภทของสมาชิก
ฝ่ายการตลาดต้องการให้มีประเภทของสมาชิก ดังต่อไปนี้
สมาชิกระดับทั่วไป (Regular)
- ระดับเริ่มต้นของลูกค้าประเภทสมาชิก
- สามารถขึ้นเป็นสมาชิกระดับเหรียญเงิน (Silver) ได้รับแต้มพิเศษฟรี 50 แต้ม เมื่อซื้อสินค้าครบ 1,000.00 บาท ภายในระยะเวลา 6 เดือน และจำกัดเฉพาะ 500 ท่านแรกของแต่ละเดือน
สมาชิกระดับเหรียญเงิน (Silver)
- สามารถขึ้นเป็นสมาชิกประเภทเหรียญทอง (Gold) ได้รับแต้มพิเศษฟรี 200 แต้ม เมื่อซื้อสินค้าครบ 4 ครั้ง (ครั้งละ 1,000.00 บาทขึ้นไป) ภายในระยะเวลา 6 เดือน และจำกัดเฉพาะ 200 ท่านแรกของแต่ละเดือน
- ได้รับแต้มพิเศษคูณ 2 เท่า เมื่อซื้อสินค้า และชำระเงินด้วย Credit Card และ Debit Card
สมาชิกระดับเหรียญทอง (Gold)
- สามารถขึ้นเป็นสมาชิกประเภทแพลตตินั่ม (Platinum) ได้รับแต้มพิเศษฟรี 300 แต้ม เมื่อซื้อสินค้าครบ 8 ครั้ง (ครั้งละ 1,000.00 บาทขึ้นไป) ภายในระยะเวลา 6 เดือน และจำกัดเฉพาะ 100 ท่านแรกของแต่ละเดือน
- ได้รับแต้มพิเศษคูณ 3 เท่า เมื่อซื้อสินค้า และชำระเงินด้วย Credit Card และ Debit Card
สมาชิกระดับแพลตตินั่ม (Platinum)
- ได้รับแต้มพิเศษฟรี 1,000 แต้ม เมื่อซื้อสินค้าครบ 10,000.00 บาท ภายในระยะเวลา 1 เดือน และจำกัดเฉพาะ 30 ท่านแรกของแต่ละเดือน
- ได้รับแต้มพิเศษคูณ 5 เท่า เมื่อซื้อสินค้า และชำระเงินด้วย Credit Card และ Debit Card
หมายเหตุ แต้มพิเศษ มีอายุ 60 วัน หลังจากแต้มถูกอนุมัติ
ทบทวนเทคนิคการออกแบบกรณีการทดสอบ (Test Case)
State Transition
จะใช้เทคนิคนี้กับโจทย์ที่มีการกำกับสถานะไว้ โดยที่เราจะต้องรู้ว่า การที่สถานะปัจจุบัน จะย้ายไปสถานะปลายทางได้นั้น จะต้องระบุว่ามีเงื่อนไขอะไรที่ทำให้ย้ายสถานะได้ หรือจะบอกถึงว่าใครเป็นคนทำให้ย้ายสถานะด้วยก็ได้ และจะต้องกำหนด Output ที่ได้ออกมา
สมาชิกระดับทั่วไป (Regular) → สมาชิกระดับเหรียญเงิน (Silver)
เงื่อนไขทางธุรกิจ คือ
- ระดับเริ่มต้นของลูกค้าประเภทสมาชิก
- สามารถขึ้นเป็นสมาชิกระดับเหรียญเงิน (Silver) ได้รับแต้มพิเศษฟรี 50 แต้ม เมื่อซื้อสินค้าครบ 1,000.00 บาท ภายในระยะเวลา 6 เดือน และจำกัดเฉพาะ 500 ท่านแรกของแต่ละเดือน
จากเทคนิค State Transition จะได้
สถานะปัจจุบัน: สมาชิกระดับทั่วไป (Regular)
สถานะปลายทาง: สมาชิกระดับเหรียญเงิน (Silver)
เงื่อนไขที่ทำให้เกิดการย้ายสถานะ: ซื้อสินค้าครบ 1,000.00 บาท และ ภายในระยะเวลา 6 เดือน และ จำกัดเฉพาะ 500 ท่านแรกของแต่ละเดือน
Output: ได้รับแต้มพิเศษฟรี 50 แต้ม
เราจะเห็นว่าในเงื่อนไขที่ทำให้เกิดการย้ายสถานะนั้นมีเงื่อนไขที่เป็นค่าของตัวเลข และมีขอบเขตของตัวเลขชัดเจน ดังนั้นเราจะต้องใช้เทคนิคการออกแบบ BVA มาช่วยออกแบบ โดยแยกทำทีละข้อค่ะ
กรณีการทดสอบ (Test Case) ของ เงื่อนไข ซื้อสินค้าครบ 1,000.00 บาท (A1)
เราจะสังเกตุเห็นว่าในเงื่อนไขนี้ การซื้อสินค้านั้นอาจจะไม่ได้มีแค่กรณีซื้อน้อยกว่า/มากกว่า/เท่ากันกับ 1,000.00 บาท เท่านั้น อาจจะต้องคำนึงถึงที่จำนวนรายการซื้อที่จะทำให้ครบ 1,000.00 บาทด้วย
A1–TC1
เงื่อนไขที่จะถูกทดสอบ: ซื้อสินค้าเท่ากันกับ 1 รายการ ราคารวมเท่ากันกับ 1,000.00 บาท
ข้อมูลที่ใช้ในการทดสอบ: ซื้อสินค้า 1 รายการ ราคารวม 1,000.00 บาท
ผลลัพธ์ที่คาดหวัง: ปรับเป็นสมาชิกระดับเหรียญเงิน (Silver) และ ได้รับแต้มพิเศษฟรี 50 แต้ม
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
A1–TC2
เงื่อนไขที่จะถูกทดสอบ: ซื้อสินค้าเท่ากันกับ 1 รายการ ราคารวมมากกว่า 1,000.00 บาท
ข้อมูลที่ใช้ในการทดสอบ: ซื้อสินค้า 1 รายการ ราคารวม 2,375.00 บาท
ผลลัพธ์ที่คาดหวัง: ปรับเป็นสมาชิกระดับเหรียญเงิน (Silver) และ ได้รับแต้มพิเศษฟรี 50 แต้ม
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
A1–TC3
เงื่อนไขที่จะถูกทดสอบ: ซื้อสินค้ามากกว่า 1 รายการ ราคารวมเท่ากันกับ 1,000.00 บาท
ข้อมูลที่ใช้ในการทดสอบ: ซื้อสินค้า 2 รายการ ราคารวม 1,000.00 บาท
ผลลัพธ์ที่คาดหวัง: ปรับเป็นสมาชิกระดับเหรียญเงิน (Silver) และ ได้รับแต้มพิเศษฟรี 50 แต้ม
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
A1–TC4
เงื่อนไขที่จะถูกทดสอบ: ซื้อสินค้ามากกว่า 1 รายการ ราคารวมมากกว่า 1,000.00 บาท
ข้อมูลที่ใช้ในการทดสอบ: ซื้อสินค้า 3 รายการ ราคารวม 3,450.00 บาท
ผลลัพธ์ที่คาดหวัง: ปรับเป็นสมาชิกระดับเหรียญเงิน (Silver) และ ได้รับแต้มพิเศษฟรี 50 แต้ม
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
A1–TC5
เงื่อนไขที่จะถูกทดสอบ: ซื้อสินค้าเท่ากันกับ 1 รายการ ราคารวมน้อยกว่า 1,000.00 บาท
ข้อมูลที่ใช้ในการทดสอบ: ซื้อสินค้า 1 รายการ ราคารวม 930.00 บาท
ผลลัพธ์ที่คาดหวัง: ไม่ได้ปรับเป็นสมาชิกระดับเหรียญเงิน (Silver) และ ไม่ได้รับแต้มพิเศษฟรี 50 แต้ม
หรือ
ผลลัพธ์ที่คาดหวัง: เป็นสมาชิกระดับทั่วไป (Regular)
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
A1–TC6
เงื่อนไขที่จะถูกทดสอบ: ซื้อสินค้ามากกว่า 1 รายการ ราคารวมน้อยกว่า 1,000.00 บาท
ข้อมูลที่ใช้ในการทดสอบ: ซื้อสินค้า 2 รายการ ราคารวม 761.00 บาท
ผลลัพธ์ที่คาดหวัง: ไม่ได้ปรับเป็นสมาชิกระดับเหรียญเงิน (Silver) และ ไม่ได้รับแต้มพิเศษฟรี 50 แต้ม
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
กรณีการทดสอบ (Test Case) ของ เงื่อนไข ภายในระยะเวลา 6 เดือน (B1)
B1-TC1
เงื่อนไขที่จะถูกทดสอบ: รายการซื้อสินค้า น้อยกว่า 6 เดือน (เดือนที่ 1–5)
ข้อมูลที่ใช้ในการทดสอบ: รายการซื้อสินค้าเดือนที่ 5
ผลลัพธ์ที่คาดหวัง: ปรับเป็นสมาชิกระดับเหรียญเงิน (Silver) และ ได้รับแต้มพิเศษฟรี 50 แต้ม
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
B1-TC2
เงื่อนไขที่จะถูกทดสอบ: รายการซื้อสินค้า เท่ากันกับ 6 เดือน
ข้อมูลที่ใช้ในการทดสอบ: รายการซื้อสินค้าเดือนที่ 6
ผลลัพธ์ที่คาดหวัง: ปรับเป็นสมาชิกระดับเหรียญเงิน (Silver) และ ได้รับแต้มพิเศษฟรี 50 แต้ม
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
B1-TC3
เงื่อนไขที่จะถูกทดสอบ: รายการซื้อสินค้า มากกว่า 6 เดือน (เดือนที่ 7 ขึ้นไป)
ข้อมูลที่ใช้ในการทดสอบ: รายการซื้อสินค้าเดือนที่ 7
ผลลัพธ์ที่คาดหวัง: ไม่ได้ปรับเป็นสมาชิกระดับเหรียญเงิน (Silver) และ ไม่ได้รับแต้มพิเศษฟรี 50 แต้ม
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
กรณีการทดสอบ (Test Case) ของ เงื่อนไข จำกัดเฉพาะ 500 ท่านแรกของแต่ละเดือน (C1)
C1-TC1
เงื่อนไขที่จะถูกทดสอบ: เป็นคนที่น้อยกว่า 500 (คนที่ 1–499) ของเดือน
ข้อมูลที่ใช้ในการทดสอบ: คนที่ 495 ของเดือน
ผลลัพธ์ที่คาดหวัง: ปรับเป็นสมาชิกระดับเหรียญเงิน (Silver) และ ได้รับแต้มพิเศษฟรี 50 แต้ม
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
C1-TC2
เงื่อนไขที่จะถูกทดสอบ: เป็นคนที่เท่ากันกับ 500 ของเดือน
ข้อมูลที่ใช้ในการทดสอบ: คนที่ 500 ของเดือน
ผลลัพธ์ที่คาดหวัง: ปรับเป็นสมาชิกระดับเหรียญเงิน (Silver) และ ได้รับแต้มพิเศษฟรี 50 แต้ม
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
C1-TC3
เงื่อนไขที่จะถูกทดสอบ: เป็นคนที่มากกว่า 500 (คนที่ 500 ขึ้นไป) ของเดือน
ข้อมูลที่ใช้ในการทดสอบ: คนที่ 501 ของเดือน
ผลลัพธ์ที่คาดหวัง: ไม่ได้ปรับเป็นสมาชิกระดับเหรียญเงิน (Silver) และ ไม่ได้รับแต้มพิเศษฟรี 50 แต้ม
— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —
ตัวอย่างการรวม Test Case ให้เป็น Test Scenario
Test Scenario Success: ปรับเป็นสมาชิกระดับเหรียญเงิน (Silver)
Test Scenario Alternative: ไม่ได้ปรับเป็นสมาชิกระดับเหรียญเงิน (Silver)
เมื่อเรารวมสถานการณ์การทดสอบทั้งหมดที่สามารถเป็นไปได้แล้ว เราสามารถเลือกสถานการณ์การทดสอบ แค่บางสถานการณ์ที่จะนำไปดำเนินการทดสอบได้
ทุกคนลองนำไปเขียนเป็น Test Scenarios ลง Sheet ได้นะคะ สามารถออกแบบหัวคอลัมน์ได้ตามที่เหมาะสมได้เลยค่ะ อย่างที่เราเคยบอกไปว่าแต่ละ Test Scenario ที่เราออกแบบนั้นจะไม่มี Template ที่ตายตัว สามารถปรับเปลี่ยนไปได้ตลอด
ขอบคุณทุกคนที่เข้ามาอ่านนะคะ สำหรับ EP หน้าเราจะยังอยู่กับโจทย์นี้เหมือนเดิมค่ะ
บทความที่เกี่ยวข้อง → EP.1–4